diff options
author | nikita <nikita@NetBSD.org> | 2021-01-13 00:53:52 +0100 |
---|---|---|
committer | nikita <nikita@NetBSD.org> | 2021-01-13 00:53:52 +0100 |
commit | 5b9f8acdda96cbaf7ec070db3ae9bdbe2a42f8eb (patch) | |
tree | d69e840805484efba1885154b855bf93409248cb /configure.ac | |
parent | 7bd28f37397837d72302550e43d95060413e9eb8 (diff) | |
parent | e052859759b34d0e05ce0f17244873e5cd7b457b (diff) | |
download | gnurl-5b9f8acdda96cbaf7ec070db3ae9bdbe2a42f8eb.tar.gz gnurl-5b9f8acdda96cbaf7ec070db3ae9bdbe2a42f8eb.tar.bz2 gnurl-5b9f8acdda96cbaf7ec070db3ae9bdbe2a42f8eb.zip |
Merge tag 'curl-7_74_0'
7.74.0
Diffstat (limited to 'configure.ac')
-rwxr-xr-x | configure.ac | 181 |
1 files changed, 127 insertions, 54 deletions
diff --git a/configure.ac b/configure.ac index fb8fe15df..66b4e6635 100755 --- a/configure.ac +++ b/configure.ac @@ -9,7 +9,7 @@ # # This software is licensed as described in the file COPYING, which # you should have received as part of this distribution. The terms -# are also available at https://curl.haxx.se/docs/copyright.html. +# are also available at https://curl.se/docs/copyright.html. # # You may opt to use, copy, modify, merge, publish, distribute and/or sell # copies of the Software, and permit persons to whom the Software is @@ -24,7 +24,7 @@ dnl Process this file with autoconf to produce a configure script. AC_PREREQ(2.57) dnl We don't know the version number "statically" so we use a dash here -AC_INIT([gnurl], [-], [a suitable curl mailing list: https://curl.haxx.se/mail/]) +AC_INIT([gnurl], [-], [a suitable curl mailing list: https://curl.se/mail/]) XC_OVR_ZZ50 XC_OVR_ZZ60 @@ -49,7 +49,7 @@ CURL_CHECK_OPTION_CURLDEBUG CURL_CHECK_OPTION_SYMBOL_HIDING CURL_CHECK_OPTION_ARES CURL_CHECK_OPTION_RT -CURL_CHECK_OPTION_ESNI +CURL_CHECK_OPTION_ECH XC_CHECK_PATH_SEPARATOR @@ -136,7 +136,7 @@ AC_SUBST(VERSIONNUM) dnl Solaris pkgadd support definitions PKGADD_PKG="HAXXcurl" PKGADD_NAME="curl - a client that groks URLs" -PKGADD_VENDOR="curl.haxx.se" +PKGADD_VENDOR="curl.se" AC_SUBST(PKGADD_PKG) AC_SUBST(PKGADD_NAME) AC_SUBST(PKGADD_VENDOR) @@ -192,6 +192,12 @@ AS_IF([test "x$valgrind" = "xno"], [Running tests with valgrind]) valgrind_msg="yes"]) +# curl_altsvc_msg="enabled"; +# ssl_backends= +# +# +# enable_altsvc="yes" + dnl dnl Save some initial values the user might have provided dnl @@ -410,6 +416,10 @@ AC_HELP_STRING([--disable-http],[Disable HTTP support]), AC_SUBST(CURL_DISABLE_HTTP, [1]) AC_DEFINE(CURL_DISABLE_RTSP, 1, [to disable RTSP]) AC_SUBST(CURL_DISABLE_RTSP, [1]) + dnl toggle off alt-svc too when HTTP is disabled + AC_DEFINE(CURL_DISABLE_ALTSVC, 1, [disable alt-svc]) + curl_altsvc_msg="no"; + enable_altsvc="no" ;; *) AC_MSG_RESULT(yes) ;; @@ -545,6 +555,7 @@ AC_HELP_STRING([--disable-proxy],[Disable proxy support]), AC_MSG_RESULT(no) AC_DEFINE(CURL_DISABLE_PROXY, 1, [to disable proxies]) AC_SUBST(CURL_DISABLE_PROXY, [1]) + https_proxy="no" ;; *) AC_MSG_RESULT(yes) ;; @@ -726,11 +737,10 @@ AC_HELP_STRING([--disable-mqtt],[Disable MQTT support]), [ case "$enableval" in no) AC_MSG_RESULT(no) + AC_DEFINE(CURL_DISABLE_MQTT, 1, [to disable MQTT]) + AC_SUBST(CURL_DISABLE_MQTT, [1]) ;; *) AC_MSG_RESULT(yes) - experimental="$experimental MQTT" - AC_DEFINE(CURL_ENABLE_MQTT, 1, [to enable MQTT]) - AC_SUBST(CURL_ENABLE_MQTT, [1]) ;; esac ], AC_MSG_RESULT(no) @@ -937,14 +947,14 @@ then ]) fi -if test "$HAVE_GETHOSTBYNAME" != "1" +if test "$HAVE_GETHOSTBYNAME" != "1" -o "${with_amissl+set}" = set then dnl This is for AmigaOS with bsdsocket.library - needs testing before -lnet AC_MSG_CHECKING([for gethostbyname for AmigaOS bsdsocket.library]) AC_LINK_IFELSE([ AC_LANG_PROGRAM([[ -#include <proto/bsdsocket.h> -struct Library *SocketBase = NULL; + #include <proto/bsdsocket.h> + struct Library *SocketBase = NULL; ]],[[ gethostbyname("www.dummysite.com"); ]]) @@ -1832,20 +1842,14 @@ if test -z "$ssl_backends" -o "x$OPT_SSL" != xno && yes) AC_MSG_ERROR([You must not build gnurl with OpenSSL, use --without-ssl!]) dnl --with-ssl (without path) used - if test x$cross_compiling != xyes; then - dnl only do pkg-config magic when not cross-compiling - PKGTEST="yes" - fi + PKGTEST="yes" PREFIX_OPENSSL=/usr/local/ssl LIB_OPENSSL="$PREFIX_OPENSSL/lib$libsuff" ;; off) AC_MSG_ERROR([You must not build gnurl with OpenSSL, use --without-ssl!]) dnl no --with-ssl option given, just check default places - if test x$cross_compiling != xyes; then - dnl only do pkg-config magic when not cross-compiling - PKGTEST="yes" - fi + PKGTEST="yes" PREFIX_OPENSSL= ;; *) @@ -2561,8 +2565,12 @@ if test -z "$ssl_backends" -o "x$OPT_WOLFSSL" != xno; then AC_DEFINE(HAVE_WOLFSSL_DES_ECB_ENCRYPT, 1, [if you have wolfSSL_DES_ecb_encrypt]) if test -n "$addcflags"; then - CPPFLAGS="$addcflags/wolfssl $CPPFLAGS" - AC_MSG_NOTICE([Add $addcflags/wolfssl to CPPFLAGS]) + dnl use a for loop to strip off whitespace + for f in $addcflags; do + CPPFLAGS="$f/wolfssl $CPPFLAGS" + AC_MSG_NOTICE([Add $f/wolfssl to CPPFLAGS]) + break + done else dnl user didn't give a path, so guess/hope they installed wolfssl dnl headers to system default location @@ -3136,7 +3144,8 @@ if test X"$OPT_LIBSSH2" != Xno; then CPPFLAGS="$CPPFLAGS $CPP_SSH2" LIBS="$LIB_SSH2 $LIBS" - AC_CHECK_LIB(ssh2, libssh2_channel_open_ex) + dnl check for function added in libssh2 version 1.0 + AC_CHECK_LIB(ssh2, libssh2_session_block_directions) AC_CHECK_HEADERS(libssh2.h, curl_ssh_msg="enabled (libSSH2)" @@ -3643,7 +3652,7 @@ case "$OPT_H2" in ;; esac -curl_h2_msg="disabled (--with-nghttp2)" +curl_h2_msg="no (--with-nghttp2)" if test X"$want_h2" != Xno; then dnl backup the pre-nghttp2 variables CLEANLDFLAGS="$LDFLAGS" @@ -3702,7 +3711,7 @@ dnl Check for ngtcp2 (QUIC) dnl ********************************************************************** OPT_TCP2="yes" -curl_h3_msg="disabled (--with-ngtcp2, --with-quiche)" +curl_h3_msg="no (--with-ngtcp2, --with-quiche)" if test "x$disable_http" = "xyes"; then # without HTTP, ngtcp2 is no use @@ -3730,7 +3739,7 @@ case "$OPT_TCP2" in ;; esac -curl_tcp2_msg="disabled (--with-ngtcp2)" +curl_tcp2_msg="no (--with-ngtcp2)" if test X"$want_tcp2" != Xno; then dnl backup the pre-ngtcp2 variables CLEANLDFLAGS="$LDFLAGS" @@ -3929,7 +3938,7 @@ case "$OPT_NGHTTP3" in ;; esac -curl_http3_msg="disabled (--with-nghttp3)" +curl_http3_msg="no (--with-nghttp3)" if test X"$want_nghttp3" != Xno; then dnl backup the pre-nghttp3 variables CLEANLDFLAGS="$LDFLAGS" @@ -4601,6 +4610,8 @@ if test "$want_pthreads" != "no"; then if test "$USE_THREADS_POSIX" != "1" then CFLAGS="$CFLAGS -pthread" + # assign PTHREAD for pkg-config use + PTHREAD=" -pthread" AC_CHECK_LIB(pthread, pthread_create, [USE_THREADS_POSIX=1], [ CFLAGS="$save_CFLAGS"]) @@ -4787,6 +4798,24 @@ AC_HELP_STRING([--disable-cookies],[Disable cookies support]), ) dnl ************************************************************ +dnl disable socketpair +dnl +AC_MSG_CHECKING([whether to support socketpair]) +AC_ARG_ENABLE(socketpair, +AC_HELP_STRING([--enable-socketpair],[Enable socketpair support]) +AC_HELP_STRING([--disable-socketpair],[Disable socketpair support]), +[ case "$enableval" in + no) + AC_MSG_RESULT(no) + AC_DEFINE(CURL_DISABLE_SOCKETPAIR, 1, [to disable socketpair support]) + ;; + *) AC_MSG_RESULT(yes) + ;; + esac ], + AC_MSG_RESULT(yes) +) + +dnl ************************************************************ dnl disable HTTP authentication support dnl AC_MSG_CHECKING([whether to support HTTP authentication]) @@ -4913,9 +4942,26 @@ AC_HELP_STRING([--disable-dnsshuffle],[Disable DNS shuffling]), ) dnl ************************************************************ +dnl disable the curl_easy_options API +dnl +AC_MSG_CHECKING([whether to support curl_easy_option*]) +AC_ARG_ENABLE(get-easy-option, +AC_HELP_STRING([--enable-get-easy-options],[Enable curl_easy_options]) +AC_HELP_STRING([--disable-get-easy-options],[Disable curl_easy_options]), +[ case "$enableval" in + no) + AC_MSG_RESULT(no) + AC_DEFINE(CURL_DISABLE_GETOPTIONS, 1, [to disable curl_easy_options]) + ;; + *) AC_MSG_RESULT(yes) + ;; + esac ], + AC_MSG_RESULT(yes) +) + +dnl ************************************************************ dnl switch on/off alt-svc dnl -curl_altsvc_msg="no (--enable-alt-svc)"; AC_MSG_CHECKING([whether to support alt-svc]) AC_ARG_ENABLE(alt-svc, AC_HELP_STRING([--enable-alt-svc],[Enable alt-svc support]) @@ -4923,47 +4969,68 @@ AC_HELP_STRING([--disable-alt-svc],[Disable alt-svc support]), [ case "$enableval" in no) AC_MSG_RESULT(no) + AC_DEFINE(CURL_DISABLE_ALTSVC, 1, [disable alt-svc]) + curl_altsvc_msg="no"; + enable_altsvc="no" + ;; + *) AC_MSG_RESULT(yes) + ;; + esac ], + AC_MSG_RESULT(no) +) + +dnl ************************************************************ +dnl switch on/off hsts +dnl +curl_hsts_msg="no (--enable-hsts)"; +AC_MSG_CHECKING([whether to support HSTS]) +AC_ARG_ENABLE(hsts, +AC_HELP_STRING([--enable-hsts],[Enable HSTS support]) +AC_HELP_STRING([--disable-hsts],[Disable HSTS support]), +[ case "$enableval" in + no) + AC_MSG_RESULT(no) ;; *) AC_MSG_RESULT(yes) - curl_altsvc_msg="enabled"; - enable_altsvc="yes" + curl_hsts_msg="enabled"; + enable_hsts="yes" ;; esac ], AC_MSG_RESULT(no) ) -if test "$enable_altsvc" = "yes"; then - AC_DEFINE(USE_ALTSVC, 1, [to enable alt-svc]) - experimental="$experimental alt-svc" +if test "$enable_hsts" = "yes"; then + AC_DEFINE(USE_HSTS, 1, [to enable HSTS]) + experimental="$experimental HSTS" fi dnl ************************************************************* -dnl check whether ESNI support, if desired, is actually available +dnl check whether ECH support, if desired, is actually available dnl -if test "x$want_esni" != "xno"; then - AC_MSG_CHECKING([whether ESNI support is available]) +if test "x$want_ech" != "xno"; then + AC_MSG_CHECKING([whether ECH support is available]) dnl assume NOT and look for sufficient condition - ESNI_ENABLED=0 - ESNI_SUPPORT='' + ECH_ENABLED=0 + ECH_SUPPORT='' - dnl OpenSSL with a chosen ESNI function should be enough + dnl OpenSSL with a chosen ECH function should be enough dnl so more exhaustive checking seems unnecessary for now if test "x$OPENSSL_ENABLED" = "x1"; then - AC_CHECK_FUNCS(SSL_get_esni_status, - ESNI_SUPPORT="ESNI support available (OpenSSL with SSL_get_esni_status)" - ESNI_ENABLED=1) + AC_CHECK_FUNCS(SSL_get_ech_status, + ECH_SUPPORT="ECH support available (OpenSSL with SSL_get_ech_status)" + ECH_ENABLED=1) dnl add 'elif' chain here for additional implementations fi dnl now deal with whatever we found - if test "x$ESNI_ENABLED" = "x1"; then - AC_DEFINE(USE_ESNI, 1, [if ESNI support is available]) - AC_MSG_RESULT($ESNI_SUPPORT) - experimental="$experimental ESNI" + if test "x$ECH_ENABLED" = "x1"; then + AC_DEFINE(USE_ECH, 1, [if ECH support is available]) + AC_MSG_RESULT($ECH_SUPPORT) + experimental="$experimental ECH" else - AC_MSG_ERROR([--enable-esni ignored: No ESNI support found]) + AC_MSG_ERROR([--enable-ech ignored: No ECH support found]) fi fi @@ -4975,7 +5042,7 @@ CURL_CONFIGURE_SYMBOL_HIDING dnl dnl All the library dependencies put into $LIB apply to libcurl only. dnl -LIBCURL_LIBS=$LIBS +LIBCURL_LIBS="$LIBS$PTHREAD" AC_SUBST(LIBCURL_LIBS) AC_SUBST(CURL_NETWORK_LIBS) @@ -5053,6 +5120,9 @@ fi if test "x$enable_altsvc" = "xyes"; then SUPPORT_FEATURES="$SUPPORT_FEATURES alt-svc" fi +if test "x$enable_hsts" = "xyes"; then + SUPPORT_FEATURES="$SUPPORT_FEATURES HSTS" +fi if test "x$CURL_DISABLE_CRYPTO_AUTH" != "x1" -a \ \( "x$HAVE_GSSAPI" = "x1" -o "x$USE_WINDOWS_SSPI" = "x1" \); then @@ -5094,13 +5164,16 @@ 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" +dnl if not explictily turned off, HTTPS-proxy comes with some TLS backends +if test "x$https_proxy" != "xno"; then + if test "x$OPENSSL_ENABLED" = "x1" -o "x$GNUTLS_ENABLED" = "x1" \ + -o "x$NSS_ENABLED" = "x1"; then + SUPPORT_FEATURES="$SUPPORT_FEATURES HTTPS-proxy" + fi fi -if test "x$ESNI_ENABLED" = "x1"; then - SUPPORT_FEATURES="$SUPPORT_FEATURES ESNI" +if test "x$ECH_ENABLED" = "x1"; then + SUPPORT_FEATURES="$SUPPORT_FEATURES ECH" fi dnl replace spaces with newlines @@ -5146,7 +5219,7 @@ fi if test "x$CURL_DISABLE_GOPHER" != "x1"; then SUPPORT_PROTOCOLS="$SUPPORT_PROTOCOLS GOPHER" fi -if test "x$CURL_ENABLE_MQTT" = "x1"; then +if test "x$CURL_DISABLE_MQTT" != "x1"; then SUPPORT_PROTOCOLS="$SUPPORT_PROTOCOLS MQTT" fi if test "x$CURL_DISABLE_POP3" != "x1"; then @@ -5163,7 +5236,7 @@ if test "x$CURL_DISABLE_IMAP" != "x1"; then fi if test "x$CURL_DISABLE_SMB" != "x1" \ -a "x$CURL_DISABLE_CRYPTO_AUTH" != "x1" \ - -a \( "x$OPENSSL_ENABLED" = "x1" -o "x$USE_WINDOWS_SSPI" = "x1" \ + -a \( "x$OPENSSL_ENABLED" = "x1" \ -o "x$GNUTLS_ENABLED" = "x1" -o "x$MBEDTLS_ENABLED" = "x1" \ -o "x$NSS_ENABLED" = "x1" -o "x$SECURETRANSPORT_ENABLED" = "x1" \ -o "x$WOLFSSL_NTLM" = "x1" \); then @@ -5298,7 +5371,7 @@ AC_MSG_NOTICE([Configured to build gnurl/libgnurl: Alt-svc: ${curl_altsvc_msg} HTTP2: ${curl_h2_msg} HTTP3: ${curl_h3_msg} - ESNI: ${curl_esni_msg} + ECH: ${curl_ech_msg} Protocols: ${SUPPORT_PROTOCOLS} Features: ${SUPPORT_FEATURES} valgrind tests: ${valgrind_msg} |