X-Git-Url: https://diplodocus.org/git/nmh/blobdiff_plain/78870b8d0afae1f7626febfc48251688d83e9b28..7934d6196251675f4d2ab6c2e4efae42e9c1192a:/configure.ac diff --git a/configure.ac b/configure.ac index 4e195b61..548a43da 100644 --- a/configure.ac +++ b/configure.ac @@ -40,6 +40,15 @@ AS_IF([test x"$with_cyrus_sasl" != x -a x"$with_cyrus_sasl" != x"no"],[ 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])) +AS_IF([test x"$with_oauth" != x -a x"$with_oauth" != x"no"],[ + AC_DEFINE([OAUTH_SUPPORT], [1], + [Support OAuth2 in SMTP auth.])dnl + OAUTH_SUPPORT=1; oauth_support=yes], [OAUTH_SUPPORT=0; oauth_support=no]) +AC_SUBST(OAUTH_SUPPORT) + 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"],[ @@ -84,9 +93,6 @@ AC_PREFIX_PROGRAM([mhparam]) dnl ------------------ dnl CHECK THE COMPILER dnl ------------------ -dnl We want these before the checks, -dnl so the checks can modify their values. -test -z "$CFLAGS" && auto_cflags=1 AC_PROG_CC([cc gcc]) AM_PROG_CC_C_O @@ -94,51 +100,32 @@ AM_PROG_CC_C_O dnl ---------------- dnl CUSTOMIZE CFLAGS dnl ---------------- -if test -n "$auto_cflags"; then - dnl The user didn't specify CFLAGS, so customize them. - if test "$GCC" = yes; then - dnl Can't use -ansi with gcc 4.5.3 on Cygwin, at least through setup - dnl version 2.763, because it disables some features in the system - dnl header files and warns about them with -Wall. Try to test for - dnl that generally, with gcc. - AC_CACHE_CHECK([whether we can use -ansi with gcc], [nmh_cv_has_dash_ansi], - [nmh_saved_cppflags="$CPPFLAGS" - nmh_saved_cflags="$CFLAGS" - CPPFLAGS="-D_GNU_SOURCE" - CFLAGS="-ansi -Wall -Werror" - AC_COMPILE_IFELSE([AC_LANG_PROGRAM([#include ],[tzset();])], - [nmh_cv_has_dash_ansi=yes], - [nmh_cv_has_dash_ansi=no]) - CPPFLAGS="$nmh_saved_cppflags" - CFLAGS="$nmh_saved_cflags"]) - test "$nmh_cv_has_dash_ansi" = "yes" && \ - CFLAGS="${CFLAGS:+$CFLAGS }-ansi -pedantic" - else - dnl Use -v and some other options with SunStudio cc. lex produces - dnl code that causes unreachable-statement warnings. It might be - dnl better to use an autoconf test, except -v will probably succeed - dnl with many other compilers but have different meaning. - AS_CASE([`${CC} -V 2>&1`], - [cc:\ Sun\ C*], [CFLAGS=\ +dnl The user didn't specify CFLAGS, so customize them. +if test "$GCC" != yes; then + dnl Use -v and some other options with SunStudio cc. lex produces + dnl code that causes unreachable-statement warnings. It might be + dnl better to use an autoconf test, except -v will probably succeed + dnl with many other compilers but have different meaning. + AS_CASE([`${CC} -V 2>&1`], + [cc:\ Sun\ C*], [CFLAGS=\ "${CFLAGS:+$CFLAGS }-v -errtags=yes -erroff=E_STATEMENT_NOT_REACHED"]) - fi - - AC_CACHE_CHECK([whether compiler supports -Wall], [nmh_cv_has_wall], - [nmh_saved_cflags="$CFLAGS" - CFLAGS="$CFLAGS -Wall -Werror" - AC_TRY_COMPILE([],[],nmh_cv_has_wall=yes,nmh_cv_has_wall=no) - CFLAGS="$nmh_saved_cflags"]) - test "$nmh_cv_has_wall" = "yes" && CFLAGS="${CFLAGS:+$CFLAGS }-Wall" - - AC_CACHE_CHECK([whether compiler supports -Wextra], [nmh_cv_has_wextra], - [nmh_saved_cflags="$CFLAGS" - CFLAGS="$CFLAGS -Wextra -Werror" - AC_TRY_COMPILE([],[],nmh_cv_has_wextra=yes, - nmh_cv_has_wextra=no) - CFLAGS="$nmh_saved_cflags"]) - test "$nmh_cv_has_wextra" = "yes" && CFLAGS="${CFLAGS:+$CFLAGS }-Wextra" fi +AC_CACHE_CHECK([whether compiler supports -Wall], [nmh_cv_has_wall], + [nmh_saved_cflags="$CFLAGS" + CFLAGS="$CFLAGS -Wall -Werror" + AC_TRY_COMPILE([],[],nmh_cv_has_wall=yes,nmh_cv_has_wall=no) + CFLAGS="$nmh_saved_cflags"]) +test "$nmh_cv_has_wall" = "yes" && CFLAGS="${CFLAGS:+$CFLAGS }-Wall" + +AC_CACHE_CHECK([whether compiler supports -Wextra], [nmh_cv_has_wextra], + [nmh_saved_cflags="$CFLAGS" + CFLAGS="$CFLAGS -Wextra -Werror" + AC_TRY_COMPILE([],[],nmh_cv_has_wextra=yes, + nmh_cv_has_wextra=no) + CFLAGS="$nmh_saved_cflags"]) +test "$nmh_cv_has_wextra" = "yes" && CFLAGS="${CFLAGS:+$CFLAGS }-Wextra" + if test "$GCC" = yes; then dnl Do this regardless of auto_cflags value. dnl Enable _FORTIFY_SOURCE checking, which is supported by @@ -307,7 +294,7 @@ AS_IF([test x"$DISABLE_SETGID_MAIL" != x -a x"$DISABLE_SETGID_MAIL" != x0], dnl If mailspool is not world-writable and dotlockfile is not setgid, dnl we need to #define MAILGROUP to 1 and make inc setgid. -if test x"$LOCKTYPE" = x"dot" -a x"$nmh_cv_mailspool_world_writable" = x"no" -a x"$nmh_cv_dotlockfile_setgid" != x"yes" ; then +if test x"$with_locking" = x"dot" -a x"$nmh_cv_mailspool_world_writable" = x"no" -a x"$nmh_cv_dotlockfile_setgid" != x"yes" ; then dnl do we really need both of these? AC_DEFINE([MAILGROUP],[1], [Define to 1 if you need to make `inc' set-group-id because your mail spool is not world writable. There are no guarantees as to the safety of doing this, but this #define will add some extra security checks.])dnl @@ -502,6 +489,22 @@ AS_IF([test x"$tls_support" = x"yes"],[ [TLSLIB=]) AC_SUBST([TLSLIB]) +dnl ----------------- +dnl CHECK FOR CURL +dnl ----------------- +AS_IF([test x"$OAUTH_SUPPORT" = x"1"],[ + AC_PATH_PROG([curl_config], [curl-config]) + AC_CHECK_HEADER([curl/curl.h], [], [AC_MSG_ERROR([curl/curl.h not found])]) + AC_CHECK_LIB([curl], [curl_easy_init], [CURLLIB="`$curl_config --libs`"], + [AC_MSG_ERROR([curl library not found])],[$CURLLIB]) + CURL_USER_AGENT=`$curl_config --version | sed 's| |/|'` + ], + [CURLLIB= + CURL_USER_AGENT= +]) +AC_SUBST([CURLLIB]) +AC_SUBST([CURL_USER_AGENT]) + dnl ---------------- dnl CHECK FLEX FIXUP dnl ---------------- @@ -516,6 +519,13 @@ AS_IF([test "$LEX" = flex], '; sed "s/\( \)int i;/\1yy_size_t i;/" $@ >$@.tmp && mv -f $@.tmp $@']) AC_SUBST([LFLAGS])]) +dnl ------------------ +dnl FOR INTERNAL USE by the NMH test suite +dnl ------------------ +AC_ARG_VAR([NMHETCDIRINST], [for internal use by nmh test suite]) +AS_IF([test -n "$NMHETCDIRINST"], [nmhetcdirinst=$NMHETCDIRINST] + AC_SUBST([nmhetcdirinst])) + dnl ---------------- dnl CHECK STRUCTURES dnl ---------------- @@ -591,6 +601,7 @@ spool default locking type : ${with_locking} default smtp servers : ${smtpservers} SASL support : ${sasl_support} TLS support : ${tls_support} +OAuth support : ${oauth_support} ])])dnl dnl ---------------