diff mbox series

[1/1] Makefile: consistent include path for out of tree build

Message ID 20201017164253.234284-1-xypron.glpk@gmx.de
State Rejected
Delegated to: Tom Rini
Headers show
Series [1/1] Makefile: consistent include path for out of tree build | expand

Commit Message

Heinrich Schuchardt Oct. 17, 2020, 4:42 p.m. UTC
When compiling path/foo.c, we should not add -I$(scr_tree)/path to the gcc
flags. Otherwise we get different build results for in tree and out of tree
builds.

Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
---
 scripts/Makefile.lib | 6 ++----
 1 file changed, 2 insertions(+), 4 deletions(-)

--
2.28.0

Comments

Tom Rini Oct. 17, 2020, 4:49 p.m. UTC | #1
On Sat, Oct 17, 2020 at 06:42:53PM +0200, Heinrich Schuchardt wrote:

> When compiling path/foo.c, we should not add -I$(scr_tree)/path to the gcc
> flags. Otherwise we get different build results for in tree and out of tree
> builds.
> 
> Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
> ---
>  scripts/Makefile.lib | 6 ++----
>  1 file changed, 2 insertions(+), 4 deletions(-)
> 
> diff --git a/scripts/Makefile.lib b/scripts/Makefile.lib
> index 56e9d54242..98817084f4 100644
> --- a/scripts/Makefile.lib
> +++ b/scripts/Makefile.lib
> @@ -136,10 +136,8 @@ __cpp_flags     = $(_cpp_flags)
>  else
> 
>  # -I$(obj) locates generated .h files
> -# $(call addtree,-I$(obj)) locates .h files in srctree, from generated .c files
> -#   and locates generated .h files
> -# FIXME: Replace both with specific CFLAGS* statements in the makefiles
> -__c_flags	= $(if $(obj),$(call addtree,-I$(src)) -I$(obj)) \
> +# FIXME: Replace with specific CFLAGS* statements in the makefiles
> +__c_flags	= $(if $(obj), -I$(obj)) \
>  		  $(call flags,_c_flags)
>  __a_flags	= $(call flags,_a_flags)
>  __cpp_flags     = $(call flags,_cpp_flags)

As this will make future re-syncs with the Kbuild system harder, NAK.

I would suggest making this problem show up in the Linux kernel, get it
addressed there, and then backport.  Or, if it can't be and it's just
another problem related to our last sync being on v4.19, help syncing up
with v4.20 and so forth would be greatly appreciated.
Heinrich Schuchardt Oct. 17, 2020, 5:57 p.m. UTC | #2
On 10/17/20 6:49 PM, Tom Rini wrote:
> On Sat, Oct 17, 2020 at 06:42:53PM +0200, Heinrich Schuchardt wrote:
>
>> When compiling path/foo.c, we should not add -I$(scr_tree)/path to the gcc
>> flags. Otherwise we get different build results for in tree and out of tree
>> builds.
>>
>> Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
>> ---
>>  scripts/Makefile.lib | 6 ++----
>>  1 file changed, 2 insertions(+), 4 deletions(-)
>>
>> diff --git a/scripts/Makefile.lib b/scripts/Makefile.lib
>> index 56e9d54242..98817084f4 100644
>> --- a/scripts/Makefile.lib
>> +++ b/scripts/Makefile.lib
>> @@ -136,10 +136,8 @@ __cpp_flags     = $(_cpp_flags)
>>  else
>>
>>  # -I$(obj) locates generated .h files
>> -# $(call addtree,-I$(obj)) locates .h files in srctree, from generated .c files
>> -#   and locates generated .h files
>> -# FIXME: Replace both with specific CFLAGS* statements in the makefiles
>> -__c_flags	= $(if $(obj),$(call addtree,-I$(src)) -I$(obj)) \
>> +# FIXME: Replace with specific CFLAGS* statements in the makefiles
>> +__c_flags	= $(if $(obj), -I$(obj)) \
>>  		  $(call flags,_c_flags)
>>  __a_flags	= $(call flags,_a_flags)
>>  __cpp_flags     = $(call flags,_cpp_flags)
>
> As this will make future re-syncs with the Kbuild system harder, NAK.
>
> I would suggest making this problem show up in the Linux kernel, get it
> addressed there, and then backport.  Or, if it can't be and it's just
> another problem related to our last sync being on v4.19, help syncing up
> with v4.20 and so forth would be greatly appreciated.
>

