Fixed formatting glitch in msh.man.
[mmh] / configure.ac
index 37d7c23..c3ebacf 100644 (file)
@@ -8,16 +8,16 @@ 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])
 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
 
 
 AC_CANONICAL_HOST
 
-echo "configuring for AC_PACKAGE_NAME-AC_PACKAGE_VERSION"
+AC_MSG_NOTICE([configuring for AC_PACKAGE_NAME-AC_PACKAGE_VERSION])
 AC_SUBST(VERSION,AC_PACKAGE_VERSION)dnl
 
 dnl What date of nmh are we building?
 DATE=`cat ${srcdir}/DATE`
 AC_SUBST(VERSION,AC_PACKAGE_VERSION)dnl
 
 dnl What date of nmh are we building?
 DATE=`cat ${srcdir}/DATE`
-echo "configuring for nmh dated $DATE"
+AC_MSG_NOTICE([configuring for nmh dated $DATE])
 AC_SUBST([DATE])dnl
 
 dnl --------------------------
 AC_SUBST([DATE])dnl
 
 dnl --------------------------
@@ -28,92 +28,55 @@ dnl Do you want to debug nmh?
 AC_ARG_ENABLE([debug],
   AS_HELP_STRING([--enable-debug],[enable nmh code debugging]))
 dnl The old redundant --enable-nmh-debug is deprecated and undocumented.
 AC_ARG_ENABLE([debug],
   AS_HELP_STRING([--enable-debug],[enable nmh code debugging]))
 dnl The old redundant --enable-nmh-debug is deprecated and undocumented.
-if test x"$enable_nmh_debug" = x"yes"; then
-  enable_debug=yes
-fi
-
-dnl Allow users to send email from addresses other than their default?
-AC_ARG_ENABLE(masquerade,
-  AS_HELP_STRING([--enable-masquerade='draft_from mmailid username_extension'],
-    [enable up to 3 types of address masquerading]),
-  [if test x"$enable_masquerade" = x"yes"; then
-    masquerade="draft_from mmailid username_extension"
-  else
-    masquerade="$enable_masquerade"
-  fi], [masquerade="draft_from mmailid username_extension"])
-AC_SUBST(masquerade)dnl
-
-dnl Do you want client-side support for pop?
-AC_ARG_ENABLE([pop],
-  AS_HELP_STRING([--enable-pop], [enable client-side support for plain POP3]))
-dnl The old redundant --enable-nmh-pop is deprecated and undocumented.
-if test x"$enable_nmh_pop" = x"yes"; then
-  enable_pop=yes
-fi
+AS_IF([test x"$enable_nmh_debug" = x"yes"], [enable_debug=yes])
 
 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],
 
 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]),
-[if test x$enableval = xyes; then
-  AC_DEFINE(LOCALE)
-fi],
-AC_DEFINE(LOCALE)
-)
+  [AS_HELP_STRING([--disable-locale], [turn off locale features])],
+  [AS_IF([test x$enableval = xyes], [AC_DEFINE(LOCALE)])],
+  [AC_DEFINE(LOCALE)])
 
 dnl Do you want client-side support for using SASL for authentication?
 dnl Note that this code will be enabled for both POP and SMTP
 AC_ARG_WITH([cyrus-sasl], AS_HELP_STRING([--with-cyrus-sasl],
   [Enable SASL support via the Cyrus SASL library]))
 
 dnl Do you want client-side support for using SASL for authentication?
 dnl Note that this code will be enabled for both POP and SMTP
 AC_ARG_WITH([cyrus-sasl], AS_HELP_STRING([--with-cyrus-sasl],
   [Enable SASL support via the Cyrus SASL library]))
-if test x"$with_cyrus_sasl" != x -a x"$with_cyrus_sasl" != x"no"; then
-  AC_DEFINE([CYRUS_SASL], [1],
-    [Define to use the Cyrus SASL library for authentication of POP and SMTP.])dnl
-  if test x"$with_cyrus_sasl" != xyes; then
-    AC_MSG_WARN([Arguments to --with-cyrus-sasl now ignored])
-    AC_MSG_WARN([Please pass the appropriate arguments to CPPFLAGS/LDFLAGS])
-  fi
-  sasl_support=yes
-else
-  sasl_support=no
-fi
+AS_IF([test x"$with_cyrus_sasl" != x -a x"$with_cyrus_sasl" != x"no"],[
+      AC_DEFINE([CYRUS_SASL], [1],
+               [Define to use the Cyrus SASL library for authentication of POP and SMTP.])dnl
+      AS_IF([test x"$with_cyrus_sasl" != xyes],[
+           AC_MSG_WARN([Arguments to --with-cyrus-sasl now ignored])
+           AC_MSG_WARN([Please pass the appropriate arguments to CPPFLAGS/LDFLAGS])])
+      sasl_support=yes], [sasl_support=no])
 
 dnl Do you want client-side support for encryption with TLS?
 AC_ARG_WITH([tls], AS_HELP_STRING([--with-tls], [Enable TLS support]))
 
 dnl Do you want client-side support for encryption with TLS?
 AC_ARG_WITH([tls], AS_HELP_STRING([--with-tls], [Enable TLS support]))
