Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > linux.kernel > #1463730 > unrolled thread
| Started by | Lars Persson <lars.persson@axis.com> |
|---|---|
| First post | 2016-08-16 13:50 +0200 |
| Last post | 2016-08-16 14:30 +0200 |
| Articles | 3 — 2 participants |
Back to article view | Back to linux.kernel
[PATCH] kbuild: do not add srctree to sysroot relative includes Lars Persson <lars.persson@axis.com> - 2016-08-16 13:50 +0200
Re: [PATCH] kbuild: do not add srctree to sysroot relative includes Michal Marek <mmarek@suse.com> - 2016-08-16 14:00 +0200
Re: [PATCH] kbuild: do not add srctree to sysroot relative includes Lars Persson <lars.persson@axis.com> - 2016-08-16 14:30 +0200
| From | Lars Persson <lars.persson@axis.com> |
|---|---|
| Date | 2016-08-16 13:50 +0200 |
| Subject | [PATCH] kbuild: do not add srctree to sysroot relative includes |
| Message-ID | <s6L2x-2ye-13@gated-at.bofh.it> |
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))) # Find all -I options and call addtree flags = $(foreach o,$($(1)),$(if $(filter -I%,$(o)),$(call addtree,$(o)),$(o))) -- 2.1.4
[toc] | [next] | [standalone]
| From | Michal Marek <mmarek@suse.com> |
|---|---|
| Date | 2016-08-16 14:00 +0200 |
| Message-ID | <s6Lcd-2BC-3@gated-at.bofh.it> |
| In reply to | #1463730 |
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. 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. Michal
[toc] | [prev] | [next] | [standalone]
| From | Lars Persson <lars.persson@axis.com> |
|---|---|
| Date | 2016-08-16 14:30 +0200 |
| Message-ID | <s6LFf-30r-11@gated-at.bofh.it> |
| In reply to | #1463732 |
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
[toc] | [prev] | [standalone]
Back to top | Article view | linux.kernel
csiph-web