X-Git-Url: https://diplodocus.org/git/nmh/blobdiff_plain/73bc51c1347d03e5802a457182eea462ddaeaa5f..843bc850b2b7732c8969b9ad25e922fb09eaf4b3:/build_nmh diff --git a/build_nmh b/build_nmh index 49af380a..ef6037c1 100755 --- a/build_nmh +++ b/build_nmh @@ -122,7 +122,7 @@ download_sources() { [ "$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" @@ -257,7 +257,7 @@ if install-mh -check >/dev/null 2>&1; then 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 ;; @@ -315,8 +315,16 @@ config_opts="--prefix=$config_prefix" 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= @@ -362,18 +370,26 @@ if [ -z "$CFLAGS" ]; then #### Only use these flags with gcc. if cc -dM -E - &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