lkml.org 
[lkml]   [2016]   [Aug]   [16]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
SubjectRe: [PATCH] kbuild: do not add srctree to sysroot relative includes
From
Date


On 08/16/2016 01:59 PM, Michal Marek wrote:
> On 2016-08-16 13:40, Lars Persson wrote:
>> We need to filter out also -I=/path to allow sysroot relative
>> include paths in the makefiles of external modules.
>>
>> Signed-off-by: Lars Persson <larper@axis.com>
>> ---
>> scripts/Kbuild.include | 2 +-
>> 1 file changed, 1 insertion(+), 1 deletion(-)
>>
>> diff --git a/scripts/Kbuild.include b/scripts/Kbuild.include
>> index 1792198..ffe5c6c 100644
>> --- a/scripts/Kbuild.include
>> +++ b/scripts/Kbuild.include
>> @@ -206,7 +206,7 @@ hdr-inst := -f $(srctree)/scripts/Makefile.headersinst obj
>> # Prefix -I with $(srctree) if it is not an absolute path.
>> # skip if -I has no parameter
>> addtree = $(if $(patsubst -I%,%,$(1)), \
>> -$(if $(filter-out -I/% -I./% -I../%,$(1)),$(patsubst -I%,-I$(srctree)/%,$(1)),$(1)))
>> +$(if $(filter-out -I/% -I./% -I../% -I=%,$(1)),$(patsubst -I%,-I$(srctree)/%,$(1)),$(1)))
>
> Hi Lars,
>
> Two questions: 1) Where is the -I=/... syntax documented? I could not
> find it gcc docs.

You should find this in your gcc manual:
If dir begins with "=", then the "=" will be replaced by the sysroot
prefix; see --sysroot and -isysroot.


2) Why do these Makefiles use --sysroot at all? The
> kernel does not use any system libraries and the host programs are
> compiled for the host architecture.

One use-case is with the yocto build system. Suppose we have two kernel
modules A and B. A installs header files into the sysroot that B will
include.


- Lars

\
 
 \ /
  Last update: 2016-09-17 09:57    [W:0.040 / U:1.020 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site