diff options
Diffstat (limited to 'macros/compiler-flags.m4')
-rw-r--r-- | macros/compiler-flags.m4 | 45 |
1 files changed, 45 insertions, 0 deletions
diff --git a/macros/compiler-flags.m4 b/macros/compiler-flags.m4 new file mode 100644 index 0000000000..953e8ebb5b --- /dev/null +++ b/macros/compiler-flags.m4 @@ -0,0 +1,45 @@ +dnl GNOME_COMPILE_WARNINGS +dnl Turn on many useful compiler warnings +dnl For now, only works on GCC +AC_DEFUN([GNOME_COMPILE_WARNINGS],[ + AC_ARG_ENABLE(compile-warnings, + [ --enable-compile-warnings=[no/minimum/yes] Turn on compiler warnings.],,enable_compile_warnings=minimum) + + AC_MSG_CHECKING(what warning flags to pass to the C compiler) + warnCFLAGS= + if test "x$enable_compile_warnings" != "xno"; then + if test "x$GCC" = "xyes"; then + case " $CFLAGS " in + *[\ \ ]-Wall[\ \ ]*) ;; + *) warnCFLAGS="-Wall" ;; + esac + + if test "x$enable_compile_warnings" = "xyes"; then + warnCFLAGS="$warnCFLAGS -W -Wmissing-prototypes -Wmissing-declarations -Wpointer-arith" + fi + fi + fi + AC_MSG_RESULT($warnCFLAGS) + + AC_ARG_ENABLE(iso-c, + [ --enable-iso-c Try to warn if code is not ISO C ],, + enable_iso_c=no) + + AC_MSG_CHECKING(what language compliance flags to pass to the C compiler) + complCFLAGS= + if test "x$enable_iso_c" != "xno"; then + if test "x$GCC" = "xyes"; then + case " $CFLAGS " in + *[\ \ ]-ansi[\ \ ]*) ;; + *) complCFLAGS="$complCFLAGS -ansi" ;; + esac + + case " $CFLAGS " in + *[\ \ ]-pedantic[\ \ ]*) ;; + *) complCFLAGS="$complCFLAGS -pedantic" ;; + esac + fi + fi + AC_MSG_RESULT($complCFLAGS) + CFLAGS="$CFLAGS $warnCFLAGS $complCFLAGS" +]) |