Imported Upstream version 2.6.1
[debian/amanda] / config / amanda / flags.m4
index ba20da9dc534c47e6d3193b4568cb57875e26760..1f67530b5fd6fb28ce0c58bb9ae6ef41b31427e3 100644 (file)
@@ -92,16 +92,17 @@ AC_DEFUN([AMANDA_INIT_FLAGS],
            done
        ])
 
+    # Disable strict-aliasing optimizations
+    AMANDA_DISABLE_GCC_FEATURE(strict-aliasing)
+
     # Warn for just about everything
-    AMANDA_TEST_GCC_WARNING_FLAG(-Wall, [
-       AMANDA_ADD_WARNING_CFLAG(-Wall)
-    ])
+    AMANDA_ENABLE_GCC_WARNING(all)
     
     # And add any extra warnings too
-    AMANDA_TEST_GCC_WARNING_FLAG(-Wextra, [
+    AMANDA_TEST_GCC_FLAG(-Wextra, [
        AMANDA_ADD_WARNING_CFLAG(-Wextra)
     ], [
-       AMANDA_TEST_GCC_WARNING_FLAG(-W, [
+       AMANDA_TEST_GCC_FLAG(-W, [
            AMANDA_ADD_WARNING_CFLAG(-W)
        ])
     ])
@@ -197,6 +198,25 @@ AC_DEFUN([AMANDA_ADD_LIBS],
     [LIBS="$1 $LIBS"]
 )
 
+# SYNOPSIS
+#
+#   AMANDA_DISABLE_GCC_FEATURE(feature)
+#
+# OVERVIEW
+#
+#   Disable feature 'feature' by adding flag -Wno-'feature' to 
+#   AMANDA_FEATURE_CFLAGS.
+#
+AC_DEFUN([AMANDA_DISABLE_GCC_FEATURE],
+[
+    # test for -W'feature', then add the 'no-' version.
+    AMANDA_TEST_GCC_FLAG(-f$1,
+    [
+       AMANDA_ADD_CFLAGS(-fno-$1)
+       AMANDA_ADD_CPPFLAGS(-fno-$1)
+    ])
+])
+
 # SYNOPSIS
 #
 #   AMANDA_ADD_WARNING_CFLAG(flag)
@@ -220,7 +240,7 @@ AC_DEFUN([AMANDA_ADD_WARNING_CFLAG],
 #
 AC_DEFUN([AMANDA_ENABLE_GCC_WARNING],
 [
-    AMANDA_TEST_GCC_WARNING_FLAG(-W$1,
+    AMANDA_TEST_GCC_FLAG(-W$1,
     [
        AMANDA_ADD_WARNING_CFLAG(-W$1)
     ])
@@ -238,7 +258,7 @@ AC_DEFUN([AMANDA_ENABLE_GCC_WARNING],
 AC_DEFUN([AMANDA_DISABLE_GCC_WARNING],
 [
     # test for -W'warning', then add the 'no-' version.
-    AMANDA_TEST_GCC_WARNING_FLAG(-W$1,
+    AMANDA_TEST_GCC_FLAG(-W$1,
     [
        AMANDA_ADD_WARNING_CFLAG(-Wno-$1)
     ])
@@ -246,7 +266,7 @@ AC_DEFUN([AMANDA_DISABLE_GCC_WARNING],
 
 # SYNOPSIS
 #
-#   AMANDA_TEST_GCC_WARNING_FLAG(flag, action-if-found, action-if-not-found)
+#   AMANDA_TEST_GCC_FLAG(flag, action-if-found, action-if-not-found)
 #
 # OVERVIEW
 #
@@ -255,14 +275,16 @@ AC_DEFUN([AMANDA_DISABLE_GCC_WARNING],
 #
 #   Intended for internal use in this file.
 #
-AC_DEFUN([AMANDA_TEST_GCC_WARNING_FLAG],
+AC_DEFUN([AMANDA_TEST_GCC_FLAG],
 [
     AC_REQUIRE([AC_PROG_CC])
     AC_REQUIRE([AC_PROG_EGREP])
     AC_MSG_CHECKING(for gcc flag $1)
     if test "x$GCC" = "xyes"; then
        changequote(,)dnl
-       $CC -v --help 2>&1 | $EGREP -- '[^[:alnum:]]$1[^[:alnum:]-]' 2>&1 > /dev/null
+       (gcc --help={target,optimizers,warnings,undocumented,params,c} 2>&1 || 
+           $CC -v --help 2>&1) | 
+         $EGREP -- '[^[:alnum:]]$1[^[:alnum:]-]' 2>&1 > /dev/null
        changequote([,])dnl
        if test $? -eq 0; then
            found_warning=yes