AC_DEFINE([TLS_SUPPORT], [1], [Support TLS for session encryption.])dnl
tls_support=yes],[tls_support=no])
-dnl What should be the default editor?
-AC_ARG_WITH([editor],
- AS_HELP_STRING([--with-editor=EDITOR],[specify the default editor]))
-
-AS_IF([test -n "$with_editor"], [editorpath="$with_editor"])
-
dnl Set the backup prefix
AC_ARG_WITH([hash-backup],
AS_HELP_STRING([--with-hash-backup],[use # as the backup prefix (default: ,)]))
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@:>@],
[MTS="smtp"])
AC_SUBST([MTS])dnl
-dnl What should be the default pager?
-AC_ARG_WITH([pager],
- AS_HELP_STRING([--with-pager=PAGER],[specify the default pager]))
-
-AS_IF([test -n "$with_pager"], [pagerpath="$with_pager"])
-
-dnl If a pager is not explicitly specified, then look for one.
-dnl Fall back to `cat', to avoid catastrophic failure of
-dnl `mhshow', et al., if pagerpath is set to `no'.
-AS_IF([test -z "$pagerpath"],
- [pathtmp=/usr/bin:/bin:/usr/ucb:/usr/local/bin
- AC_PATH_PROGS([pagerpath], [more less most cat], [no], [$pathtmp])])
-AC_SUBST([pagerpath])dnl
-
dnl What should be the default mail server(s)?
AC_ARG_WITH([smtpservers],
[AS_HELP_STRING([--with-smtpservers='SMTPSERVER1@<:@ SMTPSERVER2...@:>@'],
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
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
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_C_CONST dnl Does compiler support `const'.
-
dnl ------------------
dnl CHECK FOR PROGRAMS
dnl ------------------
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
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_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
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 Look for `vi'
-pathtmp=/usr/bin:/bin:/usr/ucb:/usr/local/bin
-AC_PATH_PROG([vipath], [vi], [/bin/vi], [$pathtmp])
-
-dnl If editor is not specified yet,
-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"],
AS_IF([test -z "$CPPFLAGS"],[CPPFLAGS="-D_GNU_SOURCE"],
[CPPFLAGS="$CPPFLAGS -D_GNU_SOURCE"])])
-AC_HEADER_STDC
AC_HEADER_TIOCGWINSZ
-AC_CHECK_HEADERS([errno.h fcntl.h crypt.h ncurses/termcap.h termcap.h \
- langinfo.h wchar.h wctype.h iconv.h netdb.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_HEADERS([fcntl.h ncurses/termcap.h termcap.h langinfo.h \
+ wchar.h wctype.h sys/param.h sys/time.h sys/stream.h])
AC_CHECK_HEADER([sys/ptem.h], AC_DEFINE(WINSIZE_IN_PTEM,1,
[Define to 1 if `struct winsize' requires <sys/ptem.h>.]),,
dnl Checks for network libraries (nsl, socket)
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
+
termcap_curses_order="termcap curses ncurses"
for lib in $termcap_curses_order; do
AC_CHECK_LIB(${lib}, tgetent, [TERMLIB="-l$lib"; break])
[AC_MSG_FAILURE([Could not find tgetent in any library. Is there a curses
or ncurses library or package that you can install?])])
-
-dnl ---------------
-dnl CHECK FOR ICONV
-dnl ---------------
-
-dnl Find iconv. It may be in libiconv and may be iconv() or libiconv()
-if test "x$ac_cv_header_iconv_h" = "xyes"; then
- AC_CHECK_FUNC(iconv, ac_found_iconv=yes, ac_found_iconv=no)
- if test "x$ac_found_iconv" = "xno"; then
- AC_CHECK_LIB(iconv, iconv, ac_found_iconv=yes)
- if test "x$ac_found_iconv" = "xno"; then
- AC_CHECK_LIB(iconv, libiconv, ac_found_iconv=yes)
- fi
- if test "x$ac_found_iconv" != "xno"; then
- ICONVLIB="-liconv"
- fi
- else
- dnl Handle case where there is a native iconv but iconv.h is from libiconv
- AC_CHECK_DECL(_libiconv_version,
- [ AC_CHECK_LIB(iconv, libiconv, LIBS="-liconv $LIBS") ],,
- [ #include <iconv.h> ])
- fi
-fi
-if test "x$ac_found_iconv" = xyes; then
- AC_DEFINE([HAVE_ICONV], [1], [Define if you have the iconv() function.])
-fi
-AC_SUBST([ICONVLIB])
-
-dnl Check if iconv uses const in prototype declaration
-if test "x$ac_found_iconv" = "xyes"; then
- AC_CACHE_CHECK(for iconv declaration, ac_cv_iconv_const,
- [AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <stdlib.h>
- #include <iconv.h>]],
- [[#ifdef __cplusplus
- "C"
- #endif
- #if defined(__STDC__) || defined(__cplusplus)
- size_t iconv (iconv_t cd, char * *inbuf, size_t *inbytesleft, char * *outbuf, size_t *outbytesleft);
- #else
- size_t iconv();
- #endif]])],
- [ac_cv_iconv_const=],
- [ac_cv_iconv_const=const])])
- AC_DEFINE_UNQUOTED([ICONV_CONST], $ac_cv_iconv_const,
- [Define as const if the declaration of iconv() needs const.])
-fi
-
dnl --------------
dnl CHECK FOR NDBM
dnl --------------
AS_IF([test x"$tls_support" = x"yes"],[
AC_CHECK_HEADER([openssl/ssl.h], , [AC_MSG_ERROR([openssl/ssl.h not found])])
- AC_CHECK_LIB([crypto], [BIO_write], ,
+ AC_CHECK_LIB([crypto], [BIO_write], [TLSLIB="-lcrypto"],
[AC_MSG_ERROR([OpenSSL crypto library not found])])
- AC_CHECK_LIB([ssl], [SSL_library_init], ,
- [AC_MSG_ERROR([OpenSSL library not found])])])
+ AC_CHECK_LIB([ssl], [SSL_library_init], [TLSLIB="-lssl $TLSLIB"],
+ [AC_MSG_ERROR([OpenSSL library not found])])],
+ [TLSLIB=])
+AC_SUBST([TLSLIB])
dnl ---------------------
dnl CHECK TERMCAP LIBRARY
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}
-default pager : ${pagerpath}
SASL support : ${sasl_support}
TLS support : ${tls_support}
])])dnl