-if test x"$with_tls" != x -a x"$with_tls" != x"no"; then
-  AC_DEFINE([TLS_SUPPORT], [1], [Support TLS for session encryption.])dnl
-  tls_support=yes
-else
-  tls_support=no
-fi
+AS_IF([test x"$with_tls" != x -a x"$with_tls" != x"no"],[
+      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]))
 
 
 dnl What should be the default editor?
 AC_ARG_WITH([editor],
   AS_HELP_STRING([--with-editor=EDITOR],[specify the default editor]))
 
-if test -n "$with_editor"; then
-  editorpath="$with_editor"
-fi
+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: ,)]))
 
 dnl Set the backup prefix
 AC_ARG_WITH([hash-backup],
   AS_HELP_STRING([--with-hash-backup],[use # as the backup prefix (default: ,)]))
-if test x"$with_hash_backup" != x -a x"$with_hash_backup" != x"no"; then
-  backup_prefix="#"
-else
-  backup_prefix=","
-fi
+AS_IF([test x"$with_hash_backup" != x -a x"$with_hash_backup" != x"no"],
+      [backup_prefix="#"], [backup_prefix=","])
 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
 
 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 After we know if we're including apop and kpop support, do pop stuff
-if test x"$enable_pop" = x"yes"; then
-  AC_DEFINE([POP], 1,
-    [Define this to compile client-side support for pop into inc and msgchk.])dnl
-fi
-AM_CONDITIONAL([POP_SUPPORT], [test x"$enable_pop" = x"yes"])
-
 dnl What method of locking to use?
 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]))
 AC_ARG_WITH(locking,
   AS_HELP_STRING([--with-locking=@<:@dot|fcntl|flock|lockf@:>@],
   [specify the file locking method]))
@@ -131,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="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?
 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],[
   AS_IF([test "x$enableval" = xyes],[
     AC_MSG_ERROR([--enable-lockdir requires an argument])])
   AS_IF([test "x$LOCKTYPE" != xdot],[
@@ -148,39 +111,37 @@ AC_ARG_ENABLE([lockdir], [
 
 dnl What method of posting should post use?
 AC_ARG_WITH([mts],
 
 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]))
 
   [specify the default mail transport agent/service]))
 
-if test x"$with_mts" = x"smtp"; then
-  MTS="smtp"
-elif test x"$with_mts" = x"sendmail"; then
-  MTS="sendmail"
-else
-  MTS="smtp"
-fi
+AS_IF([test x"$with_mts" = x"smtp"], [MTS="smtp"],
+      [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
 
 AC_SUBST([MTS])dnl
 
-dnl Both the smtp and sendmail mail transport services use the smtp code
-AC_DEFINE([SMTPMTS], [1],
-  [Define if you want SMTP (simple mail transport protocol) support.])dnl
-
 dnl What should be the default pager?
 AC_ARG_WITH([pager],
   AS_HELP_STRING([--with-pager=PAGER],[specify the default pager]))
 
 dnl What should be the default pager?
 AC_ARG_WITH([pager],
   AS_HELP_STRING([--with-pager=PAGER],[specify the default pager]))
 
-if test -n "$with_pager"; then
-  pagerpath="$with_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'.
+if test -z "$pagerpath"; then
+  pathtmp=/usr/bin:/bin:/usr/ucb:/usr/local/bin
+  AC_PATH_PROGS([pagerpath], [more less most cat], [no], [$pathtmp])
 fi
 fi
+AC_SUBST(pagerpath)dnl
 
 dnl What should be the default mail server(s)?
 AC_ARG_WITH(smtpservers,
   AS_HELP_STRING([--with-smtpservers='SMTPSERVER1@<:@ SMTPSERVER2...@:>@'],
   [specify the default SMTP server(s) @<:@localhost@:>@]))
 
 dnl What should be the default mail server(s)?
 AC_ARG_WITH(smtpservers,
   AS_HELP_STRING([--with-smtpservers='SMTPSERVER1@<:@ SMTPSERVER2...@:>@'],
   [specify the default SMTP server(s) @<:@localhost@:>@]))
-if test -n "$with_smtpservers"; then
-  smtpservers="$with_smtpservers"
-else
-  smtpservers="localhost"
-fi
+AS_IF([test -n "$with_smtpservers"], [smtpservers="$with_smtpservers"],
+      [smtpservers="localhost"])
 AC_SUBST([smtpservers])dnl
 
 dnl ----------------------------------------------------
 AC_SUBST([smtpservers])dnl
 
 dnl ----------------------------------------------------
@@ -209,12 +170,25 @@ AC_CACHE_CHECK([whether preprocessor supports -Wunused-macros],
    CPPFLAGS="$nmh_saved_cppflags"])
 
 if test "$nmh_cv_has_unusedmacros" = 'yes'; then
    CPPFLAGS="$nmh_saved_cppflags"])
 
 if test "$nmh_cv_has_unusedmacros" = 'yes'; then
