APOP support: Making the apop option appear after pop in ./configure --help
[mmh] / configure.in
index 76237e2..4bf21f9 100644 (file)
@@ -17,7 +17,7 @@ AC_DEFUN(NMH_PROG_GNU_LIBTOOL, [
   tmptest=`$LIBTOOL --version 2>&1 | grep GNU`
   if test x"$tmptest" != x  ; then
     GNU_LIBTOOL=1
   tmptest=`$LIBTOOL --version 2>&1 | grep GNU`
   if test x"$tmptest" != x  ; then
     GNU_LIBTOOL=1
-    AC_SUBST(GNU_LIBTOOL)
+    AC_SUBST(GNU_LIBTOOL)dnl
   fi
 ] )
   
   fi
 ] )
   
@@ -27,19 +27,107 @@ VERSION=`sed -e 's/nmh-//' ${srcdir}/VERSION`
 echo "configuring for nmh-$VERSION"
 AC_SUBST(VERSION)dnl
 
 echo "configuring for nmh-$VERSION"
 AC_SUBST(VERSION)dnl
 
-dnl -------------------------
-dnl CHECK COMMAND LINE OPTION
-dnl -------------------------
+dnl --------------------------
+dnl CHECK COMMAND LINE OPTIONS
+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
+
+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]],
+  [if test x"$enable_masquerade" = x"yes"; then
+    masquerade="draft_from mmailid username_extension"
+  else
+    masquerade="$enable_masquerade"
+  fi])
+AC_SUBST(masquerade)dnl
+
+dnl Do you want mhe support?
+undefine([mhe])dnl
+AC_ARG_ENABLE(mhe,
+[  --enable-mhe            enable mhe support (DEFAULT)])
+
+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 Do you want client-side support for pop?
+undefine([pop])dnl
+AC_ARG_ENABLE(pop,
+[  --enable-pop            enable client-side support for pop])
+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
+fi
+AC_SUBST(APOPLIB)dnl
+
+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 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 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'
+else
+  POPSED='/^%nmhbeginpop%/,/^%nmhendpop%/d'
+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"
+fi
+
 dnl What method of posting should post use?
 undefine([mts])dnl
 AC_ARG_WITH(mts,
 [  --with-mts=MTS          specify the mail transport agent])
 
 dnl What method of posting should post use?
 undefine([mts])dnl
 AC_ARG_WITH(mts,
 [  --with-mts=MTS          specify the mail transport agent])
 
-if test x$with_mts = xsmtp; then
+if test x"$with_mts" = x"smtp"; then
   MTS="smtp"
   MTSLIB="mts/smtp/libsmtp.a"
   AC_DEFINE(SMTPMTS)dnl
   MTS="smtp"
   MTSLIB="mts/smtp/libsmtp.a"
   AC_DEFINE(SMTPMTS)dnl
-elif test x$with_mts = xsendmail; then
+elif test x"$with_mts" = x"sendmail"; then
   MTS="sendmail"
   MTSLIB="mts/sendmail/libsend.a"
   AC_DEFINE(SENDMTS)dnl
   MTS="sendmail"
   MTSLIB="mts/sendmail/libsend.a"
   AC_DEFINE(SENDMTS)dnl
@@ -49,17 +137,8 @@ else
   AC_DEFINE(SMTPMTS)dnl
 fi
 
   AC_DEFINE(SMTPMTS)dnl
 fi
 
-AC_SUBST(MTS)
-AC_SUBST(MTSLIB)
-
-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
+AC_SUBST(MTS)dnl
+AC_SUBST(MTSLIB)dnl
 
 dnl What should be the default pager?
 undefine([pager])dnl
 
 dnl What should be the default pager?
 undefine([pager])dnl
@@ -70,50 +149,17 @@ if test -n "$with_pager"; then
   pagerpath="$with_pager"
 fi
 
   pagerpath="$with_pager"
 fi
 
