[Buildroot] [PATCH v2] cmake: don't use any header available in $(HOST_DIR)/usr/include

Samuel Martin s.martin49 at gmail.com
Thu Mar 5 13:11:51 UTC 2015


On Thu, Mar 5, 2015 at 12:52 PM, Baruch Siach <baruch at tkos.co.il> wrote:
> Hi Thomas,
>
> On Thu, Mar 05, 2015 at 12:31:48PM +0100, Thomas Petazzoni wrote:
>> On Thu, 5 Mar 2015 09:02:55 +0200, Baruch Siach wrote:
>> > On Thu, Mar 05, 2015 at 01:45:33AM +0100, Fabio Porcedda wrote:
>> > > +# Get rid of -I* options to prevent that a header avaiable in
>> > > +# $(HOST_DIR)/usr/include is used instead of a cmake one, e.g. lzma*
>> > > +# headers of the xz package
>> > > +HOST_CMAKE_CFLAGS = $(shell echo $(HOST_CFLAGS) | sed s/-I[^\ ]*//)
>> >
>> > How about (untested):
>> >
>> >     HOST_CMAKE_CFLAGS = $(filter-out -I%,$(HOST_CFLAGS))
>>
>> It unfortunately works only if the form:
>>
>>       -I/foo/bar
>>
>> is used. If you use:
>>
>>       -I /foo/bar
>>
>> which is valid for gcc, then filter-out will filter the -I but
>> not /foo/bar.
>
> Right. But the original sed expression doesn't work either. This one seems to
> work:
>
>         s/[[:space:]]-I[[:space:]]*[^\ ]*//

could also be something like that:

HOST_CMAKE_CFLAGS=$(filter-out -I$(HOST_DIR)/usr/include,$(subst -I
,-I,$(HOST_CFLAGS)))

Regards,

-- 
Samuel



More information about the buildroot mailing list