aboutsummaryrefslogtreecommitdiff
path: root/configure.ac
AgeCommit message (Collapse)Author
2017-08-28configure: Handle "MultiSSL" specially When versioning symbolsJohannes Schindelin
There is a mode in which libcurl is compiled with versioned symbols, depending on the active SSL backend. When multiple SSL backends are active, it does not make sense to favor one over the others, so let's not: introduce a new prefix for the case where multiple SSL backends are compiled into cURL. Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
2017-08-28configure: allow setting the default SSL backendJohannes Schindelin
Previously, we used as default SSL backend whatever was first in the `available_backends` array. However, some users may want to override that default without patching the source code. Now they can: with the --with-default-ssl-backend=<backend> option of the ./configure script. Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
2017-08-28version: add the CURL_VERSION_MULTI_SSL feature flagJohannes Schindelin
This new feature flag reports When cURL was built with multiple SSL backends. Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
2017-08-28vtls: allow selecting which SSL backend to use at runtimeJohannes Schindelin
When building software for the masses, it is sometimes not possible to decide for all users which SSL backend is appropriate. Git for Windows, for example, uses cURL to perform clones, fetches and pushes via HTTPS, and some users strongly prefer OpenSSL, while other users really need to use Secure Channel because it offers enterprise-ready tools to manage credentials via Windows' Credential Store. The current Git for Windows versions use the ugly work-around of building libcurl once with OpenSSL support and once with Secure Channel support, and switching out the binaries in the installer depending on the user's choice. Needless to say, this is a super ugly workaround that actually only works in some cases: Git for Windows also comes in a portable form, and in a form intended for third-party applications requiring Git functionality, in which cases this "swap out libcurl-4.dll" simply is not an option. Therefore, the Git for Windows project has a vested interest in teaching cURL to make the SSL backend a *runtime* option. This patch makes that possible. By running ./configure with multiple --with-<backend> options, cURL will be built with multiple backends. For the moment, the backend can be configured using the environment variable CURL_SSL_BACKEND (valid values are e.g. "openssl" and "schannel"). Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
2017-08-17CURL_SIZEOF_LONG: removed, use only SIZEOF_LONGDaniel Stenberg
2017-08-17system.h: remove all CURL_SIZEOF_* definesDaniel Stenberg
... as they're not used externally and internally we check for the sizes already in configure etc. Closes #1767
2017-08-16configure: check for __builtin_available() availability (#1788)Nick Zitzmann
This change does two things: 1. It un-breaks the build in Xcode 9.0. (Xcode 9.0 is currently failing trying to compile connectx() in lib/connect.c.) 2. It finally weak-links the connectx() function, and falls back on connect() when run on older operating systems.
2017-08-10configure: use the threaded resolver backend by default if possibleDaniel Stenberg
Closes #1647
2017-08-01configure: fix the check for IdnToUnicodeJeremy Tan
Fixes #1669 Closes #1713
2017-07-04configure: remove checks for 5 functions never usedDaniel Stenberg
fork, getprotobyname, inet_addr, perror, uname closes #1638
2017-06-16configure: disable nghttp2 too if HTTP has been disabledDaniel Stenberg
2017-06-15fuzz: corpora file structure, initial commitFrederik B
2017-06-14includes: remove curl/curlbuild.h and curl/curlrules.hDaniel Stenberg
Rely entirely on curl/system.h now. Introduced in Aug 2008 with commit 14240e9e109f. Now gone. Fixes #1456
2017-06-12configure: update the copyright year in the outputDaniel Stenberg
2017-06-07configure: fix link with librtmp when specifying pathChris Carlmar
Bug: https://curl.haxx.se/mail/lib-2017-06/0017.html
2017-06-02build: provide easy code coverage measuringDaniel Stenberg
Closes #1528
2017-04-27tool_operate: use utimes instead of obsolescent utime when availableDan Fandrich
2017-04-25configure: stop prepending to LDFLAGS, CPPFLAGSJay Satiro
- Change prepends to appends because user's LDFLAGS and CPPFLAGS should always come first so they're searched before ours. Bug: https://github.com/curl/curl/issues/1420 Reported-by: Helmut K. C. Tessarek
2017-04-24configure: fix the -ldl check for openssl, add -lpthread checkDaniel Stenberg
The check for if -ldl is needed to build with (a statically built) openssl was broken. This repairs the check, and adds a check for -lpthread as well since OpenSSL 1.1.0+ does in fact require -lpthread so only adding -ldl for a static openssl build is no longer enough. Reported-by: Jay Satiro Ref: #1426 Closes #1427
2017-04-17configure.ac: ignore CR after version numbersMarcel Raad
Ignore everything after the version numbers in LIBCURL_VERSION and LIBCURL_VERSION_NUM to ged rid of the extra CR character. This makes tests 1022 and 1023 pass on Linux with a CRLF checkout. Ref: https://github.com/curl/curl/pull/1344#issuecomment-289243166 Closes https://github.com/curl/curl/pull/1422
2017-03-03configure: fix --with-zlib when a path is specifiedGreg Rowe
Prior to this change if you attempted to configure curl using --wtih-zlib and specified a path the path would be ignored if you also had pkg-config installed on your system. This situation can easily arise when you are cross compiling. This change moves the test for detecting zlib settings via pkg-config only if OPT_ZLIB is not set. Closes https://github.com/curl/curl/pull/1292
2017-03-02configure: fix for --enable-pthreadsJay Satiro
Better handle options conflicts that can occur if --enable-pthreads. Bug: https://github.com/curl/curl/pull/1295 Reported-by: Marc-Antoine Perennou
2017-02-14configure: Allow disabling pthreads, fall back on Win32 threadsJay Satiro
When the threaded resolver option is specified for configure the default thread library is pthreads. This change makes it possible to --disable-pthreads and then configure can fall back on Win32 threads for native Windows builds. Closes https://github.com/curl/curl/pull/1260
2017-01-13gnutls: check for alpn and ocsp in configureMarcus Hoffmann
Check for presence of gnutls_alpn_* and gnutls_ocsp_* functions during configure instead of relying on the version number. GnuTLS has options to turn these features off and we ca just work with with such builds like we work with older versions. Signed-off-by: Marcus Hoffmann <m.hoffmann@cartelsol.com> Closes #1204
2016-12-25configure: accept --with-libidn2 insteadDaniel Stenberg
... which the help text already implied since we switched to libidn2 from libidn in commit 9c91ec778104ae3b back in October 2016. Reported-by: Christian Weisgerber Bug: https://curl.haxx.se/mail/lib-2016-12/0110.html
2016-12-17cmdline-opts: include the man page split up files in the distDaniel Stenberg
2016-11-26curl_version_info: add CURL_VERSION_HTTPS_PROXYOkhin Vasilij
Closes #1142
2016-11-11openssl: RAND_status always exists in OpenSSL >= 0.9.7Daniel Stenberg
and remove RAND_screen from configure since nothing is using that function
2016-10-31idn: switch to libidn2 use and IDNA2008 supportDaniel Stenberg
CVE-2016-8625 Bug: https://curl.haxx.se/docs/adv_20161102K.html Reported-by: Christian Heimes
2016-10-20configure: set min version flags for builds on macDaniel Stenberg
This helps building binaries that can work on multiple macOS versions. Help-by: Martin Storsjö Fixes #1069
2016-10-18s/cURL/curlDaniel Stenberg
The tool was never called cURL, only the project. But even so, we have more and more over time switched to just use lower case.
2016-09-24configure: Fixed builds with libssh2 in a custom locationDan Fandrich
A libssh2 library in the standard system location was being used in preference to the desired one while linking.
2016-09-19openssl: don’t call CRYTPO_cleanup_all_ex_dataDaniel Stenberg
The OpenSSL function CRYTPO_cleanup_all_ex_data() cannot be called multiple times without crashing - and other libs might call it! We basically cannot call it without risking a crash. The function is a no-op since OpenSSL 1.1.0. Not calling this function only risks a small memory leak with OpenSSL < 1.1.0. Bug: https://curl.haxx.se/mail/lib-2016-09/0045.html Reported-by: Todd Short
2016-09-18configure: change "iOS/Mac OS X native" to "Apple OS native"Nick Zitzmann
Since I first wrote that text, Apple introduced tvOS and watchOS, and renamed "Mac OS X" to "macOS." Let's make the text a little more inclusive, since curl can be built for all four operating systems.
2016-08-25configure: detect zlib with our pkg-config macrosDaniel Stenberg
... instead of relying on the pkg-config autoconf macros to be present. Fixes #972 (again...)
2016-08-21configure: make it work without PKG_CHECK_MODULESDaniel Stenberg
With commit c2f9b78 we added a new dependency on pkg-config for developers which may be unwanted. This change make the configure script still work as before if pkg-config isn't installed, it'll just use the old zlib detection logic without pkg-config. Reported-by: Marc Hörsken Fixes #972
2016-08-20configure.ac: add missing quotes to PKG_CHECK_MODULESMarc Hoersken
2016-08-12configure.ac: add zlib search with pkg-configDambaev Alexander
Closes #956
2016-08-03mbedtls: Added support for NTLMBill Nagel
2016-06-22configure: don't specify .lib for libs on windowsDaniel Stenberg
Another follow up for crypt32.lib linking with winssl
2016-06-22configure: fix winssl LIBS change typoDaniel Stenberg
follow-up from 120bf29e
2016-06-22configure: add crypt32.lib for winssl buildsDaniel Stenberg
Necessary since 6cabd78531f
2016-04-21configure: ac_cv_ -> curl_cv_ for r/w varsIrfan Adilovic
These configure vars are modified in a curl-specific way and modified by the configure process, but are never loaded from cache, even though they are designated as _cv_. We should implement proper AC_CACHE_CHECKs for them eventually.
2016-04-21configure: ac_cv_ -> curl_cv_ for all cached varsIrfan Adilovic
This was automated by: sed -b -i -f <(ack -A1 AC_CACHE_CHECK | \ ack -o 'ac_cv_.*?\b' | \ sort -u | xargs -n1 bash -c \ 'echo "s/$0/curl_cv_${0#ac_cv_}/g"') \ $(git ls-files) This only changed the prefix for 16 variables actually checked with AC_CACHE_CHECK.
2016-04-18configure: remove check for libresolveDaniel Stenberg
'strncasecmp' was once provided by libresolv (no trailing e) for SunOS, but this check is broken and most likely adds nothing useful. Removing now. Reported-by: Irfan Adilovic Discussed in #770
2016-03-29wolfssl: Use ECC supported curves extensionJay Satiro
https://github.com/wolfSSL/wolfssl/issues/366
2016-03-28wolfssl: Add ALPN supportJay Satiro
2016-02-25configure: warn on invalid ca bundle or pathJay Satiro
- Warn if --with-ca-bundle file does not exist. - Warn if --with-ca-path directory does not contain certificates. - Improve help messages for both. Example configure output: ca cert bundle: /some/file (warning: certs not found) ca cert path: /some/dir (warning: certs not found) Bug: https://github.com/curl/curl/issues/404 Reported-by: Jeffrey Walton
2016-02-09configure: state "BoringSSL" in summary when that was detectedDaniel Stenberg
2016-02-09openssl: remove most BoringSSL #ifdefs.David Benjamin
As of https://boringssl-review.googlesource.com/#/c/6980/, almost all of BoringSSL #ifdefs in cURL should be unnecessary: - BoringSSL provides no-op stubs for compatibility which replaces most #ifdefs. - DES_set_odd_parity has been in BoringSSL for nearly a year now. Remove the compatibility codepath. - With a small tweak to an extend_key_56_to_64 call, the NTLM code builds fine. - Switch OCSP-related #ifdefs to the more generally useful OPENSSL_NO_OCSP. The only #ifdefs which remain are Curl_ossl_version and the #undefs to work around OpenSSL and wincrypt.h name conflicts. (BoringSSL leaves that to the consumer. The in-header workaround makes things sensitive to include order.) This change errs on the side of removing conditionals despite many of the restored codepaths being no-ops. (BoringSSL generally adds no-op compatibility stubs when possible. OPENSSL_VERSION_NUMBER #ifdefs are bad enough!) Closes #640