v4.20 does not even exist as maintained release. Current Linux stable is
v5.9.

addtree() does not exist in scripts/Makefile.lib of Linux next-20201016.
So I would not expect the kernel people to fix our outdated script.

Best regards

Heinrich
Tom Rini Oct. 17, 2020, 6:01 p.m. UTC | #3
On Sat, Oct 17, 2020 at 07:57:31PM +0200, Heinrich Schuchardt wrote:
> On 10/17/20 6:49 PM, Tom Rini wrote:
> > On Sat, Oct 17, 2020 at 06:42:53PM +0200, Heinrich Schuchardt wrote:
> >
> >> When compiling path/foo.c, we should not add -I$(scr_tree)/path to the gcc
> >> flags. Otherwise we get different build results for in tree and out of tree
> >> builds.
> >>
> >> Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
> >> ---
> >>  scripts/Makefile.lib | 6 ++----
> >>  1 file changed, 2 insertions(+), 4 deletions(-)
> >>
> >> diff --git a/scripts/Makefile.lib b/scripts/Makefile.lib
> >> index 56e9d54242..98817084f4 100644
> >> --- a/scripts/Makefile.lib
> >> +++ b/scripts/Makefile.lib
> >> @@ -136,10 +136,8 @@ __cpp_flags     = $(_cpp_flags)
> >>  else
> >>
> >>  # -I$(obj) locates generated .h files
> >> -# $(call addtree,-I$(obj)) locates .h files in srctree, from generated .c files
> >> -#   and locates generated .h files
> >> -# FIXME: Replace both with specific CFLAGS* statements in the makefiles
> >> -__c_flags	= $(if $(obj),$(call addtree,-I$(src)) -I$(obj)) \
> >> +# FIXME: Replace with specific CFLAGS* statements in the makefiles
> >> +__c_flags	= $(if $(obj), -I$(obj)) \
> >>  		  $(call flags,_c_flags)
> >>  __a_flags	= $(call flags,_a_flags)
> >>  __cpp_flags     = $(call flags,_cpp_flags)
> >
> > As this will make future re-syncs with the Kbuild system harder, NAK.
> >
> > I would suggest making this problem show up in the Linux kernel, get it
> > addressed there, and then backport.  Or, if it can't be and it's just
> > another problem related to our last sync being on v4.19, help syncing up
> > with v4.20 and so forth would be greatly appreciated.
> >
> 
> v4.20 does not even exist as maintained release. Current Linux stable is
> v5.9.

Exactly.  We move to v4.20 then v5.0 and so on.

> addtree() does not exist in scripts/Makefile.lib of Linux next-20201016.
> So I would not expect the kernel people to fix our outdated script.

Exactly.  I'm saying you need to reproduce the problem in the Linux
kernel.  If it's not a problem there, we just need to continue
re-syncing until the problem is fixed.
diff mbox series

Patch

diff --git a/scripts/Makefile.lib b/scripts/Makefile.lib
index 56e9d54242..98817084f4 100644
--- a/scripts/Makefile.lib
+++ b/scripts/Makefile.lib
@@ -136,10 +136,8 @@  __cpp_flags     = $(_cpp_flags)
 else

 # -I$(obj) locates generated .h files
-# $(call addtree,-I$(obj)) locates .h files in srctree, from generated .c files
-#   and locates generated .h files
-# FIXME: Replace both with specific CFLAGS* statements in the makefiles
-__c_flags	= $(if $(obj),$(call addtree,-I$(src)) -I$(obj)) \
+# FIXME: Replace with specific CFLAGS* statements in the makefiles
+__c_flags	= $(if $(obj), -I$(obj)) \
 		  $(call flags,_c_flags)
 __a_flags	= $(call flags,_a_flags)
 __cpp_flags     = $(call flags,_cpp_flags)