- dnl Disable clang complaint about unused -ansi when linking.
- AC_CACHE_CHECK([whether linker supports -Qunused-arguments],
- [nmh_cv_has_q_unused_arguments],
- [nmh_saved_ldflags="$LDFLAGS"
- LDFLAGS="$LDFLAGS -Qunused-arguments"
- AC_TRY_LINK([],[],nmh_cv_has_q_unused_arguments=yes,
- nmh_cv_has_q_unused_arguments=no)
- LDFLAGS="$nmh_saved_ldflags"])
-
- if test "$nmh_cv_has_q_unused_arguments" = "yes"; then
- test -z "$LDFLAGS" && LDFLAGS=-Qunused-arguments \
- || LDFLAGS="$LDFLAGS -Qunused-arguments"
+dnl ----------------
+dnl CUSTOMIZE CFLAGS
+dnl ----------------
+if test -n "$auto_cflags"; then
+ 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 <time.h>],[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
+ 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"])