maint: don't enable warnings by default unless GCC 4.6 or later

* configure.ac (gl_GCC_VERSION_IFELSE): New macro, from coreutils.
(gl_gcc_warnings): By default, disable warnings for GCC versions
before 4.6.  This works around a failure when building from git on
Ubuntu 10, reported privately by Nathan Stratton Treadway.
This commit is contained in:
Paul Eggert
2012-12-23 17:10:38 -08:00
parent 7c43775f4f
commit 53358983eb

View File

@@ -112,6 +112,24 @@ gl_INIT
# paxutils modules # paxutils modules
tar_PAXUTILS tar_PAXUTILS
# 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.
# Otherwise, run RUN-IF-NOT-FOUND.
AC_DEFUN([gl_GCC_VERSION_IFELSE],
[AC_PREPROC_IFELSE(
[AC_LANG_PROGRAM(
[[
#if ($1) < __GNUC__ || (($1) == __GNUC__ && ($2) <= __GNUC_MINOR__)
/* ok */
#else
# error "your version of gcc is older than $1.$2"
#endif
]]),
], [$3], [$4])
]
)
AC_ARG_ENABLE([gcc-warnings], AC_ARG_ENABLE([gcc-warnings],
[AS_HELP_STRING([--enable-gcc-warnings], [AS_HELP_STRING([--enable-gcc-warnings],
[turn on many GCC warnings (for developers; best with GNU make)])], [turn on many GCC warnings (for developers; best with GNU make)])],
@@ -120,10 +138,9 @@ AC_ARG_ENABLE([gcc-warnings],
*) AC_MSG_ERROR([bad value $enableval for gcc-warnings option]) ;; *) AC_MSG_ERROR([bad value $enableval for gcc-warnings option]) ;;
esac esac
gl_gcc_warnings=$enableval], gl_gcc_warnings=$enableval],
[if test -d "$srcdir"/.git; then [gl_gcc_warnings=no
gl_gcc_warnings=yes if test -d "$srcdir"/.git; then
else gl_GCC_VERSION_IFELSE([4], [6], [gl_gcc_warnings=yes])
gl_gcc_warnings=no
fi] fi]
) )