plugin mods

Daron Chabot daronchabot at gmail.com
Mon Nov 24 13:35:32 UTC 2008


On 24-Nov-08, at 3:10 AM, Sebastian Huber wrote:

> Robert Fu wrote:
>>
>>> CC: sebastian.huber at embedded-brains.de; rtems-users at rtems.org
>>> From: daronchabot at gmail.com
>>> Subject: plugin mods
>>> Date: Sun, 23 Nov 2008 21:21:44 -0600
>>> To: robert.fu at live.com
>>>
>>> I've committed several modifications & additions to the plugin.  
>>> Check
>>> out the CVS version tag v0_1.
>>>
>>> Sebastian, Robert: lemme know if this version works for you as
>>> expected on Linux and Windows (respectively), 'cause it works on my
>>> Mac :-)
>>
>> This is great news! Thanks a lot for making it work on Mac!  I  
>> also had
>> a sense
>> of relief, since now it's been proved that it also worked on another
>> platform
>> after modifications. I guess like other things, once it's done, it  
>> looks
>> much easier
>> than it initially appears to be.
>>
>> I checked out source as you instructed, and it still works on  
>> Windows.
>> The HelloWorld program
>> generated from your new template was build successfully, and remote
>> debugging
>> also worked for the program generated from the 1st template.
>
> It is still not working for me.  It says that the toolchain is not
> supported.  I set the following environment variables before the  
> eclipse
> startup:
>
> RTEMS_TOOL_DIR=/opt/rtems-4.9
> RTEMS_INSTALL_DIR=/opt/rtems-4.9
> RTEMS_TARGET_TOOL_DIR=/opt/rtems-4.9/i386-rtems4.9
> RTEMS_INSTALL_BSP_DIR=/opt/rtems_install/i386-rtems4.9/pc686/lib
> RTEMS_TARGET_CPU_GCC_LIB_DIR=/opt/rtems-4.9/lib64/gcc/i386- 
> rtems4.9/4.3.0/mpentiumpro

Looks like you might be missing a couple of entries. This is what my  
environment looks like (.bashrc):

export RTEMS_TOOLSET="i386-rtems-gcc,i386-rtems-g++,i386-rtems- 
as,i386-rtems-ar"
export RTEMS_BSP_DEFINED_SYMBOLS=
export RTEMS_INSTALL_BSP_DIR="/opt/rtems/i386-rtems/pc386"
export RTEMS_INSTALL_DIR="/opt/rtems"
export RTEMS_TARGET_CPU_GCC_LIB_DIR="/opt/rtems/lib/gcc/i386-rtems/ 
4.3.2"
export RTEMS_TOOL_DIR="/opt/rtems/bin"
export RTEMS_TARGET_TOOL_DIR="/opt/rtems/i386-rtems"

Hmmm... I'll try the plugin out on my linux box at work today, and  
report my findings to you.

>
>>
>>>
>>> Mods include:
>>> 1) removing arch/os limitations for host machine
>>
>> I took a look at your changes to plugin.xml, as what you mentioned  
>> before,
>> it seems that hard-coded arch/os (win32) in plugin.xml is one of the
>> main reasons
>> why it did not work on Mac initially.
>>
>>> 2) remove unnecessary flags/options
>>> 3) add more stringent testing for the value of
>>> RTEMS_BSP_DEFINED_SYMBOLS. Robert, i don't think any of the values
>>> you state for this var in the wiki are required.
>>
>> Your reason of removing shared libgcc makes sense to me. For removing
>> -D_REENTRANT
>> and your comments about RTEMS_BSP_DEFINED_SYMBOLS, which contains
>> macro like -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 - 
>> DHAVE_SYS_STAT_H=1  ...
>> I don't know if it's right.
>>
>> These macros including -D_REENTRANT come with the generated Makefiles
>> like the Makefile for HelloWorld example. I guess removing it  
>> might not
>> cause
>> compilation or link to fail, but you might actually get different  
>> code to
>> be included or linked.
>>
>>>
>>> Addition of a simpler, "Hello World" template. In fact, it is just
>>> the code from testsuites/samples/hello. Note, the page immediately
>>> following the New C Project & Executable->Rtems Hello World  
>>> Template:
>>> this is just a quick & dirty example of how we could override
>>> settings from a Preference Page.
>>
>> I saw them. Looks nice.
>
> That looks nice. I try use this for the newWizardPages extension point
> so that we can use this for any RTEMS project (and not only for this
> template).

Yup, that's exactly the idea. I just did it with the Template  
mechanism because it was quick and served to illustrate the direction  
I'd like to take: it's not really functional, just for show.

>
>>
>>>
>>> I'll commit a Preference addition to the plugin (probably tomorrow).
>>> This will provide a semi-static place to store critical variables  
>>> like:
>>> 1) RTEMS_INSTALL_LOCATION (eg: /opt/rtems)
>>> 2) RTEMS_ARCH: (eg: i386)
>>> 3) RTEMS_BSP: (eg: pc386)
>>>
>>> Like I said before, that way we only pollute Eclipse's environment
>>> variables and we'll have a (consistent) way to access them through
>>> the build system and plugin machinery.
>>
>> Agree, it's better.
>
> I am eager to see how this plug-in preferences work.
>
>>
>>>
>>> I going to go sulk now, 'cause Calgary won the Grey Cup... :-( I
>>> think some sorrow drowning is in order.
>>>
>>>
>>> -- dc
>>>
>>> BTW -- Sebastian, what's up with the cvs project
>>> "org.rtems.cdt.toolchain2" ??
>
> I needed an empty test project.
>
> -- 
> Sebastian Huber, Embedded Brains GmbH
>
> Address : Obere Lagerstr. 30, D-82178 Puchheim, Germany
> Phone   : +49 89 18 90 80 79-6
> Fax     : +49 89 18 90 80 79-9
> E-Mail  : sebastian.huber at embedded-brains.de
> PGP     : Public key available on request
>
> Diese Nachricht ist keine geschäftliche Mitteilung im Sinne des EHUG.




More information about the users mailing list