diff options
author | Paul Eggert <eggert@cs.ucla.edu> | 2012-12-23 17:10:38 -0800 |
---|---|---|
committer | Paul Eggert <eggert@cs.ucla.edu> | 2012-12-23 17:11:05 -0800 |
commit | 53358983ebbdb88c20d1a0121398534ec03aa485 (patch) | |
tree | 33d2546df5b93b2a312fb24d001b5749aade0077 /configure.ac | |
parent | 7c43775f4f667c435c9f67cbaf4738b3bcd59c03 (diff) | |
download | tar-53358983ebbdb88c20d1a0121398534ec03aa485.tar.gz |
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.
Diffstat (limited to 'configure.ac')
-rw-r--r-- | configure.ac | 25 |
1 files changed, 21 insertions, 4 deletions
diff --git a/configure.ac b/configure.ac index 23106006..fbf41e64 100644 --- a/configure.ac +++ b/configure.ac @@ -112,6 +112,24 @@ gl_INIT # paxutils modules 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], [AS_HELP_STRING([--enable-gcc-warnings], [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]) ;; esac gl_gcc_warnings=$enableval], - [if test -d "$srcdir"/.git; then - gl_gcc_warnings=yes - else - gl_gcc_warnings=no + [gl_gcc_warnings=no + if test -d "$srcdir"/.git; then + gl_GCC_VERSION_IFELSE([4], [6], [gl_gcc_warnings=yes]) fi] ) |