Add/update copyright notice in all source code files.
[mmh] / configure.in
index 9b76ddf..70dac65 100644 (file)
@@ -29,6 +29,11 @@ VERSION=`sed -e 's/nmh-//' ${srcdir}/VERSION`
 echo "configuring for nmh-$VERSION"
 AC_SUBST(VERSION)dnl
 
+dnl What date of nmh are we building?
+DATE=`cat ${srcdir}/DATE`
+echo "configuring for nmh dated $DATE"
+AC_SUBST(DATE)dnl
+
 dnl --------------------------
 dnl CHECK COMMAND LINE OPTIONS
 dnl --------------------------
@@ -88,8 +93,11 @@ 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=<dir> Specify location of Cyrus SASL library for auth])
-if test x"$with_cyrus_sasl" != x -a x"$with_cyrus_sasl" != "no"; then
+if test x"$with_cyrus_sasl" != x -a x"$with_cyrus_sasl" != x"no"; then
   AC_DEFINE(CYRUS_SASL)dnl
+  sasl_support=yes
+else
+  sasl_support=no
 fi
 
 dnl What should be the default editor?
@@ -139,6 +147,29 @@ fi
 AC_SUBST(POPLIB)dnl
 AC_SUBST(POPSED)dnl
 
+dnl What method of locking to use?
+undefine([locking])dnl
+AC_ARG_WITH(locking,
+[  --with-locking=LOCKTYPE specify the file locking method
+                          (one of dot, fcntl, flock, lockf)])
+
+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,
@@ -206,7 +237,16 @@ 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="-Wall -O2" || CFLAGS="$CFLAGS -Wall -O2"
     else
@@ -247,8 +287,8 @@ else
     LINTFLAGS=""
   fi
 fi
-AC_SUBST(LINT)
-AC_SUBST(LINTFLAGS)
+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])
@@ -447,7 +487,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
  
@@ -538,10 +578,16 @@ if test x"$with_hesiod" != x -a x"$with_hesiod" != x"no"; then
     HESIOD_INCLUDES="-I$with_hesiod/include"
     HESIOD_LIBS="-L$with_hesiod/lib"
   fi
-  AC_CHECK_FUNC(res_send, ,
-    AC_CHECK_LIB(resolv, res_send))
-  AC_CHECK_LIB(hesiod, hes_resolve, [HESIOD_LIBS="$HESIOD_LIBS -lhesiod"],
-    [AC_MSG_ERROR(Hesiod library not found)], $HESIOD_LIBS)
+  AC_CHECK_FUNC(res_send,
+       [AC_CHECK_LIB(hesiod, hes_resolve,
+               [HESIOD_LIBS="$HESIOD_LIBS -lhesiod"],
+               [AC_MSG_ERROR(Hesiod library not found)],
+               $HESIOD_LIBS)],
+       [AC_CHECK_LIB(hesiod, hes_resolve,
+               [HESIOD_LIBS="$HESIOD_LIBS -lhesiod -lresolv"],
+               [AC_MSG_ERROR(Hesiod library not found)],
+               $HESIOD_LIBS -lresolv)])
+
 fi
 AC_SUBST(HESIOD_INCLUDES)dnl
 AC_SUBST(HESIOD_LIBS)dnl
@@ -559,13 +605,23 @@ if test x"$with_krb4" != x -a x"$with_krb4" != x"no"; then
   elif test -d /usr/include/kerberosIV; then
     KRB4_INCLUDES="-I/usr/include/kerberosIV"
   fi
-  AC_CHECK_LIB(krb4, krb_rd_req,
-    [KRB4_LIBS="$KRB4_LIBS -lkrb4 -ldes425 -lkrb5 -lcrypto -lcom_err"],
-    [AC_CHECK_LIB(krb, krb_rd_req,
-      [KRB4_LIBS="$KRB4_LIBS -lkrb -ldes"],
-      [AC_MSG_ERROR(Kerberos 4 libraries not found)],
-      $KRB4_LIBS -ldes)],
-    $KRB4_LIBS -ldes425 -lkrb5 -lcrypto -lcom_err)
+dnl First, check if we have -lk5crypto, since that means we have a recent krb5
+
+  AC_CHECK_LIB(k5crypto, krb5_encrypt,
+       [AC_CHECK_LIB(krb4, krb_rd_req,
+               [KRB4_LIBS="$KRB4_LIBS -lkrb4 -ldes425 -lkrb5 -lk5crypto -lcom_err"],
+               [AC_MSG_ERROR(Kerberos 4 compatibility libraries not found)],
+               $KRB4_LIBS -ldes425 -lkrb5 -lk5crypto -lcom_err)],
+
+       [AC_CHECK_LIB(krb4, krb_rd_req,
+           [KRB4_LIBS="$KRB4_LIBS -lkrb4 -ldes425 -lkrb5 -lcrypto -lcom_err"],
+           [AC_CHECK_LIB(krb, krb_rd_req,
+             [KRB4_LIBS="$KRB4_LIBS -lkrb -ldes"],
+             [AC_MSG_ERROR(Kerberos 4 libraries not found)],
+             $KRB4_LIBS -ldes)],
+           $KRB4_LIBS -ldes425 -lkrb5 -lcrypto -lcom_err)],
+       $KRB4_LIBS)
+
 fi
 AC_SUBST(KRB4_INCLUDES)dnl
 AC_SUBST(KRB4_LIBS)dnl
@@ -573,10 +629,19 @@ 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 -a x"$with_cyrus_sasl" != x"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"
+
+    dnl Do OS-specific hardcoding of SASL shared library path into executables,
+    dnl so user isn't forced to set environment variables like Solaris'
+    dnl LD_LIBRARY_PATH.
+    case "$target_os" in
+      solaris*)
+       SASL_LIBS="$SASL_LIBS -R$with_cyrus_sasl/lib"
+       ;;
+    esac
   fi
   save_LDFLAGS="$LDFLAGS"
   LDFLAGS="$LDFLAGS $SASL_LIBS"
@@ -620,7 +685,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)
@@ -779,10 +844,8 @@ dnl ----------------
 dnl OUTPUT MAKEFILES
 dnl ----------------
 AC_OUTPUT(Makefile config/Makefile h/Makefile sbr/Makefile uip/Makefile \
-          zotnet/Makefile zotnet/mts/Makefile \
           mts/Makefile mts/smtp/Makefile \
-         mts/sendmail/Makefile mts/mmdf/Makefile etc/Makefile \
-         docs/Makefile man/Makefile, \
+         etc/Makefile docs/Makefile man/Makefile, \
           [test -z "$CONFIG_HEADERS" || echo > stamp-h])
 
 dnl Umm, what's the point of these assignments??  -- <dan-nmh@dilvish.speed.net>
@@ -821,9 +884,11 @@ 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}"
+pop is enabled             : ${pop_kinds}
+SASL support               : ${sasl_support}"
 echo ""