configure: Add option --enable-Werror to add -Werror to CFLAGS.
authorBen Pfaff <blp@cs.stanford.edu>
Sun, 6 Nov 2011 21:22:16 +0000 (13:22 -0800)
committerBen Pfaff <blp@cs.stanford.edu>
Sun, 6 Nov 2011 21:22:44 +0000 (13:22 -0800)
-Werror is useful for development, but it screws up configure because it's
impossible to guess what new warnings compilers will add in the future.
This commit adds a new configure option to add CFLAGS after the configure
checks are done.

The use of AC_CONFIG_COMMANDS_PRE is based on Eric Blake's suggestion on
the autoconf mailing list: "AC_CONFIG_COMMANDS_PRE probably fits the bill
as the ideal macro to use for guaranteeing that you inject your shell code
at the last possible moment."

The Autoconf code added in this commit, as well as this commit message,
come from Open vSwitch.

acinclude.m4
configure.ac

index 14d11dc70a26e44bc22f28bac8ca5418360c4843..52ac81acd3dc99e5b16d9405e518227d640fa604 100644 (file)
@@ -278,3 +278,31 @@ EOF
        AM_MAKEINFOFLAGS="$AM_MAKEINFOFLAGS -DMISSING_CLICKSEQUENCE"
        AC_SUBST([AM_MAKEINFOFLAGS])
    fi])
+
+# The following comes from Open vSwitch:
+# ----------------------------------------------------------------------
+# Copyright (c) 2008, 2009, 2010, 2011 Nicira Networks.
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at:
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+dnl PSPP_ENABLE_WERROR
+AC_DEFUN([PSPP_ENABLE_WERROR],
+  [AC_ARG_ENABLE(
+     [Werror],
+     [AC_HELP_STRING([--enable-Werror], [Add -Werror to CFLAGS])],
+     [], [enable_Werror=no])
+   AC_CONFIG_COMMANDS_PRE(
+     [if test "X$enable_Werror" = Xyes; then
+        CFLAGS="$CFLAGS -Werror"
+      fi])])
+
index 2ba3ba35253abcdafdd04bd8b1197bcade0ba203..ce508eec588fa7e61fb23bef55ffc79dd9dbc32d 100644 (file)
@@ -26,6 +26,7 @@ AC_ARG_ENABLE(
                   [Attempt to allow building against older versions of dependent libraries])])
 
 PSPP_ENABLE_OPTION(-Wdeclaration-after-statement)
+PSPP_ENABLE_WERROR
 
 AM_CONDITIONAL(cc_is_gcc, test x"$GCC" = x"yes" )