X-Git-Url: http://git.marmaro.de/?a=blobdiff_plain;f=configure.ac;h=c3ebacf08d60cbad6637bc8431b8abe72626137c;hb=e69044f7624abe5cb2cb796d528c0cc5f29515f7;hp=d7268abc7263e900762bddf967abfea7c9e31f3a;hpb=16d982eb38d41572ad6dda74470a249dcb9a3247;p=mmh diff --git a/configure.ac b/configure.ac index d7268ab..c3ebacf 100644 --- a/configure.ac +++ b/configure.ac @@ -8,7 +8,7 @@ AC_PREREQ([2.61]) 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 -Werror foreign subdir-objects]) +AM_INIT_AUTOMAKE([-Wall foreign subdir-objects]) AC_CANONICAL_HOST @@ -34,7 +34,7 @@ dnl Do you want to disable use of locale functions AH_TEMPLATE([LOCALE], [Undefine if you don't want locale features. By default this is defined.]) AC_ARG_ENABLE([locale], - [AC_HELP_STRING([--disable-locale], [turn off locale features])], + [AS_HELP_STRING([--disable-locale], [turn off locale features])], [AS_IF([test x$enableval = xyes], [AC_DEFINE(LOCALE)])], [AC_DEFINE(LOCALE)]) @@ -71,6 +71,12 @@ 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])) @@ -88,13 +94,13 @@ elif test x"$with_locking" = x"fcntl"; then LOCKTYPE="fcntl" AC_DEFINE(FCNTL_LOCKING, 1, [Define to use fnctl() based locking.])dnl else - LOCKTYPE="dot" - AC_DEFINE(DOT_LOCKING)dnl + LOCKTYPE="$default_locktype" + AC_DEFINE_UNQUOTED($default_locking, 1)dnl fi dnl Should we use a locking directory? -AC_ARG_ENABLE([lockdir], [ - AS_HELP_STRING([--enable-lockdir=dir], [Store dot-lock files in "dir"])], [ +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],[ @@ -105,16 +111,16 @@ AC_ARG_ENABLE([lockdir], [ dnl What method of posting should post use? AC_ARG_WITH([mts], - AS_HELP_STRING([--with-mts=@<:@smtp|sendmail@:>@], + AS_HELP_STRING([--with-mts=@<:@smtp|sendmail/smtp|sendmail/pipe@:>@], [specify the default mail transport agent/service])) AS_IF([test x"$with_mts" = x"smtp"], [MTS="smtp"], - [test x"$with_mts" = x"sendmail"], [MTS="sendmail"], + [test x"$with_mts" = x"sendmail"], [MTS="sendmail/smtp"], + [test x"$with_mts" = x"sendmail/smtp"], [MTS="sendmail/smtp"], + [test x"$with_mts" = x"sendmail/pipe"], [MTS="sendmail/pipe"], [MTS="smtp"]) AC_SUBST([MTS])dnl -NMH_READLINE - dnl What should be the default pager? AC_ARG_WITH([pager], AS_HELP_STRING([--with-pager=PAGER],[specify the default pager])) @@ -170,6 +176,19 @@ if test "$nmh_cv_has_unusedmacros" = 'yes'; then 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" @@ -182,6 +201,25 @@ AC_CACHE_CHECK([whether compiler supports -Wno-pointer-sign], [nmh_cv_has_noptrs 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 +dnl to test for 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 +fi + dnl if the user hasn't specified CFLAGS, then dnl if compiler is gcc, then dnl use -O2 and some warning flags @@ -191,16 +229,22 @@ 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="-Wall -Wextra -Wno-clobbered -Wno-pointer-sign" + nmh_gcc_warnflags="${nmh_gcc_common_flags} -Wextra -Wno-clobbered "\ +"-Wno-pointer-sign" else - nmh_gcc_warnflags="-Wall -Wno-pointer-sign" + nmh_gcc_warnflags="${nmh_gcc_common_flags} -Wno-pointer-sign" fi else if test "$nmh_cv_has_wextra" = "yes"; then - nmh_gcc_warnflags="-Wall -Wextra -Wno-clobbered" + nmh_gcc_warnflags="${nmh_gcc_common_flags} -Wextra -Wno-clobbered" else - nmh_gcc_warnflags="-Wall" + nmh_gcc_warnflags="${nmh_gcc_common_flags}" fi fi @@ -308,6 +352,13 @@ dnl then use `vi' as the default. AS_IF([test -z "$editorpath"], [editorpath="$vipath"]) AC_SUBST([editorpath])dnl +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], + [LN=ln]) +AC_SUBST([LN]) + dnl ---------------------------------------------------------- dnl FIND MAIL SPOOL AND SEE IF WE NEED TO MAKE inc SETGID MAIL dnl ---------------------------------------------------------- @@ -351,6 +402,12 @@ if test "$ac_cv_lib_lockfile_lockfile_create" != "no" ; then fi fi +dnl Provide a way for distcheck to disable setgid_mail via +dnl DISTCHECK_CONFIGURE_FLAGS. +if test x"$DISABLE_SETGID_MAIL" != x -a x"$DISABLE_SETGID_MAIL" != x0; then + nmh_cv_dotlockfile_setgid=yes +fi + dnl If mailspool is not world-writable and dotlockfile is not setgid, dnl we need to #define MAILGROUP to 1 and make inc setgid. if test x"$LOCKTYPE" = x"dot" -a x"$nmh_cv_mailspool_world_writable" = x"no" -a x"$nmh_cv_dotlockfile_setgid" != x"yes" ; then @@ -413,14 +470,18 @@ AC_CHECK_HEADER([sys/ptem.h], AC_DEFINE(WINSIZE_IN_PTEM,1, dnl --------------- dnl CHECK FUNCTIONS dnl --------------- -AC_CHECK_FUNCS([wcwidth mbtowc writev lstat nl_langinfo]) +AC_CHECK_FUNCS([wcwidth mbtowc writev lstat nl_langinfo getutxent]) dnl Check for multibyte character set support -if test "x$ac_cv_header_wchar_h" = "xyes" -a "x$ac_cv_header_wctype_h" = "xyes" \ - -a "x$ac_cv_func_wcwidth" = "xyes" -a "x$ac_cv_func_mbtowc" = "xyes"; then - AC_DEFINE(MULTIBYTE_SUPPORT, 1, - [Define to enable support for multibyte character sets.]) -fi +AS_IF([test "x$ac_cv_header_wchar_h" = "xyes" -a \ + "x$ac_cv_header_wctype_h" = "xyes" -a \ + "x$ac_cv_func_wcwidth" = "xyes" -a \ + "x$ac_cv_func_mbtowc" = "xyes"], + [AC_DEFINE([MULTIBYTE_SUPPORT], [1], + [Define to enable support for multibyte character sets.]) + MULTIBYTE_ENABLED=1], + [MULTIBYTE_ENABLED=0]) +AC_SUBST([MULTIBYTE_ENABLED]) dnl ------------------- dnl CHECK FOR LIBRARIES @@ -431,6 +492,8 @@ AC_CHECK_FUNC([modf], , AC_CHECK_LIB([m], [modf])) dnl Checks for network libraries (nsl, socket) NMH_CHECK_NETLIBS +NMH_READLINE + termcap_curses_order="termcap curses ncurses" for lib in $termcap_curses_order; do AC_CHECK_LIB(${lib}, tgetent, [TERMLIB="-l$lib"; break]) @@ -756,4 +819,5 @@ dnl --------------- dnl OUTPUT MAKEFILE dnl --------------- AC_CONFIG_FILES([Makefile test/common.sh]) +AC_CONFIG_FILES([uip/spost], [chmod +x uip/spost]) AC_OUTPUT