-  test -z "$CPPLAGS"  &&  CPPFLAGS=-Wunused-macros \
+  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
 
                       ||  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"
 AC_CACHE_CHECK([whether compiler supports -Wextra], [nmh_cv_has_wextra],
 [nmh_saved_cflags="$CFLAGS"
  CFLAGS="$CFLAGS -Wextra -Wno-clobbered"
@@ -227,25 +201,50 @@ 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"])
 
  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 <time.h>],[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 if the user hasn't specified CFLAGS, then
 dnl   if compiler is gcc, then
-dnl     use -O2 and some warning flags
+dnl    use -O2 and some warning flags
 dnl   else use -O
 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
 dnl   else use -O
 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
     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
     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
     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
     else
-        nmh_gcc_warnflags="-Wall"
+        nmh_gcc_warnflags="${nmh_gcc_common_flags}"
     fi
 fi
 
     fi
 fi
 
@@ -289,7 +288,17 @@ AC_PROG_LEX             dnl Check for lex/flex
 
 dnl Look for `cut'
 pathtmp=/usr/bin:/bin:/usr/local/bin:/usr/xpg4/bin:/usr/ucb
 
 dnl Look for `cut'
 pathtmp=/usr/bin:/bin:/usr/local/bin:/usr/xpg4/bin:/usr/ucb
-AC_PATH_PROG(cutpath, cut, no, [$pathtmp])
+AC_PATH_PROG([cutpath], [cut], [no], [$pathtmp])
+
+dnl
+dnl Check for MD5 program and formatting command
+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/'"]],
+       [MD5FMT="missing"])
+AC_SUBST([MD5FMT])
 
 dnl ----------------------------------------------
 dnl check for lclint, and lint if it doesn't exist
 
 dnl ----------------------------------------------
 dnl check for lclint, and lint if it doesn't exist
@@ -330,17 +339,6 @@ if test "$lspath" != "no"; then
   fi])
 fi
 
   fi])
 fi
 
-dnl Look for `more'
-pathtmp=/usr/bin:/bin:/usr/ucb:/usr/local/bin
-AC_PATH_PROG([morepath], [more], [no], [$pathtmp])
-
-dnl If pager is not specified yet,
-dnl then use `more' as the default.
-if test -z "$pagerpath"; then
-  pagerpath="$morepath"
-fi
-AC_SUBST(pagerpath)dnl
-
 dnl Look for `sendmail'
 pathtmp=/usr/lib:/usr/sbin:/usr/etc:/usr/ucblib:/usr/bin:/bin
 AC_PATH_PROG([sendmailpath], [sendmail], [/usr/sbin/sendmail], [$pathtmp])
 dnl Look for `sendmail'
 pathtmp=/usr/lib:/usr/sbin:/usr/etc:/usr/ucblib:/usr/bin:/bin
 AC_PATH_PROG([sendmailpath], [sendmail], [/usr/sbin/sendmail], [$pathtmp])
@@ -351,11 +349,16 @@ AC_PATH_PROG([vipath], [vi], [/bin/vi], [$pathtmp])
 
 dnl If editor is not specified yet,
 dnl then use `vi' as the default.
 
 dnl If editor is not specified yet,
 dnl then use `vi' as the default.
-if test -z "$editorpath"; then
-  editorpath="$vipath"
-fi
+AS_IF([test -z "$editorpath"], [editorpath="$vipath"])
 AC_SUBST([editorpath])dnl
 
 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 ----------------------------------------------------------
 dnl ----------------------------------------------------------
 dnl FIND MAIL SPOOL AND SEE IF WE NEED TO MAKE inc SETGID MAIL
 dnl ----------------------------------------------------------
