# -l <logfile name>, default 'build_nmh.log', - for stdout/stderr
# Advanced/developer use:
# -c to run 'make distcheck' instead of 'make check'
-# -d to build nmh with asserts enabled and optimization disabled
+# -d to build nmh with optimization disabled
# -s to use 'make superclean': requires recent autoconf and automake,
# see docs/README.developers
# -r to build rpm
usage="usage:
[-b <branch>, only if downloading]
[-c to run 'make distcheck' instead of 'make check']
- [-d to build nmh with asserts enabled and optimization disabled]
+ [-d to build nmh with optimization disabled]
[-i to install nmh]
[-l <logfile name>, default '$logfile']
[-r to build rpm]
config_prefix=/usr/local/nmh
config_locking=
config_mts=smtp
-config_smtpservers=localhost
+config_smtpserver=localhost
config_sasl='determined by configure'
config_tls='determined by configure'
config_debug=n
mtsconfservers=`grep '^servers:' "$mtsconf"`
if [ "$mtsconfservers" ]; then
- servers=`echo "$mtsconfservers" | \
- sed -e 's/^servers: *//' -e 's/ /\\\ /g'`
- [ "$servers" ] && config_smtpservers="$servers"
+ servers=`echo "$mtsconfservers" | sed -e 's/^servers: *//'`
+ [ "$servers" ] && config_smtpserver="$servers"
fi
fi
- if test -x "$mhbin/mhparam"; then
+ if test $yes -eq 1 -a -x "$mhbin/mhparam"; then
if mhparam sasl >/dev/null; then
case `$mhbin/mhparam sasl` in
*sasl*) config_sasl=y ;;
[ "$mts" ] && config_mts="$mts"
if [ "$config_mts" = smtp ]; then
- printf 'SMTP server(s), space separated [%s]: ' $config_smtpservers >&3
- read response
- [ "$response" ] && config_smtpservers="$response"
+ printf 'SMTP server [%s]: ' $config_smtpserver >&3
+ read server
+ [ "$server" ] && config_smtpserver="$servers"
fi
printf 'Cyrus SASL support (y|n) [%s]: ' "$config_sasl" >&3
config_opts="$config_opts --with-locking=$config_locking"
[ "$config_mts" -a "$config_mts" != smtp ] &&
config_opts="$config_opts --with-mts=$config_mts"
-[ "$config_smtpservers" -a "$config_smtpservers" != localhost ] &&
- config_opts="$config_opts --with-smtpservers=\"$config_smtpservers\""
-[ "$config_sasl" = y ] && config_opts="$config_opts --with-cyrus-sasl"
-[ "$config_tls" = y ] && config_opts="$config_opts --with-tls"
-[ $config_debug = y ] && config_opts="$config_opts --enable-assert"
+[ "$config_smtpserver" -a "$config_smtpserver" != localhost ] &&
+ config_opts="$config_opts --with-smtpserver=$config_smtpserver"
+if [ "$config_sasl" = y ]; then
+ config_opts="$config_opts --with-cyrus-sasl"
+elif [ "$config_sasl" != 'determined by configure' ]; then
+ config_opts="$config_opts --with-cyrus-sasl=no"
+fi
+if [ "$config_tls" = y ]; then
+ config_opts="$config_opts --with-tls"
+elif [ "$config_tls" != 'determined by configure' ]; then
+ config_opts="$config_opts --with-tls=no"
+fi
#### dotlocking, the usual default, requires chgrp and chmod of inc.
installpriv=
if cc -dM -E - </dev/null 2>&1 | grep __GNUC__ >/dev/null; then
#### configure will supply -g -O2 with gcc, but only if CFLAGS
#### isn't defined.
- CFLAGS='-g -ansi -pedantic'
+ CFLAGS='-g -std=c99 -pedantic'
if [ "$config_debug" = n ]; then
- CFLAGS="$CFLAGS -O2"
+ CFLAGS="$CFLAGS -O2 -D_FORTIFY_SOURCE=2"
else
CFLAGS="$CFLAGS -O0"
fi
fi
fi
-printf "\n./configure CFLAGS=\"${CFLAGS}\" $config_opts\n"
-#### Use eval to handle space-separated smtpservers.
-eval ./configure CFLAGS=\""${CFLAGS}"\" $config_opts
+printf "\n./configure ${CFLAGS:+CFLAGS=\"${CFLAGS}\" }$config_opts\n"
+./configure ${CFLAGS:+CFLAGS="${CFLAGS}"" "}$config_opts
status=$?
if [ $status -eq 0 ]; then