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`
-echo "configuring for nmh dated $DATE"
+AC_MSG_NOTICE([configuring for nmh dated $DATE])
AC_SUBST([DATE])dnl
dnl --------------------------
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
+AS_IF([test x"$enable_nmh_debug" = x"yes"], [enable_debug=yes])
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"])
+ [AS_IF([test x"$enable_masquerade" = x"yes"],
+ [masquerade="draft_from mmailid username_extension"],
+ [masquerade="$enable_masquerade"])],
+ [masquerade="draft_from mmailid username_extension"])
AC_SUBST(masquerade)dnl
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)
-)
+ [AC_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]))
-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]))
-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]))
-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: ,)]))
-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
AS_HELP_STRING([--with-mts=@<:@smtp|sendmail@:>@],
[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"],
+ [MTS="smtp"])
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]))
-if test -n "$with_pager"; then
- pagerpath="$with_pager"
-fi
+AS_IF([test -n "$with_pager"], [pagerpath="$with_pager"])
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 ----------------------------------------------------
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
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 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 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
dnl ----------------------------------------------------------
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
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 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_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 CHECK FUNCTIONS
dnl ---------------
-AC_CHECK_FUNCS(writev lstat nl_langinfo)
+AC_CHECK_FUNCS([writev lstat nl_langinfo])
dnl Check for multibyte character set support
if test "x$ac_cv_header_wchar_h" = "xyes" -a "x$ac_cv_header_wctype_h" = "xyes" \
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
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
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}";
-
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
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
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}
default pager : ${pagerpath}
email address masquerading : ${masquerade}
SASL support : ${sasl_support}
-TLS support : ${tls_support}"
-echo ""])
+TLS support : ${tls_support}
+])])dnl
dnl ---------------
dnl OUTPUT MAKEFILE
dnl ---------------
-AC_CONFIG_FILES([Makefile])
+AC_CONFIG_FILES([Makefile test/common.sh])
AC_OUTPUT