X-Git-Url: https://diplodocus.org/git/nmh/blobdiff_plain/35622f9929d6c59f9a43a498ab6697287b2cd4a2..43a65e9777214029046fe7a1427493e6e503a717:/configure.ac diff --git a/configure.ac b/configure.ac index 7bb2024d..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 @@ -107,9 +114,9 @@ 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" @@ -121,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 @@ -559,14 +580,15 @@ LIBS="$nmh_save_LIBS" dnl ---------------- dnl CHECK FLEX FIXUP dnl ---------------- -dnl Use LFLAGS make variable setting to work around bug in flex -dnl 2.5.36 and .37 that causes signed/unsigned mismatch, +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/ -flex -V 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=\ -'; flex -V; cp -p $@ $@.ORIGINAL; printf "%s\n" '\''1,$$s/\( \)int i;/\1yy_size_t i;/'\'' w q | ed -s $@; diff $@ $@.ORIGINAL || true']]) +'; printf "%s\n" '\''1,$$s/\( \)int i;/\1yy_size_t i;/'\'' w q | ed -s $@']]) AC_SUBST([LFLAGS])]) dnl --------------