[Buildroot] [PATCH] Set CFLAGS = $(TARGET_CFLAGS) for many packages
Ulf Samuelsson
ulfs at dof.se
Fri Jan 26 18:37:57 UTC 2007
Bernhard Fischer wrote:
> On Thu, Jan 25, 2007 at 01:02:49AM +0100, Ulf Samuelsson wrote:
>> Bernhard Fischer wrote:
>>> On Wed, Jan 24, 2007 at 12:53:53AM +0100, Ulf Samuelsson wrote:
>>>> If you make Buildroot from scratch, CFLAGS gets set during the
>>>> build, but if you add packages later, then CFLAGS should be set in
>>>> the makefile fragment of the new package.
>>>
>>> I don't understand what you mean here. Please elaborate
>>>>
>>
>> Some packages require kernel headers.
>
> The few packages that really need kernel-internal or any other
> non-standard include path have to specify their include manually.
>
>> If you build from scratch, something sets CFLAGS to a good value.
>>
>> If you come back the next day, reconfigure your system,
>> to include a new package, and recompile, many packages
>> will bomb out because they do not find the "asm-generic.h"
>
> I cannot reproduce this. Can you paste an error and describe how i can
> reproduce this, locally?
>
>> By adding this CFLAGS patch you can compile those packages.
>>
>> Many packages have this already, many don't.
>> Can you explain when you have it and when you don't?
>
> See above. If a package needs any headers that do not live in a
> standard
> place (see e.g. gmp/mpfr.h for gcc or openswan that has a broken
> makefile in this respect) have to specify that explicitely.
>
>>>> I believe that TARGET_CFLAGS needs to include the Linux Include
>>>> Directory or you will get compolie time errors.
>>>
>>> I don't have the linux include in my TARGET_CFLAGS AFAIK and do not
>>> get compile errors. What kernel-headers are you using? What errors
>>> are you seeing with what package?
>
As I mentioned yesterday, I have not been able to reproduce the failure
to build due to lack of Linux/include,
but the patch I sent does not add anything to TARGET_CFLAGS.
The patch is only making sure that each package listed is compiled
with CFLAGS=$(TARGET_CFLAGS).
Since the current buildroot does not use $(TARGET_CFLAGS)
when compiling these package the optimization level and debug level
specified in the ".config" file gets ignored.
If this is correct behaviour, then I am confused.
Is there a golden rule, which packages should apply TARGET_CFLAGS
and which packages should not?
Best Regards,
Ulf Samuelsson
More information about the buildroot
mailing list