aboutsummaryrefslogtreecommitdiffstats
path: root/configure.in
diff options
context:
space:
mode:
Diffstat (limited to 'configure.in')
-rw-r--r--configure.in57
1 files changed, 44 insertions, 13 deletions
diff --git a/configure.in b/configure.in
index 09631078..0a2af8ec 100644
--- a/configure.in
+++ b/configure.in
@@ -225,25 +225,56 @@ AC_DEFINE_UNQUOTED(PID_DIR, "$dir")
# Sendmail without the -t option to use the message headers will work too,
# not just for sendmail itself but for workalikes like exim.
#
-# Note: it would be a very bad idea to use any MDA that doesn't return
+# Note1: A disadvantage of using procmail is that local alias expansion
+# according to /etc/aliases won't get done if we fall back.
+#
+# Note2: it would be a very bad idea to use any MDA that doesn't return
# a refuse-to-deliver status on disk- or process-table-full
# conditions; mail could get lost that way. Both procmail and
# sendmail (and all of the MDAs like exim that might be lurking under
# a sendmail alias) do the right thing in this circumstance.
#
AC_PATH_PROG(procmail, procmail, "", $PATH:/usr/sbin)
-if test "$procmail"
-then
- echo "Found procmail, will use it as a fallback MDA."
- AC_DEFINE(FALLBACK_MDA, "$procmail -d %T")
-else
- AC_PATH_PROG(sendmail, sendmail, "", $PATH:/usr/sbin)
- if test "$sendmail"
- then
- echo "Found sendmail, will use it as a fallback MDA."
- AC_DEFINE(FALLBACK_MDA, "$sendmail %T")
- fi
-fi
+AC_PATH_PROG(sendmail, sendmail, "", $PATH:/usr/sbin)
+
+### use option --disable-fallback to disable fallback MDA
+### use option --enable-fallback=procmail or
+### --enable-fallback=sendmail to select
+AC_ARG_ENABLE(fallback,
+ [ --enable-fallback=procmail enable procmail as fallback (default)
+ --enable-fallback=sendmail enable /usr/sbin/sendmail as fallback
+ --enable-fallback=no disable fallback],,[enable_fallback=auto])
+
+case "$enable_fallback" in
+ sendmail) if test -z "$sendmail" ; then
+ AC_ERROR([Sendmail selected as fallback, but not found])
+ #not reached
+ fi
+ AC_DEFINE(FALLBACK_MDA, "$sendmail %T")
+ echo "Will use $sendmail as fallback MDA."
+ ;;
+ procmail) if test -z "$procmail" ; then
+ AC_ERROR([procmail selected as fallback, but not found])
+ #not reached
+ fi
+ AC_DEFINE(FALLBACK_MDA, "$procmail -d %T")
+ echo "Will use $procmail as fallback MDA."
+ ;;
+ no|unset) echo "Will not use a fallback MDA"
+ ;;
+ auto|yes|set) if test -n "$procmail" ; then
+ AC_DEFINE(FALLBACK_MDA, "$procmail -d %T")
+ echo "Will use $procmail as fallback MDA."
+ elif test -n "$sendmail" ; then
+ AC_DEFINE(FALLBACK_MDA, "$sendmail %T")
+ echo "Will use $sendmail as fallback MDA."
+ else echo "No fallback MDA available."
+ fi
+ ;;
+ *) AC_ERROR([unkown value for --enable-fallback given: $enable_fallback])
+ #notreached
+ ;;
+esac
AC_CHECK_SIZEOF(short)
AC_CHECK_SIZEOF(int)