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
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@:>@],
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],
+AC_CACHE_CHECK([whether compiler supports -Wno-clobbered], [nmh_cv_has_noclobbered],
[nmh_saved_cflags="$CFLAGS"
- CFLAGS="$CFLAGS -Wno-pointer-sign"
- AC_TRY_COMPILE([],[],nmh_cv_has_noptrsign=yes,nmh_cv_has_noptrsign=no)
+ 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 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 "$nmh_cv_has_noclobbered" = "yes"; then
+ nmh_gcc_warnflags="${nmh_gcc_warnflags} -Wno-clobbered"
fi
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
AC_CHECK_PROGS([MD5SUM], [md5sum md5], [missing])
AS_CASE(["${MD5SUM}"],
[md5sum], [MD5FMT="cat"],
- [md5], [[MD5FMT="${SED} -e 's/MD5 *(\(.*\)) *= \([0-9a-f]*\)/\2 \1/'"]],
+ [md5], [[MD5FMT="${SED} -e 's/MD5 *(.*) *= \([0-9a-f]*\)/\1/'"]],
[MD5FMT="missing"])
AC_SUBST([MD5FMT])
AC_CHECK_HEADERS([fcntl.h ncurses/termcap.h termcap.h langinfo.h \
wchar.h wctype.h sys/param.h sys/time.h sys/stream.h])
-dnl
-dnl Checks for _IO_write_ptr. A Linuxism used by nmh on linux. We
-dnl really use a whole set of them, but this check should be
-dnl sufficient.
-dnl
-AC_CHECK_HEADER(libio.h, [
- AC_EGREP_HEADER(_IO_write_ptr, libio.h, [
- AC_DEFINE(LINUX_STDIO,1,[Use the Linux _IO_*_ptr defines from <libio.h>.]) ]) ])
-
AC_CHECK_HEADER([sys/ptem.h], AC_DEFINE(WINSIZE_IN_PTEM,1,
[Define to 1 if `struct winsize' requires <sys/ptem.h>.]),,
[[#if HAVE_SYS_STREAM_H
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
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