diff options
-rw-r--r-- | aclocal.m4 | 13 | ||||
-rw-r--r-- | configure.in | 17 |
2 files changed, 27 insertions, 3 deletions
@@ -147,6 +147,19 @@ if test -z "$bird_cv_sys_linux_version" ; then fi ])]) +AC_DEFUN(BIRD_CHECK_GCC_OPTIONS, +[AC_CACHE_VAL(bird_cv_c_option_no_pointer_sign, [ +cat >conftest.c <<EOF +int main(void) +{ return 0; } +EOF +if $CC -Wall -Wno-pointer-sign conftest.c >&AS_MESSAGE_LOG_FD 2>&1 ; then + bird_cv_c_option_no_pointer_sign=yes +else + bird_cv_c_option_no_pointer_sign=no +fi +])]) + # BIRD_CHECK_PROG_FLAVOR_GNU(PROGRAM-PATH, IF-SUCCESS, [IF-FAILURE]) # copied autoconf internal _AC_PATH_PROG_FLAVOR_GNU m4_define([BIRD_CHECK_PROG_FLAVOR_GNU], diff --git a/configure.in b/configure.in index c931c183..3c988b16 100644 --- a/configure.in +++ b/configure.in @@ -55,17 +55,28 @@ AC_SEARCH_LIBS(clock_gettime,[c rt posix4]) AC_CANONICAL_HOST -AC_MSG_CHECKING([what CFLAGS should we use]) +# Store this value because ac_test_CFLAGS is overwritten by AC_PROG_CC if test "$ac_test_CFLAGS" != set ; then - CFLAGS="$CFLAGS -Wall -Wstrict-prototypes -Wno-pointer-sign -Wno-parentheses" + bird_cflags_default=yes fi -AC_MSG_RESULT($CFLAGS) AC_PROG_CC if test -z "$GCC" ; then AC_MSG_ERROR([This program requires the GNU C Compiler.]) fi +AC_MSG_CHECKING([what CFLAGS should we use]) +if test "$bird_cflags_default" == yes ; then + BIRD_CHECK_GCC_OPTIONS + + CFLAGS="$CFLAGS -Wall -Wstrict-prototypes -Wno-parentheses" + if test "$bird_cv_c_option_no_pointer_sign" == yes ; then + CFLAGS="$CFLAGS -Wno-pointer-sign" + fi +fi +AC_MSG_RESULT($CFLAGS) + + AC_PROG_CPP AC_PROG_INSTALL AC_PROG_RANLIB |