-dnl Do you want mhe support?
-undefine([nmh-mhe])dnl
-AC_ARG_ENABLE(nmh-mhe,
-[  --enable-nmh-mhe        enable mhe support (DEFAULT)])
-
-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
-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
-  AC_DEFINE(POP)dnl
-  POPLIB=popsbr.o
-  POPSED='/^%nmhbeginpop%/d;/^%nmhendpop%/d'
+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
 else
-  POPSED='/^%nmhbeginpop%/,/^%nmhendpop%/d'
+  smtpservers="localhost"
 fi
 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
-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
-fi
-
-dnl Do you want to debug nmh?
-undefine([nmh-debug])dnl
-AC_ARG_ENABLE(nmh-debug,
-[  --enable-nmh-debug      enable nmh code debugging])
+AC_SUBST(smtpservers)dnl
 
 dnl ----------------------------------------------------
 dnl Default location is /usr/local/nmh/{bin,etc,lib,man}
 
 dnl ----------------------------------------------------
 dnl Default location is /usr/local/nmh/{bin,etc,lib,man}
@@ -126,7 +172,7 @@ dnl ------------------
 dnl We want these before the checks,
 dnl so the checks can modify their values.
 test -z "$CFLAGS" && CFLAGS= auto_cflags=1
 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
 
   test -z "$LDFLAGS" && LDFLAGS=-g
 fi
 
@@ -137,7 +183,7 @@ dnl   if compiler is gcc, then
 dnl     use -O2 and some warning flags
 dnl   else use -O
 if test -n "$auto_cflags"; 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
     if test -n "$GCC"; then
       test -z "$CFLAGS" && CFLAGS="-Wall -g" || CFLAGS="$CFLAGS -Wall -g"
     else
@@ -247,7 +293,7 @@ else
 fi])
  
 if test "$nmh_cv_attvibug" = yes; then
 fi])
  
 if test "$nmh_cv_attvibug" = yes; then
-  AC_DEFINE(ATTVIBUG)
+  AC_DEFINE(ATTVIBUG)dnl
 fi
 
 dnl ----------------------------------------------------------
 fi
 
 dnl ----------------------------------------------------------
@@ -285,18 +331,11 @@ if test x"$nmh_cv_mailspool_world_writable" = x"no"; then
 fi
 AC_SUBST(SETGID_MAIL)dnl
 
 fi
 AC_SUBST(SETGID_MAIL)dnl
 
-dnl see if we can determine which group owns the mail spool dir
+dnl Use ls to see which group owns the mail spool directory.
 AC_CACHE_CHECK(what group owns the mail spool, nmh_cv_ls_mail_grp,
 [nmh_cv_ls_mail_grp=`$lspath -dL $nmh_cv_ls_grpopt $mailspool|$AWK '{print $4}'`
 AC_CACHE_CHECK(what group owns the mail spool, nmh_cv_ls_mail_grp,
 [nmh_cv_ls_mail_grp=`$lspath -dL $nmh_cv_ls_grpopt $mailspool|$AWK '{print $4}'`
- dnl Should we just set it to whatever ls reports, rather than only allowing
- dnl certain values...?
- if test x$nmh_cv_ls_mail_grp = xmail; then
-   MAIL_SPOOL_GRP="mail"
- elif test x$nmh_cv_ls_mail_grp = xwheel; then
-   MAIL_SPOOL_GRP="wheel"
- else
-   MAIL_SPOOL_GRP="'0'"
- fi])
+])
+MAIL_SPOOL_GRP=$nmh_cv_ls_mail_grp
 AC_SUBST(MAIL_SPOOL_GRP)dnl
 
 dnl ------------------
 AC_SUBST(MAIL_SPOOL_GRP)dnl
 
 dnl ------------------
@@ -366,7 +405,7 @@ AC_CHECK_FUNCS(waitpid wait3 sigaction sigprocmask sigblock sigsetmask \
                sighold sigrelse writev lstat uname tzset killpg mkstemp \
                sethostent)
 
                sighold sigrelse writev lstat uname tzset killpg mkstemp \
                sethostent)
 
