[ "$verbose" -eq 0 ] && git_opts=--quiet
[ "$branch" = master ] ||
git_opts="${git_opts:+$git_opts }--branch $branch"
- if "$gitdir"/git clone --depth 1 $git_opts "git://$gitrepo/nmh.git" >&3
+ if "$gitdir"/git clone $git_opts "git://$gitrepo/nmh.git" >&3
then
directory=nmh
cd "$directory" || die "failed to clone $directory"
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 ;;
config_opts="$config_opts --with-mts=$config_mts"
[ "$config_smtpserver" -a "$config_smtpserver" != localhost ] &&
config_opts="$config_opts --with-smtpserver=$config_smtpserver"
-[ "$config_sasl" = y ] && config_opts="$config_opts --with-cyrus-sasl"
-[ "$config_tls" = y ] && config_opts="$config_opts --with-tls"
+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=
#### Only use these flags with gcc.
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 -std=c99 -pedantic'
+ #### isn't defined. Always add -g here.
+ #### Try all this, borrowed from Fedora 32 build.
+ CFLAGS="-g -std=c99 -pedantic -Wall -Werror=format-security \
+-Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong \
+-grecord-gcc-switches -fasynchronous-unwind-tables \
+-fstack-clash-protection -fcf-protection"
+ if ! cc -x c -c $CFLAGS /dev/null -o /dev/null 2>/dev/null; then
+ #### All that wasn't supported. The following should be.
+ CFLAGS='-g -std=c99 -pedantic'
+ fi
if [ "$config_debug" = n ]; then
- CFLAGS="$CFLAGS -O2 -D_FORTIFY_SOURCE=2"
+ CFLAGS="$CFLAGS -O2 -Wp,-D_FORTIFY_SOURCE=2"
else
CFLAGS="$CFLAGS -O0"
fi
fi
fi
-printf "\n./configure ${CFLAGS:+CFLAGS=\"${CFLAGS}\" }$config_opts\n"
-./configure ${CFLAGS:+CFLAGS="${CFLAGS}"" "}$config_opts
+printf "\n./configure $config_opts${CFLAGS:+ CFLAGS=\"${CFLAGS}\"}\n"
+./configure $config_opts ${CFLAGS:+CFLAGS="${CFLAGS}"}
status=$?
if [ $status -eq 0 ]; then