X-Git-Url: https://diplodocus.org/git/nmh/blobdiff_plain/32fde56da3936f39cd11a4eee52600164076e8e1..912dc7a4eb7ee59f8d146c869c4f9a1ff0c8190f:/configure.ac diff --git a/configure.ac b/configure.ac index a8072050..bb42a6ac 100644 --- a/configure.ac +++ b/configure.ac @@ -97,9 +97,15 @@ if test x"$enable_debug" = x"yes"; then test -z "$LDFLAGS" && LDFLAGS=-g fi -AC_PROG_CC +AC_PROG_CC(cc gcc) AM_PROG_CC_C_O +dnl Use -v and some other options with SunStudio cc. +case `${CC} -V 2>&1` in + cc:\ Sun\ C*) CFLAGS="${CFLAGS:+$CFLAGS }-v -errtags=yes" + CFLAGS="${CFLAGS} -erroff=E_STATEMENT_NOT_REACHED" ;; +esac + AC_CACHE_CHECK([whether compiler supports -Wextra], [nmh_cv_has_wextra], [nmh_saved_cflags="$CFLAGS" CFLAGS="$CFLAGS -Wextra -Werror" @@ -107,23 +113,37 @@ AC_CACHE_CHECK([whether compiler supports -Wextra], [nmh_cv_has_wextra], CFLAGS="$nmh_saved_cflags"]) dnl Can't use -ansi with gcc 4.5.3 on Cygwin, at least through setup -dnl setup version 2.763, because it disables some features in the -dnl system system header files and warns about them with -Wall. Try -dnl to test for that generally, though still with gcc. +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 + 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"]) + + 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" fi +else + nmh_cv_has_dash_ansi=no +fi dnl if the user hasn't specified CFLAGS, then dnl if compiler is gcc, then