From: David Levine Date: Sat, 14 Dec 2013 14:37:11 +0000 (-0600) Subject: That didn't quite work, try reducing size of warning filter X-Git-Url: https://diplodocus.org/git/nmh/commitdiff_plain/46d7b436b9b0bcd44f9ffdba491270a0277b4d0f?hp=316717fa2a6a3b9cb544c4b2a3bae8e1301fbf30 That didn't quite work, try reducing size of warning filter temporarily. --- diff --git a/configure.ac b/configure.ac index aaa6d057..9edcbdd3 100644 --- a/configure.ac +++ b/configure.ac @@ -92,72 +92,57 @@ dnl CHECK THE COMPILER dnl ------------------ dnl We want these before the checks, dnl so the checks can modify their values. -test -z "$CFLAGS" && CFLAGS= auto_cflags=1 +test -z "$CFLAGS" && auto_cflags=1 AC_PROG_CC([cc gcc]) AM_PROG_CC_C_O -dnl Use -v and some other options with SunStudio cc. -AS_CASE([`${CC} -V 2>&1`], - [cc:\ Sun\ C*], [CFLAGS="${CFLAGS:+$CFLAGS }-v -errtags=yes" - CFLAGS="${CFLAGS} -erroff=E_STATEMENT_NOT_REACHED"]) - -AC_CACHE_CHECK([whether compiler supports -Wextra], [nmh_cv_has_wextra], -[nmh_saved_cflags="$CFLAGS" - CFLAGS="$CFLAGS -Wextra -Werror" - AC_TRY_COMPILE([],[],nmh_cv_has_wextra=yes,nmh_cv_has_wextra=no) - CFLAGS="$nmh_saved_cflags"]) - -dnl Can't use -ansi with gcc 4.5.3 on Cygwin, at least through setup -dnl version 2.763, because it disables some features in the system -dnl header files and warns about them with -Wall. Try to test for -dnl that generally, though still with gcc. -if test "$GCC" = yes; then - AC_CACHE_CHECK([whether we can use -ansi with gcc], [nmh_cv_has_dash_ansi], - [nmh_saved_cppflags="$CPPFLAGS" - nmh_saved_cflags="$CFLAGS" - CPPFLAGS="-D_GNU_SOURCE" - CFLAGS="-ansi -Wall -Werror" - AC_COMPILE_IFELSE([AC_LANG_PROGRAM([#include ],[tzset();])], - [nmh_cv_has_dash_ansi=yes], - [nmh_cv_has_dash_ansi=no]) - CPPFLAGS="$nmh_saved_cppflags" - CFLAGS="$nmh_saved_cflags"]) -else - nmh_cv_has_dash_ansi=no -fi - -dnl if the user hasn't specified CFLAGS, then -dnl if compiler is gcc, then -dnl use -O2 and some warning flags -dnl else use -O -dnl We use -Wall and -Wextra if supported. If the compiler supports it we -dnl also use -Wno-pointer-sign, because gcc 4 now produces a lot of new -dnl warnings which are probably mostly spurious and which in any case we -dnl don't want to deal with now. -if test "$nmh_cv_has_dash_ansi" = "yes"; then - nmh_gcc_warnflags="-ansi -pedantic -Wall" -else - nmh_gcc_warnflags="-Wall" -fi -if test "$nmh_cv_has_wextra" = "yes"; then - nmh_gcc_warnflags="${nmh_gcc_warnflags} -Wextra" -fi - +dnl ---------------- +dnl CUSTOMIZE CFLAGS +dnl ---------------- if test -n "$auto_cflags"; then - if test x"$enable_debug" = x"yes"; then - if test -n "$GCC"; then - test -z "$CFLAGS" && CFLAGS="$nmh_gcc_warnflags -g" || CFLAGS="$CFLAGS $nmh_gcc_warnflags -g" - else - test -z "$CFLAGS" && CFLAGS=-g || CFLAGS="$CFLAGS -g" - fi + dnl The user didn't specify CFLAGS, so customize them. + if test "$GCC" = yes; then + dnl Can't use -ansi with gcc 4.5.3 on Cygwin, at least through setup + dnl version 2.763, because it disables some features in the system + dnl header files and warns about them with -Wall. Try to test for + dnl that generally, with gcc. + AC_CACHE_CHECK([whether we can use -ansi with gcc], [nmh_cv_has_dash_ansi], + [nmh_saved_cppflags="$CPPFLAGS" + nmh_saved_cflags="$CFLAGS" + CPPFLAGS="-D_GNU_SOURCE" + CFLAGS="-ansi -Wall -Werror" + AC_COMPILE_IFELSE([AC_LANG_PROGRAM([#include ],[tzset();])], + [nmh_cv_has_dash_ansi=yes], + [nmh_cv_has_dash_ansi=no]) + CPPFLAGS="$nmh_saved_cppflags" + CFLAGS="$nmh_saved_cflags"]) + test "$nmh_cv_has_dash_ansi" = "yes" && \ + CFLAGS="${CFLAGS:+$CFLAGS }-ansi -pedantic" else - if test -n "$GCC"; then - test -z "$CFLAGS" && CFLAGS="$nmh_gcc_warnflags -O2" || CFLAGS="$CFLAGS $nmh_gcc_warnflags -O2" - else - test -z "$CFLAGS" && CFLAGS=-O || CFLAGS="$CFLAGS -O" - fi + dnl Use -v and some other options with SunStudio cc. lex produces + dnl code that causes unreachable-statement warnings. It might be + dnl better to use an autoconf test, except -v will probably succeed + dnl with many other compilers but have different meaning. + AS_CASE([`${CC} -V 2>&1`], + [cc:\ Sun\ C*], [CFLAGS=\ +"${CFLAGS:+$CFLAGS }-v -errtags=yes -erroff=E_STATEMENT_NOT_REACHED"]) fi + + AC_CACHE_CHECK([whether compiler supports -Wall], [nmh_cv_has_wall], + [nmh_saved_cflags="$CFLAGS" + CFLAGS="$CFLAGS -Wall -Werror" + AC_TRY_COMPILE([],[],nmh_cv_has_wall=yes,nmh_cv_has_wall=no) + CFLAGS="$nmh_saved_cflags"]) + test "$nmh_cv_has_wall" = "yes" && CFLAGS="${CFLAGS:+$CFLAGS }-Wall" + + AC_CACHE_CHECK([whether compiler supports -Wextra], [nmh_cv_has_wextra], + [nmh_saved_cflags="$CFLAGS" + CFLAGS="$CFLAGS -Wextra -Werror" + AC_TRY_COMPILE([],[],nmh_cv_has_wextra=yes, + nmh_cv_has_wextra=no) + CFLAGS="$nmh_saved_cflags"]) + test "$nmh_cv_has_wextra" = "yes" && CFLAGS="${CFLAGS:+$CFLAGS }-Wextra" fi dnl -------------- @@ -165,8 +150,7 @@ dnl CUSTOMIZE LINK dnl -------------- if test `uname` = OpenBSD; then dnl Filter out "often/almost always misused" warnings from OpenBSD linker. - POSTLINK=["2>&1 | egrep -v ': warning: s[a-z]+\(\) is (almost always|often) \ -misused, please use'; true"] + POSTLINK=["2>&1 | egrep -v 'warning'; true"] fi AC_SUBST([POSTLINK])