X-Git-Url: http://git.marmaro.de/?a=blobdiff_plain;ds=inline;f=configure.in;h=c4b8cd897d7e9b53f04e822061208acd5f73d22c;hb=2ccd02143402aab6732ad1d2b84513949ddd7cb2;hp=e008945151d541254708ec99af6188e44423233a;hpb=13d2614380f499b1e5a1cc3546230239afe2b1dd;p=mmh
diff --git a/configure.in b/configure.in
index e008945..c4b8cd8 100644
--- a/configure.in
+++ b/configure.in
@@ -14,11 +14,13 @@ dnl define a macro or two
dnl ---------------------
AC_DEFUN(NMH_PROG_GNU_LIBTOOL, [
+if test -n "$LIBTOOL" ; then
tmptest=`$LIBTOOL --version 2>&1 | grep GNU`
if test x"$tmptest" != x ; then
GNU_LIBTOOL=1
AC_SUBST(GNU_LIBTOOL)dnl
fi
+fi
] )
@@ -31,6 +33,16 @@ dnl --------------------------
dnl CHECK COMMAND LINE OPTIONS
dnl --------------------------
+dnl Do you want client-side support for apop?
+AC_ARG_ENABLE(apop,
+[ --enable-apop enable client-side support for POP3 and APOP])
+if test x"$enable_apop" = x"yes"; then
+ AC_DEFINE(APOP)dnl
+ APOPLIB=md5.o
+ enable_pop=yes
+fi
+AC_SUBST(APOPLIB)dnl
+
dnl Do you want to debug nmh?
undefine([debug])dnl
AC_ARG_ENABLE(debug,
@@ -44,7 +56,7 @@ dnl Allow users to send email from addresses other than their default?
undefine([masquerade])dnl
AC_ARG_ENABLE(masquerade,
[ --enable-masquerade[='draft_from mmailid username_extension']
- enable 3 types of email address masquerading [none]],
+ enable up to 3 types of address masquerading [none]],
[if test x"$enable_masquerade" = x"yes"; then
masquerade="draft_from mmailid username_extension"
else
@@ -66,21 +78,39 @@ fi
dnl Do you want client-side support for pop?
undefine([pop])dnl
AC_ARG_ENABLE(pop,
-[ --enable-pop enable client-side support for pop])
+[ --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
-dnl Do you want client-side support for apop?
-AC_ARG_ENABLE(apop,
-[ --enable-apop enable client-side support for apop])
-if test x"$enable_apop" = x"yes"; then
- AC_DEFINE(APOP)dnl
- APOPLIB=md5.o
- enable_pop=yes
+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,
+[ --with-cyrus-sasl=
Specify location of Cyrus SASL library for auth])
+if test x"$with_cyrus_sasl" != x -a x"$with_cyrus_sasl" != "no"; then
+ AC_DEFINE(CYRUS_SASL)dnl
fi
-AC_SUBST(APOPLIB)dnl
+
+dnl What should be the default editor?
+undefine([editor])dnl
+AC_ARG_WITH(editor,
+[ --with-editor=EDITOR specify the default editor])
+
+if test -n "$with_editor"; then
+ editorpath="$with_editor"
+fi
+
+dnl Set the backup prefix
+undefine([backup-prefix])dnl
+AC_ARG_WITH([hash-backup],
+ [ --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
+AC_DEFINE_UNQUOTED(BACKUP_PREFIX, "$backup_prefix")dnl
dnl Do you want support for hesiod
AC_ARG_WITH(hesiod,
@@ -91,7 +121,7 @@ fi
dnl Do you want client-side support for kpop
AC_ARG_WITH(krb4,
-[ --with-krb4=PREFIX specify location of Kerberos V4 for kpop support])
+[ --with-krb4=PREFIX specify location of Kerberos V4 for KPOP support])
if test x"$with_krb4" != x -a x"$with_krb4" != x"no"; then
enable_pop=yes
AC_DEFINE(KPOP)dnl
@@ -109,36 +139,44 @@ fi
AC_SUBST(POPLIB)dnl
AC_SUBST(POPSED)dnl
-dnl What should be the default editor?
-undefine([editor])dnl
-AC_ARG_WITH(editor,
-[ --with-editor=EDITOR specify the default editor])
-
-if test -n "$with_editor"; then
- editorpath="$with_editor"
+dnl What method of locking to use?
+undefine([locking])dnl
+AC_ARG_WITH(locking,
+[ --with-locking=LOCKTYPE specify the file locking method])
+
+if test x"$with_locking" = x"dot"; then
+ LOCKTYPE="dot"
+ AC_DEFINE(DOT_LOCKING)dnl
+elif test x"$with_locking" = x"flock"; then
+ LOCKTYPE="flock"
+ AC_DEFINE(FLOCK_LOCKING)dnl
+elif test x"$with_locking" = x"lockf"; then
+ LOCKTYPE="lockf"
+ AC_DEFINE(LOCKF_LOCKING)dnl
+elif test x"$with_locking" = x"fcntl"; then
+ LOCKTYPE="fcntl"
+ AC_DEFINE(FCNTL_LOCKING)dnl
+else
+ LOCKTYPE="dot"
+ AC_DEFINE(DOT_LOCKING)dnl
fi
dnl What method of posting should post use?
undefine([mts])dnl
AC_ARG_WITH(mts,
-[ --with-mts=MTS specify the mail transport agent])
+[ --with-mts=MTS specify the default mail transport agent/service])
if test x"$with_mts" = x"smtp"; then
MTS="smtp"
- MTSLIB="mts/smtp/libsmtp.a"
- AC_DEFINE(SMTPMTS)dnl
elif test x"$with_mts" = x"sendmail"; then
MTS="sendmail"
- MTSLIB="mts/sendmail/libsend.a"
- AC_DEFINE(SENDMTS)dnl
else
MTS="smtp"
- MTSLIB="mts/smtp/libsmtp.a"
- AC_DEFINE(SMTPMTS)dnl
fi
-
AC_SUBST(MTS)dnl
-AC_SUBST(MTSLIB)dnl
+
+dnl Both the smtp and sendmail mail transport services use the smtp code
+AC_DEFINE(SMTPMTS)dnl
dnl What should be the default pager?
undefine([pager])dnl
@@ -153,7 +191,7 @@ dnl What should be the default mail server(s)?
undefine([smtpservers])dnl
AC_ARG_WITH(smtpservers,
[ --with-smtpservers='SMTPSERVER1[ SMTPSERVER2...]'
- specify the default smtp server(s) [localhost]])
+ specify the default SMTP server(s) [localhost]])
if test -n "$with_smtpservers"; then
smtpservers="$with_smtpservers"
else
@@ -190,9 +228,18 @@ if test -n "$auto_cflags"; then
test -z "$CFLAGS" && CFLAGS=-g || CFLAGS="$CFLAGS -g"
fi
else
- test -z "$LDFLAGS" && LDFLAGS=-s
+ if test -z "$LDFLAGS"; then
+ case "$build_os" in
+ darwin*)
+ LDFLAGS=
+ ;;
+ *)
+ LDFLAGS=-s
+ ;;
+ esac
+ fi
if test -n "$GCC"; then
- test -z "$CFLAGS" && CFLAGS=-O2 || CFLAGS="$CFLAGS -O2"
+ test -z "$CFLAGS" && CFLAGS="-Wall -O2" || CFLAGS="$CFLAGS -Wall -O2"
else
test -z "$CFLAGS" && CFLAGS=-O || CFLAGS="$CFLAGS -O"
fi
@@ -214,6 +261,25 @@ dnl Look for `cut'
pathtmp=/usr/bin:/bin:/usr/local/bin:/usr/xpg4/bin:/usr/ucb
AC_PATH_PROG(cutpath, cut, no, [$pathtmp])
+dnl ----------------------------------------------
+dnl check for lclint, and lint if it doesn't exist
+dnl ----------------------------------------------
+AC_CHECK_PROG(linttmp1, lclint, lclint, no)dnl
+if test x$ac_cv_prog_linttmp1 != xno ; then
+ LINT=$ac_cv_prog_linttmp1
+ LINTFLAGS="-weak +posixlib -macrovarprefixexclude"
+else
+ AC_CHECK_PROG(linttmp2, lint, lint, no)dnl
+ if test x$ac_cv_prog_linttmp2 != xno ; then
+ LINT=$ac_cv_prog_linttmp2
+ LINTFLAGS=""
+ else
+ LINT="echo 'No lint program found'"
+ LINTFLAGS=""
+ fi
+fi
+AC_SUBST(LINT)dnl
+AC_SUBST(LINTFLAGS)dnl
dnl try to figure out which one we've got
AC_CHECK_PROG(LIBTOOL, libtool, libtool, , [$pathtmp])
@@ -237,6 +303,20 @@ dnl AC_SUBST(LORDER)dnl
dnl AC_SUBST(TSORT)dnl
fi
+dnl Check whether tsort can deal with loops
+AC_CACHE_CHECK(whether tsort can deal with loops, nmh_cv_tsort_loop,
+ [if test -z "`echo a b b a | tsort 2>/dev/null | grep a`" ; then
+ nmh_cv_tsort_loop=no
+ else
+ nmh_cv_tsort_loop=yes
+ fi])
+if test x$nmh_cv_tsort_loop = xno ; then
+ LORDER=echo
+ TSORT=cat
+ AC_SUBST(LORDER)dnl
+ AC_SUBST(TSORT)dnl
+fi
+
dnl Look for `ls'
pathtmp=/usr/bin:/bin:/usr/local/bin:/usr/xpg4/bin:/usr/ucb
AC_PATH_PROG(lspath, ls, no, [$pathtmp])
@@ -323,8 +403,25 @@ if test "$lspath" != "no" -a "$cutpath" != "no"; then
fi])
fi
-dnl ...If it's not, we need to #define MAILGROUP to 1 and make inc setgid.
-if test x"$nmh_cv_mailspool_world_writable" = x"no"; then
+dnl Also, check for liblockfile (as found on Debian systems)
+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)
+if test "$ac_cv_lib_lockfile_lockfile_create" != "no" ; then
+ if test "$ac_cv_path_dotlockfilepath" != "no" ; then
+ AC_CACHE_CHECK(whether dotlockfile is setgid, nmh_cv_dotlockfile_setgid,
+ [ if test -g "$ac_cv_path_dotlockfilepath" ; then
+ nmh_cv_dotlockfile_setgid=yes
+ else
+ nmh_cv_dotlockfile_setgid=no
+ fi])
+ fi
+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"$nmh_cv_mailspool_world_writable" = x"no" -a x"$nmh_cv_dotlockfile_setgid" != x"yes" ; then
dnl do we really need both of these?
AC_DEFINE(MAILGROUP)dnl
SETGID_MAIL=1
@@ -381,7 +478,7 @@ if test $nmh_cv_header_termios_h_tiocgwinsz = no; then
nmh_cv_header_sys_ioctl_h_tiocgwinsz=yes,
nmh_cv_header_sys_ioctl_h_tiocgwinsz=no)])
if test $nmh_cv_header_sys_ioctl_h_tiocgwinsz = yes; then
- AC_DEFINE(GWINSZ_IN_SYS_IOCTL)
+ AC_DEFINE(GWINSZ_IN_SYS_IOCTL)dnl
fi
fi
@@ -403,7 +500,7 @@ AC_FUNC_VFORK
AC_CHECK_LIB(mkstemp,mkstemp)
AC_CHECK_FUNCS(waitpid wait3 sigaction sigprocmask sigblock sigsetmask \
sighold sigrelse writev lstat uname tzset killpg mkstemp \
- sethostent)
+ sethostent getutent)
dnl solaris screws this up
AC_CHECK_FUNC(gethostbyname, [AC_DEFINE(HAVE_GETHOSTBYNAME)],
@@ -451,7 +548,6 @@ for lib in $termcap_curses_order; do
done
AC_SUBST(TERMLIB)dnl
-
dnl --------------
dnl CHECK FOR NDBM
dnl --------------
@@ -505,6 +601,24 @@ fi
AC_SUBST(KRB4_INCLUDES)dnl
AC_SUBST(KRB4_LIBS)dnl
+dnl --------------------
+dnl CHECK FOR CYRUS SASL
+dnl --------------------
+if test x"$with_cyrus_sasl" != x -a x"$with_cyrus_sasl" != "no"; then
+ if test x"$with_cyrus_sasl" != x"yes"; then
+ SASL_INCLUDES="-I$with_cyrus_sasl/include"
+ SASL_LIBS="-L$with_cyrus_sasl/lib"
+ fi
+ save_LDFLAGS="$LDFLAGS"
+ LDFLAGS="$LDFLAGS $SASL_LIBS"
+ AC_CHECK_LIB(sasl, sasl_client_new,
+ [SASL_LIBS="$SASL_LIBS -lsasl"],
+ [AC_MSG_ERROR(Cyrus SASL library not found)])
+ LDFLAGS="$save_LDFLAGS"
+fi
+AC_SUBST(SASL_INCLUDES)dnl
+AC_SUBST(SASL_LIBS)dnl
+
dnl ---------------------
dnl CHECK TERMCAP LIBRARY
dnl ---------------------
@@ -537,7 +651,7 @@ if test $nmh_cv_decl_ospeed_include_defines = no; then
fi
if test $nmh_cv_decl_ospeed_include_defines = yes; then
- AC_DEFINE(HAVE_OSPEED)
+ AC_DEFINE(HAVE_OSPEED)dnl
elif test $nmh_cv_decl_ospeed_must_define = yes; then
AC_DEFINE(HAVE_OSPEED)
AC_DEFINE(MUST_DEFINE_OSPEED)
@@ -696,10 +810,8 @@ dnl ----------------
dnl OUTPUT MAKEFILES
dnl ----------------
AC_OUTPUT(Makefile config/Makefile h/Makefile sbr/Makefile uip/Makefile \
- zotnet/Makefile zotnet/mts/Makefile zotnet/tws/Makefile \
- zotnet/mf/Makefile zotnet/bboards/Makefile mts/Makefile \
- mts/smtp/Makefile mts/sendmail/Makefile mts/mmdf/Makefile \
- etc/Makefile man/Makefile, \
+ mts/Makefile mts/smtp/Makefile \
+ etc/Makefile docs/Makefile man/Makefile, \
[test -z "$CONFIG_HEADERS" || echo > stamp-h])
dnl Umm, what's the point of these assignments?? --
@@ -708,20 +820,19 @@ eval "nmhsysconf=${sysconfdir}"; eval "nmhsysconf2=${nmhsysconf}"
eval "nmhlib=${libdir}"; eval "nmhlib2=${nmhlib}"
eval "nmhman=${mandir}"
-pop_kinds="no"
+pop_kinds=no
if test x"$enable_pop" = x"yes"; then
- pop_kinds="yes (pop"
- if test x"$enable_apop" = x"yes"; then
- pop_kinds="${pop_kinds} apop"
- fi
- if test x"$with_krb4" = x"yes"; then
- pop_kinds="${pop_kinds} kpop"
- fi
- if test "$pop_kinds" = "yes (pop"; then
- pop_kinds="yes"
- else
- pop_kinds="${pop_kinds})"
- fi
+ pop_kinds="yes ("
+
+ if test x"$enable_apop" = x"yes"; then
+ pop_kinds="${pop_kinds}APOP "
+ fi
+
+ if test x"$with_krb4" != x -a x"$with_krb4" != x"no"; then
+ pop_kinds="${pop_kinds}KPOP "
+ fi
+
+ pop_kinds="${pop_kinds}POP3)"
fi
echo "
@@ -737,13 +848,12 @@ binary install path : ${nmhbin2}
libary install path : ${nmhlib2}
config files install path : ${nmhsysconf2}
man page install path : ${nmhman}
+backup prefix : ${backup_prefix}
transport system : ${MTS}
+file locking type : ${LOCKTYPE}
default smtp servers : ${smtpservers}
default editor : ${editorpath}
default pager : ${pagerpath}
email address masquerading : ${masquerade}
pop is enabled : ${pop_kinds}"
echo ""
-
-
-