linux-nfs.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH [nfs-utils]] locktes/rpcgen: tweak how we override compiler settings
@ 2013-03-24 22:21 Mike Frysinger
  2013-03-25 12:42 ` Steve Dickson
  0 siblings, 1 reply; 5+ messages in thread
From: Mike Frysinger @ 2013-03-24 22:21 UTC (permalink / raw)
  To: linux-nfs

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


^ permalink raw reply related	[flat|nested] 5+ messages in thread

* Re: [PATCH [nfs-utils]] locktes/rpcgen: tweak how we override compiler settings
  2013-03-24 22:21 [PATCH [nfs-utils]] locktes/rpcgen: tweak how we override compiler settings Mike Frysinger
@ 2013-03-25 12:42 ` Steve Dickson
  2013-03-25 16:19   ` Mike Frysinger
  0 siblings, 1 reply; 5+ messages in thread
From: Steve Dickson @ 2013-03-25 12:42 UTC (permalink / raw)
  To: Mike Frysinger; +Cc: linux-nfs

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.

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [PATCH [nfs-utils]] locktes/rpcgen: tweak how we override compiler settings
  2013-03-25 12:42 ` Steve Dickson
@ 2013-03-25 16:19   ` Mike Frysinger
  2013-03-25 16:51     ` Steve Dickson
  0 siblings, 1 reply; 5+ messages in thread
From: Mike Frysinger @ 2013-03-25 16:19 UTC (permalink / raw)
  To: Steve Dickson; +Cc: linux-nfs

[-- Attachment #1: Type: Text/Plain, Size: 1249 bytes --]

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

[-- Attachment #2: This is a digitally signed message part. --]
[-- Type: application/pgp-signature, Size: 836 bytes --]

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [PATCH [nfs-utils]] locktes/rpcgen: tweak how we override compiler settings
  2013-03-25 16:19   ` Mike Frysinger
@ 2013-03-25 16:51     ` Steve Dickson
  2013-03-25 18:33       ` Mike Frysinger
  0 siblings, 1 reply; 5+ messages in thread
From: Steve Dickson @ 2013-03-25 16:51 UTC (permalink / raw)
  To: Mike Frysinger; +Cc: linux-nfs



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.


^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [PATCH [nfs-utils]] locktes/rpcgen: tweak how we override compiler settings
  2013-03-25 16:51     ` Steve Dickson
@ 2013-03-25 18:33       ` Mike Frysinger
  0 siblings, 0 replies; 5+ messages in thread
From: Mike Frysinger @ 2013-03-25 18:33 UTC (permalink / raw)
  To: Steve Dickson; +Cc: linux-nfs

[-- Attachment #1: Type: Text/Plain, Size: 1104 bytes --]

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

[-- Attachment #2: This is a digitally signed message part. --]
[-- Type: application/pgp-signature, Size: 836 bytes --]

^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2013-03-25 18:28 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2013-03-24 22:21 [PATCH [nfs-utils]] locktes/rpcgen: tweak how we override compiler settings Mike Frysinger
2013-03-25 12:42 ` Steve Dickson
2013-03-25 16:19   ` Mike Frysinger
2013-03-25 16:51     ` Steve Dickson
2013-03-25 18:33       ` Mike Frysinger

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).