aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--configure.ac72
1 files changed, 64 insertions, 8 deletions
diff --git a/configure.ac b/configure.ac
index f87ef3a60..5688cd840 100644
--- a/configure.ac
+++ b/configure.ac
@@ -56,7 +56,7 @@ AC_SUBST(PKGADD_VENDOR)
dnl
dnl initialize all the info variables
- curl_ssl_msg="no (--with-ssl)"
+ curl_ssl_msg="no (--with-ssl / --with-gnutls)"
curl_zlib_msg="no (--with-zlib)"
curl_krb4_msg="no (--with-krb4*)"
curl_gss_msg="no (--with-gssapi)"
@@ -747,11 +747,7 @@ AC_HELP_STRING([--with-ssl=PATH],[where to look for SSL, PATH points to the SSL
AC_HELP_STRING([--without-ssl], [disable SSL]),
OPT_SSL=$withval)
-if test X"$OPT_SSL" = Xno
-then
- AC_MSG_WARN([SSL disabled, you will not be able to use HTTPS, FTPS, NTLM and more])
-else
-
+if test X"$OPT_SSL" != Xno; then
dnl backup the pre-ssl variables
CLEANLDFLAGS="$LDFLAGS"
CLEANCPPFLAGS="$CPPFLAGS"
@@ -868,13 +864,13 @@ else
dnl Have the libraries--check for SSLeay/OpenSSL headers
AC_CHECK_HEADERS(openssl/x509.h openssl/rsa.h openssl/crypto.h \
openssl/pem.h openssl/ssl.h openssl/err.h,
- curl_ssl_msg="enabled"
+ curl_ssl_msg="enabled (OpenSSL)"
OPENSSL_ENABLED=1
AC_DEFINE(USE_OPENSSL, 1, [if OpenSSL is in use]))
if test $ac_cv_header_openssl_x509_h = no; then
AC_CHECK_HEADERS(x509.h rsa.h crypto.h pem.h ssl.h err.h,
- curl_ssl_msg="enabled"
+ curl_ssl_msg="enabled (OpenSSL)"
OPENSSL_ENABLED=1)
fi
fi
@@ -989,6 +985,66 @@ if test X"$OPENSSL_ENABLED" = X"1"; then
fi
fi
+dnl ----------------------------------------------------
+dnl FIX: only check for GnuTLS if OpenSSL is not enabled
+dnl ----------------------------------------------------
+
+dnl Default to compiler & linker defaults for GnuTLS files & libraries.
+OPT_GNUTLS=off
+
+AC_ARG_WITH(gnutls,dnl
+AC_HELP_STRING([--with-gnutls=PATH],[where to look for GnuTLS, PATH points to the installation root (default: /usr/local/)])
+AC_HELP_STRING([--without-gnutls], [disable GnuTLS detection]),
+ OPT_GNUTLS=$withval)
+
+if test "$OPENSSL_ENABLED" != "1"; then
+
+ if test X"$OPT_GNUTLS" != Xoff; then
+ if test "x$OPT_GNUTLS" = "xyes"; then
+ check=`libgnutls-config --version 2>/dev/null`
+ if test -n "$check"; then
+ addlib=`libgnutls-config --libs`
+ addcflags=`libgnutls-config --cflags`
+ version=`libgnutls-config --version`
+ fi
+ else
+ addlib="-L$OPT_GNUTLS/lib -lgnutls"
+ addcflags="-I$OPT_GNUTLS/include"
+ version=`$OPT_GNUTLS/bin/libgnutls-config --version`
+ fi
+
+ CLEANLDFLAGS="$LDFLAGS"
+ CLEANCPPFLAGS="$CPPFLAGS"
+
+ LDFLAGS="$LDFLAGS $addlib"
+ if test "$addcflags" != "-I/usr/include"; then
+ CPPFLAGS="$CPPFLAGS $addcflags"
+ fi
+
+ AC_CHECK_LIB(gnutls, gnutls_check_version,
+ [
+ AC_DEFINE(USE_GNUTLS, 1, [if GnuTLS is enabled])
+ AC_SUBST(USE_GNUTLS, [1])
+ USE_GNUTLS="yes"
+ curl_ssl_msg="enabled (GnuTLS)"
+ ],
+ [
+ LDFLAGS="$CLEANLDFLAGS"
+ CPPFLAGS="$CLEANCPPFLAGS"
+ ])
+
+ if test "x$USE_GNUTLS" = "xyes"; then
+ AC_MSG_NOTICE([detected GnuTLS version $version])
+ fi
+ fi dnl GNUTLS not disabled
+
+ if test X"$USE_GNUTLS" != "Xyes"; then
+ AC_MSG_WARN([SSL disabled, you will not be able to use HTTPS, FTPS, NTLM and more.])
+ AC_MSG_WARN([Use --with-ssl or --with-gnutls to address this.])
+ fi
+
+fi dnl OPENSSL != 1
+
dnl **********************************************************************
dnl Check for the presence of ZLIB libraries and headers
dnl **********************************************************************