[PATCH xserver 2/2] sdksyms.sh: Use CPPFLAGS, not CFLAGS

Gaetan Nadon memsize at videotron.ca
Fri Jan 13 13:56:50 PST 2012


On 12-01-13 03:07 PM, Jeremy Huddleston wrote:
> CFLAGS can include flags which are not useful to the preprocessor
> or can even cause it to fail.  This fixes a build issue on darwin
> when building for more than one architecture.
>
> Signed-off-by: Jeremy Huddleston <jeremyhu at apple.com>
> ---
>  hw/xfree86/Makefile.am |    4 ++--
>  1 files changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/hw/xfree86/Makefile.am b/hw/xfree86/Makefile.am
> index 72be889..c0b81c3 100644
> --- a/hw/xfree86/Makefile.am
> +++ b/hw/xfree86/Makefile.am
> @@ -38,7 +38,7 @@ DIST_SUBDIRS = common ddc i2c x86emu int10 fbdevhw os-support \
>  bin_PROGRAMS = Xorg
>  nodist_Xorg_SOURCES = sdksyms.c
>  
> -AM_CFLAGS = $(DIX_CFLAGS) @XORG_CFLAGS@
> +AM_CPPFLAGS = $(DIX_CFLAGS) @XORG_CFLAGS@
DIX_CFLAGS and XORG_CFLAGS contain compiler flags (no strict aliasing
and visibility flags). AM_CPPFLAGS should never contain compiler flags
(only pre-processor) as it may break in some targets. It is used in all
sort of places in the generated Makefile, not just in the sdksysms target.

http://www.gnu.org/software/automake/manual/automake.html#index-AM_005fCPPFLAGS-515

>  INCLUDES = $(XORG_INCS) -I$(srcdir)/parser -I$(top_srcdir)/miext/cw \
>  	-I$(srcdir)/ddc -I$(srcdir)/i2c -I$(srcdir)/modes -I$(srcdir)/ramdac
>  
> @@ -109,7 +109,7 @@ CLEANFILES = sdksyms.c sdksyms.dep
>  EXTRA_DIST += sdksyms.sh
>  
>  sdksyms.dep sdksyms.c: sdksyms.sh
> -	CPP='$(CPP)' AWK='$(AWK)' $(SHELL) $(srcdir)/sdksyms.sh $(top_srcdir) $(CFLAGS) $(AM_CFLAGS) $(INCLUDES)
> +	CPP='$(CPP)' AWK='$(AWK)' $(SHELL) $(srcdir)/sdksyms.sh $(top_srcdir) $(CPPFLAGS) $(AM_CPPFLAGS) 
The order is wrong. CFLAGS and CPPFLAGS should come last to allow user
to override the flags set by AM_*. Check any generated Makefile, the
order is:

COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) 
$(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)

http://www.gnu.org/software/automake/manual/automake.html#Flag-Variables-Ordering

> $(INCLUDES)
>  
>  SDKSYMS_DEP = sdksyms.dep
>  include $(SDKSYMS_DEP)



More information about the xorg-devel mailing list