# | (__| |_| | _ <| |___
# \___|\___/|_| \_\_____|
#
-# Copyright (C) 1998 - 2016, Daniel Stenberg, <daniel@haxx.se>, et al.
+# Copyright (C) 1998 - 2018, Daniel Stenberg, <daniel@haxx.se>, et al.
#
# This software is licensed as described in the file COPYING, which
# you should have received as part of this distribution. The terms
CURL_OVERRIDE_AUTOCONF
dnl configure script copyright
-AC_COPYRIGHT([Copyright (c) 1998 - 2016 Daniel Stenberg, <daniel@haxx.se>
+AC_COPYRIGHT([Copyright (c) 1998 - 2017 Daniel Stenberg, <daniel@haxx.se>
This configure script may be copied, distributed and modified under the
terms of the curl license; see COPYING for more details])
AC_CONFIG_SRCDIR([lib/urldata.h])
-AC_CONFIG_HEADERS(lib/curl_config.h include/curl/curlbuild.h)
+AC_CONFIG_HEADERS(lib/curl_config.h)
AC_CONFIG_MACRO_DIR([m4])
AM_MAINTAINER_MODE
m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])])
AC_SUBST(libext)
-dnl Remove non-configure distributed curlbuild.h
-if test -f ${srcdir}/include/curl/curlbuild.h; then
- rm -f ${srcdir}/include/curl/curlbuild.h
-fi
-
dnl figure out the libcurl version
-CURLVERSION=`$SED -ne 's/^#define LIBCURL_VERSION "\(.*\)"/\1/p' ${srcdir}/include/curl/curlver.h`
+CURLVERSION=`$SED -ne 's/^#define LIBCURL_VERSION "\(.*\)".*/\1/p' ${srcdir}/include/curl/curlver.h`
XC_CHECK_PROG_CC
+
+dnl Check if gcc is being used before adding AX_CODE_COVERAGE
+AS_IF([ test "$GCC" = "yes" ], [AX_CODE_COVERAGE],
+ # not using GCC so pass a test below - CODE_COVERAGE_ENABLED_TRUE is not zero length
+ CODE_COVERAGE_ENABLED_TRUE='#'
+)
+
XC_AUTOMAKE
AC_MSG_CHECKING([curl version])
AC_MSG_RESULT($CURLVERSION)
dnl
dnl we extract the numerical version for curl-config only
-VERSIONNUM=`$SED -ne 's/^#define LIBCURL_VERSION_NUM 0x\(.*\)/\1/p' ${srcdir}/include/curl/curlver.h`
+VERSIONNUM=`$SED -ne 's/^#define LIBCURL_VERSION_NUM 0x\([0-9A-Fa-f]*\).*/\1/p' ${srcdir}/include/curl/curlver.h`
AC_SUBST(VERSIONNUM)
dnl Solaris pkgadd support definitions
curl_ssl_msg="no (--with-{ssl,gnutls,nss,polarssl,mbedtls,cyassl,axtls,winssl,darwinssl} )"
curl_ssh_msg="no (--with-libssh2)"
curl_zlib_msg="no (--with-zlib)"
+ curl_brotli_msg="no (--with-brotli)"
curl_gss_msg="no (--with-gssapi)"
curl_tls_srp_msg="no (--enable-tls-srp)"
curl_res_msg="default (--enable-ares / --enable-threaded-resolver)"
curl_mtlnk_msg="no (--with-libmetalink)"
curl_psl_msg="no (--with-libpsl)"
- init_ssl_msg=${curl_ssl_msg}
+ ssl_backends=
dnl
dnl Save some initial values the user might have provided
dnl Checks for programs.
-dnl Our curl_off_t internal and external configure settings
-CURL_CONFIGURE_CURL_OFF_T
-
dnl This defines _ALL_SOURCE for AIX
CURL_CHECK_AIX_ALL_SOURCE
CURL_CHECK_WIN32_LARGEFILE
CURL_MAC_CFLAGS
+CURL_SUPPORTS_BUILTIN_AVAILABLE
dnl ************************************************************
dnl switch off particular protocols
no)
AC_MSG_RESULT(no)
AC_DEFINE(CURL_DISABLE_HTTP, 1, [to disable HTTP])
+ disable_http="yes"
AC_MSG_WARN([disable HTTP disables FTP over proxy and RTSP])
AC_SUBST(CURL_DISABLE_HTTP, [1])
AC_DEFINE(CURL_DISABLE_RTSP, 1, [to disable RTSP])
OPT_ZLIB=""
fi
- CURL_CHECK_PKGCONFIG(zlib)
-
- if test "$PKGCONFIG" != "no" ; then
- LIBS="`$PKGCONFIG --libs-only-l zlib` $LIBS"
- LDFLAGS="`$PKGCONFIG --libs-only-L zlib` $LDFLAGS"
- CPPFLAGS="`$PKGCONFIG --cflags-only-I zlib` $CPPFLAGS"
- OPT_ZLIB=""
- HAVE_LIBZ="1"
- fi
-
if test -z "$OPT_ZLIB" ; then
+ CURL_CHECK_PKGCONFIG(zlib)
+
+ if test "$PKGCONFIG" != "no" ; then
+ LIBS="`$PKGCONFIG --libs-only-l zlib` $LIBS"
+ LDFLAGS="$LDFLAGS `$PKGCONFIG --libs-only-L zlib`"
+ CPPFLAGS="$CPPFLAGS `$PKGCONFIG --cflags-only-I zlib`"
+ OPT_ZLIB=""
+ HAVE_LIBZ="1"
+ fi
if test -z "$HAVE_LIBZ"; then
AC_SUBST(ZLIB_LIBS)
dnl **********************************************************************
+dnl Check for the presence of BROTLI decoder libraries and headers
+dnl **********************************************************************
+
+dnl Brotli project home page: https://github.com/google/brotli
+
+dnl Default to compiler & linker defaults for BROTLI files & libraries.
+OPT_BROTLI=off
+AC_ARG_WITH(brotli,dnl
+AC_HELP_STRING([--with-brotli=PATH],[Where to look for brotli, PATH points to the BROTLI installation; when possible, set the PKG_CONFIG_PATH environment variable instead of using this option])
+AC_HELP_STRING([--without-brotli], [disable BROTLI]),
+ OPT_BROTLI=$withval)
+
+if test X"$OPT_BROTLI" != Xno; then
+ dnl backup the pre-brotli variables
+ CLEANLDFLAGS="$LDFLAGS"
+ CLEANCPPFLAGS="$CPPFLAGS"
+ CLEANLIBS="$LIBS"
+
+ case "$OPT_BROTLI" in
+ yes)
+ dnl --with-brotli (without path) used
+ CURL_CHECK_PKGCONFIG(libbrotlidec)
+
+ if test "$PKGCONFIG" != "no" ; then
+ LIB_BROTLI=`$PKGCONFIG --libs-only-l libbrotlidec`
+ LD_BROTLI=`$PKGCONFIG --libs-only-L libbrotlidec`
+ CPP_BROTLI=`$PKGCONFIG --cflags-only-I libbrotlidec`
+ version=`$PKGCONFIG --modversion libbrotlidec`
+ DIR_BROTLI=`echo $LD_BROTLI | $SED -e 's/-L//'`
+ fi
+
+ ;;
+ off)
+ dnl no --with-brotli option given, just check default places
+ ;;
+ *)
+ dnl use the given --with-brotli spot
+ PREFIX_BROTLI=$OPT_BROTLI
+ ;;
+ esac
+
+ dnl if given with a prefix, we set -L and -I based on that
+ if test -n "$PREFIX_BROTLI"; then
+ LIB_BROTLI="-lbrotlidec"
+ LD_BROTLI=-L${PREFIX_BROTLI}/lib$libsuff
+ CPP_BROTLI=-I${PREFIX_BROTLI}/include
+ DIR_BROTLI=${PREFIX_BROTLI}/lib$libsuff
+ fi
+
+ LDFLAGS="$LDFLAGS $LD_BROTLI"
+ CPPFLAGS="$CPPFLAGS $CPP_BROTLI"
+ LIBS="$LIB_BROTLI $LIBS"
+
+ AC_CHECK_LIB(brotlidec, BrotliDecoderDecompress)
+
+ AC_CHECK_HEADERS(brotli/decode.h,
+ curl_brotli_msg="enabled (libbrotlidec)"
+ HAVE_BROTLI=1
+ AC_DEFINE(HAVE_BROTLI, 1, [if BROTLI is in use])
+ AC_SUBST(HAVE_BROTLI, [1])
+ )
+
+ if test X"$OPT_BROTLI" != Xoff &&
+ test "$HAVE_BROTLI" != "1"; then
+ AC_MSG_ERROR([BROTLI libs and/or directories were not found where specified!])
+ fi
+
+ if test "$HAVE_BROTLI" = "1"; then
+ if test -n "$DIR_BROTLI"; then
+ dnl when the brotli shared libs were found in a path that the run-time
+ dnl linker doesn't search through, we need to add it to LD_LIBRARY_PATH
+ dnl to prevent further configure tests to fail due to this
+
+ if test "x$cross_compiling" != "xyes"; then
+ LD_LIBRARY_PATH="$LD_LIBRARY_PATH:$DIR_BROTLI"
+ export LD_LIBRARY_PATH
+ AC_MSG_NOTICE([Added $DIR_BROTLI to LD_LIBRARY_PATH])
+ fi
+ fi
+ else
+ dnl no brotli, revert back to clean variables
+ LDFLAGS=$CLEANLDFLAGS
+ CPPFLAGS=$CLEANCPPFLAGS
+ LIBS=$CLEANLIBS
+ fi
+fi
+
+dnl **********************************************************************
dnl Check for LDAP
dnl **********************************************************************
#include <ws2tcpip.h>
#else
#include <netinet/in.h>
+#if defined (__TANDEM)
+# include <netinet/in6.h>
+#endif
#endif] ,
struct sockaddr_in6 s; s.sin6_scope_id = 0; , have_sin6_scope_id=yes)
if test "$have_sin6_scope_id" = yes; then
CPPFLAGS="$save_CPPFLAGS"
fi
+build_libstubgss=no
+if test x"$want_gss" = "xyes"; then
+ build_libstubgss=yes
+fi
+
+AM_CONDITIONAL(BUILD_STUB_GSS, test "x$build_libstubgss" = "xyes")
+
+dnl -------------------------------------------------------------
+dnl parse --with-default-ssl-backend so it can be validated below
+dnl -------------------------------------------------------------
+
+DEFAULT_SSL_BACKEND=no
+VALID_DEFAULT_SSL_BACKEND=
+AC_ARG_WITH(default-ssl-backend,
+AC_HELP_STRING([--with-default-ssl-backend=NAME],[Use NAME as default SSL backend])
+AC_HELP_STRING([--without-default-ssl-backend],[Use implicit default SSL backend]),
+ [DEFAULT_SSL_BACKEND=$withval])
+case "$DEFAULT_SSL_BACKEND" in
+ no)
+ dnl --without-default-ssl-backend option used
+ ;;
+ default|yes)
+ dnl --with-default-ssl-backend option used without name
+ AC_MSG_ERROR([The name of the default SSL backend is required.])
+ ;;
+ *)
+ dnl --with-default-ssl-backend option used with name
+ AC_SUBST(DEFAULT_SSL_BACKEND)
+ dnl needs to be validated below
+ VALID_DEFAULT_SSL_BACKEND=no
+ ;;
+esac
+
+dnl **********************************************************************
+
dnl -------------------------------------------------
dnl check winssl option before other SSL libraries
dnl -------------------------------------------------
OPT_WINSSL=$withval)
AC_MSG_CHECKING([whether to enable Windows native SSL/TLS (Windows native builds only)])
-if test "$curl_ssl_msg" = "$init_ssl_msg"; then
+if test -z "$ssl_backends" -o "x$OPT_WINSSL" != xno; then
+ ssl_msg=
if test "x$OPT_WINSSL" != "xno" &&
test "x$curl_cv_native_windows" = "xyes"; then
AC_MSG_RESULT(yes)
AC_DEFINE(USE_SCHANNEL, 1, [to enable Windows native SSL/TLS support])
AC_SUBST(USE_SCHANNEL, [1])
- curl_ssl_msg="enabled (Windows-native)"
+ ssl_msg="Windows-native"
+ test schannel != "$DEFAULT_SSL_BACKEND" || VALID_DEFAULT_SSL_BACKEND=yes
WINSSL_ENABLED=1
# --with-winssl implies --enable-sspi
AC_DEFINE(USE_WINDOWS_SSPI, 1, [to enable SSPI support])
else
AC_MSG_RESULT(no)
fi
+ test -z "$ssl_msg" || ssl_backends="${ssl_backends:+$ssl_backends, }$ssl_msg"
else
AC_MSG_RESULT(no)
fi
OPT_DARWINSSL=$withval)
AC_MSG_CHECKING([whether to enable Apple OS native SSL/TLS])
-if test "$curl_ssl_msg" = "$init_ssl_msg"; then
+if test -z "$ssl_backends" -o "x$OPT_DARWINSSL" != xno; then
if test "x$OPT_DARWINSSL" != "xno" &&
test -d "/System/Library/Frameworks/Security.framework"; then
AC_MSG_RESULT(yes)
AC_DEFINE(USE_DARWINSSL, 1, [to enable Apple OS native SSL/TLS support])
AC_SUBST(USE_DARWINSSL, [1])
- curl_ssl_msg="enabled (Apple OS-native)"
+ ssl_msg="Apple OS-native"
+ test darwinssl != "$DEFAULT_SSL_BACKEND" || VALID_DEFAULT_SSL_BACKEND=yes
DARWINSSL_ENABLED=1
LDFLAGS="$LDFLAGS -framework CoreFoundation -framework Security"
else
AC_MSG_RESULT(no)
fi
+ test -z "$ssl_msg" || ssl_backends="${ssl_backends:+$ssl_backends, }$ssl_msg"
else
AC_MSG_RESULT(no)
fi
AC_HELP_STRING([--without-ssl], [disable OpenSSL]),
OPT_SSL=$withval)
-if test "$curl_ssl_msg" = "$init_ssl_msg" && test X"$OPT_SSL" != Xno; then
+if test -z "$ssl_backends" -o "x$OPT_SSL" != xno &&
+ test X"$OPT_SSL" != Xno; then
+ ssl_msg=
+
dnl backup the pre-ssl variables
CLEANLDFLAGS="$LDFLAGS"
CLEANCPPFLAGS="$CPPFLAGS"
AC_CHECK_LIB(crypto, HMAC_Init_ex,[
HAVECRYPTO="yes"
LIBS="-lcrypto $LIBS"], [
- LDFLAGS="$CLEANLDFLAGS"
- CPPFLAGS="$CLEANCPPFLAGS"
- LIBS="$CLEANLIBS"
- ])
- ])
-
- if test X"$HAVECRYPTO" = X"yes"; then
- AC_MSG_CHECKING([OpenSSL linking without -ldl])
- saved_libs=$LIBS
- AC_TRY_LINK(
- [
- #include <openssl/evp.h>
- ],
- [
- SSLeay_add_all_algorithms();
- ],
- [
- AC_MSG_RESULT(yes)
- LIBS="$saved_libs"
- ],
- [
- AC_MSG_RESULT(no)
- AC_MSG_CHECKING([OpenSSL linking with -ldl])
- LIBS="-ldl $LIBS"
- AC_TRY_LINK(
- [
- #include <openssl/evp.h>
- ],
- [
- SSLeay_add_all_algorithms();
- ],
- [
- AC_MSG_RESULT(yes)
- LIBS="$saved_libs -ldl"
- ],
- [
- AC_MSG_RESULT(no)
- LIBS="$saved_libs"
- ]
- )
+ dnl still no, but what about with -ldl?
+ AC_MSG_CHECKING([OpenSSL linking with -ldl])
+ LIBS="$LIBS -ldl"
+ AC_TRY_LINK(
+ [
+ #include <openssl/err.h>
+ ],
+ [
+ ERR_clear_error();
+ ],
+ [
+ AC_MSG_RESULT(yes)
+ HAVECRYPTO="yes"
+ ],
+ [
+ AC_MSG_RESULT(no)
+ dnl ok, so what about bouth -ldl and -lpthread?
+
+ AC_MSG_CHECKING([OpenSSL linking with -ldl and -lpthread])
+ LIBS="$LIBS -lpthread"
+ AC_TRY_LINK(
+ [
+ #include <openssl/err.h>
+ ],
+ [
+ ERR_clear_error();
+ ],
+ [
+ AC_MSG_RESULT(yes)
+ HAVECRYPTO="yes"
+ ],
+ [
+ AC_MSG_RESULT(no)
+ LDFLAGS="$CLEANLDFLAGS"
+ CPPFLAGS="$CLEANCPPFLAGS"
+ LIBS="$CLEANLIBS"
+
+ ])
- ]
- )
+ ])
- fi
+ ])
+ ])
if test X"$HAVECRYPTO" = X"yes"; then
dnl This is only reasonable to do if crypto actually is there: check for
dnl Have the libraries--check for 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 (OpenSSL)"
+ ssl_msg="OpenSSL"
+ test openssl != "$DEFAULT_SSL_BACKEND" || VALID_DEFAULT_SSL_BACKEND=yes
OPENSSL_ENABLED=1
AC_DEFINE(USE_OPENSSL, 1, [if OpenSSL is in use]))
test $ac_cv_header_crypto_h = yes &&
test $ac_cv_header_ssl_h = yes; then
dnl three matches
- curl_ssl_msg="enabled (OpenSSL)"
+ ssl_msg="OpenSSL"
OPENSSL_ENABLED=1
fi
fi
fi
- if test X"$OPENSSL_ENABLED" = X"1"; then
- dnl is there a pkcs12.h header present?
- AC_CHECK_HEADERS(openssl/pkcs12.h)
- else
+ if test X"$OPENSSL_ENABLED" != X"1"; then
LIBS="$CLEANLIBS"
fi
AC_MSG_RESULT([yes])
AC_DEFINE_UNQUOTED(HAVE_BORINGSSL, 1,
[Define to 1 if using BoringSSL.])
- curl_ssl_msg="enabled (BoringSSL)"
+ ssl_msg="BoringSSL"
],[
AC_MSG_RESULT([no])
])
AC_MSG_RESULT([yes])
AC_DEFINE_UNQUOTED(HAVE_LIBRESSL, 1,
[Define to 1 if using libressl.])
- curl_ssl_msg="enabled (libressl)"
+ ssl_msg="libressl"
],[
AC_MSG_RESULT([no])
])
CURL_CHECK_OPENSSL_API
fi
+ test -z "$ssl_msg" || ssl_backends="${ssl_backends:+$ssl_backends, }$ssl_msg"
fi
dnl **********************************************************************
AC_HELP_STRING([--without-gnutls], [disable GnuTLS detection]),
OPT_GNUTLS=$withval)
-if test "$curl_ssl_msg" = "$init_ssl_msg"; then
+if test -z "$ssl_backends" -o "x$OPT_GNUTLS" != xno; then
+ ssl_msg=
if test X"$OPT_GNUTLS" != Xno; then
AC_SUBST(USE_GNUTLS, [1])
GNUTLS_ENABLED=1
USE_GNUTLS="yes"
- curl_ssl_msg="enabled (GnuTLS)"
+ ssl_msg="GnuTLS"
+ test gnutls != "$DEFAULT_SSL_BACKEND" || VALID_DEFAULT_SSL_BACKEND=yes
],
[
LIBS="$CLEANLIBS"
dnl linker doesn't search through, we need to add it to
dnl LD_LIBRARY_PATH to prevent further configure tests to fail
dnl due to this
- if test "x$cross_compiling" != "xyes"; then
+ if test "x$cross_compiling" != "xyes"; then
LD_LIBRARY_PATH="$LD_LIBRARY_PATH:$gtlslib"
export LD_LIBRARY_PATH
AC_MSG_NOTICE([Added $gtlslib to LD_LIBRARY_PATH])
fi dnl GNUTLS not disabled
+ test -z "$ssl_msg" || ssl_backends="${ssl_backends:+$ssl_backends, }$ssl_msg"
fi
dnl ---
AC_HELP_STRING([--without-polarssl], [disable PolarSSL detection]),
OPT_POLARSSL=$withval)
-if test "$curl_ssl_msg" = "$init_ssl_msg"; then
+if test -z "$ssl_backends" -o "x$OPT_POLARSSL" != xno; then
+ ssl_msg=
if test X"$OPT_POLARSSL" != Xno; then
AC_SUBST(USE_POLARSSL, [1])
POLARSSL_ENABLED=1
USE_POLARSSL="yes"
- curl_ssl_msg="enabled (PolarSSL)"
+ ssl_msg="PolarSSL"
+ test polarssl != "$DEFAULT_SSL_BACKEND" || VALID_DEFAULT_SSL_BACKEND=yes
])
fi
AC_SUBST(USE_POLARSSL, [1])
POLARSSL_ENABLED=1
USE_POLARSSL="yes"
- curl_ssl_msg="enabled (PolarSSL)"
+ ssl_msg="PolarSSL"
+ test polarssl != "$DEFAULT_SSL_BACKEND" || VALID_DEFAULT_SSL_BACKEND=yes
],
[
CPPFLAGS=$_cppflags
fi dnl PolarSSL not disabled
+ test -z "$ssl_msg" || ssl_backends="${ssl_backends:+$ssl_backends, }$ssl_msg"
fi
dnl ----------------------------------------------------
AC_HELP_STRING([--without-mbedtls], [disable mbedTLS detection]),
OPT_MBEDTLS=$withval)
-if test "$curl_ssl_msg" = "$init_ssl_msg"; then
+if test -z "$ssl_backends" -o "x$OPT_MBEDTLS" != xno; then
+ ssl_msg=
if test X"$OPT_MBEDTLS" != Xno; then
AC_SUBST(USE_MBEDTLS, [1])
MBEDTLS_ENABLED=1
USE_MBEDTLS="yes"
- curl_ssl_msg="enabled (mbedTLS)"
+ ssl_msg="mbedTLS"
+ test mbedtls != "$DEFAULT_SSL_BACKEND" || VALID_DEFAULT_SSL_BACKEND=yes
], [], -lmbedx509 -lmbedcrypto)
fi
AC_SUBST(USE_MBEDTLS, [1])
MBEDTLS_ENABLED=1
USE_MBEDTLS="yes"
- curl_ssl_msg="enabled (mbedTLS)"
+ ssl_msg="mbedTLS"
+ test mbedtls != "$DEFAULT_SSL_BACKEND" || VALID_DEFAULT_SSL_BACKEND=yes
],
[
CPPFLAGS=$_cppflags
fi dnl mbedTLS not disabled
+ test -z "$ssl_msg" || ssl_backends="${ssl_backends:+$ssl_backends, }$ssl_msg"
fi
dnl ----------------------------------------------------
AC_HELP_STRING([--without-cyassl], [disable CyaSSL detection]),
OPT_CYASSL=$withval)
-if test "$curl_ssl_msg" = "$init_ssl_msg"; then
+if test -z "$ssl_backends" -o "x$OPT_CYASSL" != xno; then
+ ssl_msg=
if test X"$OPT_CYASSL" != Xno; then
AC_SUBST(USE_CYASSL, [1])
CYASSL_ENABLED=1
USE_CYASSL="yes"
- curl_ssl_msg="enabled (CyaSSL)"
+ ssl_msg="CyaSSL"
+ test cyassl != "$DEFAULT_SSL_BACKEND" || VALID_DEFAULT_SSL_BACKEND=yes
])
fi
AC_SUBST(USE_CYASSL, [1])
CYASSL_ENABLED=1
USE_CYASSL="yes"
- curl_ssl_msg="enabled (CyaSSL)"
+ ssl_msg="CyaSSL"
+ test cyassl != "$DEFAULT_SSL_BACKEND" || VALID_DEFAULT_SSL_BACKEND=yes
],
[
CPPFLAGS=$_cppflags
AC_SUBST(USE_CYASSL, [1])
CYASSL_ENABLED=1
USE_CYASSL="yes"
- curl_ssl_msg="enabled (WolfSSL)"
+ ssl_msg="WolfSSL"
+ test cyassl != "$DEFAULT_SSL_BACKEND" || VALID_DEFAULT_SSL_BACKEND=yes
],
[
AC_MSG_RESULT(no)
fi dnl CyaSSL not disabled
+ test -z "$ssl_msg" || ssl_backends="${ssl_backends:+$ssl_backends, }$ssl_msg"
fi
dnl ----------------------------------------------------
AC_HELP_STRING([--without-nss], [disable NSS detection]),
OPT_NSS=$withval)
-if test "$curl_ssl_msg" = "$init_ssl_msg"; then
+if test -z "$ssl_backends" -o "x$OPT_NSS" != xno; then
+ ssl_msg=
if test X"$OPT_NSS" != Xno; then
AC_SUBST(USE_NSS, [1])
USE_NSS="yes"
NSS_ENABLED=1
- curl_ssl_msg="enabled (NSS)"
+ ssl_msg="NSS"
+ test nss != "$DEFAULT_SSL_BACKEND" || VALID_DEFAULT_SSL_BACKEND=yes
],
[
LDFLAGS="$CLEANLDFLAGS"
if test "x$USE_NSS" = "xyes"; then
AC_MSG_NOTICE([detected NSS version $version])
+ dnl PK11_CreateManagedGenericObject() was introduced in NSS 3.34 because
+ dnl PK11_DestroyGenericObject() does not release resources allocated by
+ dnl PK11_CreateGenericObject() early enough.
+ AC_CHECK_FUNC(PK11_CreateManagedGenericObject,
+ [
+ AC_DEFINE(HAVE_PK11_CREATEMANAGEDGENERICOBJECT, 1,
+ [if you have the PK11_CreateManagedGenericObject function])
+ ])
+
dnl needed when linking the curl tool without USE_EXPLICIT_LIB_DEPS
NSS_LIBS=$addlib
AC_SUBST([NSS_LIBS])
fi dnl NSS not disabled
-fi dnl curl_ssl_msg = init_ssl_msg
+ test -z "$ssl_msg" || ssl_backends="${ssl_backends:+$ssl_backends, }$ssl_msg"
+fi
OPT_AXTLS=off
AC_HELP_STRING([--without-axtls], [disable axTLS]),
OPT_AXTLS=$withval)
-if test "$curl_ssl_msg" = "$init_ssl_msg"; then
+if test -z "$ssl_backends" -o "x$OPT_AXTLS" != xno; then
+ ssl_msg=
if test X"$OPT_AXTLS" != Xno; then
dnl backup the pre-axtls variables
CLEANLDFLAGS="$LDFLAGS"
AC_SUBST(USE_AXTLS, [1])
AXTLS_ENABLED=1
USE_AXTLS="yes"
- curl_ssl_msg="enabled (axTLS)"
+ ssl_msg="axTLS"
+ test axtls != "$DEFAULT_SSL_BACKEND" || VALID_DEFAULT_SSL_BACKEND=yes
if test "x$cross_compiling" != "xyes"; then
LD_LIBRARY_PATH="$LD_LIBRARY_PATH:$LIB_AXTLS"
LIBS="$CLEANLIBS"
])
fi
+ test -z "$ssl_msg" || ssl_backends="${ssl_backends:+$ssl_backends, }$ssl_msg"
fi
-if test "x$OPENSSL_ENABLED$GNUTLS_ENABLED$NSS_ENABLED$POLARSSL_ENABLED$MBEDTLS_ENABLED$AXTLS_ENABLED$CYASSL_ENABLED$WINSSL_ENABLED$DARWINSSL_ENABLED" = "x"; then
+case "x$OPENSSL_ENABLED$GNUTLS_ENABLED$NSS_ENABLED$POLARSSL_ENABLED$MBEDTLS_ENABLED$AXTLS_ENABLED$CYASSL_ENABLED$WINSSL_ENABLED$DARWINSSL_ENABLED" in
+x)
AC_MSG_WARN([SSL disabled, you will not be able to use HTTPS, FTPS, NTLM and more.])
AC_MSG_WARN([Use --with-ssl, --with-gnutls, --with-polarssl, --with-cyassl, --with-nss, --with-axtls, --with-winssl, or --with-darwinssl to address this.])
-else
- # SSL is enabled, genericly
+ ;;
+x1)
+ # one SSL backend is enabled
+ AC_SUBST(SSL_ENABLED)
+ SSL_ENABLED="1"
+ AC_MSG_NOTICE([built with one SSL backend])
+ ;;
+*)
+ # more than one SSL backend is enabled
AC_SUBST(SSL_ENABLED)
SSL_ENABLED="1"
+ AC_SUBST(CURL_WITH_MULTI_SSL)
+ CURL_WITH_MULTI_SSL="1"
+ AC_DEFINE(CURL_WITH_MULTI_SSL, 1, [built with multiple SSL backends])
+ AC_MSG_NOTICE([built with multiple SSL backends])
+ ;;
+esac
+
+if test -n "$ssl_backends"; then
+ curl_ssl_msg="enabled ($ssl_backends)"
+fi
+
+if test no = "$VALID_DEFAULT_SSL_BACKEND"
+then
+ if test -n "$SSL_ENABLED"
+ then
+ AC_MSG_ERROR([Default SSL backend $DEFAULT_SSL_BACKEND not enabled!])
+ else
+ AC_MSG_ERROR([Default SSL backend requires SSL!])
+ fi
+elif test yes = "$VALID_DEFAULT_SSL_BACKEND"
+then
+ AC_DEFINE_UNQUOTED([CURL_DEFAULT_SSL_BACKEND], ["$DEFAULT_SSL_BACKEND"], [Default SSL backend])
fi
dnl **********************************************************************
clean_CPPFLAGS="$CPPFLAGS"
clean_LDFLAGS="$LDFLAGS"
clean_LIBS="$LIBS"
- CPPFLAGS="$addcflags $clean_CPPFLAGS"
- LDFLAGS="$addld $clean_LDFLAGS"
+ CPPFLAGS="$clean_CPPFLAGS $addcflags"
+ LDFLAGS="$clean_LDFLAGS $addld"
LIBS="$addlib $clean_LIBS"
AC_MSG_CHECKING([if libmetalink is recent enough])
AC_LINK_IFELSE([
OPT_LIBSSH2=off
AC_ARG_WITH(libssh2,dnl
AC_HELP_STRING([--with-libssh2=PATH],[Where to look for libssh2, PATH points to the LIBSSH2 installation; when possible, set the PKG_CONFIG_PATH environment variable instead of using this option])
-AC_HELP_STRING([--without-libssh2], [disable LIBSSH2]),
- OPT_LIBSSH2=$withval)
+AC_HELP_STRING([--with-libssh2], [enable LIBSSH2]),
+ OPT_LIBSSH2=$withval, OPT_LIBSSH2=no)
+
+
+OPT_LIBSSH=off
+AC_ARG_WITH(libssh,dnl
+AC_HELP_STRING([--with-libssh=PATH],[Where to look for libssh, PATH points to the LIBSSH installation; when possible, set the PKG_CONFIG_PATH environment variable instead of using this option])
+AC_HELP_STRING([--with-libssh], [enable LIBSSH]),
+ OPT_LIBSSH=$withval, OPT_LIBSSH=no)
if test X"$OPT_LIBSSH2" != Xno; then
dnl backup the pre-libssh2 variables
DIR_SSH2=${PREFIX_SSH2}/lib$libsuff
fi
- LDFLAGS="$LD_SSH2 $LDFLAGS"
+ LDFLAGS="$LDFLAGS $LD_SSH2"
CPPFLAGS="$CPPFLAGS $CPP_SSH2"
LIBS="$LIB_SSH2 $LIBS"
CPPFLAGS=$CLEANCPPFLAGS
LIBS=$CLEANLIBS
fi
+elif test X"$OPT_LIBSSH" != Xno; then
+ dnl backup the pre-libssh variables
+ CLEANLDFLAGS="$LDFLAGS"
+ CLEANCPPFLAGS="$CPPFLAGS"
+ CLEANLIBS="$LIBS"
+
+ case "$OPT_LIBSSH" in
+ yes)
+ dnl --with-libssh (without path) used
+ CURL_CHECK_PKGCONFIG(libssh)
+
+ if test "$PKGCONFIG" != "no" ; then
+ LIB_SSH=`$PKGCONFIG --libs-only-l libssh`
+ LD_SSH=`$PKGCONFIG --libs-only-L libssh`
+ CPP_SSH=`$PKGCONFIG --cflags-only-I libssh`
+ version=`$PKGCONFIG --modversion libssh`
+ DIR_SSH=`echo $LD_SSH | $SED -e 's/-L//'`
+ fi
+
+ ;;
+ off)
+ dnl no --with-libssh option given, just check default places
+ ;;
+ *)
+ dnl use the given --with-libssh spot
+ PREFIX_SSH=$OPT_LIBSSH
+ ;;
+ esac
+
+ dnl if given with a prefix, we set -L and -I based on that
+ if test -n "$PREFIX_SSH"; then
+ LIB_SSH="-lssh"
+ LD_SSH=-L${PREFIX_SSH}/lib$libsuff
+ CPP_SSH=-I${PREFIX_SSH}/include
+ DIR_SSH=${PREFIX_SSH}/lib$libsuff
+ fi
+
+ LDFLAGS="$LDFLAGS $LD_SSH"
+ CPPFLAGS="$CPPFLAGS $CPP_SSH"
+ LIBS="$LIB_SSH $LIBS"
+
+ AC_CHECK_LIB(ssh, ssh_new)
+
+ AC_CHECK_HEADERS(libssh/libssh.h,
+ curl_ssh_msg="enabled (libSSH)"
+ LIBSSH_ENABLED=1
+ AC_DEFINE(USE_LIBSSH, 1, [if libSSH is in use])
+ AC_SUBST(USE_LIBSSH, [1])
+ )
+
+ if test X"$OPT_LIBSSH" != Xoff &&
+ test "$LIBSSH_ENABLED" != "1"; then
+ AC_MSG_ERROR([libSSH libs and/or directories were not found where specified!])
+ fi
+
+ if test "$LIBSSH_ENABLED" = "1"; then
+ if test -n "$DIR_SSH"; then
+ dnl when the libssh shared libs were found in a path that the run-time
+ dnl linker doesn't search through, we need to add it to LD_LIBRARY_PATH
+ dnl to prevent further configure tests to fail due to this
+
+ if test "x$cross_compiling" != "xyes"; then
+ LD_LIBRARY_PATH="$LD_LIBRARY_PATH:$DIR_SSH"
+ export LD_LIBRARY_PATH
+ AC_MSG_NOTICE([Added $DIR_SSH to LD_LIBRARY_PATH])
+ fi
+ fi
+ else
+ dnl no libssh, revert back to clean variables
+ LDFLAGS=$CLEANLDFLAGS
+ CPPFLAGS=$CLEANCPPFLAGS
+ LIBS=$CLEANLIBS
+ fi
fi
dnl **********************************************************************
;;
*)
dnl use the given --with-librtmp spot
+ LIB_RTMP="-lrtmp"
PREFIX_RTMP=$OPT_LIBRTMP
;;
esac
AC_MSG_WARN([You need an ld version supporting the --version-script option])
else
AC_MSG_RESULT(yes)
- if test "x$OPENSSL_ENABLED" = "x1"; then
+ if test "x$CURL_WITH_MULTI_SSL" = "x1"; then
+ versioned_symbols_flavour="MULTISSL_"
+ elif test "x$OPENSSL_ENABLED" = "x1"; then
versioned_symbols_flavour="OPENSSL_"
elif test "x$GNUTLS_ENABLED" = "x1"; then
versioned_symbols_flavour="GNUTLS_"
clean_LDFLAGS="$LDFLAGS"
clean_LIBS="$LIBS"
WINIDN_LIBS="-lnormaliz"
+ WINIDN_CPPFLAGS="-DWINVER=0x0600"
#
if test "$want_winidn_path" != "default"; then
dnl path has been specified
WINIDN_DIR="$want_winidn_path/lib$libsuff"
fi
#
- CPPFLAGS="$WINIDN_CPPFLAGS $CPPFLAGS"
- LDFLAGS="$WINIDN_LDFLAGS $LDFLAGS"
+ CPPFLAGS="$CPPFLAGS $WINIDN_CPPFLAGS"
+ LDFLAGS="$LDFLAGS $WINIDN_LDFLAGS"
LIBS="$WINIDN_LIBS $LIBS"
#
AC_MSG_CHECKING([if IdnToUnicode can be linked])
AC_LINK_IFELSE([
- AC_LANG_FUNC_LINK_TRY([IdnToUnicode])
+ AC_LANG_PROGRAM([[
+ #include <windows.h>
+ ]],[[
+ IdnToUnicode(0, NULL, 0, NULL, 0);
+ ]])
],[
AC_MSG_RESULT([yes])
tst_links_winidn="yes"
AC_MSG_NOTICE([IDN_DIR: "$IDN_DIR"])
fi
#
- CPPFLAGS="$IDN_CPPFLAGS $CPPFLAGS"
- LDFLAGS="$IDN_LDFLAGS $LDFLAGS"
+ CPPFLAGS="$CPPFLAGS $IDN_CPPFLAGS"
+ LDFLAGS="$LDFLAGS $IDN_LDFLAGS"
LIBS="$IDN_LIBS $LIBS"
#
AC_MSG_CHECKING([if idn2_lookup_ul can be linked])
dnl http://publibn.boulder.ibm.com/doc_link/en_US/a_doc_lib/aixprggd/ \
dnl genprogc/thread_quick_ref.htm
+dnl **********************************************************************
+dnl Check for ICU-UC (IDN support)
+dnl **********************************************************************
+
+AC_MSG_CHECKING([whether to build with icu-uc])
+OPT_IDN="default"
+AC_ARG_WITH(icu-uc,
+AC_HELP_STRING([--with-icu-uc=PATH],[Enable icu-uc usage])
+AC_HELP_STRING([--without-icu-uc],[Disable icu-uc usage]),
+ [OPT_IDN=$withval])
+case "$OPT_IDN" in
+ no)
+ dnl --without-icu-uc option used
+ want_idn="no"
+ AC_MSG_RESULT([no])
+ ;;
+ default)
+ dnl configure option not specified
+ want_idn="yes"
+ want_idn_path="default"
+ AC_MSG_RESULT([(assumed) yes])
+ ;;
+ yes)
+ dnl --with-icu-uc option used without path
+ want_idn="yes"
+ want_idn_path="default"
+ AC_MSG_RESULT([yes])
+ ;;
+ *)
+ dnl --with-icu-uc option used with path
+ want_idn="yes"
+ want_idn_path="$withval"
+ AC_MSG_RESULT([yes ($withval)])
+ ;;
+esac
+
+if test "$want_idn" = "yes"; then
+ dnl idn library support has been requested
+ clean_CPPFLAGS="$CPPFLAGS"
+ clean_LDFLAGS="$LDFLAGS"
+ clean_LIBS="$LIBS"
+ PKGCONFIG="no"
+ #
+ if test "$want_idn_path" != "default"; then
+ dnl path has been specified
+ IDN_PCDIR="$want_idn_path/lib$libsuff/pkgconfig"
+ CURL_CHECK_PKGCONFIG(icu-uc, [$IDN_PCDIR])
+ if test "$PKGCONFIG" != "no"; then
+ IDN_LIBS=`CURL_EXPORT_PCDIR([$IDN_PCDIR]) dnl
+ $PKGCONFIG --libs-only-l icu-uc 2>/dev/null`
+ IDN_LDFLAGS=`CURL_EXPORT_PCDIR([$IDN_PCDIR]) dnl
+ $PKGCONFIG --libs-only-L icu-uc 2>/dev/null`
+ IDN_CPPFLAGS=`CURL_EXPORT_PCDIR([$IDN_PCDIR]) dnl
+ $PKGCONFIG --cflags-only-I icu-uc 2>/dev/null`
+ IDN_DIR=`echo $IDN_LDFLAGS | $SED -e 's/-L//'`
+ else
+ dnl pkg-config not available or provides no info
+ IDN_LIBS="-licu-uc"
+ IDN_LDFLAGS="-L$want_idn_path/lib$libsuff"
+ IDN_CPPFLAGS="-I$want_idn_path/include"
+ IDN_DIR="$want_idn_path/lib$libsuff"
+ fi
+ else
+ dnl path not specified
+ CURL_CHECK_PKGCONFIG(icu-uc)
+ if test "$PKGCONFIG" != "no"; then
+ IDN_LIBS=`$PKGCONFIG --libs-only-l icu-uc 2>/dev/null`
+ IDN_LDFLAGS=`$PKGCONFIG --libs-only-L icu-uc 2>/dev/null`
+ IDN_CPPFLAGS=`$PKGCONFIG --cflags-only-I icu-uc 2>/dev/null`
+ IDN_DIR=`echo $IDN_LDFLAGS | $SED -e 's/-L//'`
+ else
+ dnl pkg-config not available or provides no info
+ IDN_LIBS="-licu-uc"
+ fi
+ fi
+ #
+ if test "$PKGCONFIG" != "no"; then
+ AC_MSG_NOTICE([pkg-config: IDN_LIBS: "$IDN_LIBS"])
+ AC_MSG_NOTICE([pkg-config: IDN_LDFLAGS: "$IDN_LDFLAGS"])
+ AC_MSG_NOTICE([pkg-config: IDN_CPPFLAGS: "$IDN_CPPFLAGS"])
+ AC_MSG_NOTICE([pkg-config: IDN_DIR: "$IDN_DIR"])
+ else
+ AC_MSG_NOTICE([IDN_LIBS: "$IDN_LIBS"])
+ AC_MSG_NOTICE([IDN_LDFLAGS: "$IDN_LDFLAGS"])
+ AC_MSG_NOTICE([IDN_CPPFLAGS: "$IDN_CPPFLAGS"])
+ AC_MSG_NOTICE([IDN_DIR: "$IDN_DIR"])
+ fi
+ #
+ CPPFLAGS="$IDN_CPPFLAGS $CPPFLAGS"
+ LDFLAGS="$IDN_LDFLAGS $LDFLAGS"
+ LIBS="$IDN_LIBS $LIBS"
+ #
+ AC_MSG_CHECKING([if uidna_nameToASCII_UTF8 can be linked])
+ AC_LINK_IFELSE([
+ AC_LANG_FUNC_LINK_TRY([uidna_nameToASCII_UTF8])
+ ],[
+ AC_MSG_RESULT([yes])
+ tst_links_icu="yes"
+ ],[
+ AC_MSG_RESULT([no])
+ tst_links_icu="no"
+ ])
+ #
+ if test "$tst_links_icu" = "yes"; then
+ AC_DEFINE(USE_ICU_IDNA, 1, [Define to 1 if you have the `icu-uc' library (-licu-uc).])
+ dnl different versions of libidn have different setups of these:
+
+ AC_SUBST([IDN_ENABLED], [1])
+ curl_idn_msg="enabled (icu-uc)"
+ if test -n "$IDN_DIR" -a "x$cross_compiling" != "xyes"; then
+ LD_LIBRARY_PATH="$LD_LIBRARY_PATH:$IDN_DIR"
+ export LD_LIBRARY_PATH
+ AC_MSG_NOTICE([Added $IDN_DIR to LD_LIBRARY_PATH])
+ fi
+ else
+ AC_MSG_WARN([Cannot find libraries for IDN support: IDN disabled])
+ CPPFLAGS="$clean_CPPFLAGS"
+ LDFLAGS="$clean_LDFLAGS"
+ LIBS="$clean_LIBS"
+ fi
+
+fi
+
+dnl Let's hope this split URL remains working:
+dnl http://publibn.boulder.ibm.com/doc_link/en_US/a_doc_lib/aixprggd/ \
+dnl genprogc/thread_quick_ref.htm
+
+dnl **********************************************************************
+dnl Check for DLP
+dnl **********************************************************************
+
+AC_ARG_ENABLE([dlp],
+ AS_HELP_STRING([--enable-dlp], [Enable DLP usage]))
+
+AS_IF([test "x$enable_dlp" = "xyes"], [
+ CPPFLAGS+=" -DUSE_TIZEN_FEATURE_DLP"
+])
+
+AM_CONDITIONAL(USE_TIZEN_FEATURE_DLP, test "x$enable_dlp" = "xyes")
+
dnl **********************************************************************
dnl Check for nghttp2
dnl **********************************************************************
OPT_H2="yes"
+
+if test "x$disable_http" = "xyes"; then
+ # without HTTP, nghttp2 is no use
+ OPT_H2="no"
+fi
+
AC_ARG_WITH(nghttp2,
AC_HELP_STRING([--with-nghttp2=PATH],[Enable nghttp2 usage])
AC_HELP_STRING([--without-nghttp2],[Disable nghttp2 usage]),
assert.h \
unistd.h \
stdlib.h \
- limits.h \
arpa/inet.h \
net/if.h \
netinet/in.h \
+ netinet/in6.h \
sys/un.h \
+ linux/tcp.h \
netinet/tcp.h \
netdb.h \
sys/sockio.h \
#ifdef HAVE_NETINET_IN_H
#include <netinet/in.h>
#endif
+#ifdef HAVE_NETINET_IN6_H
+#include <netinet/in6.h>
+#endif
#ifdef HAVE_SYS_UN_H
#include <sys/un.h>
#endif
AC_CHECK_SIZEOF(long)
AC_CHECK_SIZEOF(int)
AC_CHECK_SIZEOF(short)
-CURL_CONFIGURE_LONG
AC_CHECK_SIZEOF(time_t)
AC_CHECK_SIZEOF(off_t)
-soname_bump=no
-if test x"$curl_cv_native_windows" != "xyes" &&
- test $ac_cv_sizeof_off_t -ne $curl_sizeof_curl_off_t; then
- AC_MSG_WARN([This libcurl built is probably not ABI compatible with previous])
- AC_MSG_WARN([builds! You MUST read lib/README.curl_off_t to figure it out.])
- soname_bump=yes
-fi
-
+o=$CPPFLAGS
+CPPFLAGS="-I$srcdir/include $CPPFLAGS"
+AC_CHECK_SIZEOF(curl_off_t, unused , [
+#include <curl/system.h>
+])
+CPPFLAGS=$o
AC_CHECK_TYPE(long long,
[AC_DEFINE(HAVE_LONGLONG, 1,
#endif
])
+AC_MSG_CHECKING([if time_t is unsigned])
+AC_RUN_IFELSE([
+ AC_LANG_SOURCE([[
+ #include <time.h>
+ #include <limits.h>
+ time_t t = -1;
+ return (t > 0);
+ ]])] ,[
+ AC_MSG_RESULT([yes])
+ AC_DEFINE(HAVE_TIME_T_UNSIGNED, 1, [Define this if time_t is unsigned])
+],[
+ AC_MSG_RESULT([no])
+],[
+ dnl cross-compiling, most systems are unsigned
+ AC_MSG_RESULT([no])
+])
+
CURL_CONFIGURE_CURL_SOCKLEN_T
CURL_CONFIGURE_PULL_SYS_POLL
;;
esac
-AC_CHECK_FUNCS([fork \
- geteuid \
+AC_CHECK_FUNCS([geteuid \
getpass_r \
getppid \
- getprotobyname \
getpwuid \
getpwuid_r \
getrlimit \
gettimeofday \
if_nametoindex \
- inet_addr \
- perror \
+ mach_absolute_time \
pipe \
setlocale \
setmode \
setrlimit \
- uname \
- utime
+ utime \
+ utimes
],[
],[
func="$ac_func"
fi
AM_CONDITIONAL(BUILD_LIBHOSTNAME, test x$build_libhostname = xyes)
-CURL_CHECK_OPTION_THREADED_RESOLVER
-
-if test "x$want_thres" = xyes && test "x$want_ares" = xyes; then
- AC_MSG_ERROR(
-[Options --enable-threaded-resolver and --enable-ares are mutually exclusive])
+if test "x$want_ares" != xyes; then
+ CURL_CHECK_OPTION_THREADED_RESOLVER
fi
dnl ************************************************************
want_pthreads=auto
]
)
-if test "$want_thres" = "yes" && test "$dontwant_rt" = "no" && \
- test "$want_pthreads" != "no"; then
+
+dnl turn off pthreads if rt is disabled
+if test "$want_pthreads" != "no"; then
+ if test "$want_pthreads" = "yes" && test "$dontwant_rt" = "yes"; then
+ AC_MSG_ERROR([options --enable-pthreads and --disable-rt are mutually exclusive])
+ fi
+ if test "$dontwant_rt" != "no"; then
+ dnl if --enable-pthreads was explicit then warn it's being ignored
+ if test "$want_pthreads" = "yes"; then
+ AC_MSG_WARN([--enable-pthreads Ignored since librt is disabled.])
+ fi
+ want_pthreads=no
+ fi
+fi
+
+dnl turn off pthreads if no threaded resolver
+if test "$want_pthreads" != "no" && test "$want_thres" != "yes"; then
+ want_pthreads=no
+fi
+
+dnl detect pthreads
+if test "$want_pthreads" != "no"; then
AC_CHECK_HEADER(pthread.h,
[ AC_DEFINE(HAVE_PTHREAD_H, 1, [if you have <pthread.h>])
save_CFLAGS="$CFLAGS"
fi
])
fi
-if test "x$USE_THREADS_POSIX" != "x1"; then
+
+dnl threaded resolver check
+if test "$want_thres" = "yes" && test "x$USE_THREADS_POSIX" != "x1"; then
if test "$want_pthreads" = "yes"; then
AC_MSG_ERROR([--enable-pthreads but pthreads was not found])
fi
- if test "$want_thres" = "yes"; then
- dnl If native Windows fallback on Win32 threads since no POSIX threads
- if test "$curl_cv_native_windows" = "yes"; then
- USE_THREADS_WIN32=1
- AC_DEFINE(USE_THREADS_WIN32, 1, [if you want Win32 threaded DNS lookup])
- curl_res_msg="Win32 threaded"
- else
- AC_MSG_ERROR([Threaded resolver enabled but no thread library found])
- fi
+ dnl If native Windows fallback on Win32 threads since no POSIX threads
+ if test "$curl_cv_native_windows" = "yes"; then
+ USE_THREADS_WIN32=1
+ AC_DEFINE(USE_THREADS_WIN32, 1, [if you want Win32 threaded DNS lookup])
+ curl_res_msg="Win32 threaded"
+ else
+ AC_MSG_ERROR([Threaded resolver enabled but no thread library found])
fi
fi
-
dnl ************************************************************
dnl disable verbose text strings
dnl
dnl
CURL_CONFIGURE_SYMBOL_HIDING
-dnl ************************************************************
-dnl enforce SONAME bump
-dnl
-
-AC_MSG_CHECKING([whether to enforce SONAME bump])
-AC_ARG_ENABLE(soname-bump,
-AC_HELP_STRING([--enable-soname-bump],[Enable enforced SONAME bump])
-AC_HELP_STRING([--disable-soname-bump],[Disable enforced SONAME bump]),
-[ case "$enableval" in
- yes) AC_MSG_RESULT(yes)
- soname_bump=yes
- ;;
- *)
- AC_MSG_RESULT(no)
- ;;
- esac ],
- AC_MSG_RESULT($soname_bump)
-)
-AM_CONDITIONAL(SONAME_BUMP, test x$soname_bump = xyes)
-
dnl
dnl All the library dependencies put into $LIB apply to libcurl only.
dnl
if test "x$HAVE_LIBZ" = "x1"; then
SUPPORT_FEATURES="$SUPPORT_FEATURES libz"
fi
+if test "x$HAVE_BROTLI" = "x1"; then
+ SUPPORT_FEATURES="$SUPPORT_FEATURES brotli"
+fi
if test "x$USE_ARES" = "x1" -o "x$USE_THREADS_POSIX" = "x1" \
-o "x$USE_THREADS_WIN32" = "x1"; then
SUPPORT_FEATURES="$SUPPORT_FEATURES AsynchDNS"
SUPPORT_FEATURES="$SUPPORT_FEATURES HTTP2"
fi
+if test "x$CURL_WITH_MULTI_SSL" = "x1"; then
+ SUPPORT_FEATURES="$SUPPORT_FEATURES MultiSSL"
+fi
+
if test "x$OPENSSL_ENABLED" = "x1" -o "x$GNUTLS_ENABLED" = "x1" \
-o "x$NSS_ENABLED" = "x1"; then
SUPPORT_FEATURES="$SUPPORT_FEATURES HTTPS-proxy"
SUPPORT_PROTOCOLS="$SUPPORT_PROTOCOLS SCP"
SUPPORT_PROTOCOLS="$SUPPORT_PROTOCOLS SFTP"
fi
+if test "x$USE_LIBSSH" = "x1"; then
+ SUPPORT_PROTOCOLS="$SUPPORT_PROTOCOLS SCP"
+ SUPPORT_PROTOCOLS="$SUPPORT_PROTOCOLS SFTP"
+fi
if test "x$CURL_DISABLE_RTSP" != "x1"; then
SUPPORT_PROTOCOLS="$SUPPORT_PROTOCOLS RTSP"
fi
XC_CHECK_BUILD_FLAGS
+SSL_BACKENDS=${ssl_backends}
+AC_SUBST(SSL_BACKENDS)
+
if test "x$want_curldebug_assumed" = "xyes" &&
test "x$want_curldebug" = "xyes" && test "x$USE_ARES" = "x1"; then
ac_configure_args="$ac_configure_args --enable-curldebug"
include/curl/Makefile \
src/Makefile \
lib/Makefile \
+ extensions/Makefile \
scripts/Makefile \
lib/libcurl.vers \
tests/Makefile \
SSL support: ${curl_ssl_msg}
SSH support: ${curl_ssh_msg}
zlib support: ${curl_zlib_msg}
+ brotli support: ${curl_brotli_msg}
GSS-API support: ${curl_gss_msg}
TLS-SRP support: ${curl_tls_srp_msg}
resolver: ${curl_res_msg}
HTTP2 support: ${curl_h2_msg}
Protocols: ${SUPPORT_PROTOCOLS}
])
-
-if test "x$soname_bump" = "xyes"; then
-
-cat <<EOM
- SONAME bump: yes - WARNING: this library will be built with the SONAME
- number bumped due to (a detected) ABI breakage.
- See lib/README.curl_off_t for details on this.
-EOM
-
-fi
-