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:
25
configure.ac
25
configure.ac
@@ -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]
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user