Lines Matching +full:- +full:- +full:enable +full:- +full:lib +full:- +full:only
21 # SPDX-License-Identifier: curl
29 AC_INIT([curl], [-], [a suitable curl mailing list: https://curl.se/mail/])
40 AC_CONFIG_SRCDIR([lib/urldata.h])
41 AC_CONFIG_HEADERS(lib/curl_config.h)
67 if test -z "$SED"; then
71 if test -z "$SED" || test "$SED" = "not_found"; then
79 if test -z "$GREP"; then
83 if test -z "$GREP" || test "$GREP" = "not_found"; then
89 dnl 'grep -E' is mandatory for configure process and libtool.
91 if test -z "$EGREP"; then
93 AC_MSG_CHECKING([that grep -E works])
94 if echo a | ($GREP -E '(a|b)') >/dev/null 2>&1; then
95 EGREP="$GREP -E"
103 if test -z "$EGREP" || test "$EGREP" = "not_found"; then
104 AC_MSG_ERROR([grep -E is not working and egrep is not found in PATH. Cannot continue.])
110 if test -z "$AR"; then
114 if test -z "$AR" || test "$AR" = "not_found"; then
123 CURLVERSION=`$SED -ne 's/^#define LIBCURL_VERSION "\(.*\)".*/\1/p' ${srcdir}/include/curl/curlver.h`
127 dnl for --enable-code-coverage
137 dnl we extract the numerical version for curl-config only
138 VERSIONNUM=`$SED -ne 's/^#define LIBCURL_VERSION_NUM 0x\([0-9A-Fa-f]*\).*/\1/p' ${srcdir}/include/c…
143 PKGADD_NAME="curl - a client that groks URLs"
151 …curl_ssl_msg="no (--with-{openssl,gnutls,mbedtls,wolfssl,schannel,secure-transport,amissl,bea…
152 curl_ssh_msg="no (--with-{libssh,libssh2})"
153 curl_zlib_msg="no (--with-zlib)"
154 curl_brotli_msg="no (--with-brotli)"
155 curl_zstd_msg="no (--with-zstd)"
156 curl_gss_msg="no (--with-gssapi)"
157 curl_gsasl_msg="no (--with-gsasl)"
158 curl_tls_srp_msg="no (--enable-tls-srp)"
159 curl_res_msg="default (--enable-ares / --enable-threaded-resolver)"
160 curl_ipv6_msg="no (--enable-ipv6)"
161 curl_unix_sockets_msg="no (--enable-unix-sockets)"
162 curl_idn_msg="no (--with-{libidn2,winidn})"
163 curl_docs_msg="enabled (--disable-docs)"
164 curl_manual_msg="no (--enable-manual)"
165 curl_libcurl_msg="enabled (--disable-libcurl-option)"
166 curl_verbose_msg="enabled (--disable-verbose)"
167 curl_sspi_msg="no (--enable-sspi)"
168 curl_ldap_msg="no (--enable-ldap / --with-ldap-lib / --with-lber-lib)"
169 curl_ldaps_msg="no (--enable-ldaps)"
170 curl_rtsp_msg="no (--enable-rtsp)"
171 curl_rtmp_msg="no (--with-librtmp)"
172 curl_psl_msg="no (--with-libpsl)"
173 curl_altsvc_msg="enabled (--disable-alt-svc)"
174 curl_headers_msg="enabled (--disable-headers-api)"
175 curl_hsts_msg="enabled (--disable-hsts)"
176 curl_ws_msg="no (--enable-websockets)"
179 curl_h2_msg="no (--with-nghttp2)"
180 …curl_h3_msg="no (--with-ngtcp2 --with-nghttp3, --with-quiche, --with-openssl-quic, --with-msh…
194 dnl something different but only have that affect the execution of the results
197 compilersh="run-compiler"
216 AS_HELP_STRING([--with-schannel],[enable Windows native SSL/TLS]),
221 AC_ARG_WITH(secure-transport,dnl
222 AS_HELP_STRING([--with-secure-transport],[enable Apple OS native SSL/TLS]),[
224 TLSCHOICE="${TLSCHOICE:+$TLSCHOICE, }Secure-Transport"
229 AS_HELP_STRING([--with-amissl],[enable Amiga native SSL/TLS (AmiSSL)]),[
238 AS_HELP_STRING([--with-ssl=PATH],[old version of --with-openssl])
239 AS_HELP_STRING([--without-ssl], [build without any TLS library]),[
250 AS_HELP_STRING([--with-openssl=PATH],[Where to look for OpenSSL, PATH points to the SSL installatio…
259 AS_HELP_STRING([--with-gnutls=PATH],[where to look for GnuTLS, PATH points to the installation root…
268 AS_HELP_STRING([--with-mbedtls=PATH],[where to look for mbedTLS, PATH points to the installation ro…
277 AS_HELP_STRING([--with-wolfssl=PATH],[where to look for WolfSSL, PATH points to the installation ro…
286 AS_HELP_STRING([--with-bearssl=PATH],[where to look for BearSSL, PATH points to the installation ro…
295 AS_HELP_STRING([--with-rustls=PATH],[where to look for rustls, PATH points to the installation root…
304 AC_ARG_WITH(test-nghttpx,dnl
305 AS_HELP_STRING([--with-test-nghttpx=PATH],[where to find nghttpx for testing]),
314 AC_ARG_WITH(test-caddy,dnl
315 AS_HELP_STRING([--with-test-caddy=PATH],[where to find caddy for testing]),
324 AC_ARG_WITH(test-vsftpd,dnl
325 AS_HELP_STRING([--with-test-vsftpd=PATH],[where to find vsftpd for testing]),
336 AC_ARG_WITH(test-httpd, [AS_HELP_STRING([--with-test-httpd=PATH],
339 if test x"$request_httpd" = "xcheck" -o x"$request_httpd" = "xyes"; then
340 if test -x "/usr/sbin/apache2" -a -x "/usr/sbin/apache2ctl"; then
346 AC_MSG_NOTICE([apache2-dev not installed, httpd tests disabled])
356 if test "x$HTTPD" = "x" -o "x$APACHECTL" = "x"; then
369 if test ! -x "${HTTPD}"; then
372 elif test ! -x "${APACHECTL}"; then
375 elif test ! -x "${APXS}"; then
392 if test "x$TEST_NGHTTPX" != "x" -a "x$TEST_NGHTTPX" != "xnghttpx"; then
410 if test -z "$TLSCHOICE"; then
412 AC_MSG_ERROR([select TLS backend(s) or disable TLS with --without-ssl.
416 --with-amissl
417 --with-bearssl
418 --with-gnutls
419 --with-mbedtls
420 --with-openssl (also works for BoringSSL and libressl)
421 --with-rustls
422 --with-schannel
423 --with-secure-transport
424 --with-wolfssl
430 AC_MSG_ERROR([--with-darwin-ssl and --without-darwin-ssl no longer work!]))
438 AC_DEFINE_UNQUOTED(OS, "${host}", [cpu-machine-OS])
475 # the '-DPIC' CFLAG that libtool provides is not valid given that the
480 # Make our Makefile.am files use the staticlib CPPFLAG only when strictly
495 CPPFLAG_CURL_STATICLIB='-DCURL_STATICLIB'
501 if test "X$enable_shared" = "Xyes" -a "X$link_all_deplibs" = "Xno"
523 if test "$compiler_num" -ge "1000"; then
525 CFLAGS="$CFLAGS -shared-intel"
526 elif test "$compiler_num" -ge "900"; then
528 CFLAGS="$CFLAGS -i-dynamic"
535 CURL_CFLAG_EXTRAS="-Werror"
537 dnl enable -pedantic-errors for GCC 5 and later,
538 dnl as before that it was the same as -Werror=pedantic
539 if test "$compiler_num" -ge "500"; then
540 CURL_CFLAG_EXTRAS="$CURL_CFLAG_EXTRAS -pedantic-errors"
555 # cross-compilation of unit tests static library/programs fails when
567 mips-sgi-irix6.5)
583 dnl Build unit tests when option --enable-debug is given.
604 [test "$curl_cv_native_windows" = "yes" && test -n "${RC}"])
616 AS_HELP_STRING([--enable-http],[Enable HTTP support])
617 AS_HELP_STRING([--disable-http],[Disable HTTP support]),
627 dnl toggle off alt-svc too when HTTP is disabled
628 AC_DEFINE(CURL_DISABLE_ALTSVC, 1, [disable alt-svc])
630 curl_h1_msg="no (--enable-http, --with-hyper)"
632 curl_hsts_msg="no (--enable-hsts)";
643 AS_HELP_STRING([--enable-ftp],[Enable FTP support])
644 AS_HELP_STRING([--disable-ftp],[Disable FTP support]),
658 AS_HELP_STRING([--enable-file],[Enable FILE support])
659 AS_HELP_STRING([--disable-file],[Disable FILE support]),
673 AS_HELP_STRING([--enable-ldap],[Enable LDAP support])
674 AS_HELP_STRING([--disable-ldap],[Disable LDAP support]),
693 AS_HELP_STRING([--enable-ldaps],[Enable LDAPS support])
694 AS_HELP_STRING([--disable-ldaps],[Disable LDAPS support]),
730 AS_HELP_STRING([--with-hyper=PATH],[Enable hyper usage])
731 AS_HELP_STRING([--without-hyper],[Disable hyper usage]),
735 dnl --without-hyper option used
739 dnl --with-hyper option used without path
744 dnl --with-hyper option used with path
752 AC_MSG_ERROR([--with-hyper is not compatible with --disable-http])
755 dnl backup the pre-hyper variables
764 $PKGCONFIG --libs-only-l hyper`
766 $PKGCONFIG --cflags-only-I hyper`
768 $PKGCONFIG --libs-only-L hyper`
770 dnl no hyper pkg-config found
771 LIB_HYPER="-lhyper -ldl -lpthread -lm"
773 CPP_HYPER=-I"$want_hyper_path/capi/include"
774 LD_HYPER="-L$want_hyper_path/target/release -L$want_hyper_path/target/debug"
777 if test -n "$LIB_HYPER"; then
778 AC_MSG_NOTICE([-l is $LIB_HYPER])
779 AC_MSG_NOTICE([-I is $CPP_HYPER])
780 AC_MSG_NOTICE([-L is $LD_HYPER])
787 dnl remove -L, separate with colon if more than one
788 DIR_HYPER=`echo $LD_HYPER | $SED -e 's/^-L//' -e 's/ -L/:/g'`
805 for d in `echo $DIR_HYPER | $SED -e 's/:/ /'`; do
806 if test -f "$d/libhyper.a"; then
810 AC_MSG_ERROR([--with-hyper but hyper was not found. See docs/HYPER.md.])
822 AS_HELP_STRING([--enable-rtsp],[Enable RTSP support])
823 AS_HELP_STRING([--disable-rtsp],[Disable RTSP support]),
832 AC_MSG_ERROR(HTTP support needs to be enabled in order to enable RTSP support!)
850 AS_HELP_STRING([--enable-proxy],[Enable proxy support])
851 AS_HELP_STRING([--disable-proxy],[Disable proxy support]),
867 AS_HELP_STRING([--enable-dict],[Enable DICT support])
868 AS_HELP_STRING([--disable-dict],[Disable DICT support]),
882 AS_HELP_STRING([--enable-telnet],[Enable TELNET support])
883 AS_HELP_STRING([--disable-telnet],[Disable TELNET support]),
897 AS_HELP_STRING([--enable-tftp],[Enable TFTP support])
898 AS_HELP_STRING([--disable-tftp],[Disable TFTP support]),
913 AS_HELP_STRING([--enable-pop3],[Enable POP3 support])
914 AS_HELP_STRING([--disable-pop3],[Disable POP3 support]),
930 AS_HELP_STRING([--enable-imap],[Enable IMAP support])
931 AS_HELP_STRING([--disable-imap],[Disable IMAP support]),
947 AS_HELP_STRING([--enable-smb],[Enable SMB/CIFS support])
948 AS_HELP_STRING([--disable-smb],[Disable SMB/CIFS support]),
963 AS_HELP_STRING([--enable-smtp],[Enable SMTP support])
964 AS_HELP_STRING([--disable-smtp],[Disable SMTP support]),
979 AS_HELP_STRING([--enable-gopher],[Enable Gopher support])
980 AS_HELP_STRING([--disable-gopher],[Disable Gopher support]),
995 AS_HELP_STRING([--enable-mqtt],[Enable MQTT support])
996 AS_HELP_STRING([--disable-mqtt],[Disable MQTT support]),
1010 dnl Check for built-in manual
1013 AC_MSG_CHECKING([whether to provide built-in manual])
1015 AS_HELP_STRING([--enable-manual],[Enable built-in manual])
1016 AS_HELP_STRING([--disable-manual],[Disable built-in manual]),
1037 AS_HELP_STRING([--enable-docs],[Enable documentation])
1038 AS_HELP_STRING([--disable-docs],[Disable documentation]),
1059 AC_MSG_CHECKING([whether to enable generation of C code])
1061 AS_HELP_STRING([--enable-libcurl-option],[Enable --libcurl C code generation support])
1062 AS_HELP_STRING([--disable-libcurl-option],[Disable --libcurl C code generation support]),
1066 AC_DEFINE(CURL_DISABLE_LIBCURL_OPTION, 1, [to disable --libcurl C code generation option])
1081 AS_HELP_STRING([--enable-libgcc],[use libgcc when linking]),
1084 LIBS="-lgcc $LIBS"
1095 dnl gethostbyname without lib or in the nsl lib?
1101 LIBS="-lnsl $LIBS"
1107 dnl gethostbyname in the socket lib?
1110 LIBS="-lsocket $LIBS"
1116 dnl gethostbyname in the watt lib?
1119 CPPFLAGS="-I/dev/env/WATT_ROOT/inc"
1120 LDFLAGS="-L/dev/env/WATT_ROOT/lib"
1121 LIBS="-lwatt $LIBS"
1131 LIBS="-lnsl -lsocket $LIBS"
1150 winsock_LIB="-lws2_32"
1151 if test ! -z "$winsock_LIB"; then
1216 if test "$HAVE_GETHOSTBYNAME" != "1" -o "${with_amissl+set}" = set
1218 dnl This is for AmigaOS with bsdsocket.library - needs testing before -lnet
1245 dnl gethostbyname in the network lib - for Haiku OS
1248 LIBS="-lnetwork $LIBS"
1281 dnl Check for & handle argument to --with-zlib.
1288 AS_HELP_STRING([--with-zlib=PATH],[search for zlib in PATH])
1289 AS_HELP_STRING([--without-zlib],[disable use of zlib]),
1299 if test -z "$OPT_ZLIB" ; then
1303 ZLIB_LIBS="`$PKGCONFIG --libs-only-l zlib`"
1304 if test -n "$ZLIB_LIBS"; then
1305 LDFLAGS="$LDFLAGS `$PKGCONFIG --libs-only-L zlib`"
1307 ZLIB_LIBS="`$PKGCONFIG --libs zlib`"
1310 CPPFLAGS="$CPPFLAGS `$PKGCONFIG --cflags zlib`"
1315 if test -z "$HAVE_LIBZ"; then
1317 dnl Check for the lib without setting any new path, since many
1323 ZLIB_LIBS="-lz"
1325 dnl if no lib found, try /usr/local
1331 if test -n "$OPT_ZLIB"; then
1332 CPPFLAGS="$CPPFLAGS -I$OPT_ZLIB/include"
1333 LDFLAGS="$LDFLAGS -L$OPT_ZLIB/lib$libsuff"
1340 dnl if the lib wasn't found already, try again with the new paths
1344 dnl the lib was found!
1346 ZLIB_LIBS="-lz"
1361 AC_MSG_WARN([configure found only the libz lib, not the header file!])
1369 AC_MSG_WARN([configure found only the libz header file, not the lib!])
1376 dnl both header and lib were found!
1401 AS_HELP_STRING([--with-brotli=PATH],[Where to look for brotli, PATH points to the BROTLI installati…
1402 AS_HELP_STRING([--without-brotli], [disable BROTLI]),
1406 dnl backup the pre-brotli variables
1413 dnl --with-brotli (without path) used
1417 LIB_BROTLI=`$PKGCONFIG --libs-only-l libbrotlidec`
1418 LD_BROTLI=`$PKGCONFIG --libs-only-L libbrotlidec`
1419 CPP_BROTLI=`$PKGCONFIG --cflags-only-I libbrotlidec`
1420 version=`$PKGCONFIG --modversion libbrotlidec`
1421 DIR_BROTLI=`echo $LD_BROTLI | $SED -e 's/^-L//'`
1426 dnl no --with-brotli option given, just check default places
1429 dnl use the given --with-brotli spot
1434 dnl if given with a prefix, we set -L and -I based on that
1435 if test -n "$PREFIX_BROTLI"; then
1436 LIB_BROTLI="-lbrotlidec"
1437 LD_BROTLI=-L${PREFIX_BROTLI}/lib$libsuff
1438 CPP_BROTLI=-I${PREFIX_BROTLI}/include
1439 DIR_BROTLI=${PREFIX_BROTLI}/lib$libsuff
1461 if test -n "$DIR_BROTLI"; then
1462 dnl when the brotli shared libs were found in a path that the run-time
1487 AS_HELP_STRING([--with-zstd=PATH],[Where to look for libzstd, PATH points to the libzstd installati…
1488 AS_HELP_STRING([--without-zstd], [disable libzstd]),
1492 dnl backup the pre-zstd variables
1499 dnl --with-zstd (without path) used
1503 LIB_ZSTD=`$PKGCONFIG --libs-only-l libzstd`
1504 LD_ZSTD=`$PKGCONFIG --libs-only-L libzstd`
1505 CPP_ZSTD=`$PKGCONFIG --cflags-only-I libzstd`
1506 version=`$PKGCONFIG --modversion libzstd`
1507 DIR_ZSTD=`echo $LD_ZSTD | $SED -e 's/-L//'`
1512 dnl no --with-zstd option given, just check default places
1515 dnl use the given --with-zstd spot
1520 dnl if given with a prefix, we set -L and -I based on that
1521 if test -n "$PREFIX_ZSTD"; then
1522 LIB_ZSTD="-lzstd"
1523 LD_ZSTD=-L${PREFIX_ZSTD}/lib$libsuff
1524 CPP_ZSTD=-I${PREFIX_ZSTD}/include
1525 DIR_ZSTD=${PREFIX_ZSTD}/lib$libsuff
1547 if test -n "$DIR_ZSTD"; then
1548 dnl when the zstd shared lib were found in a path that the run-time
1572 AC_ARG_WITH(ldap-lib,
1573 AS_HELP_STRING([--with-ldap-lib=libname],[Specify name of ldap lib file]),
1577 AC_ARG_WITH(lber-lib,
1578 AS_HELP_STRING([--with-lber-lib=libname],[Specify name of lber lib file]),
1587 if test -z "$LDAPLIBNAME" ; then
1597 if test -n "$ldap_askedfor"; then
1608 case X-"$curl_cv_ldap_LIBS" in
1609 X-unknown)
1610 if test -n "$ldap_askedfor"; then
1627 dnl (it's only needed if libldap.so's dependencies are broken).
1649 AC_DEFINE(USE_OPENLDAP, 1, [Use OpenLDAP-specific code])
1665 AC_MSG_CHECKING([whether to enable IPv6])
1667 AS_HELP_STRING([--enable-ipv6],[Enable IPv6 (with IPv4) support])
1668 AS_HELP_STRING([--disable-ipv6],[Disable IPv6 support]),
1711 AC_DEFINE(USE_IPV6, 1, [Define if you want to enable IPv6 support])
1780 dnl Check for GSS-API libraries
1783 dnl check for GSS-API stuff in the /usr as default
1786 AC_ARG_WITH(gssapi-includes,
1787 AS_HELP_STRING([--with-gssapi-includes=DIR],
1788 [Specify location of GSS-API headers]),
1789 [ GSSAPI_INCS="-I$withval"
1793 AC_ARG_WITH(gssapi-libs,
1794 AS_HELP_STRING([--with-gssapi-libs=DIR],
1795 [Specify location of GSS-API libs]),
1796 [ GSSAPI_LIB_DIR="-L$withval"
1801 AS_HELP_STRING([--with-gssapi=DIR],
1802 [Where to look for GSS-API]), [
1813 : ${KRB5CONFIG:="$GSSAPI_ROOT/bin/krb5-config"}
1816 AC_MSG_CHECKING([if GSS-API support is requested])
1821 CURL_CHECK_PKGCONFIG(mit-krb5-gssapi, $GSSAPI_ROOT/lib/pkgconfig)
1823 CURL_CHECK_PKGCONFIG(mit-krb5-gssapi)
1825 if test -z "$GSSAPI_INCS"; then
1826 if test -n "$host_alias" -a -f "$GSSAPI_ROOT/bin/$host_alias-krb5-config"; then
1827 GSSAPI_INCS=`$GSSAPI_ROOT/bin/$host_alias-krb5-config --cflags gssapi`
1829 GSSAPI_INCS=`$PKGCONFIG --cflags mit-krb5-gssapi`
1830 elif test -f "$KRB5CONFIG"; then
1831 GSSAPI_INCS=`$KRB5CONFIG --cflags gssapi`
1833 GSSAPI_INCS="-I$GSSAPI_ROOT/include"
1865 AC_MSG_WARN(disabling GSS-API support since no header files were found)
1871 AC_MSG_CHECKING([if GSS-API headers declare GSS_C_NT_HOSTBASED_SERVICE])
1898 AC_DEFINE(HAVE_GSSAPI, 1, [if you have GSS-API libraries])
1902 if test -n "$gnu_gss"; then
1905 LIBS="-lgss $LIBS"
1906 elif test -z "$GSSAPI_LIB_DIR"; then
1908 *-*-darwin*)
1909 LIBS="-lgssapi_krb5 -lresolv $LIBS"
1913 CURL_CHECK_PKGCONFIG(mit-krb5-gssapi, $GSSAPI_ROOT/lib/pkgconfig)
1915 CURL_CHECK_PKGCONFIG(mit-krb5-gssapi)
1917 if test -n "$host_alias" -a -f "$GSSAPI_ROOT/bin/$host_alias-krb5-config"; then
1918 dnl krb5-config doesn't have --libs-only-L or similar, put everything
1920 gss_libs=`$GSSAPI_ROOT/bin/$host_alias-krb5-config --libs gssapi`
1923 gss_libs=`$PKGCONFIG --libs mit-krb5-gssapi`
1925 elif test -f "$KRB5CONFIG"; then
1926 dnl krb5-config doesn't have --libs-only-L or similar, put everything
1928 gss_libs=`$KRB5CONFIG --libs gssapi`
1932 *-hp-hpux*)
1941 LDFLAGS="$LDFLAGS -L$GSSAPI_ROOT/lib$libsuff"
1942 LIBS="-l$gss_libname $LIBS"
1944 LIBS="-l$gss_libname $LIBS"
1952 *-hp-hpux*)
1953 LIBS="-lgss $LIBS"
1956 LIBS="-lgssapi $LIBS"
1965 AC_MSG_CHECKING([if we can link against GSS-API library])
1972 AC_MSG_ERROR([--with-gssapi was specified, but a GSS-API library was not found.])
1983 dnl -------------------------------------------------------------
1984 dnl parse --with-default-ssl-backend so it can be validated below
1985 dnl -------------------------------------------------------------
1989 AC_ARG_WITH(default-ssl-backend,
1990 AS_HELP_STRING([--with-default-ssl-backend=NAME],[Use NAME as default SSL backend])
1991 AS_HELP_STRING([--without-default-ssl-backend],[Use implicit default SSL backend]),
1995 dnl --without-default-ssl-backend option used
1998 dnl --with-default-ssl-backend option used without name
2002 dnl --with-default-ssl-backend option used with name
2020 if test "x$USE_WIN32_CRYPTO" = "x1" -o "x$USE_SCHANNEL" = "x1"; then
2021 LIBS="-ladvapi32 -lcrypt32 $LIBS"
2026 LIBS="-lbcrypt $LIBS"
2033 Use --with-openssl, --with-gnutls, --with-wolfssl, --with-mbedtls, --with-schannel, --with-secure-t…
2045 AC_MSG_ERROR([--without-ssl has been set together with an explicit option to use an ssl library
2046 …e.g. --with-openssl, --with-gnutls, --with-wolfssl, --with-mbedtls, --with-schannel, --with-secure…
2060 if test -n "$ssl_backends"; then
2066 if test -n "$SSL_ENABLED"
2081 if test -n "$check_for_ca_bundle"; then
2092 AS_HELP_STRING([--with-libpsl=PATH],[Where to look for libpsl, PATH points to the LIBPSL installati…
2093 AS_HELP_STRING([--without-libpsl], [disable LIBPSL]),
2097 dnl backup the pre-libpsl variables
2104 dnl --with-libpsl (without path) used
2108 LIB_PSL=`$PKGCONFIG --libs-only-l libpsl`
2109 LD_PSL=`$PKGCONFIG --libs-only-L libpsl`
2110 CPP_PSL=`$PKGCONFIG --cflags-only-I libpsl`
2112 dnl no libpsl pkg-config found
2113 LIB_PSL="-lpsl"
2118 dnl no --with-libpsl option given, just check default places
2119 LIB_PSL="-lpsl"
2122 dnl use the given --with-libpsl spot
2123 LIB_PSL="-lpsl"
2128 dnl if given with a prefix, we set -L and -I based on that
2129 if test -n "$PREFIX_PSL"; then
2130 LD_PSL=-L${PREFIX_PSL}/lib$libsuff
2131 CPP_PSL=-I${PREFIX_PSL}/include
2166 AS_HELP_STRING([--without-libgsasl],
2183 AC_MSG_ERROR([--with-libmetalink and --without-libmetalink no longer work!]))
2192 AS_HELP_STRING([--with-libssh2=PATH],[Where to look for libssh2, PATH points to the libssh2 install…
2193 AS_HELP_STRING([--with-libssh2], [enable libssh2]),
2199 AS_HELP_STRING([--with-libssh=PATH],[Where to look for libssh, PATH points to the libssh installati…
2200 AS_HELP_STRING([--with-libssh], [enable libssh]),
2205 AS_HELP_STRING([--with-wolfssh=PATH],[Where to look for wolfssh, PATH points to the wolfSSH install…
2206 AS_HELP_STRING([--with-wolfssh], [enable wolfssh]),
2210 dnl backup the pre-libssh2 variables
2217 dnl --with-libssh2 (without path) used
2221 LIB_SSH2=`$PKGCONFIG --libs-only-l libssh2`
2222 LD_SSH2=`$PKGCONFIG --libs-only-L libssh2`
2223 CPP_SSH2=`$PKGCONFIG --cflags-only-I libssh2`
2224 version=`$PKGCONFIG --modversion libssh2`
2225 DIR_SSH2=`echo $LD_SSH2 | $SED -e 's/^-L//'`
2230 dnl no --with-libssh2 option given, just check default places
2233 dnl use the given --with-libssh2 spot
2238 dnl if given with a prefix, we set -L and -I based on that
2239 if test -n "$PREFIX_SSH2"; then
2240 LIB_SSH2="-lssh2"
2241 LD_SSH2=-L${PREFIX_SSH2}/lib$libsuff
2242 CPP_SSH2=-I${PREFIX_SSH2}/include
2243 DIR_SSH2=${PREFIX_SSH2}/lib$libsuff
2266 if test -n "$DIR_SSH2"; then
2267 dnl when the libssh2 shared libs were found in a path that the run-time
2284 dnl backup the pre-libssh variables
2291 dnl --with-libssh (without path) used
2295 LIB_SSH=`$PKGCONFIG --libs-only-l libssh`
2296 LD_SSH=`$PKGCONFIG --libs-only-L libssh`
2297 CPP_SSH=`$PKGCONFIG --cflags-only-I libssh`
2298 version=`$PKGCONFIG --modversion libssh`
2299 DIR_SSH=`echo $LD_SSH | $SED -e 's/^-L//'`
2304 dnl no --with-libssh option given, just check default places
2307 dnl use the given --with-libssh spot
2312 dnl if given with a prefix, we set -L and -I based on that
2313 if test -n "$PREFIX_SSH"; then
2314 LIB_SSH="-lssh"
2315 LD_SSH=-L${PREFIX_SSH}/lib$libsuff
2316 CPP_SSH=-I${PREFIX_SSH}/include
2317 DIR_SSH=${PREFIX_SSH}/lib$libsuff
2339 if test -n "$DIR_SSH"; then
2340 dnl when the libssh shared libs were found in a path that the run-time
2357 dnl backup the pre-wolfssh variables
2364 WOLFCONFIG="$OPT_WOLFSSH/bin/wolfssh-config"
2365 LDFLAGS="$LDFLAGS `$WOLFCONFIG --libs`"
2366 CPPFLAGS="$CPPFLAGS `$WOLFCONFIG --cflags`"
2387 AS_HELP_STRING([--with-librtmp=PATH],[Where to look for librtmp, PATH points to the LIBRTMP install…
2388 AS_HELP_STRING([--without-librtmp], [disable LIBRTMP]),
2392 dnl backup the pre-librtmp variables
2399 dnl --with-librtmp (without path) used
2403 LIB_RTMP=`$PKGCONFIG --libs-only-l librtmp`
2404 LD_RTMP=`$PKGCONFIG --libs-only-L librtmp`
2405 CPP_RTMP=`$PKGCONFIG --cflags-only-I librtmp`
2406 version=`$PKGCONFIG --modversion librtmp`
2407 DIR_RTMP=`echo $LD_RTMP | $SED -e 's/^-L//'`
2409 dnl To avoid link errors, we do not allow --librtmp without
2411 AC_MSG_ERROR([--librtmp was specified but could not find librtmp pkgconfig file.])
2416 dnl no --with-librtmp option given, just check default places
2417 LIB_RTMP="-lrtmp"
2420 dnl use the given --with-librtmp spot
2421 LIB_RTMP="-lrtmp"
2426 dnl if given with a prefix, we set -L and -I based on that
2427 if test -n "$PREFIX_RTMP"; then
2428 LD_RTMP=-L${PREFIX_RTMP}/lib$libsuff
2429 CPP_RTMP=-I${PREFIX_RTMP}/include
2430 DIR_RTMP=${PREFIX_RTMP}/lib$libsuff
2465 AC_ARG_ENABLE(versioned-symbols,
2466 AS_HELP_STRING([--enable-versioned-symbols], [Enable versioned symbols in shared library])
2467 AS_HELP_STRING([--disable-versioned-symbols], [Disable versioned symbols in shared library]),
2471 GLD=`$LD --help < /dev/null 2>/dev/null | grep version-script`
2472 if test -z "$GLD"; then
2474 AC_MSG_WARN([You need an ld version supporting the --version-script option])
2509 dnl -------------------------------------------------
2511 dnl -------------------------------------------------
2513 AC_MSG_CHECKING([whether to enable Windows native IDN (Windows native builds only)])
2516 AS_HELP_STRING([--with-winidn=PATH],[enable Windows native IDN])
2517 AS_HELP_STRING([--without-winidn], [disable Windows native IDN]),
2521 dnl --without-winidn option used or configure option not specified
2526 dnl --with-winidn option used without path
2532 dnl --with-winidn option used with path
2545 WINIDN_LIBS="-lnormaliz"
2550 dnl pkg-config not available or provides no info
2551 WINIDN_LDFLAGS="-L$want_winidn_path/lib$libsuff"
2552 WINIDN_CPPFLAGS="-I$want_winidn_path/include"
2553 WINIDN_DIR="$want_winidn_path/lib$libsuff"
2567 CFLAGS=`echo $CFLAGS | $SED -e 's/-DWINVER=[[^ ]]*//g'`
2568 CFLAGS=`echo $CFLAGS | $SED -e 's/-D_WIN32_WINNT=[[^ ]]*//g'`
2569 CPPFLAGS=`echo $CPPFLAGS | $SED -e 's/-DWINVER=[[^ ]]*//g'`
2570 CPPFLAGS=`echo $CPPFLAGS | $SED -e 's/-D_WIN32_WINNT=[[^ ]]*//g'`
2571 WINIDN_CPPFLAGS="$WINIDN_CPPFLAGS -DWINVER=0x0600"
2594 …AC_DEFINE(USE_WIN32_IDN, 1, [Define to 1 if you have the `normaliz' (WinIDN) library (-lnormaliz).…
2596 curl_idn_msg="enabled (Windows-native)"
2613 AS_HELP_STRING([--with-libidn2=PATH],[Enable libidn2 usage])
2614 AS_HELP_STRING([--without-libidn2],[Disable libidn2 usage]),
2622 dnl --without-libidn2 option used
2633 dnl --with-libidn2 option used without path
2639 dnl --with-libidn2 option used with path
2656 IDN_PCDIR="$want_idn_path/lib$libsuff/pkgconfig"
2660 $PKGCONFIG --libs-only-l libidn2 2>/dev/null`
2662 $PKGCONFIG --libs-only-L libidn2 2>/dev/null`
2664 $PKGCONFIG --cflags-only-I libidn2 2>/dev/null`
2665 IDN_DIR=`echo $IDN_LDFLAGS | $SED -e 's/^-L//'`
2667 dnl pkg-config not available or provides no info
2668 IDN_LIBS="-lidn2"
2669 IDN_LDFLAGS="-L$want_idn_path/lib$libsuff"
2670 IDN_CPPFLAGS="-I$want_idn_path/include"
2671 IDN_DIR="$want_idn_path/lib$libsuff"
2677 IDN_LIBS=`$PKGCONFIG --libs-only-l libidn2 2>/dev/null`
2678 IDN_LDFLAGS=`$PKGCONFIG --libs-only-L libidn2 2>/dev/null`
2679 IDN_CPPFLAGS=`$PKGCONFIG --cflags-only-I libidn2 2>/dev/null`
2680 IDN_DIR=`echo $IDN_LDFLAGS | $SED -e 's/^-L//'`
2682 dnl pkg-config not available or provides no info
2683 IDN_LIBS="-lidn2"
2688 AC_MSG_NOTICE([pkg-config: IDN_LIBS: "$IDN_LIBS"])
2689 AC_MSG_NOTICE([pkg-config: IDN_LDFLAGS: "$IDN_LDFLAGS"])
2690 AC_MSG_NOTICE([pkg-config: IDN_CPPFLAGS: "$IDN_CPPFLAGS"])
2691 AC_MSG_NOTICE([pkg-config: IDN_DIR: "$IDN_DIR"])
2717 AC_DEFINE(HAVE_LIBIDN2, 1, [Define to 1 if you have the `idn2' library (-lidn2).])
2722 if test -n "$IDN_DIR" -a "x$cross_compiling" != "xyes"; then
2741 if test "x$disable_http" = "xyes" -o X"$want_hyper" != Xno; then
2747 AS_HELP_STRING([--with-nghttp2=PATH],[Enable nghttp2 usage])
2748 AS_HELP_STRING([--without-nghttp2],[Disable nghttp2 usage]),
2752 dnl --without-nghttp2 option used
2756 dnl --with-nghttp2 option used without path
2762 dnl --with-nghttp2 option used with path
2765 want_nghttp2_pkg_config_path="$withval/lib/pkgconfig"
2770 dnl backup the pre-nghttp2 variables
2779 $PKGCONFIG --libs-only-l libnghttp2`
2780 AC_MSG_NOTICE([-l is $LIB_H2])
2783 $PKGCONFIG --cflags-only-I libnghttp2`
2784 AC_MSG_NOTICE([-I is $CPP_H2])
2787 $PKGCONFIG --libs-only-L libnghttp2`
2788 AC_MSG_NOTICE([-L is $LD_H2])
2790 DIR_H2=`echo $LD_H2 | $SED -e 's/^-L//'`
2792 LIB_H2="-lnghttp2"
2793 LD_H2=-L${want_nghttp2_path}/lib$libsuff
2794 CPP_H2=-I${want_nghttp2_path}/include
2795 DIR_H2=${want_nghttp2_path}/lib$libsuff
2797 dnl no nghttp2 pkg-config found and no custom directory specified,
2799 AC_MSG_ERROR([--with-nghttp2 was specified but could not find libnghttp2 pkg-config file.])
2801 LIB_H2="-lnghttp2"
2842 AS_HELP_STRING([--with-ngtcp2=PATH],[Enable ngtcp2 usage])
2843 AS_HELP_STRING([--without-ngtcp2],[Disable ngtcp2 usage]),
2847 dnl --without-ngtcp2 option used
2851 dnl --with-ngtcp2 option used without path
2856 dnl --with-ngtcp2 option used with path
2858 want_tcp2_path="$withval/lib/pkgconfig"
2862 curl_tcp2_msg="no (--with-ngtcp2)"
2866 AC_MSG_ERROR([the detected TLS library does not support QUIC, making --with-ngtcp2 a no-no])
2869 dnl backup the pre-ngtcp2 variables
2878 $PKGCONFIG --libs-only-l libngtcp2`
2879 AC_MSG_NOTICE([-l is $LIB_TCP2])
2882 $PKGCONFIG --cflags-only-I libngtcp2`
2883 AC_MSG_NOTICE([-I is $CPP_TCP2])
2886 $PKGCONFIG --libs-only-L libngtcp2`
2887 AC_MSG_NOTICE([-L is $LD_TCP2])
2894 DIR_TCP2=`echo $LD_TCP2 | $SED -e 's/^-L//'`
2914 dnl no ngtcp2 pkg-config found, deal with it
2916 dnl To avoid link errors, we do not allow --with-ngtcp2 without
2918 AC_MSG_ERROR([--with-ngtcp2 was specified but could not find ngtcp2 pkg-config file.])
2924 if test "x$NGTCP2_ENABLED" = "x1" -a "x$OPENSSL_ENABLED" = "x1" -a "x$OPENSSL_IS_BORINGSSL" != "x1"…
2925 dnl backup the pre-ngtcp2_crypto_quictls variables
2934 $PKGCONFIG --libs-only-l libngtcp2_crypto_quictls`
2935 AC_MSG_NOTICE([-l is $LIB_NGTCP2_CRYPTO_QUICTLS])
2938 $PKGCONFIG --cflags-only-I libngtcp2_crypto_quictls`
2939 AC_MSG_NOTICE([-I is $CPP_NGTCP2_CRYPTO_QUICTLS])
2942 $PKGCONFIG --libs-only-L libngtcp2_crypto_quictls`
2943 AC_MSG_NOTICE([-L is $LD_NGTCP2_CRYPTO_QUICTLS])
2950 DIR_NGTCP2_CRYPTO_QUICTLS=`echo $LD_NGTCP2_CRYPTO_QUICTLS | $SED -e 's/^-L//'`
2970 dnl no ngtcp2_crypto_quictls pkg-config found, deal with it
2972 dnl To avoid link errors, we do not allow --with-ngtcp2 without
2974 …AC_MSG_ERROR([--with-ngtcp2 was specified but could not find ngtcp2_crypto_quictls pkg-config file…
2979 if test "x$NGTCP2_ENABLED" = "x1" -a "x$OPENSSL_ENABLED" = "x1" -a "x$OPENSSL_IS_BORINGSSL" = "x1";…
2980 dnl backup the pre-ngtcp2_crypto_boringssl variables
2989 $PKGCONFIG --libs-only-l libngtcp2_crypto_boringssl`
2990 AC_MSG_NOTICE([-l is $LIB_NGTCP2_CRYPTO_BORINGSSL])
2993 $PKGCONFIG --cflags-only-I libngtcp2_crypto_boringssl`
2994 AC_MSG_NOTICE([-I is $CPP_NGTCP2_CRYPTO_BORINGSSL])
2997 $PKGCONFIG --libs-only-L libngtcp2_crypto_boringssl`
2998 AC_MSG_NOTICE([-L is $LD_NGTCP2_CRYPTO_BORINGSSL])
3005 DIR_NGTCP2_CRYPTO_BORINGSSL=`echo $LD_NGTCP2_CRYPTO_BORINGSSL | $SED -e 's/^-L//'`
3025 dnl no ngtcp2_crypto_boringssl pkg-config found, deal with it
3027 dnl To avoid link errors, we do not allow --with-ngtcp2 without
3029 …AC_MSG_ERROR([--with-ngtcp2 was specified but could not find ngtcp2_crypto_boringssl pkg-config fi…
3034 if test "x$NGTCP2_ENABLED" = "x1" -a "x$GNUTLS_ENABLED" = "x1"; then
3035 dnl backup the pre-ngtcp2_crypto_gnutls variables
3044 $PKGCONFIG --libs-only-l libngtcp2_crypto_gnutls`
3045 AC_MSG_NOTICE([-l is $LIB_NGTCP2_CRYPTO_GNUTLS])
3048 $PKGCONFIG --cflags-only-I libngtcp2_crypto_gnutls`
3049 AC_MSG_NOTICE([-I is $CPP_NGTCP2_CRYPTO_GNUTLS])
3052 $PKGCONFIG --libs-only-L libngtcp2_crypto_gnutls`
3053 AC_MSG_NOTICE([-L is $LD_NGTCP2_CRYPTO_GNUTLS])
3060 DIR_NGTCP2_CRYPTO_GNUTLS=`echo $LD_NGTCP2_CRYPTO_GNUTLS | $SED -e 's/^-L//'`
3080 dnl no ngtcp2_crypto_gnutls pkg-config found, deal with it
3082 dnl To avoid link errors, we do not allow --with-ngtcp2 without
3084 …AC_MSG_ERROR([--with-ngtcp2 was specified but could not find ngtcp2_crypto_gnutls pkg-config file.…
3089 if test "x$NGTCP2_ENABLED" = "x1" -a "x$WOLFSSL_ENABLED" = "x1"; then
3090 dnl backup the pre-ngtcp2_crypto_wolfssl variables
3099 $PKGCONFIG --libs-only-l libngtcp2_crypto_wolfssl`
3100 AC_MSG_NOTICE([-l is $LIB_NGTCP2_CRYPTO_WOLFSSL])
3103 $PKGCONFIG --cflags-only-I libngtcp2_crypto_wolfssl`
3104 AC_MSG_NOTICE([-I is $CPP_NGTCP2_CRYPTO_WOLFSSL])
3107 $PKGCONFIG --libs-only-L libngtcp2_crypto_wolfssl`
3108 AC_MSG_NOTICE([-L is $LD_NGTCP2_CRYPTO_WOLFSSL])
3115 DIR_NGTCP2_CRYPTO_WOLFSSL=`echo $LD_NGTCP2_CRYPTO_WOLFSSL | $SED -e 's/^-L//'`
3135 dnl no ngtcp2_crypto_wolfssl pkg-config found, deal with it
3137 dnl To avoid link errors, we do not allow --with-ngtcp2 without
3139 …AC_MSG_ERROR([--with-ngtcp2 was specified but could not find ngtcp2_crypto_wolfssl pkg-config file…
3150 if test "x$disable_http" = "xyes" -o "x$OPENSSL_ENABLED" != "x1"; then
3155 AC_ARG_WITH(openssl-quic,
3156 AS_HELP_STRING([--with-openssl-quic],[Enable OpenSSL QUIC usage])
3157 AS_HELP_STRING([--without-openssl-quic],[Disable OpenSSL QUIC usage]),
3161 dnl --without-openssl-quic option used
3165 dnl --with-openssl-quic option used
3170 curl_openssl_quic_msg="no (--with-openssl-quic)"
3174 AC_MSG_ERROR([--with-openssl-quic and --with-ngtcp2 are mutually exclusive])
3177 AC_MSG_ERROR([--with-openssl-quic requires quic support in OpenSSL])
3189 if test "x$USE_NGTCP2" != "x1" -a "x$USE_OPENSSL_QUIC" != "x1"; then
3196 AS_HELP_STRING([--with-nghttp3=PATH],[Enable nghttp3 usage])
3197 AS_HELP_STRING([--without-nghttp3],[Disable nghttp3 usage]),
3201 dnl --without-nghttp3 option used
3205 dnl --with-nghttp3 option used without path
3210 dnl --with-nghttp3 option used with path
3212 want_nghttp3_path="$withval/lib/pkgconfig"
3216 curl_http3_msg="no (--with-nghttp3)"
3219 dnl backup the pre-nghttp3 variables
3228 $PKGCONFIG --libs-only-l libnghttp3`
3229 AC_MSG_NOTICE([-l is $LIB_NGHTTP3])
3232 $PKGCONFIG --cflags-only-I libnghttp3`
3233 AC_MSG_NOTICE([-I is $CPP_NGHTTP3])
3236 $PKGCONFIG --libs-only-L libnghttp3`
3237 AC_MSG_NOTICE([-L is $LD_NGHTTP3])
3244 DIR_NGHTTP3=`echo $LD_NGHTTP3 | $SED -e 's/^-L//'`
3263 dnl no nghttp3 pkg-config found, deal with it
3265 dnl To avoid link errors, we do not allow --with-nghttp3 without
3267 AC_MSG_ERROR([--with-nghttp3 was specified but could not find nghttp3 pkg-config file.])
3277 if test "x$NGTCP2_ENABLED" = "x1" -a "x$USE_NGHTTP3" = "x1"; then
3288 if test "x$USE_OPENSSL_QUIC" = "x1" -a "x$USE_NGHTTP3" = "x1"; then
3302 if test "x$disable_http" = "xyes" -o "x$USE_NGTCP" = "x1"; then
3308 AS_HELP_STRING([--with-quiche=PATH],[Enable quiche usage])
3309 AS_HELP_STRING([--without-quiche],[Disable quiche usage]),
3313 dnl --without-quiche option used
3317 dnl --with-quiche option used without path
3322 dnl --with-quiche option used with path
3331 AC_MSG_ERROR([the detected TLS library does not support QUIC, making --with-quiche a no-no])
3335 AC_MSG_ERROR([--with-quiche and --with-ngtcp2 are mutually exclusive])
3338 dnl backup the pre-quiche variables
3347 $PKGCONFIG --libs-only-l quiche`
3348 AC_MSG_NOTICE([-l is $LIB_QUICHE])
3351 $PKGCONFIG --cflags-only-I quiche`
3352 AC_MSG_NOTICE([-I is $CPP_QUICHE])
3355 $PKGCONFIG --libs-only-L quiche`
3356 AC_MSG_NOTICE([-L is $LD_QUICHE])
3363 DIR_QUICHE=`echo $LD_QUICHE | $SED -e 's/^-L//'`
3389 dnl no quiche pkg-config found, deal with it
3391 dnl To avoid link errors, we do not allow --with-quiche without
3393 AC_MSG_ERROR([--with-quiche was specified but could not find quiche pkg-config file.])
3404 if test "x$disable_http" = "xyes" -o "x$USE_NGTCP" = "x1"; then
3410 AS_HELP_STRING([--with-msh3=PATH],[Enable msh3 usage])
3411 AS_HELP_STRING([--without-msh3],[Disable msh3 usage]),
3415 dnl --without-msh3 option used
3419 dnl --with-msh3 option used without path
3424 dnl --with-msh3 option used with path
3432 dnl msh3 on non-Windows needs an OpenSSL with the QUIC API
3435 AC_MSG_ERROR([the detected TLS library does not support QUIC, making --with-msh3 a no-no])
3443 AC_MSG_ERROR([--with-msh3 and --with-ngtcp2 are mutually exclusive])
3446 AC_MSG_ERROR([--with-msh3 and --with-quiche are mutually exclusive])
3449 dnl backup the pre-msh3 variables
3454 if test -n "$want_msh3_path"; then
3455 LD_MSH3="-L$want_msh3_path/lib"
3456 CPP_MSH3="-I$want_msh3_path/include"
3457 DIR_MSH3="$want_msh3_path/lib"
3461 LIBS="-lmsh3 $LIBS"
3488 AC_ARG_WITH(zsh-functions-dir,
3489 AS_HELP_STRING([--with-zsh-functions-dir=PATH],[Install zsh completions to PATH])
3490 AS_HELP_STRING([--without-zsh-functions-dir],[Do not install zsh completions]),
3494 dnl --without-zsh-functions-dir option used
3497 dnl --with-zsh-functions-dir option used without path
3498 ZSH_FUNCTIONS_DIR="$datarootdir/zsh/site-functions"
3502 dnl --with-zsh-functions-dir option used with path
3514 AC_ARG_WITH(fish-functions-dir,
3515 AS_HELP_STRING([--with-fish-functions-dir=PATH],[Install fish completions to PATH])
3516 AS_HELP_STRING([--without-fish-functions-dir],[Do not install fish completions]),
3520 dnl --without-fish-functions-dir option used
3523 dnl --with-fish-functions-dir option used without path
3526 FISH_FUNCTIONS_DIR="$($PKGCONFIG --variable completionsdir fish)"
3533 dnl --with-fish-functions-dir option used with path
3541 dnl ones as default-headers when checking for the rest!
3626 CPPFLAGS="-I$srcdir/include $CPPFLAGS"
3641 if test ${ac_cv_sizeof_curl_off_t} -lt 8; then
3707 time_t t = -1;
3716 dnl cross-compiling, most systems are unsigned
3825 dnl On Android, the only way to know if fseeko can be used is to see if it is
3827 dnl lib.
3836 if test "x$BUILD_DOCS" != "x0" -o "x$USE_MANUAL" != "x0"; then
3841 if test -z "$PERL"; then
3850 dnl If the manual variable still is set, then we go with providing a built-in
3854 AC_DEFINE(USE_MANUAL, 1, [If you want to build curl with the built-in manual])
3880 AS_HELP_STRING([--enable-pthreads],
3881 [Enable POSIX threads (default for threaded resolver)])
3882 AS_HELP_STRING([--disable-pthreads],[Disable POSIX threads]),
3899 AC_MSG_ERROR([options --enable-pthreads and --disable-rt are mutually exclusive])
3902 dnl if --enable-pthreads was explicit then warn it's being ignored
3904 AC_MSG_WARN([--enable-pthreads Ignored since librt is disabled.])
3920 dnl When statically linking against boringssl, -lpthread is added to LIBS.
3922 dnl -pthread in CFLAGS as recommended for GCC. This also ensures that
3928 dnl Check for libc variants without a separate pthread lib like bionic
3934 *-hp-hpux*)
3935 dnl it doesn't actually work without -lpthread
3942 dnl if it wasn't found without lib, search for it in pthread lib
3945 # assign PTHREAD for pkg-config use
3946 PTHREAD=" -pthread"
3949 *-ibm-aix*)
3951 COMPILER_VERSION=`"$CC" -qversion 2>/dev/null`
3953 CFLAGS="$CFLAGS -pthread"
3955 CFLAGS="$CFLAGS -qthreaded"
3958 powerpc-*amigaos*)
3959 dnl No -pthread option, but link with -lpthread
3960 PTHREAD=" -lpthread"
3963 CFLAGS="$CFLAGS -pthread"
3982 AC_MSG_ERROR([--enable-pthreads but pthreads was not found])
4005 AC_MSG_CHECKING([whether to enable verbose strings])
4007 AS_HELP_STRING([--enable-verbose],[Enable verbose strings])
4008 AS_HELP_STRING([--disable-verbose],[Disable verbose strings]),
4022 dnl enable SSPI support
4024 AC_MSG_CHECKING([whether to enable SSPI support (Windows native builds only)])
4026 AS_HELP_STRING([--enable-sspi],[Enable SSPI])
4027 AS_HELP_STRING([--disable-sspi],[Disable SSPI]),
4032 AC_DEFINE(USE_WINDOWS_SSPI, 1, [to enable SSPI support])
4037 AC_MSG_WARN([--enable-sspi Ignored. Only supported on native Windows builds.])
4042 # --with-schannel implies --enable-sspi
4050 # --with-schannel implies --enable-sspi
4060 AC_MSG_CHECKING([whether to enable basic authentication method])
4061 AC_ARG_ENABLE(basic-auth,
4062 AS_HELP_STRING([--enable-basic-auth],[Enable basic authentication (default)])
4063 AS_HELP_STRING([--disable-basic-auth],[Disable basic authentication]),
4079 AC_MSG_CHECKING([whether to enable bearer authentication method])
4080 AC_ARG_ENABLE(bearer-auth,
4081 AS_HELP_STRING([--enable-bearer-auth],[Enable bearer authentication (default)])
4082 AS_HELP_STRING([--disable-bearer-auth],[Disable bearer authentication]),
4098 AC_MSG_CHECKING([whether to enable digest authentication method])
4099 AC_ARG_ENABLE(digest-auth,
4100 AS_HELP_STRING([--enable-digest-auth],[Enable digest authentication (default)])
4101 AS_HELP_STRING([--disable-digest-auth],[Disable digest authentication]),
4117 AC_MSG_CHECKING([whether to enable kerberos authentication method])
4118 AC_ARG_ENABLE(kerberos-auth,
4119 AS_HELP_STRING([--enable-kerberos-auth],[Enable kerberos authentication (default)])
4120 AS_HELP_STRING([--disable-kerberos-auth],[Disable kerberos authentication]),
4136 AC_MSG_CHECKING([whether to enable negotiate authentication method])
4137 AC_ARG_ENABLE(negotiate-auth,
4138 AS_HELP_STRING([--enable-negotiate-auth],[Enable negotiate authentication (default)])
4139 AS_HELP_STRING([--disable-negotiate-auth],[Disable negotiate authentication]),
4156 AC_MSG_CHECKING([whether to enable aws sig methods])
4158 AS_HELP_STRING([--enable-aws],[Enable AWS sig support (default)])
4159 AS_HELP_STRING([--disable-aws],[Disable AWS sig support]),
4177 AS_HELP_STRING([--enable-ntlm],[Enable NTLM support])
4178 AS_HELP_STRING([--disable-ntlm],[Disable NTLM support]),
4192 dnl disable TLS-SRP authentication
4194 AC_MSG_CHECKING([whether to enable TLS-SRP authentication])
4195 AC_ARG_ENABLE(tls-srp,
4196 AS_HELP_STRING([--enable-tls-srp],[Enable TLS-SRP authentication])
4197 AS_HELP_STRING([--disable-tls-srp],[Disable TLS-SRP authentication]),
4212 AC_DEFINE(USE_TLS_SRP, 1, [Use TLS-SRP authentication])
4220 AC_MSG_CHECKING([whether to enable Unix domain sockets])
4221 AC_ARG_ENABLE(unix-sockets,
4222 AS_HELP_STRING([--enable-unix-sockets],[Enable Unix domain sockets])
4223 AS_HELP_STRING([--disable-unix-sockets],[Disable Unix domain sockets]),
4248 AC_MSG_ERROR([--enable-unix-sockets is not available on this platform!])
4261 AS_HELP_STRING([--enable-cookies],[Enable cookies support])
4262 AS_HELP_STRING([--disable-cookies],[Disable cookies support]),
4279 AS_HELP_STRING([--enable-socketpair],[Enable socketpair support])
4280 AS_HELP_STRING([--disable-socketpair],[Disable socketpair support]),
4296 AC_ARG_ENABLE(http-auth,
4297 AS_HELP_STRING([--enable-http-auth],[Enable HTTP authentication support])
4298 AS_HELP_STRING([--disable-http-auth],[Disable HTTP authentication support]),
4315 AS_HELP_STRING([--enable-doh],[Enable DoH support])
4316 AS_HELP_STRING([--disable-doh],[Disable DoH support]),
4333 AS_HELP_STRING([--enable-mime],[Enable mime API support])
4334 AS_HELP_STRING([--disable-mime],[Disable mime API support]),
4351 AS_HELP_STRING([--enable-bindlocal],[Enable local binding support])
4352 AS_HELP_STRING([--disable-bindlocal],[Disable local binding support]),
4368 AC_ARG_ENABLE(form-api,
4369 AS_HELP_STRING([--enable-form-api],[Enable form API support])
4370 AS_HELP_STRING([--disable-form-api],[Disable form API support]),
4377 AC_MSG_ERROR(MIME support needs to be enabled in order to enable form API support)
4395 AS_HELP_STRING([--enable-dateparse],[Enable date parsing])
4396 AS_HELP_STRING([--disable-dateparse],[Disable date parsing]),
4413 AS_HELP_STRING([--enable-netrc],[Enable netrc parsing])
4414 AS_HELP_STRING([--disable-netrc],[Disable netrc parsing]),
4427 dnl disable progress-meter
4429 AC_MSG_CHECKING([whether to support progress-meter])
4430 AC_ARG_ENABLE(progress-meter,
4431 AS_HELP_STRING([--enable-progress-meter],[Enable progress-meter])
4432 AS_HELP_STRING([--disable-progress-meter],[Disable progress-meter]),
4436 AC_DEFINE(CURL_DISABLE_PROGRESS_METER, 1, [disable progress-meter])
4449 AS_HELP_STRING([--enable-dnsshuffle],[Enable DNS shuffling])
4450 AS_HELP_STRING([--disable-dnsshuffle],[Disable DNS shuffling]),
4466 AC_ARG_ENABLE(get-easy-options,
4467 AS_HELP_STRING([--enable-get-easy-options],[Enable curl_easy_options])
4468 AS_HELP_STRING([--disable-get-easy-options],[Disable curl_easy_options]),
4481 dnl switch on/off alt-svc
4483 AC_MSG_CHECKING([whether to support alt-svc])
4484 AC_ARG_ENABLE(alt-svc,
4485 AS_HELP_STRING([--enable-alt-svc],[Enable alt-svc support])
4486 AS_HELP_STRING([--disable-alt-svc],[Disable alt-svc support]),
4490 AC_DEFINE(CURL_DISABLE_ALTSVC, 1, [disable alt-svc])
4501 dnl switch on/off headers-api
4503 AC_MSG_CHECKING([whether to support headers-api])
4504 AC_ARG_ENABLE(headers-api,
4505 AS_HELP_STRING([--enable-headers-api],[Enable headers-api support])
4506 AS_HELP_STRING([--disable-headers-api],[Disable headers-api support]),
4509 curl_headers_msg="no (--enable-headers-api)"
4510 AC_DEFINE(CURL_DISABLE_HEADERS_API, 1, [disable headers-api])
4519 dnl only check for HSTS if there's SSL present
4520 if test -n "$SSL_ENABLED"; then
4526 AS_HELP_STRING([--enable-hsts],[Enable HSTS support])
4527 AS_HELP_STRING([--disable-hsts],[Disable HSTS support]),
4544 curl_hsts_msg="no (--enable-hsts)";
4545 AC_DEFINE(CURL_DISABLE_HSTS, 1, [disable alt-svc])
4554 AC_DEFINE(USE_HTTPSRR, 1, [enable HTTPS RR support])
4588 dnl force pre-requisites for ECH
4594 AC_MSG_ERROR([--enable-ech ignored: No ECH support found])
4610 AS_HELP_STRING([--enable-websockets],[Enable WebSockets support])
4611 AS_HELP_STRING([--disable-websockets],[Disable WebSockets support]),
4617 if test ${ac_cv_sizeof_curl_off_t} -gt 4; then
4620 AC_DEFINE_UNQUOTED(USE_WEBSOCKETS, [1], [enable websockets support])
4643 dnl All the library dependencies put into $LIB apply to libcurl only.
4664 dnl to let curl-config output the static libraries correctly
4668 dnl merge the pkg-config Libs.private field into Libs when static-only
4679 dnl For keeping supported features and protocols also in pkg-config file
4680 dnl since it is more cross-compile friendly than curl-config
4685 elif test -n "$SSL_ENABLED"; then
4703 if test "x$USE_ARES" = "x1" -o "x$USE_THREADS_POSIX" = "x1" \
4704 -o "x$USE_THREADS_WIN32" = "x1"; then
4715 SUPPORT_FEATURES="$SUPPORT_FEATURES GSS-API"
4727 SUPPORT_FEATURES="$SUPPORT_FEATURES alt-svc"
4733 if test "x$CURL_DISABLE_NEGOTIATE_AUTH" != "x1" -a \
4734 \( "x$HAVE_GSSAPI" = "x1" -o "x$USE_WINDOWS_SSPI" = "x1" \); then
4738 if test "x$CURL_DISABLE_KERBEROS_AUTH" != "x1" -a \
4739 \( "x$HAVE_GSSAPI" = "x1" -o "x$USE_WINDOWS_SSPI" = "x1" \); then
4746 if test "x$OPENSSL_ENABLED" = "x1" -o "x$MBEDTLS_ENABLED" = "x1" \
4747 -o "x$GNUTLS_ENABLED" = "x1" \
4748 -o "x$SECURETRANSPORT_ENABLED" = "x1" \
4749 -o "x$USE_WIN32_CRYPTO" = "x1" \
4750 -o "x$WOLFSSL_NTLM" = "x1"; then
4755 -o "x$USE_WINDOWS_SSPI" = "x1"; then
4761 SUPPORT_FEATURES="$SUPPORT_FEATURES TLS-SRP"
4768 if test "x$USE_NGTCP2_H3" = "x1" -o "x$USE_QUICHE" = "x1" \
4769 -o "x$USE_OPENSSL_H3" = "x1" -o "x$USE_MSH3" = "x1"; then
4780 AC_MSG_CHECKING([if this build supports HTTPS-proxy])
4781 dnl if not explicitly turned off, HTTPS-proxy comes with some TLS backends
4785 -o "x$GNUTLS_ENABLED" = "x1" \
4786 -o "x$SECURETRANSPORT_ENABLED" = "x1" \
4787 -o "x$RUSTLS_ENABLED" = "x1" \
4788 -o "x$BEARSSL_ENABLED" = "x1" \
4789 -o "x$SCHANNEL_ENABLED" = "x1" \
4790 -o "x$GNUTLS_ENABLED" = "x1" \
4791 -o "x$MBEDTLS_ENABLED" = "x1"; then
4792 SUPPORT_FEATURES="$SUPPORT_FEATURES HTTPS-proxy"
4794 elif test "x$WOLFSSL_ENABLED" = "x1" -a "x$WOLFSSL_FULL_BIO" = "x1"; then
4795 SUPPORT_FEATURES="$SUPPORT_FEATURES HTTPS-proxy"
4807 if test ${ac_cv_sizeof_curl_off_t} -gt 4; then
4808 if test ${ac_cv_sizeof_off_t} -gt 4 -o \
4816 elif test "x$USE_THREADS_POSIX" = "x1" -a \
4840 dnl For supported protocols in pkg-config file
4896 -a "x$use_curl_ntlm_core" = "xyes"; then
4955 ac_configure_args="$ac_configure_args --enable-curldebug"
4963 docs/cmdline-opts/Makefile \
4967 lib/Makefile \
4969 lib/libcurl.vers \
4983 curl-config \
5006 GSS-API: ${curl_gss_msg}
5008 TLS-SRP: ${curl_tls_srp_msg}
5015 Built-in manual: ${curl_manual_msg}
5016 --libcurl option: ${curl_libcurl_msg}
5028 Alt-svc: ${curl_altsvc_msg}
5040 non13=`echo "$TLSCHOICE" | grep -Ei 'bearssl|secure-transport|mbedtls'`;
5041 if test -n "$non13"; then
5047 if test -n "$experimental"; then