]> diplodocus.org Git - nmh/blobdiff - configure.ac
Removed --posix from awk invocation in test-anno.
[nmh] / configure.ac
index 5c06468b95fbc3bbfdf8e28b0797d9b0e6c598a4..bb42a6ac44456e68cd9f54a3dc960c29c6660733 100644 (file)
@@ -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,9 +113,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 +127,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,13 +579,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.35-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/
 AS_IF([test "$LEX" = flex],
       [AS_CASE([`$LEX -V`],
-               [flex\ 2.5.3@<:@567@:>@], [[LFLAGS=\
-'; cat $@; cp -p $@ $@.ORIGINAL; printf "%s\n" '\''1,$$s/\(    \)int i;/\1yy_size_t i;/'\'' w q | ed -s $@; diff $@ $@.ORIGINAL || true']])
+               [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 --------------