summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorH. Peter Anvin <hpa@zytor.com>2007-04-15 22:45:25 +0000
committerH. Peter Anvin <hpa@zytor.com>2007-04-15 22:45:25 +0000
commit1ed0387476138f83ba173d161a54b779353d11aa (patch)
tree400c94f942c8ee12d59aefa1ed1243883f8ce550
parent3faf938f79c0ded2d72483a149956eba8169b2d2 (diff)
downloadnasm-1ed0387476138f83ba173d161a54b779353d11aa.tar.gz
nasm-1ed0387476138f83ba173d161a54b779353d11aa.tar.bz2
nasm-1ed0387476138f83ba173d161a54b779353d11aa.zip
Cleaner way to add gcc options
We can actually test for the options being accepted, rather than try to test for gcc; this handles differences between gcc versions as well as compilers with a similar command line set.
-rw-r--r--aclocal.m415
-rw-r--r--configure.in11
2 files changed, 20 insertions, 6 deletions
diff --git a/aclocal.m4 b/aclocal.m4
new file mode 100644
index 0000000..e25d13d
--- /dev/null
+++ b/aclocal.m4
@@ -0,0 +1,15 @@
+dnl --------------------------------------------------------------------------
+dnl PA_ADD_CFLAGS()
+dnl
+dnl Attempt to add the given option to CFLAGS, if it doesn't break compilation
+dnl --------------------------------------------------------------------------
+AC_DEFUN(PA_ADD_CFLAGS,
+[AC_MSG_CHECKING([if $CC accepts $1])
+ pa_add_cflags__old_cflags="$CFLAGS"
+ CFLAGS="$CFLAGS $1"
+ AC_TRY_LINK([#include <stdio.h>],
+ [printf("Hello, World!\n");],
+ AC_MSG_RESULT([yes]),
+ AC_MSG_RESULT([no])
+ CFLAGS="$pa_add_cflags__old_cflags")])
+
diff --git a/configure.in b/configure.in
index 74e784c..b9d091a 100644
--- a/configure.in
+++ b/configure.in
@@ -59,12 +59,11 @@ else
fi
AC_PROG_INSTALL
-if test "$GCC" = "yes"; then
- GCCFLAGS="-W -Wall -std=c99 -pedantic"
-else
- GCCFLAGS=
-fi
-AC_SUBST(GCCFLAGS)
+dnl If we have gcc, add appropriate options
+PA_ADD_CFLAGS([-W])
+PA_ADD_CFLAGS([-Wall])
+PA_ADD_CFLAGS([-std=c99])
+PA_ADD_CFLAGS([-pedantic])
dnl Look for "nroff" or "groff"
AC_CHECK_PROGS(NROFF, nroff, echo)