-dnl solaris screws ths up
+dnl solaris screws this up
 AC_CHECK_FUNC(gethostbyname, [AC_DEFINE(HAVE_GETHOSTBYNAME)],
   AC_CHECK_LIB(nsl, gethostbyname, [AC_DEFINE(HAVE_GETHOSTBYNAME)] ) )
 
 AC_CHECK_FUNC(gethostbyname, [AC_DEFINE(HAVE_GETHOSTBYNAME)],
   AC_CHECK_LIB(nsl, gethostbyname, [AC_DEFINE(HAVE_GETHOSTBYNAME)] ) )
 
@@ -377,6 +416,17 @@ AC_TRY_LINK([#include <setjmp.h>], [sigsetjmp((void *)0, 0);],
 
 AC_REPLACE_FUNCS(snprintf strerror strdup)
 
 
 AC_REPLACE_FUNCS(snprintf strerror strdup)
 
+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 <grp.h>.  On HP-UX 9-11 and
+dnl (reportedly) FreeBSD 3.[23], it's in <unistd.h>.  Any other locations we
+dnl need to check? 
+AC_EGREP_HEADER(initgroups, grp.h, AC_DEFINE(INITGROUPS_HEADER, <grp.h>),
+                AC_EGREP_HEADER(initgroups, unistd.h, 
+                                AC_DEFINE(INITGROUPS_HEADER, <unistd.h>)))
+
 dnl On AIX 4.1, snprintf() is defined in libc.a but there's no prototype in
 dnl <stdio.h> or elsewhere.  Apparently it's not officially supported (though it
 dnl seems to work perfectly and IBM apparently uses it in internal code).
 dnl On AIX 4.1, snprintf() is defined in libc.a but there's no prototype in
 dnl <stdio.h> or elsewhere.  Apparently it's not officially supported (though it
 dnl seems to work perfectly and IBM apparently uses it in internal code).
@@ -395,10 +445,6 @@ AC_CHECK_FUNC(modf, , AC_CHECK_LIB(m, modf))
 dnl Checks for network libraries (nsl, socket)
 AC_CHECK_NETLIBS
 
 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])
 termcap_curses_order="termcap curses ncurses"
 for lib in $termcap_curses_order; do
   AC_CHECK_LIB(${lib}, tgetent, [TERMLIB="-l$lib"; break])
@@ -422,8 +468,8 @@ AC_CHECK_HEADERS(db1/ndbm.h)
 dnl ----------------
 dnl CHECK FOR HESIOD
 dnl ----------------
 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
     HESIOD_INCLUDES="-I$with_hesiod/include"
     HESIOD_LIBS="-L$with_hesiod/lib"
   fi
@@ -438,8 +484,8 @@ AC_SUBST(HESIOD_LIBS)dnl
 dnl ----------------------------------
 dnl CHECK FOR KRB4 (Kerberos4 support)
 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"
     KRB4_INCLUDES="-I$with_krb4/include"
     if test -d "$with_krb4/include/kerberosIV"; then
       KRB4_INCLUDES="$KRB4_INCLUDES -I$with_krb4/include/kerberosIV"
@@ -656,25 +702,48 @@ AC_OUTPUT(Makefile config/Makefile h/Makefile sbr/Makefile uip/Makefile \
           etc/Makefile man/Makefile, \
           [test -z "$CONFIG_HEADERS" || echo > stamp-h])
 
           etc/Makefile man/Makefile, \
           [test -z "$CONFIG_HEADERS" || echo > stamp-h])
 
+dnl Umm, what's the point of these assignments??  -- <dan-nmh@dilvish.speed.net>
 eval "nmhbin=${bindir}";         eval "nmhbin2=${nmhbin}"
 eval "nmhsysconf=${sysconfdir}"; eval "nmhsysconf2=${nmhsysconf}"
 eval "nmhlib=${libdir}";         eval "nmhlib2=${nmhlib}"
 eval "nmhman=${mandir}"
 
 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 (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
+fi
+
 echo "
 nmh configuration
 -----------------
 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 ""
 echo ""
+
+
+