@@ -370,7 +373,7 @@ done
 nmh_cv_mailspool=$mailspool
 ])
 mailspool=$nmh_cv_mailspool
 nmh_cv_mailspool=$mailspool
 ])
 mailspool=$nmh_cv_mailspool
-AC_SUBST(mailspool)dnl
+AC_SUBST([mailspool])dnl
 
 dnl See whether the mail spool directory is world-writable.
 if test "$lspath" != "no" -a "$cutpath" != "no"; then
 
 dnl See whether the mail spool directory is world-writable.
 if test "$lspath" != "no" -a "$cutpath" != "no"; then
@@ -384,7 +387,7 @@ if test "$lspath" != "no" -a "$cutpath" != "no"; then
 fi
 
 dnl Also, check for liblockfile (as found on Debian systems)
 fi
 
 dnl Also, check for liblockfile (as found on Debian systems)
-AC_CHECK_HEADER([lockfile.h], AC_CHECK_LIB(lockfile, lockfile_create) )
+AC_CHECK_HEADER([lockfile.h], [AC_CHECK_LIB(lockfile, lockfile_create)])
 
 dnl and whether its companion program dotlockfile is setgid
 AC_PATH_PROG(dotlockfilepath, dotlockfile, no)
 
 dnl and whether its companion program dotlockfile is setgid
 AC_PATH_PROG(dotlockfilepath, dotlockfile, no)
@@ -399,6 +402,12 @@ if test "$ac_cv_lib_lockfile_lockfile_create" != "no" ; then
   fi
 fi
 
   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
 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
@@ -430,20 +439,17 @@ dnl because it must be set before any system header is included and there's no
 dnl portable way to make sure that files generated by lex include config.h
 dnl before system header files.
 
 dnl portable way to make sure that files generated by lex include config.h
 dnl before system header files.
 
-case "$host_os" in
-  linux*)
-    # Like DEFS, but doesn't get stomped on by configure when using config.h:
-    test -z "$OURDEFS"  &&  OURDEFS="-D_GNU_SOURCE"  \
-                        ||  OURDEFS="$OURDEFS -D_GNU_SOURCE"
-    ;;
-esac
-AC_SUBST(OURDEFS)
+AS_CASE(["$host_os"],
+       [linux*],
+       [# Like DEFS, but doesn't get stomped on by configure when using config.h:
+         AS_IF([test -z "$CPPFLAGS"],[CPPFLAGS="-D_GNU_SOURCE"],
+                [CPPFLAGS="$CPPFLAGS -D_GNU_SOURCE"])])
 
 AC_HEADER_STDC
 AC_HEADER_TIOCGWINSZ
 
 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)
+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
 dnl Checks for _IO_write_ptr. A Linuxism used by nmh on linux. We
@@ -464,29 +470,39 @@ AC_CHECK_HEADER([sys/ptem.h], AC_DEFINE(WINSIZE_IN_PTEM,1,
 dnl ---------------
 dnl CHECK FUNCTIONS
 dnl ---------------
 dnl ---------------
 dnl CHECK FUNCTIONS
 dnl ---------------
-AC_CHECK_FUNCS(writev lstat nl_langinfo)
+AC_CHECK_FUNCS([wcwidth mbtowc writev lstat nl_langinfo getutxent])
 
 dnl Check for multibyte character set support
 
 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
 dnl -------------------
 dnl Check location of modf
 
 dnl -------------------
 dnl CHECK FOR LIBRARIES
 dnl -------------------
 dnl Check location of modf
-AC_CHECK_FUNC(modf, , AC_CHECK_LIB(m, modf))
+AC_CHECK_FUNC([modf], , AC_CHECK_LIB([m], [modf]))
 
 dnl Checks for network libraries (nsl, socket)
 NMH_CHECK_NETLIBS
 
 
 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])
 done
 AC_SUBST([TERMLIB])dnl
 termcap_curses_order="termcap curses ncurses"
 for lib in $termcap_curses_order; do
   AC_CHECK_LIB(${lib}, tgetent, [TERMLIB="-l$lib"; break])
 done
 AC_SUBST([TERMLIB])dnl
