]> diplodocus.org Git - nmh/blobdiff - configure.ac
Switch to the (correct) casting of char to unsigned char for is*() macros.
[nmh] / configure.ac
index 3a91e19a9885412b044e255a4d2980cc5ca92c69..fac9b91bd590fc61cbc40834c7aad47ebd619e59 100644 (file)
@@ -54,12 +54,6 @@ 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]))
-
-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: ,)]))
@@ -68,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@:>@],
@@ -117,20 +74,6 @@ AS_IF([test x"$with_mts" = x"smtp"], [MTS="smtp"],
       [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...@:>@'],
@@ -157,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
@@ -223,24 +133,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
@@ -266,6 +165,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
 
@@ -282,7 +183,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
@@ -291,7 +192,7 @@ 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])
 
@@ -312,7 +213,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
@@ -328,18 +229,9 @@ 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 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"],
@@ -433,18 +325,8 @@ AS_CASE(["$host_os"],
                 [CPPFLAGS="$CPPFLAGS -D_GNU_SOURCE"])])
 
 AC_HEADER_TIOCGWINSZ
-AC_CHECK_HEADERS([errno.h fcntl.h crypt.h ncurses/termcap.h termcap.h \
-                  langinfo.h wchar.h wctype.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>.]),,
@@ -481,6 +363,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
 
@@ -752,10 +637,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}
-default pager              : ${pagerpath}
 SASL support               : ${sasl_support}
 TLS support                : ${tls_support}
 ])])dnl