Message ID | 1364163668-15490-1-git-send-email-vapier@gentoo.org (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Hello, On 24/03/13 18:21, Mike Frysinger wrote: > Newer autotools will use both CFLAGS and <target>_CFLAGS when compiling > the <target>. Adding the build settings to the target-specific flags no > longer works as a way to compile build-time tools. > > Instead, clobber the global flags. This triggers an automake warning, > but the end result actually works (unlike the existing code). > > Signed-off-by: Mike Frysinger <vapier@gentoo.org> > --- > tools/locktest/Makefile.am | 7 +++---- > tools/rpcgen/Makefile.am | 7 +++---- > 2 files changed, 6 insertions(+), 8 deletions(-) > > diff --git a/tools/locktest/Makefile.am b/tools/locktest/Makefile.am > index 3156815..efe6fcd 100644 > --- a/tools/locktest/Makefile.am > +++ b/tools/locktest/Makefile.am > @@ -1,12 +1,11 @@ > ## Process this file with automake to produce Makefile.in > > CC=$(CC_FOR_BUILD) > -LIBTOOL = @LIBTOOL@ --tag=CC > +CFLAGS=$(CFLAGS_FOR_BUILD) > +CPPFLAGS=$(CPPFLAGS_FOR_BUILD) > +LDFLAGS=$(LDFLAGS_FOR_BUILD) > > noinst_PROGRAMS = testlk > testlk_SOURCES = testlk.c > -testlk_CFLAGS=$(CFLAGS_FOR_BUILD) > -testlk_CPPFLAGS=$(CPPFLAGS_FOR_BUILD) > -testlk_LDFLAGS=$(LDFLAGS_FOR_BUILD) > > MAINTAINERCLEANFILES = Makefile.in > diff --git a/tools/rpcgen/Makefile.am b/tools/rpcgen/Makefile.am > index 8a9ec89..3adeec1 100644 > --- a/tools/rpcgen/Makefile.am > +++ b/tools/rpcgen/Makefile.am > @@ -1,7 +1,9 @@ > ## Process this file with automake to produce Makefile.in > > CC=$(CC_FOR_BUILD) > -LIBTOOL = @LIBTOOL@ --tag=CC > +CFLAGS=$(CFLAGS_FOR_BUILD) > +CPPFLAGS=$(CPPFLAGS_FOR_BUILD) > +LDFLAGS=$(LDFLAGS_FOR_BUILD) > > noinst_PROGRAMS = rpcgen > rpcgen_SOURCES = rpc_clntout.c rpc_cout.c rpc_hout.c rpc_main.c \ > @@ -9,9 +11,6 @@ rpcgen_SOURCES = rpc_clntout.c rpc_cout.c rpc_hout.c rpc_main.c \ > rpc_util.c rpc_sample.c rpc_output.h rpc_parse.h \ > rpc_scan.h rpc_util.h > > -rpcgen_CFLAGS=$(CFLAGS_FOR_BUILD) > -rpcgen_CPPLAGS=$(CPPFLAGS_FOR_BUILD) > -rpcgen_LDFLAGS=$(LDFLAGS_FOR_BUILD) > rpcgen_LDADD=$(LIBTIRPC) > > MAINTAINERCLEANFILES = Makefile.in > -- 1.8.1.2 -- To unsubscribe from this list: send the line "unsubscribe linux-nfs" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html > This patch is causing the following warnings: tools/locktest/Makefile.am:4: warning: 'CFLAGS' is a user variable, you should not override it; tools/locktest/Makefile.am:4: use 'AM_CFLAGS' instead tools/locktest/Makefile.am:5: warning: 'CPPFLAGS' is a user variable, you should not override it; tools/locktest/Makefile.am:5: use 'AM_CPPFLAGS' instead tools/locktest/Makefile.am:6: warning: 'LDFLAGS' is a user variable, you should not override it; tools/locktest/Makefile.am:6: use 'AM_LDFLAGS' instead tools/rpcgen/Makefile.am:4: warning: 'CFLAGS' is a user variable, you should not override it; tools/rpcgen/Makefile.am:4: use 'AM_CFLAGS' instead tools/rpcgen/Makefile.am:5: warning: 'CPPFLAGS' is a user variable, you should not override it; tools/rpcgen/Makefile.am:5: use 'AM_CPPFLAGS' instead tools/rpcgen/Makefile.am:6: warning: 'LDFLAGS' is a user variable, you should not override it; tools/rpcgen/Makefile.am:6: use 'AM_LDFLAGS' instead You didn't see these in your testing? Also what exactly broke that this patch fixes? steved. -- To unsubscribe from this list: send the line "unsubscribe linux-nfs" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
On Monday 25 March 2013 08:42:32 Steve Dickson wrote: > On 24/03/13 18:21, Mike Frysinger wrote: > > Newer autotools will use both CFLAGS and <target>_CFLAGS when compiling > > the <target>. Adding the build settings to the target-specific flags no > > longer works as a way to compile build-time tools. > > > > Instead, clobber the global flags. This triggers an automake warning, > > but the end result actually works (unlike the existing code). > > This patch is causing the following warnings: > ... > You didn't see these in your testing? in my summary: Instead, clobber the global flags. This triggers an automake warning, but the end result actually works (unlike the existing code). > Also what exactly broke that this patch fixes? also in my summary: Newer autotools will use both CFLAGS and <target>_CFLAGS when compiling the <target>. so when you cross-compile (e.g. --build=x86_64-linux-gnu --host=arm-linux- gnu), and you set CFLAGS to include settings which are valid only for the host (e.g. -mfloat-abi=hard -mfp=neon), those flags will also get passed to the build compiler when compiling these tools and they'll error out (because the build gcc doesn't recognize these flags). -mike
On 25/03/13 12:19, Mike Frysinger wrote: > On Monday 25 March 2013 08:42:32 Steve Dickson wrote: >> On 24/03/13 18:21, Mike Frysinger wrote: >>> Newer autotools will use both CFLAGS and <target>_CFLAGS when compiling >>> the <target>. Adding the build settings to the target-specific flags no >>> longer works as a way to compile build-time tools. >>> >>> Instead, clobber the global flags. This triggers an automake warning, >>> but the end result actually works (unlike the existing code). >> >> This patch is causing the following warnings: >> ... >> You didn't see these in your testing? > > in my summary: > > Instead, clobber the global flags. This triggers an automake warning, > but the end result actually works (unlike the existing code). Ok... I did miss that part of the summary... > >> Also what exactly broke that this patch fixes? > > also in my summary: > > Newer autotools will use both CFLAGS and <target>_CFLAGS when compiling > the <target>. > > so when you cross-compile (e.g. --build=x86_64-linux-gnu --host=arm-linux- > gnu), and you set CFLAGS to include settings which are valid only for the host > (e.g. -mfloat-abi=hard -mfp=neon), those flags will also get passed to the build > compiler when compiling these tools and they'll error out (because the build > gcc doesn't recognize these flags). And setting AM_CFLAGS does on take care of this problem... I'm just trying to get rid of those warnings... steved. -- To unsubscribe from this list: send the line "unsubscribe linux-nfs" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
On Monday 25 March 2013 12:51:07 Steve Dickson wrote: > On 25/03/13 12:19, Mike Frysinger wrote: > > On Monday 25 March 2013 08:42:32 Steve Dickson wrote: > >> Also what exactly broke that this patch fixes? > > > > also in my summary: > > Newer autotools will use both CFLAGS and <target>_CFLAGS when compiling > > the <target>. > > > > so when you cross-compile (e.g. --build=x86_64-linux-gnu > > --host=arm-linux- gnu), and you set CFLAGS to include settings which are > > valid only for the host (e.g. -mfloat-abi=hard -mfp=neon), those flags > > will also get passed to the build compiler when compiling these tools > > and they'll error out (because the build gcc doesn't recognize these > > flags). > > And setting AM_CFLAGS does on take care of this problem... > > I'm just trying to get rid of those warnings... yeah, i don't know how to make it work w/out triggering the warnings :(. AM_CFLAGS is appended to CFLAGS rather than clobber it. the concept of having build time tools is a bit foreign to automake atm, so we have to open code this stuff :/. -mike
diff --git a/tools/locktest/Makefile.am b/tools/locktest/Makefile.am index 3156815..efe6fcd 100644 --- a/tools/locktest/Makefile.am +++ b/tools/locktest/Makefile.am @@ -1,12 +1,11 @@ ## Process this file with automake to produce Makefile.in CC=$(CC_FOR_BUILD) -LIBTOOL = @LIBTOOL@ --tag=CC +CFLAGS=$(CFLAGS_FOR_BUILD) +CPPFLAGS=$(CPPFLAGS_FOR_BUILD) +LDFLAGS=$(LDFLAGS_FOR_BUILD) noinst_PROGRAMS = testlk testlk_SOURCES = testlk.c -testlk_CFLAGS=$(CFLAGS_FOR_BUILD) -testlk_CPPFLAGS=$(CPPFLAGS_FOR_BUILD) -testlk_LDFLAGS=$(LDFLAGS_FOR_BUILD) MAINTAINERCLEANFILES = Makefile.in diff --git a/tools/rpcgen/Makefile.am b/tools/rpcgen/Makefile.am index 8a9ec89..3adeec1 100644 --- a/tools/rpcgen/Makefile.am +++ b/tools/rpcgen/Makefile.am @@ -1,7 +1,9 @@ ## Process this file with automake to produce Makefile.in CC=$(CC_FOR_BUILD) -LIBTOOL = @LIBTOOL@ --tag=CC +CFLAGS=$(CFLAGS_FOR_BUILD) +CPPFLAGS=$(CPPFLAGS_FOR_BUILD) +LDFLAGS=$(LDFLAGS_FOR_BUILD) noinst_PROGRAMS = rpcgen rpcgen_SOURCES = rpc_clntout.c rpc_cout.c rpc_hout.c rpc_main.c \ @@ -9,9 +11,6 @@ rpcgen_SOURCES = rpc_clntout.c rpc_cout.c rpc_hout.c rpc_main.c \ rpc_util.c rpc_sample.c rpc_output.h rpc_parse.h \ rpc_scan.h rpc_util.h -rpcgen_CFLAGS=$(CFLAGS_FOR_BUILD) -rpcgen_CPPLAGS=$(CPPFLAGS_FOR_BUILD) -rpcgen_LDFLAGS=$(LDFLAGS_FOR_BUILD) rpcgen_LDADD=$(LIBTIRPC) MAINTAINERCLEANFILES = Makefile.in
Newer autotools will use both CFLAGS and <target>_CFLAGS when compiling the <target>. Adding the build settings to the target-specific flags no longer works as a way to compile build-time tools. Instead, clobber the global flags. This triggers an automake warning, but the end result actually works (unlike the existing code). Signed-off-by: Mike Frysinger <vapier@gentoo.org> --- tools/locktest/Makefile.am | 7 +++---- tools/rpcgen/Makefile.am | 7 +++---- 2 files changed, 6 insertions(+), 8 deletions(-)