eliminating CFLAGS

Chris Johns chrisj at rtems.org
Tue Feb 9 22:49:52 UTC 2010


Will Coleda wrote:
> On Mon, Feb 8, 2010 at 7:46 PM, Chris Johns <chrisj at rtems.org> wrote:
>> On 2/9/2010 9:01 AM, Joel Sherrill wrote:
>>> On 02/08/2010 12:57 PM, Andrew Whitworth wrote:
>>>> I'm pretty strongly in favor of this change. Having more information
>>>> available about how individual files are compiled is always a good
>>>> thing. %2 improvement on build times isn't itself a motivating factor,
>>>> but a more straight-forward build process is.
>>>>
>>> Since we (RTEMS folks) want Parrot on RTEMS don't forget
>>> that cross-builds often will have to specify flags for CPU
>>> model. We will add "-BBSPDIR/ -specs bsp_specs -qrtems" on
>>> every compile line. This adds a directory to the system
>>> path for the compiler that is board specific and augments
>>> gcc's rules with bsp_specs.
> 
> This can be done by passing a parameter to Configure.pl - see the
> --help on that for adding CFLAGS.

I tried:

perl Configure.pl --cc=m68k-rtems4.10-gcc --cxx=m68k-rtems4.10-g++ 
--link=m68k-rtems4.10-gcc --ld=m68k-rtems4.10-gcc --without-gdbm 
--without-gettext --without-crypto --without-gmp --without-opengl 
--without-pcre --verbose=2

and the error was:

inter::progs -        Determine what C compiler and linker to use...

m68k-rtems4.10-gcc -D_REENTRANT -D_GNU_SOURCE -DDEBUGGING  -pipe 
-I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 
-I/usr/include/gdbm  -I./include -c test_4530.c
m68k-rtems4.10-gcc  -Wl,-E test_4530.o  -o test_4530  -lresolv -lnsl -ldl -lm 
-lcrypt -lutil -lpthread -lrt
/opt/rtems-4.10/lib/gcc/m68k-rtems4.10/4.4.3/../../../../m68k-rtems4.10/bin/ld: 
cannot find -lresolv

RTEMS has a different header file and library model and this test seems to 
assume something else.

> 
>> If Parrot builds tools on the host require to build the target code there
>> needs to be 2 separate sets of flags. Does it ? Typically HOST_CFLAGS
>> handles the host and CFLAGS handles the target. This also goes for CC where
>> HOST_CC handles the host compiler and CC is the target compiler.
>>
>> Chris
>> _______________________________________________
>> http://lists.parrot.org/mailman/listinfo/parrot-dev
>>
> 
> We don't go out of our way to support cross-platform compilation at
> the moment; 

Our hope is this changes with our support.

> we don't use HOST_CFLAGS;

It may or may not be a problem and was only a heads up. I see you use perl to 
handle this task and that may avoid the need for a host CC. This is beyond my 
understanding of your build system.

> I /think/ there is a mechanism
> to allow specifying a config file to be used instead of using the one
> Configure.pl would build after probing your system.

What do you mean by "probing" ?

> Can any parrot
> porters who've done this (all 2 of you) jump in here?
> 

Chris


More information about the parrot-dev mailing list