On Thu, 2011-11-03 at 01:19 -0700, Jeremy Huddleston wrote: > Signed-off-by: Jeremy Huddleston <[email protected]> > --- > xorg-macros.m4.in | 52 ++++++++++++++++++++++++++++++++++++++++++++++++++++ > 1 files changed, 52 insertions(+), 0 deletions(-) > > diff --git a/xorg-macros.m4.in b/xorg-macros.m4.in > index 534afba..1ece326 100644 > --- a/xorg-macros.m4.in > +++ b/xorg-macros.m4.in > @@ -1378,6 +1378,58 @@ AC_CHECK_DECL([__INTEL_COMPILER], [INTELCC="yes"], > [INTELCC="no"]) > AC_CHECK_DECL([__SUNPRO_C], [SUNCC="yes"], [SUNCC="no"]) > ]) # XORG_COMPILER_BRAND > > +# XORG_TESTSET_CFLAG(<variable>, <flag>, [<alternative flag>, ...]) > +# --------------- > +# Minimum version: 1.16.0 > +# > +# Test if the compiler works when passed the given flag as a command line > argument. > +# If it succeeds, the flag is appeneded to the given variable. If not, it > tries the > +# next flag in the list until there are no more options. > +# > +# Note that this does not guarantee that the compiler supports the flag as > some > +# compilers will simply ignore arguments that they do not understand, but we > do > +# attempt to weed out false positives by using -Werror=unknown-warning-option > +# > +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" > + > +if test "x$xorg_testset_unknown_warning_option" = "x" ; then > + CFLAGS="$CFLAGS -Werror=unknown-warning-option" > + AC_MSG_CHECKING([if $CC supports -Werror=unknown-warning-option]) > + AC_COMPILE_IFELSE([AC_LANG_SOURCE([int i;])], > + [xorg_testset_unknown_warning_option=yes], > + [xorg_testset_unknown_warning_option=no]) > + AC_MSG_RESULT([$xorg_testset_unknown_warning_option]) > + CFLAGS="$xorg_testset_save_CFLAGS" > +fi > + > +found="no" > +m4_foreach([flag], m4_cdr($@), [ > + if test $found = "no" ; then > + if test "x$xorg_testset_unknown_warning_option" = "xyes" ; then > + CFLAGS="$CFLAGS -Werror=unknown-warning-option ]flag[" > + else > + CFLAGS="$CFLAGS ]flag[" > + fi > + > + AC_MSG_CHECKING([if $CC supports ]flag[]) > + AC_COMPILE_IFELSE([AC_LANG_SOURCE([int i;])], > + [supported=yes], [supported=no]) > + AC_MSG_RESULT([$supported]) > + CFLAGS="$xorg_testset_save_CFLAGS" > + > + if test "$supported" = "yes" ; then > + $1="$$1 ]flag[" > + found="yes" > + fi > + fi > +]) > +]) # XORG_TESTSET_CFLAG > + > # XORG_CWARNFLAGS > # --------------- > # Minimum version: 1.2.0
I am not sure if some of the flags I tested make sense, for example:
checking if gcc -std=gnu99 supports "-!!!"... yes
checking if gcc -std=gnu99 supports "-12345"... yes
Reviewed-by: Gaetan Nadon <[email protected]>
signature.asc
Description: This is a digitally signed message part
_______________________________________________ [email protected]: X.Org development Archives: http://lists.x.org/archives/xorg-devel Info: http://lists.x.org/mailman/listinfo/xorg-devel
