[PATCH macros 1/2] Make XORG_TESTSET_CFLAG work for multiple languages

Jon TURNEY jon.turney at dronecode.org.uk
Thu Mar 1 09:52:59 PST 2012


On 29/02/2012 20:24, Chase Douglas wrote:
> Signed-off-by: Chase Douglas <chase.douglas-Z7WLFzj8eWMS+FvcfC7Uqw at public.gmane.org>
> ---
>  xorg-macros.m4.in |   53 ++++++++++++++++++++++++++++++++---------------------
>  1 files changed, 32 insertions(+), 21 deletions(-)
> 
> diff --git a/xorg-macros.m4.in b/xorg-macros.m4.in
> index 8550ca0..9041542 100644
> --- a/xorg-macros.m4.in
> +++ b/xorg-macros.m4.in
> @@ -1449,49 +1449,60 @@ AC_CHECK_DECL([__SUNPRO_C], [SUNCC="yes"], [SUNCC="no"])
>  # -Werror=unused-command-line-argument
>  #
>  AC_DEFUN([XORG_TESTSET_CFLAG], [
> -AC_REQUIRE([AC_PROG_CC_C99])
>  m4_if([$#], 0, [m4_fatal([XORG_TESTSET_CFLAG was given with an unsupported number of arguments])])
>  m4_if([$#], 1, [m4_fatal([XORG_TESTSET_CFLAG was given with an unsupported number of arguments])])
>  
> -xorg_testset_save_CFLAGS="$CFLAGS"
> +AC_LANG_COMPILER_REQUIRE
> +
> +AC_LANG_CASE(
> +	[C], [
> +		AC_REQUIRE([AC_PROG_CC_C99])
> +		define([PREFIX], [C])
> +	],
> +	[C++], [
> +		define([PREFIX], [CXX])
> +	]
> +)
> +
> +[xorg_testset_save_]PREFIX[FLAGS]="$PREFIX[FLAGS]"
>  
>  if test "x$xorg_testset_unknown_warning_option" = "x" ; then
> -	CFLAGS="$CFLAGS -Werror=unknown-warning-option"
> -	AC_CACHE_CHECK([if $CC supports -Werror=unknown-warning-option],
> -			xorg_cv_cc_flag_unknown_warning_option,
> +	PREFIX[FLAGS]="$PREFIX[FLAGS] -Werror=unknown-warning-option"
> +	AC_CACHE_CHECK([if compiler supports -Werror=unknown-warning-option],
> +			xorg_cv_compiler_flag_unknown_warning_option,
>  			AC_COMPILE_IFELSE([AC_LANG_SOURCE([int i;])],
> -					  [xorg_cv_cc_flag_unknown_warning_option=yes],
> -					  [xorg_cv_cc_flag_unknown_warning_option=no]))
> -	xorg_testset_unknown_warning_option=$xorg_cv_cc_flag_unknown_warning_option
> -	CFLAGS="$xorg_testset_save_CFLAGS"
> +					  [xorg_cv_compiler_flag_unknown_warning_option=yes],
> +					  [xorg_cv_compiler_flag_unknown_warning_option=no]))
> +	xorg_testset_unknown_warning_option=$xorg_cv_compiler_flag_unknown_warning_option
> +	PREFIX[FLAGS]="$[xorg_testset_save_]PREFIX[FLAGS]"

This looks wrong.

Using a single cache variable for all languages will assume that the compilers
for all languages support the same set of flags, when caching is used.

Wouldn't it be better to use the language as part of the cache variable name?


More information about the xorg-devel mailing list