+AS_IF([test "x$TERMLIB" = "x"],
+      [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 CHECK FOR ICONV
@@ -748,24 +764,6 @@ nmh_cv_path_signal_h=$SIGNAL_H
 SIGNAL_H=$nmh_cv_path_signal_h
 AC_SUBST(SIGNAL_H)dnl
 
 SIGNAL_H=$nmh_cv_path_signal_h
 AC_SUBST(SIGNAL_H)dnl
 
-dnl These odd looking assignments are done to expand out unexpanded
-dnl variables in bindir et al (for instance mandir is '${datarootdir}/man',
-dnl but expanding that gives '${prefix}/share/man', so we need to expand
-dnl again to get the final answer.
-dnl We only use the expanded versions to print the install paths in
-dnl the final summary and should use them nowhere else (see the autoconf
-dnl docs for the rationale for bindir etc being unexpanded).
-eval "nmhbin=${bindir}";         eval "nmhbin=${nmhbin}"
-eval "nmhsysconf=${sysconfdir}"; eval "nmhsysconf=${nmhsysconf}"
-eval "nmhlib=${libdir}";         eval "nmhlib=${nmhlib}"
-eval "nmhman=${mandir}";         eval "nmhman=${nmhman}"
-eval "nmhrpm=${nmhrpm}";
-
-pop_kinds=no
-if test x"$enable_pop" = x"yes"; then
-  pop_kinds="yes (POP3)"
-fi
-
 dnl
 dnl Sigh, this is required because under the new world order autoconf has
 dnl nothing to create in a few of the build directories when doing an object
 dnl
 dnl Sigh, this is required because under the new world order autoconf has
 dnl nothing to create in a few of the build directories when doing an object
@@ -778,7 +776,21 @@ AC_CONFIG_COMMANDS([build-directories],
 test -d man || ${MKDIR_P} man])
 
 AC_CONFIG_COMMANDS_POST([
 test -d man || ${MKDIR_P} man])
 
 AC_CONFIG_COMMANDS_POST([
-echo "
+
+dnl These odd looking assignments are done to expand out unexpanded
+dnl variables in bindir et al (for instance mandir is '${datarootdir}/man'),
+dnl but expanding that gives '${prefix}/share/man', so we need to expand
+dnl again to get the final answer.
+dnl We only use the expanded versions to print the install paths in
+dnl the final summary and should use them nowhere else (see the autoconf
+dnl docs for the rationale for bindir etc being unexpanded).
+eval "nmhbin=${bindir}";         eval "nmhbin=${nmhbin}"
+eval "nmhsysconf=${sysconfdir}"; eval "nmhsysconf=${nmhsysconf}"
+eval "nmhlib=${libdir}";         eval "nmhlib=${nmhlib}"
+eval "nmhman=${mandir}";         eval "nmhman=${nmhman}"
+eval "nmhrpm=${nmhrpm}";
+
+AC_MSG_NOTICE([
 nmh configuration
 -----------------
 nmh version                : AC_PACKAGE_VERSION
 nmh configuration
 -----------------
 nmh version                : AC_PACKAGE_VERSION
@@ -786,7 +798,7 @@ host os                    : ${host}
 compiler                   : ${CC}
 compiler flags             : ${CFLAGS}
 linker flags               : ${LDFLAGS}
 compiler                   : ${CC}
 compiler flags             : ${CFLAGS}
 linker flags               : ${LDFLAGS}
-definitions                : ${OURDEFS}
+preprocessor flags         : ${CPPFLAGS}
 source code location       : ${srcdir}
 binary install path        : ${nmhbin}
 library install path       : ${nmhlib}
 source code location       : ${srcdir}
 binary install path        : ${nmhbin}
 library install path       : ${nmhlib}
@@ -799,14 +811,13 @@ file locking type          : ${LOCKTYPE}
 default smtp servers       : ${smtpservers}
 default editor             : ${editorpath}
 default pager              : ${pagerpath}
 default smtp servers       : ${smtpservers}
 default editor             : ${editorpath}
 default pager              : ${pagerpath}
-email address masquerading : ${masquerade}
-pop is enabled             : ${pop_kinds}
 SASL support               : ${sasl_support}
 SASL support               : ${sasl_support}
-TLS support                : ${tls_support}"
-echo ""])
+TLS support                : ${tls_support}
+])])dnl
 
 dnl ---------------
 dnl OUTPUT MAKEFILE
 dnl ---------------
 
 dnl ---------------
 dnl OUTPUT MAKEFILE
 dnl ---------------
-AC_CONFIG_FILES([Makefile])
+AC_CONFIG_FILES([Makefile test/common.sh])
+AC_CONFIG_FILES([uip/spost], [chmod +x uip/spost])
 AC_OUTPUT
 AC_OUTPUT