X-Git-Url: http://git.marmaro.de/?p=mmh;a=blobdiff_plain;f=configure.in;h=a3d338657b544d9ef41ac281cc1f21303f2f0027;hp=37204fa28b8f0d082122ebbee61fa263f1cb25fd;hb=df7b16cb148474b3b80dbf1e226e858cf1e47edb;hpb=ba22f50e4261b7a2a07cd5baf6b035425c45df28 diff --git a/configure.in b/configure.in index 37204fa..a3d3386 100644 --- a/configure.in +++ b/configure.in @@ -27,65 +27,79 @@ VERSION=`sed -e 's/nmh-//' ${srcdir}/VERSION` echo "configuring for nmh-$VERSION" AC_SUBST(VERSION)dnl -dnl ------------------------- -dnl CHECK COMMAND LINE OPTION -dnl ------------------------- -dnl What method of posting should post use? -undefine([mts])dnl -AC_ARG_WITH(mts, -[ --with-mts=MTS specify the mail transport agent]) +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 -if test x$with_mts = xsmtp; then - MTS="smtp" - MTSLIB="mts/smtp/libsmtp.a" - AC_DEFINE(SMTPMTS)dnl -elif test x$with_mts = xsendmail; then - MTS="sendmail" - MTSLIB="mts/sendmail/libsend.a" - AC_DEFINE(SENDMTS)dnl -else - MTS="smtp" - MTSLIB="mts/smtp/libsmtp.a" - AC_DEFINE(SMTPMTS)dnl +dnl Do you want to debug nmh? +undefine([debug])dnl +AC_ARG_ENABLE(debug, +[ --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 -AC_SUBST(MTS) -AC_SUBST(MTSLIB) +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 up to 3 types of address masquerading [none]], + [if test x"$enable_masquerade" = x"yes"; then + masquerade="draft_from mmailid username_extension" + else + masquerade="$enable_masquerade" + fi]) +AC_SUBST(masquerade)dnl -dnl What should be the default editor? -undefine([editor])dnl -AC_ARG_WITH(editor, -[ --with-editor=EDITOR specify the default editor]) +dnl Do you want mhe support? +undefine([mhe])dnl +AC_ARG_ENABLE(mhe, +[ --enable-mhe enable mhe support (DEFAULT)]) -if test -n "$with_editor"; then - editorpath="$with_editor" +dnl mhe support is on by default, so define it unless --disable-mhe or the +dnl deprecated, undocumented --disable-nmh-mhe are specified. +if test x"$enable_mhe" != x"no" -a x"$enable_nmh_mhe" != x"no"; then + AC_DEFINE(MHE)dnl fi -dnl What should be the default pager? -undefine([pager])dnl -AC_ARG_WITH(pager, -[ --with-pager=PAGER specify the default pager]) - -if test -n "$with_pager"; then - pagerpath="$with_pager" +dnl Do you want client-side support for pop? +undefine([pop])dnl +AC_ARG_ENABLE(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 mhe support? -undefine([nmh-mhe])dnl -AC_ARG_ENABLE(nmh-mhe, -[ --enable-nmh-mhe enable mhe support (DEFAULT)]) +dnl Do you want support for hesiod +AC_ARG_WITH(hesiod, +[ --with-hesiod=PREFIX specify location of Hesiod]) +if test x"$with_hesiod" != x -a x"$with_hesiod" != x"no"; then + AC_DEFINE(HESIOD)dnl +fi -dnl mhe support is on by default, so define it unless -dnl explicitly disabled. -if test x$enable_nmh_mhe != xno; then - AC_DEFINE(MHE)dnl +dnl Do you want client-side support for kpop +AC_ARG_WITH(krb4, +[ --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 + AC_DEFINE(KPOP_PRINCIPAL, "pop")dnl fi -dnl Do you want client-side support for pop -undefine([nmh-pop])dnl -AC_ARG_ENABLE(nmh-pop, -[ --enable-nmh-pop enable client-side support for pop]) -if test x$enable_nmh_pop = xyes; then +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)dnl POPLIB=popsbr.o POPSED='/^%nmhbeginpop%/d;/^%nmhendpop%/d' @@ -95,25 +109,52 @@ fi AC_SUBST(POPLIB)dnl AC_SUBST(POPSED)dnl -dnl Do you want client-side support for kpop -AC_ARG_WITH(krb4, -[ --with-krb4=PREFIX specify location of Kerberos V4 for kpop support]) -if test x$with_krb4 != x -a x$with_krb4 != xno; then - AC_DEFINE(KPOP)dnl - AC_DEFINE(KPOP_PRINCIPAL, "pop")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 Do you want support for hesiod -AC_ARG_WITH(hesiod, -[ --with-hesiod=PREFIX specify location of Hesiod]) -if test x$with_hesiod != x -a x$with_hesiod != xno; then - AC_DEFINE(HESIOD)dnl +dnl What method of posting should post use? +undefine([mts])dnl +AC_ARG_WITH(mts, +[ --with-mts=MTS 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 +AC_SUBST(MTS)dnl -dnl Do you want to debug nmh? -undefine([nmh-debug])dnl -AC_ARG_ENABLE(nmh-debug, -[ --enable-nmh-debug enable nmh code debugging]) +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 +AC_ARG_WITH(pager, +[ --with-pager=PAGER specify the default pager]) + +if test -n "$with_pager"; then + pagerpath="$with_pager" +fi + +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]]) +if test -n "$with_smtpservers"; then + smtpservers="$with_smtpservers" +else + smtpservers="localhost" +fi +AC_SUBST(smtpservers)dnl dnl ---------------------------------------------------- dnl Default location is /usr/local/nmh/{bin,etc,lib,man} @@ -126,7 +167,7 @@ dnl ------------------ dnl We want these before the checks, dnl so the checks can modify their values. test -z "$CFLAGS" && CFLAGS= auto_cflags=1 -if test x$enable_nmh_debug = xyes; then +if test x"$enable_debug" = x"yes"; then test -z "$LDFLAGS" && LDFLAGS=-g fi @@ -137,7 +178,7 @@ dnl if compiler is gcc, then dnl use -O2 and some warning flags dnl else use -O if test -n "$auto_cflags"; then - if test x$enable_nmh_debug = xyes; then + if test x"$enable_debug" = x"yes"; then if test -n "$GCC"; then test -z "$CFLAGS" && CFLAGS="-Wall -g" || CFLAGS="$CFLAGS -Wall -g" else @@ -146,7 +187,7 @@ if test -n "$auto_cflags"; then else test -z "$LDFLAGS" && LDFLAGS=-s 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 @@ -168,6 +209,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) +AC_SUBST(LINTFLAGS) dnl try to figure out which one we've got AC_CHECK_PROG(LIBTOOL, libtool, libtool, , [$pathtmp]) @@ -191,6 +251,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]) @@ -277,8 +351,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 @@ -357,7 +448,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)], @@ -370,9 +461,9 @@ AC_TRY_LINK([#include ], [sigsetjmp((void *)0, 0);], AC_REPLACE_FUNCS(snprintf strerror strdup) -dnl Look for the initgroups() declaration. On AIX 4.[13] and Solaris 4.1.3, -dnl the function is defined in libc but there's no declaration in any system -dnl header. +dnl Look for the initgroups() declaration. On AIX 4.[13], Solaris 4.1.3, and +dnl ULTRIX 4.2A the function is defined in libc but there's no declaration in +dnl any system header. dnl dnl On Solaris 2.[456], the declaration is in . On HP-UX 9-11 and dnl (reportedly) FreeBSD 3.[23], it's in . Any other locations we @@ -399,17 +490,12 @@ AC_CHECK_FUNC(modf, , AC_CHECK_LIB(m, modf)) dnl Checks for network libraries (nsl, socket) AC_CHECK_NETLIBS -dnl Check for bug in libraries such that ruserpass -dnl needs to be linked as _ruserpass. -AC_CHECK_RUSERPASS - 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 - dnl -------------- dnl CHECK FOR NDBM dnl -------------- @@ -426,8 +512,8 @@ AC_CHECK_HEADERS(db1/ndbm.h) dnl ---------------- dnl CHECK FOR HESIOD dnl ---------------- -if test x$with_hesiod != x -a x$with_hesiod != xno; then - if test x$with_hesiod != xyes; then +if test x"$with_hesiod" != x -a x"$with_hesiod" != x"no"; then + if test x"$with_hesiod" != x"yes"; then HESIOD_INCLUDES="-I$with_hesiod/include" HESIOD_LIBS="-L$with_hesiod/lib" fi @@ -442,8 +528,8 @@ AC_SUBST(HESIOD_LIBS)dnl dnl ---------------------------------- dnl CHECK FOR KRB4 (Kerberos4 support) dnl ---------------------------------- -if test x$with_krb4 != x -a x$with_krb4 != xno; then - if test x$with_krb4 != xyes; then +if test x"$with_krb4" != x -a x"$with_krb4" != x"no"; then + if test x"$with_krb4" != x"yes"; then KRB4_INCLUDES="-I$with_krb4/include" if test -d "$with_krb4/include/kerberosIV"; then KRB4_INCLUDES="$KRB4_INCLUDES -I$with_krb4/include/kerberosIV" @@ -654,31 +740,53 @@ 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, \ + zotnet/Makefile zotnet/mts/Makefile \ + mts/Makefile mts/smtp/Makefile \ + mts/sendmail/Makefile mts/mmdf/Makefile etc/Makefile \ + docs/Makefile man/Makefile, \ [test -z "$CONFIG_HEADERS" || echo > stamp-h]) +dnl Umm, what's the point of these assignments?? -- eval "nmhbin=${bindir}"; eval "nmhbin2=${nmhbin}" eval "nmhsysconf=${sysconfdir}"; eval "nmhsysconf2=${nmhsysconf}" eval "nmhlib=${libdir}"; eval "nmhlib2=${nmhlib}" eval "nmhman=${mandir}" +pop_kinds=no +if test x"$enable_pop" = x"yes"; then + 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 " nmh configuration ----------------- -nmh version : ${VERSION} -target os : ${target} -compiler : ${CC} -compiler flags : ${CFLAGS} -linker flags : ${LDFLAGS} -source code location : ${srcdir} -binary install path : ${nmhbin2} -libary install path : ${nmhlib2} -config files install path : ${nmhsysconf2} -man page install path : ${nmhman} -transport system : ${MTS} -default editor : ${editorpath} -default pager : ${pagerpath}" +nmh version : ${VERSION} +target os : ${target} +compiler : ${CC} +compiler flags : ${CFLAGS} +linker flags : ${LDFLAGS} +source code location : ${srcdir} +binary install path : ${nmhbin2} +libary install path : ${nmhlib2} +config files install path : ${nmhsysconf2} +man page install path : ${nmhman} +transport system : ${MTS} +default smtp servers : ${smtpservers} +default editor : ${editorpath} +default pager : ${pagerpath} +email address masquerading : ${masquerade} +pop is enabled : ${pop_kinds}" echo "" + + +