X-Git-Url: http://git.marmaro.de/?a=blobdiff_plain;f=configure.ac;h=fd9b98e3b56bcebe6bd2d6e101be1e2b200fa447;hb=bf75a860b37b8e08adb3afae9baca01c1af2f08c;hp=6a75a38632ebeabccf234eb390d3a402c336bdea;hpb=7e5bac1a416e400bd3c8941b1c312577f2d9e9e4;p=mmh diff --git a/configure.ac b/configure.ac index 6a75a38..fd9b98e 100644 --- a/configure.ac +++ b/configure.ac @@ -12,12 +12,12 @@ AM_INIT_AUTOMAKE([-Wall -Werror foreign subdir-objects]) 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 -------------------------- @@ -28,73 +28,45 @@ 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. -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 +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], -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 @@ -136,36 +108,23 @@ AC_ARG_WITH([mts], 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 ---------------------------------------------------- @@ -194,7 +153,7 @@ AC_CACHE_CHECK([whether preprocessor supports -Wunused-macros], 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 @@ -214,7 +173,7 @@ AC_CACHE_CHECK([whether compiler supports -Wno-pointer-sign], [nmh_cv_has_noptrs 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 @@ -274,7 +233,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 -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 @@ -336,9 +305,7 @@ AC_PATH_PROG([vipath], [vi], [/bin/vi], [$pathtmp]) 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 ---------------------------------------------------------- @@ -355,7 +322,7 @@ done 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 @@ -369,7 +336,7 @@ 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) @@ -415,20 +382,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. -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 @@ -449,7 +413,7 @@ AC_CHECK_HEADER([sys/ptem.h], AC_DEFINE(WINSIZE_IN_PTEM,1, 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" \ @@ -462,7 +426,7 @@ 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 @@ -472,6 +436,10 @@ 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 @@ -733,19 +701,6 @@ nmh_cv_path_signal_h=$SIGNAL_H 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 @@ -758,7 +713,21 @@ AC_CONFIG_COMMANDS([build-directories], 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 @@ -766,7 +735,7 @@ host os : ${host} 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} @@ -779,13 +748,12 @@ file locking type : ${LOCKTYPE} default smtp servers : ${smtpservers} default editor : ${editorpath} 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