X-Git-Url: https://diplodocus.org/git/nmh/blobdiff_plain/fdf3c4fe7120e2d5d594859fb4a298cc2a8d4bc1..16424c27ddec8905581927cbf546600929c3b607:/configure.ac diff --git a/configure.ac b/configure.ac index a4cfffd2..520c8d42 100644 --- a/configure.ac +++ b/configure.ac @@ -8,7 +8,7 @@ AC_PREREQ([2.68]) AC_INIT([nmh], m4_normalize(m4_include([VERSION])), [nmh-workers@nongnu.org]) AC_CONFIG_SRCDIR([h/nmh.h]) AC_CONFIG_HEADER([config.h]) -AM_INIT_AUTOMAKE([-Wall color-tests foreign serial-tests subdir-objects 1.12]) +AM_INIT_AUTOMAKE([-Wall foreign serial-tests subdir-objects 1.12]) AC_CANONICAL_HOST @@ -62,43 +62,6 @@ AS_IF([test x"$with_hash_backup" != x -a x"$with_hash_backup" != x"no"], AC_DEFINE_UNQUOTED([BACKUP_PREFIX], "$backup_prefix", [The prefix that is prepended to the name of message files when they are "removed" by rmm. This should typically be `,' or `#'.])dnl -dnl What method of locking to use? -AS_CASE(["$host_os"], - [aix*|cygwin*|linux*], - [default_locktype="fcntl"; default_locking=FCNTL_LOCKING], - [freebsd*|openbsd*|darwin*], [default_locktype="flock"; default_locking=FLOCK_LOCKING], - [default_locktype="dot"; default_locking=DOT_LOCKING]) - -AC_ARG_WITH([locking], - AS_HELP_STRING([--with-locking=@<:@dot|fcntl|flock|lockf@:>@], - [specify the file locking method])) - -AS_IF([test x"$with_locking" = x"dot"], - [LOCKTYPE="dot" - AC_DEFINE([DOT_LOCKING], [1], [Define to use dot based file locking.])], - [test x"$with_locking" = x"flock"], - [LOCKTYPE="flock" - AC_DEFINE([FLOCK_LOCKING], [1], [Define to use flock() based locking.])], - [test x"$with_locking" = x"lockf"], - [LOCKTYPE="lockf" - AC_DEFINE([LOCKF_LOCKING], [1], [Define to use lockf() based locking.])], - [test x"$with_locking" = x"fcntl"], - [LOCKTYPE="fcntl" - AC_DEFINE([FCNTL_LOCKING], [1], [Define to use fnctl() based locking.])], - [LOCKTYPE="$default_locktype" - AC_DEFINE_UNQUOTED([$default_locking], [1])]) - -dnl Should we use a locking directory? -AC_ARG_ENABLE([lockdir], - [AS_HELP_STRING([--enable-lockdir=dir], [Store dot-lock files in "dir"])], [ - AS_IF([test "x$enableval" = xyes],[ - AC_MSG_ERROR([--enable-lockdir requires an argument])]) - AS_IF([test "x$LOCKTYPE" != xdot],[ - AC_MSG_ERROR([Can only use --enable-lockdir with dot locking])]) - AC_DEFINE_UNQUOTED([LOCKDIR], ["$enableval"], - [Directory to store dot-locking lock files]) -]) - dnl What method of posting should post use? AC_ARG_WITH([mts], AS_HELP_STRING([--with-mts=@<:@smtp|sendmail/smtp|sendmail/pipe@:>@], @@ -137,45 +100,12 @@ fi AC_PROG_CC AM_PROG_CC_C_O -AC_CACHE_CHECK([whether preprocessor supports -Wunused-macros], - [nmh_cv_has_unusedmacros], - [nmh_saved_cppflags="$CPPFLAGS" - CPPFLAGS="$CPPFLAGS -Wunused-macros -Wno-unused-macros" - AC_TRY_COMPILE([],[],nmh_cv_has_unusedmacros=yes,nmh_cv_has_unusedmacros=no) - CPPFLAGS="$nmh_saved_cppflags"]) - -if test "$nmh_cv_has_unusedmacros" = 'yes'; then - test -z "$CPPFLAGS" && CPPFLAGS=-Wunused-macros \ - || CPPFLAGS="$CPPFLAGS -Wunused-macros" - DISABLE_UNUSED_MACROS_WARNING=-Wno-unused-macros -fi -AC_SUBST([DISABLE_UNUSED_MACROS_WARNING])dnl - -AC_CACHE_CHECK([whether compiler supports -Wno-sign-compare], - [nmh_cv_has_nosigncompare], - [nmh_saved_cppflags="$CPPFLAGS" - CPPFLAGS="$CPPFLAGS -Wno-sign-compare" - AC_TRY_COMPILE([],[],nmh_cv_has_nosigncompare=yes, - nmh_cv_has_nosigncompare=no) - CPPFLAGS="$nmh_saved_cppflags"]) - -if test "$nmh_cv_has_nosigncompare" = 'yes'; then - DISABLE_SIGN_COMPARE_WARNING=-Wno-sign-compare -fi -AC_SUBST([DISABLE_SIGN_COMPARE_WARNING])dnl - AC_CACHE_CHECK([whether compiler supports -Wextra], [nmh_cv_has_wextra], [nmh_saved_cflags="$CFLAGS" - CFLAGS="$CFLAGS -Wextra -Wno-clobbered" + CFLAGS="$CFLAGS -Wextra -Werror" AC_TRY_COMPILE([],[],nmh_cv_has_wextra=yes,nmh_cv_has_wextra=no) CFLAGS="$nmh_saved_cflags"]) -AC_CACHE_CHECK([whether compiler supports -Wno-pointer-sign], [nmh_cv_has_noptrsign], -[nmh_saved_cflags="$CFLAGS" - CFLAGS="$CFLAGS -Wno-pointer-sign" - AC_TRY_COMPILE([],[],nmh_cv_has_noptrsign=yes,nmh_cv_has_noptrsign=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 @@ -191,6 +121,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 @@ -203,24 +147,13 @@ dnl We use -Wall and -Wextra if supported. If the compiler supports it we dnl also use -Wno-pointer-sign, because gcc 4 now produces a lot of new dnl warnings which are probably mostly spurious and which in any case we dnl don't want to deal with now. -if test "$nmh_cv_has_noptrsign" = "yes"; then - if test "$nmh_cv_has_dash_ansi" = "yes"; then - nmh_gcc_common_flags="-ansi -pedantic -Wall" - else - nmh_gcc_common_flags="-Wall" - fi - if test "$nmh_cv_has_wextra" = "yes"; then - nmh_gcc_warnflags="${nmh_gcc_common_flags} -Wextra -Wno-clobbered "\ -"-Wno-pointer-sign" - else - nmh_gcc_warnflags="${nmh_gcc_common_flags} -Wno-pointer-sign" - fi +if test "$nmh_cv_has_dash_ansi" = "yes"; then + nmh_gcc_warnflags="-ansi -pedantic -Wall" else - if test "$nmh_cv_has_wextra" = "yes"; then - nmh_gcc_warnflags="${nmh_gcc_common_flags} -Wextra -Wno-clobbered" - else - nmh_gcc_warnflags="${nmh_gcc_common_flags}" - fi + nmh_gcc_warnflags="-Wall" +fi +if test "$nmh_cv_has_wextra" = "yes"; then + nmh_gcc_warnflags="${nmh_gcc_warnflags} -Wextra" fi if test -n "$auto_cflags"; then @@ -246,6 +179,8 @@ if test -n "$auto_cflags"; then else test -z "$CFLAGS" && CFLAGS=-O || CFLAGS="$CFLAGS -O" fi + AC_DEFINE([NDEBUG], [1], + [Define to disable run-time debugging and asserts.]) fi fi @@ -262,7 +197,7 @@ AM_PROG_LEX dnl Check for lex/flex AM_PROG_AR dnl Look for `cut' -pathtmp=/usr/bin:/bin:/usr/local/bin:/usr/xpg4/bin:/usr/ucb +pathtmp=/usr/xpg4/bin:/usr/bin:/bin:/usr/local/bin:/usr/ucb AC_PATH_PROG([cutpath], [cut], [no], [$pathtmp]) dnl @@ -292,7 +227,7 @@ AC_SUBST([LINT])dnl AC_SUBST([LINTFLAGS])dnl dnl Look for `ls' -pathtmp=/usr/bin:/bin:/usr/local/bin:/usr/xpg4/bin:/usr/ucb +pathtmp=/usr/xpg4/bin:/usr/bin:/bin:/usr/local/bin:/usr/ucb AC_PATH_PROG([lspath], [ls], [no], [$pathtmp]) dnl See how we get ls to display the owner and the group @@ -308,13 +243,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]) @@ -442,6 +377,9 @@ NMH_CHECK_NETLIBS dnl Check for readline support NMH_READLINE +dnl Check the locking functions supported and what we should use by default +NMH_LOCKING + dnl Check for iconv NMH_CHECK_ICONV @@ -632,6 +570,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 -------------- @@ -713,9 +665,8 @@ man page install path : ${nmhman} RPM build root : ${nmhrpm} backup prefix : ${backup_prefix} transport system : ${MTS} -file locking type : ${LOCKTYPE} +spool default locking type : ${with_locking} default smtp servers : ${smtpservers} -default editor : ${editorpath} SASL support : ${sasl_support} TLS support : ${tls_support} ])])dnl