AC_MSG_WARN([Please pass the appropriate arguments to CPPFLAGS/LDFLAGS])])
sasl_support=yes], [sasl_support=no])
+dnl Do you want client-side support for using OAuth2 for SMTP authentication?
+AC_ARG_WITH([oauth], AS_HELP_STRING([--with-oauth],
+ [Enable OAuth2 support in SMTP auth]))
+
dnl Do you want client-side support for encryption with TLS?
AC_ARG_WITH([tls], AS_HELP_STRING([--with-tls], [Enable TLS support]))
AS_IF([test x"$with_tls" != x"no"],[
[TLSLIB=])
AC_SUBST([TLSLIB])
+dnl -----------------
+dnl CHECK FOR CURL
+dnl -----------------
+dnl Look for curl if oauth not disabled (--without-oauth).
+AC_PATH_PROG([curl_config], [curl-config])
+AS_IF([test "x$with_oauth" != xno && test -n "$curl_config"], [
+ save_CFLAGS="$CFLAGS"
+ CFLAGS="$CFLAGS `$curl_config --cflags`"
+ AC_CHECK_HEADER([curl/curl.h], [
+ HAVE_CURL_H=1
+ AC_CHECK_LIB([curl], [curl_easy_init], [
+ CURLLIB="`$curl_config --libs`"
+ AC_SUBST([CURLLIB])
+ CURL_USER_AGENT="`$curl_config --version | sed 's|^libcurl *|libcurl/|; q'`"
+ AS_IF([test "x$CURL_USER_AGENT" != "x`echo $CURL_USER_AGENT | sed 's/ //'`"],
+ [AC_MSG_WARN([unexpected curl-config --version: $CURL_USER_AGENT])
+ CURL_USER_AGENT=libcurl/UNKNOWN])
+ echo "HEYEPG ($CURL_USER_AGENT)"
+ AC_SUBST([CURL_USER_AGENT])
+ ])
+ ], [
+ CFLAGS="$save_CFLAGS"
+ ])
+ ])
+
+dnl -----------------
+dnl Enable OAuth?
+dnl -----------------
+dnl By default (with_oauth=''), enable OAuth if curl is found.
+dnl If OAuth requested (--with-oauth with_oauth=yes), error if curl not found.
+dnl If OAuth disabled (--without-oauth with_oauth=no), don't enable it.
+oauth_support=no
+OAUTH_SUPPORT=0
+AC_SUBST([OAUTH_SUPPORT])
+AS_IF([test "x$with_oauth" = xyes && test "x$HAVE_CURL_H" = x],
+ [AC_MSG_ERROR([OAuth requested but curl/curl.h not found])],
+ [test "x$with_oauth" = xyes && test "x$CURLLIB" = x],
+ [AC_MSG_ERROR([OAuth requested but curl library not found])],
+ [test "x$with_oauth" != xno && test "x$HAVE_CURL_H" = x1 && test "x$CURLLIB" != x],
+ [AC_DEFINE([OAUTH_SUPPORT], [1], [Support OAuth2 in SMTP auth.])
+ OAUTH_SUPPORT=1
+ oauth_support=yes])
+
dnl ----------------
dnl CHECK FLEX FIXUP
dnl ----------------
AC_STRUCT_DIRENT_D_TYPE
-dnl Where is <signal.h> located? Needed as input for signames.awk
-AC_CACHE_CHECK(where signal.h is located, nmh_cv_path_signal_h,
-[for SIGNAL_H in /usr/include/bsd/sys/signal.h dnl Next
- /usr/include/asm/signal.h dnl Linux 1.3.0 and above
- /usr/include/asm/signum.h dnl some versions of Linux/Alpha
- /usr/include/linux/signal.h dnl Linux up to 1.2.11
- /usr/include/sys/signal.h dnl Almost everybody else
- /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.11.sdk/usr/include/sys/signal.h dnl Newer version of MacOS X
- /dev/null; dnl Just in case we fall through
-do
- test -f $SIGNAL_H && \
- grep '#[ ]*define[ ][ ]*SIG[0-9A-Z]*[ ]*[0-9][0-9]*' $SIGNAL_H > /dev/null && \
- break
-done
-nmh_cv_path_signal_h=$SIGNAL_H
-])
-SIGNAL_H=$nmh_cv_path_signal_h
-AC_SUBST(SIGNAL_H)dnl
-
dnl
dnl Sigh, this is required because under the new world order autoconf has
dnl nothing to create in a few of the build directories when doing an object
default smtp servers : ${smtpservers}
SASL support : ${sasl_support}
TLS support : ${tls_support}
+OAuth support : ${oauth_support}
])])dnl
dnl ---------------