]> diplodocus.org Git - nmh/blobdiff - docs/contrib/build_nmh
Factored out base64 decoding code into decodeBase64().
[nmh] / docs / contrib / build_nmh
index b00ad90fff65460effbba7e10fef471ccbac97e9..25a02642c3aa05dee2aea3e2f6150b6186e13f98 100755 (executable)
@@ -37,6 +37,7 @@
 #   ncurses-devel
 #   cyrus-sasl-devel, if using sasl
 #   openssl-devel, if using TLS
+#   libcurl-devel, if using oauth
 #   autoconf and automake, with -s (see docs/README.developers for versions)
 #   rpm-build, with -r
 
@@ -84,9 +85,7 @@ if [ $# -gt 0 ]; then
 fi
 
 #### Check to see that we're in a nmh source directory.
-if grep 'the authors of nmh' COPYRIGHT >/dev/null; then
-  :
-else
+if ! grep 'the authors of nmh' COPYRIGHT >/dev/null; then
   echo "$0: not in nmh source directory"
   exit 1
 fi
@@ -104,6 +103,7 @@ config_mts=smtp
 config_smtpservers=localhost
 config_sasl=n
 config_tls=n
+config_oauth=n
 config_debug=n
 
 
@@ -131,7 +131,7 @@ if install-mh -check >/dev/null 2>&1; then
 
   config_prefix=`cd $mhbin/.. && pwd`
 
-  mtsconf=`dirname "$mhbin"`/etc/mts.conf
+  mtsconf=`mhparam etcdir`/mts.conf
   if [ -f "$mtsconf" ]; then
     mts_entry=`grep '^mts:' "$mtsconf"`
     if [ "$mts_entry" ]; then
@@ -157,10 +157,16 @@ if install-mh -check >/dev/null 2>&1; then
 
       case `$mhbin/mhparam tls` in
         *tls*) config_tls=y ;;
-     esac
+      esac
+
+      case `$mhbin/mhparam oauth` in
+        *oauth*) config_oauth=y ;;
+      esac
     else
-      echo "$0: -y not supported with currently installed nmh"
-      exit 1
+      tput smso
+      echo "$0: SASL, TLS, and OAuth2 detection not supported with current nmh"
+      [ $yes -eq 1 ]  &&  echo "will not configure them in"
+      tput rmso
     fi
   fi
 fi
@@ -204,6 +210,14 @@ if [ $yes -eq 0 ]; then
     config_tls=n
   fi
 
+  printf 'OAuth2 support [%s]: ' $config_oauth
+  read response
+  if [ "$response" = y  -o  "$response" = Y ]; then
+    config_oauth=y
+  elif [ "$response" = n  -o  "$response" = N ]; then
+    config_oauth=n
+  fi
+
   #### Don't confirm debug here:  obey the -d option to this script.
 fi
 
@@ -220,9 +234,10 @@ config_opts="--prefix=$config_prefix"
   config_opts="$config_opts --with-cyrus-sasl"
 [ "$config_tls" = y ]  &&  \
   config_opts="$config_opts --with-tls"
+[ "$config_oauth" = y ]  &&  \
+  config_opts="$config_opts --with-oauth"
 [ $config_debug = y ]  &&  \
-  config_opts="$config_opts --enable-debug"
-
+  config_opts="$config_opts --enable-debug --enable-assert"
 
 #### dotlocking, the usual default, requires chgrp and chmod of inc.
 installpriv=
@@ -248,9 +263,7 @@ if [ -f Makefile ]; then
 fi
 
 /bin/rm -f "$logfile"
-if [ -f configure  -a  -f Makefile.in ]; then
-  :
-else
+if [ ! -f configure  -o  ! -f Makefile.in ]; then
   [ $verbose -ge 1 ]  &&  echo autoconfiguring . . .
   ./autogen.sh >>"$logfile" 2>&1
 fi
@@ -261,7 +274,8 @@ fi
 ####
 [ $verbose -ge 1 ]  &&  echo configuring . . .
 echo ./configure $config_opts ${smtpservers:+"$smtpservers"} >>"$logfile" 2>&1
-./configure $config_opts ${smtpservers:+"$smtpservers"} >>"$logfile" 2>&1
+./configure CFLAGS="${CFLAGS:+$CFLAGS }-g -O2 -ansi -pedantic" \
+            $config_opts ${smtpservers:+"$smtpservers"} >>"$logfile" 2>&1
 status=$?
 
 if [ $status -eq 0 ]; then