X-Git-Url: https://diplodocus.org/git/nmh/blobdiff_plain/b2477393f4468318384da2f42acde904a4e60d59..43a65e9777214029046fe7a1427493e6e503a717:/configure.ac diff --git a/configure.ac b/configure.ac index 059bff8f..f206b809 100644 --- a/configure.ac +++ b/configure.ac @@ -97,6 +97,13 @@ if test x"$enable_debug" = x"yes"; then test -z "$LDFLAGS" && LDFLAGS=-g fi +dnl Use SunStudio cc, with -v, on Solaris if user didn't set CC. +if test -z "$CC" -a -d /opt/solarisstudio12.3/bin; then + CC=/opt/solarisstudio12.3/bin/cc; export CC + ${CC} -V + CFLAGS="${CFLAGS:+$CFLAGS }-v" +fi + AC_PROG_CC AM_PROG_CC_C_O @@ -106,16 +113,10 @@ AC_CACHE_CHECK([whether compiler supports -Wextra], [nmh_cv_has_wextra], AC_TRY_COMPILE([],[],nmh_cv_has_wextra=yes,nmh_cv_has_wextra=no) CFLAGS="$nmh_saved_cflags"]) -AC_CACHE_CHECK([whether compiler supports -Wno-clobbered], [nmh_cv_has_noclobbered], -[nmh_saved_cflags="$CFLAGS" - CFLAGS="$CFLAGS -Wno-clobbered -Werror" - AC_TRY_COMPILE([],[],nmh_cv_has_noclobbered=yes,nmh_cv_has_noclobbered=no) - 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" @@ -127,6 +128,20 @@ if test "$GCC" = yes; then [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 @@ -147,9 +162,6 @@ fi if test "$nmh_cv_has_wextra" = "yes"; then nmh_gcc_warnflags="${nmh_gcc_warnflags} -Wextra" fi -if test "$nmh_cv_has_noclobbered" = "yes"; then - nmh_gcc_warnflags="${nmh_gcc_warnflags} -Wno-clobbered" -fi if test -n "$auto_cflags"; then if test x"$enable_debug" = x"yes"; then @@ -238,13 +250,13 @@ AS_IF([test "$lspath" != "no"], nmh_cv_ls_grpopt="-lg"])])]) dnl Look for `sendmail' -pathtmp=/usr/lib:/usr/sbin:/usr/etc:/usr/ucblib:/usr/bin:/bin +pathtmp=/usr/sbin:/usr/lib:/usr/etc:/usr/ucblib:/usr/bin:/bin AC_PATH_PROG([sendmailpath], [sendmail], [/usr/sbin/sendmail], [$pathtmp]) dnl Cygwin FAT filesystems do not support hard links. So default to dnl cp instead, even if running on an NTFS or other filesystem. AS_CASE(["$host_os"], - [cygwin*],[LN=cp], + [cygwin*], [LN=cp], [LN=ln]) AC_SUBST([LN]) @@ -565,6 +577,20 @@ dnl Now put the libraries back to what it was before we dnl starting checking the termcap library. LIBS="$nmh_save_LIBS" +dnl ---------------- +dnl CHECK FLEX FIXUP +dnl ---------------- +dnl Use LFLAGS make variable setting to work around bugs in flex +dnl 2.5.35-37 that cause signed/unsigned mismatch, +dnl http://sourceforge.net/p/flex/bugs/140/ +AS_IF([test "$LEX" = flex], + [AS_CASE([`$LEX -V`], + [flex\ 2.5.35], [[LFLAGS=\ +'; printf "%s\n" '\''1,$$s/(size_t) \(num_to_read\)/\1/'\'' w q | ed -s $@']], + [flex\ 2.5.3@<:@67@:>@], [[LFLAGS=\ +'; printf "%s\n" '\''1,$$s/\( \)int i;/\1yy_size_t i;/'\'' w q | ed -s $@']]) + AC_SUBST([LFLAGS])]) + dnl -------------- dnl CHECK TYPEDEFS dnl --------------