summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPádraig Brady <P@draigBrady.com>2012-12-19 09:13:21 +0000
committerPádraig Brady <P@draigBrady.com>2012-12-19 11:30:42 +0000
commit82b1728c4b03f80c56eae0f59d0e9a75e3d2bf9f (patch)
tree42141759c5273f34c030b2032ff91dcff4945e6e
parent6cedbca7f95865707d73273a5e06eed4e9a478ec (diff)
downloadcoreutils-82b1728c4b03f80c56eae0f59d0e9a75e3d2bf9f.tar.xz
build: avoid --enable-gcc-warnings on GCC <= 4.5
* configure.ac: Only enable warnings automatically when on GCC >= 4.6 (and when building from a git checkout) as that was the first GCC version to support fine-grained control of warnings, allowing them to be adjusted around certain code sections. gnulib relies on this for certain warnings, so avoid auto enabling this option lest we trigger build failures on now over two year old compilers. Reported by Zartaj Majeed with GCC 4.5.3 on cygwin.
-rw-r--r--configure.ac32
1 files changed, 17 insertions, 15 deletions
diff --git a/configure.ac b/configure.ac
index 6504144ee..295802dc5 100644
--- a/configure.ac
+++ b/configure.ac
@@ -67,21 +67,6 @@ cu_have_perl=yes
case $PERL in *"/missing "*) cu_have_perl=no;; esac
AM_CONDITIONAL([HAVE_PERL], [test $cu_have_perl = yes])
-AC_ARG_ENABLE([gcc-warnings],
- [AS_HELP_STRING([--enable-gcc-warnings],
- [turn on many GCC warnings (for developers; best with GNU make)])],
- [case $enableval in
- yes|no) ;;
- *) AC_MSG_ERROR([bad value $enableval for gcc-warnings option]) ;;
- esac
- gl_gcc_warnings=$enableval],
- [if test -d "$srcdir"/.git; then
- gl_gcc_warnings=yes
- else
- gl_gcc_warnings=no
- fi]
-)
-
# gl_GCC_VERSION_IFELSE([major], [minor], [run-if-found], [run-if-not-found])
# ------------------------------------------------
# If $CPP is gcc-MAJOR.MINOR or newer, then run RUN-IF-FOUND.
@@ -100,6 +85,23 @@ AC_DEFUN([gl_GCC_VERSION_IFELSE],
]
)
+AC_ARG_ENABLE([gcc-warnings],
+ [AS_HELP_STRING([--enable-gcc-warnings],
+ [turn on many GCC warnings (for developers; best with GNU make)])],
+ [case $enableval in
+ yes|no) ;;
+ *) AC_MSG_ERROR([bad value $enableval for gcc-warnings option]) ;;
+ esac
+ gl_gcc_warnings=$enableval],
+ [
+ # GCC provides fine-grained control over diagnostics which
+ # is used in gnulib for example to suppress warnings from
+ # certain sections of code. So if this is available and
+ # we're running from a git repo, then auto enable the warnings.
+ gl_gcc_warnings=no
+ gl_GCC_VERSION_IFELSE([4], [6], [test -d "$srcdir"/.git && gl_gcc_warnings=yes])]
+)
+
if test "$gl_gcc_warnings" = yes; then
gl_WARN_ADD([-Werror], [WERROR_CFLAGS])
AC_SUBST([WERROR_CFLAGS])