diff --git a/README.md b/README.md
index 0426ba63..b0655b73 100644
--- a/README.md
+++ b/README.md
@@ -65,10 +65,13 @@ How to build it?
* Step 1: You have to build cURL before building WinGUp:
1. Open VS2022 Native Tool Command for 32/64 bits. If you want to build for ARM, open a cmd, and run the following command:
- `C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Auxiliary\Build\vcvarsamd64_arm64.bat`
- 2. go to curl winbuild directory:
- `cd \curl\winbuild`
- 3. compile cURL by using one of the following commands, according the mode and architecture of WinGUp you want to build.
+ `C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Auxiliary\Build\vcvarsamd64_arm64.bat`
+ 2. go to curl directory, :
+ `cd \curl\` then run:
+ `buildconf.bat`
+ 3. go to winbuild directory, which is under curl directory:
+ `cd winbuild`
+ 4. compile cURL by using one of the following commands, according the mode and architecture of WinGUp you want to build.
- x64 release: `nmake /f Makefile.vc mode=dll vc=15 RTLIBCFG=static MACHINE=x64`
- x64 debug: `nmake /f Makefile.vc mode=dll vc=15 RTLIBCFG=static DEBUG=yes MACHINE=x64`
- x86 release: `nmake /f Makefile.vc mode=dll vc=15 RTLIBCFG=static MACHINE=x86`
diff --git a/curl/.circleci/config.yml b/curl/.circleci/config.yml
new file mode 100644
index 00000000..12661cbc
--- /dev/null
+++ b/curl/.circleci/config.yml
@@ -0,0 +1,257 @@
+#***************************************************************************
+# _ _ ____ _
+# Project ___| | | | _ \| |
+# / __| | | | |_) | |
+# | (__| |_| | _ <| |___
+# \___|\___/|_| \_\_____|
+#
+# Copyright (C) Daniel Stenberg, , et al.
+#
+# 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.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
+# furnished to do so, under the terms of the COPYING file.
+#
+# This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
+# KIND, either express or implied.
+#
+# SPDX-License-Identifier: curl
+#
+###########################################################################
+
+# View these jobs in the browser: https://app.circleci.com/pipelines/github/curl/curl
+
+# Use the latest 2.1 version of CircleCI pipeline process engine. See: https://circleci.com/docs/configuration-reference/
+version: 2.1
+
+commands:
+ configure:
+ steps:
+ - run:
+ command: |
+ autoreconf -fi
+ ./configure --enable-warnings --enable-werror --with-openssl \
+ || { tail -1000 config.log; false; }
+
+ configure-openssl-no-verbose:
+ steps:
+ - run:
+ command: |
+ autoreconf -fi
+ ./configure --disable-verbose --enable-werror --with-openssl \
+ || { tail -1000 config.log; false; }
+
+ configure-no-proxy:
+ steps:
+ - run:
+ command: |
+ autoreconf -fi
+ ./configure --disable-proxy --enable-werror --with-openssl \
+ || { tail -1000 config.log; false; }
+
+ install-cares:
+ steps:
+ - run:
+ command: |
+ sudo apt-get update && sudo apt-get install -y libc-ares-dev
+
+ install-libssh:
+ steps:
+ - run:
+ command: |
+ sudo apt-get update && sudo apt-get install -y libssh-dev
+
+ install-deps:
+ steps:
+ - run:
+ command: |
+ sudo apt-get update && sudo apt-get install -y libpsl-dev libbrotli-dev libzstd-dev zlib1g-dev python3-pip libpsl-dev
+ sudo python3 -m pip install impacket
+
+ configure-libssh:
+ steps:
+ - run:
+ command: |
+ autoreconf -fi
+ ./configure --enable-warnings --enable-werror --with-openssl --with-libssh \
+ || { tail -1000 config.log; false; }
+
+ install-wolfssl:
+ steps:
+ - run:
+ command: |
+ source .github/scripts/VERSIONS
+ echo "Installing wolfSSL $WOLFSSL_VER"
+ curl -LOsSf --retry 6 --retry-connrefused --max-time 999 https://github.com/wolfSSL/wolfssl/archive/v$WOLFSSL_VER-stable.tar.gz
+ tar -xzf v$WOLFSSL_VER-stable.tar.gz
+ cd wolfssl-$WOLFSSL_VER-stable
+ ./autogen.sh
+ ./configure --enable-tls13 --enable-all --enable-harden --prefix=$HOME/wssl
+ make install
+
+ install-wolfssh:
+ steps:
+ - run:
+ command: |
+ source .github/scripts/VERSIONS
+ echo "Installing wolfSSH $WOLFSSH_VER"
+ curl -LOsSf --retry 6 --retry-connrefused --max-time 999 https://github.com/wolfSSL/wolfssh/archive/v$WOLFSSH_VER-stable.tar.gz
+ tar -xzf v$WOLFSSH_VER-stable.tar.gz
+ cd wolfssh-$WOLFSSH_VER-stable
+ ./autogen.sh
+ ./configure --with-wolfssl=$HOME/wssl --prefix=$HOME/wssh --enable-scp --enable-sftp --disable-examples
+ make install
+
+ configure-cares:
+ steps:
+ - run:
+ command: |
+ autoreconf -fi
+ ./configure --enable-warnings --enable-werror --with-openssl --enable-ares \
+ || { tail -1000 config.log; false; }
+
+ configure-wolfssh:
+ steps:
+ - run:
+ command: |
+ autoreconf -fi
+ LDFLAGS="-Wl,-rpath,$HOME/wssh/lib" ./configure --enable-warnings --enable-werror --with-wolfssl=$HOME/wssl --with-wolfssh=$HOME/wssh \
+ || { tail -1000 config.log; false; }
+
+ configure-cares-debug:
+ steps:
+ - run:
+ command: |
+ autoreconf -fi
+ ./configure --enable-debug --enable-werror --with-openssl --enable-ares \
+ || { tail -1000 config.log; false; }
+
+ build:
+ steps:
+ - run: make -j3 V=1
+ - run: make -j3 V=1 examples
+
+ test:
+ steps:
+ - run: make -j3 V=1 test-ci TFLAGS='-j14'
+
+executors:
+ ubuntu:
+ machine:
+ image: ubuntu-2004:2024.01.1
+
+jobs:
+ basic:
+ executor: ubuntu
+ steps:
+ - checkout
+ - install-deps
+ - configure
+ - build
+ - test
+
+ no-verbose:
+ executor: ubuntu
+ steps:
+ - checkout
+ - install-deps
+ - configure-openssl-no-verbose
+ - build
+
+ wolfssh:
+ executor: ubuntu
+ steps:
+ - checkout
+ - install-deps
+ - install-wolfssl
+ - install-wolfssh
+ - configure-wolfssh
+ - build
+
+ no-proxy:
+ executor: ubuntu
+ steps:
+ - checkout
+ - install-deps
+ - configure-no-proxy
+ - build
+ - test
+
+ cares:
+ executor: ubuntu
+ steps:
+ - checkout
+ - install-deps
+ - install-cares
+ - configure-cares
+ - build
+ - test
+
+ libssh:
+ executor: ubuntu
+ steps:
+ - checkout
+ - install-deps
+ - install-libssh
+ - configure-libssh
+ - build
+ - test
+
+ arm:
+ machine:
+ image: ubuntu-2004:2024.01.1
+ resource_class: arm.medium
+ steps:
+ - checkout
+ - install-deps
+ - configure
+ - build
+ - test
+
+ arm-cares:
+ machine:
+ image: ubuntu-2004:2024.01.1
+ resource_class: arm.medium
+ steps:
+ - checkout
+ - install-deps
+ - install-cares
+ - configure-cares-debug
+ - build
+ - test
+
+workflows:
+ x86-openssl:
+ jobs:
+ - basic
+
+ openssl-c-ares:
+ jobs:
+ - cares
+
+ openssl-libssh:
+ jobs:
+ - libssh
+
+ openssl-no-proxy:
+ jobs:
+ - no-proxy
+
+ openssl-no-verbose:
+ jobs:
+ - no-verbose
+
+ wolfssl-wolfssh:
+ jobs:
+ - wolfssh
+
+ arm-openssl:
+ jobs:
+ - arm
+
+ arm-openssl-c-ares:
+ jobs:
+ - arm-cares
diff --git a/curl/.dir-locals.el b/curl/.dir-locals.el
new file mode 100644
index 00000000..f6248c2e
--- /dev/null
+++ b/curl/.dir-locals.el
@@ -0,0 +1,33 @@
+;;;***************************************************************************
+;;; _ _ ____ _
+;;; Project ___| | | | _ \| |
+;;; / __| | | | |_) | |
+;;; | (__| |_| | _ <| |___
+;;; \___|\___/|_| \_\_____|
+;;;
+;;; Copyright (C) Daniel Stenberg, , et al.
+;;;
+;;; 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.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
+;;; furnished to do so, under the terms of the COPYING file.
+;;;
+;;; This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
+;;; KIND, either express or implied.
+;;;
+;;; SPDX-License-Identifier: curl
+;;;
+;;;***************************************************************************
+;;; Directory Local Variables
+;;; See Info node `(emacs) Directory Variables' for more information.
+
+((nil . ((indent-tabs-mode . nil)
+ (show-trailing-whitespace . t)))
+ (c-mode . ((c-basic-offset . 2)
+ ))
+ (c++-mode . ((c-basic-offset . 2)
+ ))
+ )
diff --git a/curl/CHANGES b/curl/CHANGES
deleted file mode 100644
index 0a20ceac..00000000
--- a/curl/CHANGES
+++ /dev/null
@@ -1,9545 +0,0 @@
- _ _ ____ _
- ___| | | | _ \| |
- / __| | | | |_) | |
- | (__| |_| | _ <| |___
- \___|\___/|_| \_\_____|
-
- Changelog
-
-Version 8.4.0 (11 Oct 2023)
-
-Daniel Stenberg (11 Oct 2023)
-
-- RELEASE-NOTES: synced
-
-- THANKS: add contributors from 8.4.0
-
-Jay Satiro (11 Oct 2023)
-
-- socks: return error if hostname too long for remote resolve
-
- Prior to this change the state machine attempted to change the remote
- resolve to a local resolve if the hostname was longer than 255
- characters. Unfortunately that did not work as intended and caused a
- security issue.
-
- Bug: https://curl.se/docs/CVE-2023-38545.html
-
-Stefan Eissing (10 Oct 2023)
-
-- CI: remove slowed-network tests
-
- - remove these tests as they are currently not reliable in our CI
- setups.
-
- curl handles the test cases, but CI sometimes fails on these due to
- additional conditions. Rather than mix them in, an additional CI job
- will be added in the future that is specific to them.
-
- Closes https://github.com/curl/curl/pull/12075
-
-Jay Satiro (10 Oct 2023)
-
-- libcurl-env-dbg.3: move debug variables from libcurl-env.3
-
- - Move documentation of libcurl environment variables used only in debug
- builds from libcurl-env into a separate document libcurl-env-dbg.
-
- - Document more debug environment variables.
-
- Previously undocumented or missing a description:
-
- CURL_ALTSVC_HTTP, CURL_DBG_SOCK_WBLOCK, CURL_DBG_SOCK_WPARTIAL,
- CURL_DBG_QUIC_WBLOCK, CURL_DEBUG, CURL_DEBUG_SIZE, CURL_GETHOSTNAME,
- CURL_HSTS_HTTP, CURL_FORCETIME, CURL_SMALLREQSEND, CURL_SMALLSENDS,
- CURL_TIME.
-
- Closes https://github.com/curl/curl/pull/11811
-
-Dan Fandrich (9 Oct 2023)
-
-- test670: increase the test timeout
-
- This should make it more immune to loaded servers.
-
- Ref: #11328
-
-Stefan Eissing (9 Oct 2023)
-
-- MQTT: improve receive of ACKs
-
- - add `mq->recvbuf` to provide buffering of incomplete
- ACK responses
- - continue ACK reading until sufficient bytes available
- - fixes test failures on low network receives
-
- Closes #12071
-
-Viktor Szakats (9 Oct 2023)
-
-- quic: fix BoringSSL build
-
- Add guard around `SSL_CTX_set_ciphersuites()` use.
-
- Bug: https://github.com/curl/curl/pull/12065#issuecomment-1752171885
-
- Follow-up to aa9a6a177017e4b74d33cdf85a3594900f4a7f81
-
- Co-authored-by: Jay Satiro
- Reviewed-by: Daniel Stenberg
- Closes #12067
-
-Stefan Eissing (9 Oct 2023)
-
-- test1540: improve reliability
-
- - print that bytes have been received on pausing, but not how many
-
- Closes #12069
-
-- test2302: improve reliability
-
- - make result print collected write data, unless
- change in meta flags is detected
- - will show same result even when data arrives via
- several writecb invocations
-
- Closes #12068
-
-Daniel Stenberg (9 Oct 2023)
-
-- curl_easy_pause: set "in callback" true on exit if true
-
- Because it might have called another callback in the mean time that then
- set the bit FALSE on exit.
-
- Reported-by: Jay Satiro
- Fixes #12059
- Closes #12061
-
-Viktor Szakats (8 Oct 2023)
-
-- h3: add support for ngtcp2 with AWS-LC builds
-
- ```
- curl 8.4.0-DEV (x86_64-apple-darwin) libcurl/8.4.0-DEV (SecureTransport) AWS-
- LC/1.15.0 nghttp2/1.56.0 ngtcp2/0.19.1 nghttp3/0.15.0
- Release-Date: [unreleased]
- Protocols: dict file ftp ftps gopher gophers http https imap imaps ldap ldaps
- mqtt pop3 pop3s rtsp smb smbs smtp smtps telnet tftp ws wss
- Features: alt-svc AsynchDNS HSTS HTTP2 HTTP3 HTTPS-proxy IPv6 Largefile Multi
- SSL NTLM SSL threadsafe UnixSockets
- ```
-
- Also delete an obsolete GnuTLS TODO and update the header comment in
- `FindNGTCP2.cmake`.
-
- Reviewed-by: Daniel Stenberg
- Closes #12066
-
-- build: do not publish `HAVE_BORINGSSL`, `HAVE_AWSLC` macros
-
- Syncing this up with CMake.
-
- Source code uses the built-in `OPENSSL_IS_AWSLC` and
- `OPENSSL_IS_BORINSSL` macros to detect BoringSSL and AWS-LC. No help is
- necessary from the build tools.
-
- The one use of `HAVE_BORINGSSL` in the source turned out to be no longer
- necessary for warning-free BoringSSL + Schannel builds. Ref: #1610 #2634
-
- autotools detects this anyway for display purposes.
- CMake detects this to decide whether to use the BoringSSL-specific
- crypto lib with ngtcp2. It detects AWS-LC, but doesn't use the detection
- result just yet (planned in #12066).
-
- Ref: #11964
-
- Reviewed-by: Daniel Stenberg
- Reviewed-by: Jay Satiro
- Closes #12065
-
-Marc Hoersken (8 Oct 2023)
-
-- CI: move distcheck job from Azure Pipelines to GitHub Actions
-
- This will allow for more trigger excludes within Azure Pipelines.
-
- Also fixes seemingly broken check with scripts/installcheck.sh.
- Ref: 190374c74ec4e5247d9066544c86e8d095e1d7b5
-
- Assisted-by: Philip Heiduck
- Closes #9532
-
-Daniel Stenberg (8 Oct 2023)
-
-- url: fall back to http/https proxy env-variable if ws/wss not set
-
- Reported-by: Craig Andrews
- Fixes #12031
- Closes #12058
-
-Stefan Eissing (8 Oct 2023)
-
-- cf-socket: simulate slow/blocked receives in debug
-
- add 2 env variables for non-UDP sockets:
- 1. CURL_DBG_SOCK_RBLOCK: percentage of receive calls that randomly
- should return EAGAIN
- 2. CURL_DBG_SOCK_RMAX: max amount of bytes read from socket
-
- Closes #12035
-
-- http2: refused stream handling for retry
-
- - answer HTTP/2 streams refused via a GOAWAY from the server to
- respond with CURLE_RECV_ERROR in order to trigger a retry
- on another connection
-
- Reported-by: black-desk on github
- Ref #11859
- Closes #12054
-
-Jay Satiro (8 Oct 2023)
-
-- CURLOPT_DEBUGFUNCTION.3: warn about internal handles
-
- - Warn that the user's debug callback may be called with the handle
- parameter set to an internal handle.
-
- Without this warning the user may assume that the only handles their
- debug callback receives are the easy handles on which they set
- CURLOPT_DEBUGFUNCTION.
-
- This is a follow-up to f8cee8cc which changed DoH handles to inherit
- the debug callback function set in the user's easy handle. As a result
- those handles are now passed to the user's debug callback function.
-
- Closes https://github.com/curl/curl/pull/12034
-
-- url: fix typo
-
-Daniel Stenberg (8 Oct 2023)
-
-- test458: verify --expand-output, expanding a file name accepting option
-
- Verifies the fix in #12055 (commit f2c8086ff15e6e995e1)
-
-- tool_getparam: accept variable expansion on file names too
-
- Reported-by: PBudmark on github
- Fixes #12048
- Closes #12055
-
-- RELEASE-NOTES: synced
-
-- multi: do CURLM_CALL_MULTI_PERFORM at two more places
-
- ... when it does a state transition but there is no particular socket or
- timer activity. This was made apparent when commit b5bb84c removed a
- superfluous timer expiry.
-
- Reported-by: Dan Fandrich.
- Fixes #12033
- Closes #12056
-
-Viktor Szakats (7 Oct 2023)
-
-- GHA/linux: mbedtls 3.5.0 + minor dep bumps
-
- Closes #12057
-
-Dan Fandrich (7 Oct 2023)
-
-- CI: bump OpenLDAP package version on FreeBSD
-
- The old one is no longer available.
-
-Marc Hoersken (7 Oct 2023)
-
-- docs/libcurl/opts/Makefile.inc: add missing manpage files
-
- Detected with #9532
-
-Dan Fandrich (7 Oct 2023)
-
-- tests: fix a race condition in ftp server disconnect
-
- If a client disconnected and reconnected quickly, before the ftp server
- had a chance to respond, the protocol message/ack (ping/pong) sequence
- got out of sync, causing messages sent to the old client to be delivered
- to the new. A disconnect must now be acknowledged and intermediate
- requests thrown out until it is, which ensures that such synchronization
- problems can't occur. This problem could affect ftp, pop3, imap and smtp
- tests.
-
- Fixes #12002
- Closes #12049
-
-Viktor Szakats (7 Oct 2023)
-
-- appveyor: bump mingw-w64 job to gcc 13 (was: 8)
-
- This sets gcc 6, 7, 9, 13 in our test mix (was: 6, 7, 8, 9).
- Adding a modern gcc version to the tests.
-
- (The gcc 8 job used to take around 50 minutes. The new image with gcc 13
- finished in 32, 35, 34 minutes in the 3 test runs so far.)
-
- It also adds a modern CMake version and OS env to our mingw-w64 builds.
-
- Closes #12051
-
-David Benjamin (6 Oct 2023)
-
-- openssl: use X509_ALGOR_get0 instead of reaching into X509_ALGOR
-
- While the struct is still public in OpenSSL, there is a (somewhat
- inconvenient) accessor. Use it to remain compatible if it becomes opaque
- in the future.
-
- Closes #12038
-
-Daniel Stenberg (6 Oct 2023)
-
-- curl_easy_pause.3: mention it works within callbacks
-
- Reported-by: Maxim Dzhura
- Bug: https://curl.se/mail/lib-2023-10/0010.html
- Closes #12046
-
-- curl_easy_pause.3: mention h2/h3 buffering
-
- Asked-by: Maxim Dzhura
- Ref: https://curl.se/mail/lib-2023-10/0011.html
-
- Closes #12045
-
-Viktor Szakats (6 Oct 2023)
-
-- cmake: re-add missed C89 headers for specific detections
-
- We removed C89 `setjmp.h` and `signal.h` detections and excluded them
- from the global header list we use when detecting functions [1]. Then
- missed to re-add these headers to the specific functions which need
- them to be detected [2]. Fix this omission in this patch.
-
- [1] Follow-up to 3795fcde995d96db641ddbcc8a04f9f0f03bef9f #11951
- [2] Follow-up to 96c29900bcec32dd6bc8e9857c8871ff4b8b8ed9 #11940
-
- Closes #12043
-
-Daniel Stenberg (6 Oct 2023)
-
-- multi: set CURLM_CALL_MULTI_PERFORM after switch to DOING_MORE
-
- Since there is nothing to wait for there. Avoids the test 1233 hang
- reported in #12033.
-
- Reported-by: Dan Fandrich
- Closes #12042
-
-Dan Fandrich (5 Oct 2023)
-
-- test1903: actually verify the cookies after the test
-
- The test otherwise could do just about anything (except leak memory in
- debug mode) and its bad behaviour wouldn't be detected. Now, check the
- resulting cookie file to ensure the cookies are still there.
-
- Closes #12041
-
-- test: add missing s
-
- The tests will otherwise fail if curl has them disabled.
-
-- test1906: set a lower timeout since it's hit on Windows
-
- msys2 builds actually hit the connect timeout in normal operation, so
- lower the timeout from 5 minutes to 5 seconds to reduce test time.
-
- Ref: #11328
- Closes #12036
-
-Daniel Stenberg (5 Oct 2023)
-
-- RELEASE-NOTES: synced
-
-Jay Satiro (5 Oct 2023)
-
-- idn: fix WinIDN null ptr deref on bad host
-
- - Return CURLE_URL_MALFORMAT if IDN hostname cannot be converted from
- UTF-8 to UTF-16.
-
- Prior to this change a failed conversion erroneously returned CURLE_OK
- which meant 'decoded' pointer (what would normally point to the
- punycode) would not be written to, remain NULL and be dereferenced
- causing an access violation.
-
- Closes https://github.com/curl/curl/pull/11983
-
-Dan Fandrich (4 Oct 2023)
-
-- tests: close the shell used to start sshd
-
- This shell isn't needed once sshd starts, so use "exec" so it doesn't
- stick around.
-
- Closes #12032
-
-Daniel Stenberg (4 Oct 2023)
-
-- base64: also build for curl
-
- Since the tool itself now uses the base64 code using the curlx way, it
- needs to build also when the tool needs it. Starting now, the tool build
- defines BULDING_CURL to allow lib-side code to use it.
-
- Follow-up to 2e160c9c6525
-
- Closes #12010
-
-Eduard Strehlau (4 Oct 2023)
-
-- tests: Fix zombie processes left behind by FTP tests.
-
- ftpserver.pl correctly cleans up spawned server processes,
- but forgets to wait for the shell used to spawn them.
- This is barely noticeable during a normal testrun,
- but causes process exhaustion and test failure
- during a complete torture run of the FTP tests.
-
- Fixes #12018
- Closes #12020
-
-Dan Fandrich (4 Oct 2023)
-
-- github/labeler: improve labeler matches
-
-- test574: add a timeout to the test
-
- This one hangs occasionally, so this will speed up a test run and allow
- logs to be seen when it does.
-
- Closes #12025
-
-- tests: propagate errors in libtests
-
- Use the test macros to automatically propagate some errors, and check
- and log others while running the tests. This can help in debugging
- exactly why a test has failed.
-
-- tests: set --expect100-timeout to improve test reliability
-
- On an overloaded server, the default 1 second timeout can go by without
- the test server having a chance to respond with the expected headers,
- causing tests to fail. Increase the 1 second timeout to 99 seconds so
- this failure mode is no longer a problem on test 1129. Some other tests
- already set a high value, but make them consistently 99 seconds so if
- something goes wrong the test is stalled for less time.
-
- Ref: #11328
-
-- CI: ignore the "flaky" and "timing-dependent" test results in CMake
-
- This was already done for automake builds but CMake builds were missed.
- Test 1086 actually causes the test harness to crash with:
-
- Warning: unable to close filehandle DWRITE properly: Broken pipe at C:/projec
- ts/curl/tests/ftpserver.pl line 527
-
- Rather than fix it now, this change leaves test 1086 entirely skipped on
- those builds that show this problem.
-
- Follow-up to 589dca761
-
- Ref: #11865
-
-Viktor Szakats (4 Oct 2023)
-
-- cmake: improve OpenLDAP builds
-
- - cmake: detect OpenLDAP based on function `ldap_init_fd`.
- autotools does this. autotools also publishes this detection result
- in `HAVE_LDAP_INIT_FD`. We don't mimic that with CMake as the source
- doesn't use this value. (it might need to be remove-listed in
- `scripts/cmp-config.pl` for future OpenLDAP test builds.)
- This also deletes existing self-declaration method via the
- CMake-specific `CURL_USE_OPENLDAP` configuration.
-
- - cmake: define `LDAP_DEPRECATED=1` for OpenLDAP.
- Like autotools does. This fixes a long list of these warnings:
- ```
- /usr/local/opt/openldap/include/ldap.h:1049:5: warning: 'LDAP_DEPRECATED' i
- s not defined, evaluates to 0 [-Wundef]
- ```
-
- - cmake: delete LDAP TODO comment no longer relevant.
-
- Also:
-
- - autotools: replace domain name `dummy` with `0.0.0.0` in LDAP feature
- detection functions.
-
- Ref: #11964 (effort to sync cmake detections with autotools)
-
- Closes #12024
-
-- cmake: fix unity builds for more build combinations
-
- By using unique static function/variable names in source files
- implementing these interfaces.
-
- - OpenLDAP combined with any SSH backend.
-
- - MultiSSL with mbedTLS, OpenSSL, wolfSSL, SecureTransport.
-
- Closes #12027
-
-Daniel Stenberg (4 Oct 2023)
-
-- tests: remove leading spaces from some tags
-
- The threee tags ``, `` and `` were frequently used
- with a leading space that this removes. The reason this habbit is so
- widespread in testcases is probably that they have been copy and pasted.
-
- Hence, fixing them all now might curb this practice from now on.
-
- Closes #12028
-
-Viktor Szakats (4 Oct 2023)
-
-- GHA: bump actions/checkout
-
- Follow-up to 2e0fa50fc16b9339f51e0a7bfff0352829323acb #11964
- Follow-up to c39585d9b7ef3cbfc1380812dec60e7b275b6af3 #12000
-
- Closes #12023
-
-- spelling: fix codespell 2.2.6 typos
-
- Closes #12019
-
-Daniel Stenberg (3 Oct 2023)
-
-- GHA: add workflow to compare configure vs cmake outputs
-
- Uses scripts/cmp-config.pl two compare two curl_config.h files,
- presumbly generated with configure and cmake. It displays the
- differences and filters out a lot of known lines we ignore.
-
- The script also shows the matches that were *not* used. Possibly
- subjects for removal.
-
- Closes #11964
-
-- appveyor: enable test 571
-
- Follow-up from 8a940fd55c175f7 / #12013
-
- Closes #12017
-
-Viktor Szakats (3 Oct 2023)
-
-- build: alpha-sort source files for lib and src
-
- Closes #12014
-
-- cmake: delete old `HAVE_LDAP_URL_PARSE` logic
-
- Left there by accident after adding proper detection for this.
-
- Follow-up to 772f0d8edf1c3c2745543f42388ccec5a16ee2c0 #12006
-
- Ref: #11964 (effort to sync cmake detections with autotools)
-
- Closes #12015
-
-Stefan Eissing (3 Oct 2023)
-
-- tests: increase lib571 timeout from 3s to 30s
-
- - 3s is too short for our CI, making this test fail occasionally
- - test usually experiences no delay run locally, so 30s wont hurt
-
- Closes #12013
-
-Viktor Szakats (3 Oct 2023)
-
-- cmake: fix unity with Windows Unicode + TrackMemory
-
- Found the root cause of the startup crash in unity builds with Unicode
- and TrackMemory enabled at the same time.
-
- We must make sure that the `memdebug.h` header doesn't apply to
- `lib/curl_multibyte.c` (as even noted in a comment there.) In unity
- builds all headers apply to all sources, including `curl_multibyte.c`.
- This probably resulted in an infinite loop on startup.
-
- Exclude this source from unity compilation with TrackMemory enabled,
- in both libcurl and curl tool. Enable unity mode for a debug Unicode
- CI job to keep it tested. Also delete the earlier workaround that
- fully disabled unity for affected builds.
-
- Follow-up to d82b080f6374433ce7c98241329189ad2d3976f8 #12005
- Follow-up to 3f8fc25720900b14b7432f4bd93407ca15311719 #11095
-
- Closes #11928
-
-- cmake: disable unity mode with Windows Unicode + TrackMemory
-
- "TrackMemory" is `ENABLE_DEBUG=ON` (aka `ENABLE_CURLDEBUG=ON`,
- aka `-DCURLDEBUG`).
-
- There is an issue with memory tracking and Unicode when built in "unity"
- mode, which results in the curl tool crashing right on startup, even
- without any command-line option. Interestingly this doesn't happen under
- WINE (at least on the system I tested this on), but consistenly happens
- on real Windows machines. Crash is 0xC0000374 heap corruption. Both
- shared and static curl executables are affected.
-
- This limitation probably won't hit too many people, but it remains
- a TODO to find and fix the root cause and drop this workaround.
-
- Example builds and runs:
- https://ci.appveyor.com/project/curlorg/curl/builds/48169111/job/17cptxhtpubd
- 7iwj#L313 (static)
- https://ci.appveyor.com/project/curlorg/curl/builds/48169111/job/76e1ge758tby
- qu9c#L317 (shared)
-
- Follow-up to 3f8fc25720900b14b7432f4bd93407ca15311719 #11095
-
- Ref: #11928
- Closes #12005
-
-- cmake: tidy-up `NOT_NEED_LBER_H` detection
-
- Follow-up to 772f0d8edf1c3c2745543f42388ccec5a16ee2c0 #12006
-
-- appveyor: rewrite batch in PowerShell + CI improvements
-
- 1. Rewrite in PowerShell:
-
- - rewrite MS-DOS batch build script in PowerShell.
- - move some bash operations into native PowerShell.
- - fixups for PowerShell insisting on failure when a command outputs
- something to stderr.
- - fix to actually run `curl -V` after every build.
- (and exclude ARM64 builds.)
- - also say why we skipped `curl -V` if we had to skip.
- - fix CMake warnings about unused configuration variables, by adapting
- these dynamically for build cases.
- - dedupe OpenSSL path into a variable.
- - disable `test1451` failing with a warning anyway due to missing python
- impacket. (after trying and failing to install impacket)
- PowerShell promotes these warnings to errors by PowerShell. We can also
- suppress they wholesale if they start causing issues in the future,
- like we already to with `autoreconf` and `./configure`.
-
- PowerShell is better than MS-DOS batches, so the hope is this makes it
- easier to extend and maintain the AppVeyor build logic. POSIX/bash isn't
- supported inline by AppVeyor on Windows build machines, but we are okay
- to keep it in an external script, so it's also an option.
-
- 2. CI improvements:
-
- - enable tests for a "unity" build job.
- - speed-up CI initialization by using shallow clones of the curl repo.
- - speed-up CMake MSVC jobs with `TrackFileAccess=false`.
- - enable parallelism in `VisualStudioSolution` builds.
- - display CMake version before builds.
- - always show the CPU in job names.
- - tell which jobs are build-only in job names.
- - move `TESTING:` value next to `DISABLED_TESTS:` in two jobs.
- - add `config.log` (autotools) to dumped logs (need to enable manually).
-
- 3. Style:
-
- - use single-quotes in YAML like we do in other CI YAML files.
- It also allows to drop quoting characters and lighter to write/read.
- (keep double quotes for PowerShell strings needing expansion.)
-
- Closes #11999
-
-- cmake: fix `HAVE_LDAP_SSL`, `HAVE_LDAP_URL_PARSE` on non-Windows
-
- - set `HAVE_LDAP_URL_PARSE` if `ldap_url_parse` function exists.
- Before this patch we set it based it on the presence of `stricmp`,
- which correctly enabled it on e.g. Windows, but was inaccurate for
- other platforms.
-
- - always set `HAVE_LDAP_SSL` if an LDAP backend is detected and
- LDAPS is not explicitly disabled. This mimics autotools behaviour.
- Previously we set it only for Windows LDAP. After this fix, LDAPS is
- correctly enabled in default macOS builds.
-
- - enable LDAP[S] for a CMake macOS CI job. Target OS X 10.9 (Mavericks)
- to avoid deprecation warnings for LDAP API.
-
- - always detect `HAVE_LDAP_SSL_H`, even with LDAPS explicitly disabled.
- This doesn't make much sense, but let's do it to sync behaviour with
- autotools.
-
- - fix benign typo in variable name.
-
- Ref: #11964 (effort to sync cmake detections with autotools)
-
- Closes #12006
-
-- autotools: restore `HAVE_IOCTL_*` detections
-
- This restores `CURL_CHECK_FUNC_IOCTL` detection. I deleted it in
- 4d73854462f30948acab12984b611e9e33ee41e6 and
- c3456652a0c72d1845d08df9769667db7e159949 (2022-08), because the
- `HAVE_IOCTL` result it generated was unused in the source. But,
- I did miss the fact that this had two dependent checks:
- `CURL_CHECK_FUNC_IOCTL_FIONBIO`,
- `CURL_CHECK_FUNC_IOCTL_SIOCGIFADDR` that we do actually need:
- `HAVE_IOCTL_FIONBIO`, `HAVE_IOCTL_SIOCGIFADDR`.
-
- Regression from 4d73854462f30948acab12984b611e9e33ee41e6
-
- Ref: #11964 (effort to sync cmake detections with autotools)
-
- Closes #12008
-
-Daniel Stenberg (2 Oct 2023)
-
-- RELEASE-PROCEDURE.md: updated coming release dates
-
-- RELEASE-NOTES: synced
-
-Viktor Szakats (1 Oct 2023)
-
-- cmake: pre-cache `HAVE_POLL_FINE` on Windows
-
- Windows doesn't support `poll()`, so we can safely skip checking for
- fine poll.
-
- Closes #12003
-
-- gha: bump actions to latest versions
-
- - actions@checkout@v4 (from v3 and v2)
-
- - fsfe/reuse-action@v2 (from v1)
-
- Closes #12000
-
-Stefan Eissing (30 Sep 2023)
-
-- h2: testcase and fix for pausing h2 streams
-
- - refs #11982 where it was noted that paused transfers may
- close successfully without delivering the complete data
- - made sample poc into tests/http/client/h2-pausing.c and
- added test_02_27 to reproduce
-
- Closes #11989
- Fixes #11982
- Reported-by: Harry Sintonen
-
-Viktor Szakats (30 Sep 2023)
-
-- cmake: validate `CURL_DEFAULT_SSL_BACKEND` config value
-
- Before this patch CMake builds accepted any value and it was used at
- runtime as-is. This patch make sure that the selected default backend
- is also enabled in the build. It also enforces a full lowercase value.
-
- This improves reproducibility and brings CMake in sync with autotools
- which already worked like described above.
-
- Follow-up to 26c7feb8b9d51a57fab3325571b4bbfa03b11af0 #11774
-
- Closes #11998
-
-- autotools: adjust `CURL_CA_PATH` value to CMake
-
- autotools was using the same value as CMake, but with an ending
- slash. Delete the ending slash to match configurations.
-
- Ref: #11964 (effort to sync cmake detections with autotools)
-
- Closes #11997
-
-- cmake: detect `sys/wait.h` and `netinet/udp.h`
-
- Ref: #11964 (effort to sync cmake detections with autotools)
-
- Closes #11996
-
-Daniel Stenberg (30 Sep 2023)
-
-- lib: provide and use Curl_hexencode
-
- Generates a lower case ASCII hex output from a binary input.
-
- Closes #11990
-
-- configure: check for the capath by default
-
- ... if the chosen TLS backend supports it: OpenSSL, GnuTLS, mbedTLS or wolfSS
- L
-
- cmake: synced
-
- Assisted-by: Viktor Szakats
- Closes #11987
-
-- wolfssl: ignore errors in CA path
-
- The default wolfSSL_CTX_load_verify_locations() function is quite picky
- with the certificates it loads and will for example return error if just
- one of the certs has expired.
-
- With the *_ex() function and its WOLFSSL_LOAD_FLAG_IGNORE_ERR flag, it
- behaves more similar to what OpenSSL does by default.
-
- Even the set of default certs on my Debian unstable has several expired
- ones.
-
- Assisted-by: Juliusz Sosinowicz
- Assisted-by: Michael Osipov
-
- Closes #11987
-
-- create-dirs.d: clarify it also uses --output-dirs
-
- Reported-by: Robert Simpson
- Fixes #11991
- Closes #11995
-
-Viktor Szakats (30 Sep 2023)
-
-- appveyor: fix yamlint issues, indent
-
- Also:
- - use double quotes in all batch if statements.
-
- Closes #11994
-
-- cmake: detect `HAVE_CLOCK_GETTIME_MONOTONIC_RAW`
-
- Based on existing autotools logic.
-
- Ref: #11964 (effort to sync cmake detections with autotools)
-
- Closes #11981
-
-- cmake: detect `HAVE_GETADDRINFO_THREADSAFE`
-
- Based on existing autotools logic.
-
- autotools checks for old versions of the allowlisted target OSes and
- disables this feature when seeing them. In CMake we assume we're running
- on newer systems and enable regardless of OS version.
-
- autotools always runs all 3 probes for non-fast-tracked systems and
- enables this feature if any one of them was successful. To save
- configuration time, CMake stops at the first successful check.
-
- OpenBSD is not fast-tracked and then gets blocklisted as a generic BSD
- system. I haven't double-checked if this is correct, but looks odd.
-
- Ref: #11964 (effort to sync cmake detections with autotools)
-
- Closes #11979
-
-- cmake: fix `HAVE_WRITABLE_ARGV` detection
-
- Move detection before the creation of detection results in
- `curl_config.h`.
-
- Ref: #11964 (effort to sync cmake detections with autotools)
-
- Closes #11978
-
-- appveyor: minor improvements
-
- - run `curl -V` after builds to see if they run and with what features.
- Except for one job where a CRT DLL is missing. And ARM64 which should
- fail, but is silently not launched instead.
-
- - copy libcurl DLL next to curl tool and tests binaries in shared mode.
- This makes it possible to run the tests. (We don't run tests after
- these builds yet.)
-
- - list the DLLs and EXEs present after the builds.
-
- - add `DEBUG` variable for CMake builds to allow disabling it, for
- testing non-debug builds. (currently enabled for all)
-
- - add commented lines that dump CMake configuration logs for debugging
- build/auto-detection issues.
-
- - add gcc version to jobs where missing.
-
- - switch a job to the native MSYS2 mingw-w64 toolchain. This adds gcc 9
- to the build mix.
-
- - make `SHARED=OFF` and `OPENSSL=OFF` defaults global.
-
- - delete a duplicate backslash.
-
- Closes #11976
-
-- configure: replace adhoc domain with `localhost` in tests
-
- Reviewed-by: Daniel Stenberg
- Closes #11988
-
-- tidy-up: use more example domains
-
- Also make use of the example TLD:
- https://en.wikipedia.org/wiki/.example
-
- Reviewed-by: Daniel Stenberg
- Closes #11992
-
-Dan Fandrich (29 Sep 2023)
-
-- runtests: display the test status if tests appear hung
-
- It sometimes happens that a test hangs during a test run and never
- returns. The test harness will wait indefinitely for the results and on
- CI servers the CI job will eventually be killed after an hour or two.
- At the end of a test run, if results haven't come in within a couple of
- minutes, display the status of all test runners and what tests they're
- running to help in debugging the problem.
-
- This feature is really only kick in with parallel testing enabled, which
- is fine because without parallel testing it's usually easy to tell what
- test has hung.
-
- Closes #11980
-
-- github/labeler: remove workaround for labeler
-
- This was added due to what seemed to be a bug regarding the sync-labels:
- config option, but it looks like it wasn't necessary.
-
- Follow-up to b2b0534e7
-
-Viktor Szakats (29 Sep 2023)
-
-- docs: upgrade an URL to HTTPS in `BINDINGS.md` [ci skip]
-
-Daniel Stenberg (29 Sep 2023)
-
-- docs: replace made up domains with example.com
-
- in FAQ and MANUAL.md
-
- - example.com was made for this purpose.
-
- - reduces the risk that one of those domains suddenly start hosting
- something nasty and we provide links to them
-
- Closes #11986
-
-Michael Osipov (29 Sep 2023)
-
-- acinclude.m4: Document proper system truststore on FreeBSD
-
- The default system truststore on FreeBSD has been /etc/ssl/certs for many
- years now. It is managed canonically through certctl(8) and contains hashed
- symlinks for OpenSSL and other TLS providers.
- The previous ones require security/ca_root_nss which might not be installed o
- r
- will not contain any custom CA certificates.
-
- Closes #11985
-
-Daniel Stenberg (29 Sep 2023)
-
-- FAQ: How do I upgrade curl.exe in Windows?
-
- This is a growing question, better answer it here to get somewhere to
- point users to.
-
- Closes #11984
-
-Viktor Szakats (28 Sep 2023)
-
-- cmake: pre-cache `HAVE_BASENAME` for mingw-w64 and MSVC
-
- `basename` is present in mingw-w64, missing from MSVC. Pre-cache
- accordingly to make configure faster.
-
- Notice that `basename` has a bug so we later disable it even with
- mingw-w64:
- https://github.com/curl/curl/blob/781242ffa44a9f9b95b6da5ac5a1bf6372ec6257/li
- b/curl_setup.h#L820-L825
-
- Closes #11974
-
-Daniel Stenberg (28 Sep 2023)
-
-- cmake: add missing checks
-
- - check for arc4random. To make rand.c use it accordingly.
- - check for fcntl
- - fix fseek detection
- - add SIZEOF_CURL_SOCKET_T
- - fix USE_UNIX_SOCKETS
- - define HAVE_SNPRINTF to 1
- - check for fnmatch
- - check for sched_yield
- - remove HAVE_GETPPID duplicate from curl_config.h
- - add HAVE_SENDMSG
-
- Ref: #11964
-
- Co-authored-by: Viktor Szakats
- Closes #11973
-
-- configure: remove unused checks
-
- - for sys/uio.h
- - for fork
- - for connect
-
- Ref: #11964
-
- Closes #11973
-
-- lib: remove TIME_WITH_SYS_TIME
-
- It is not used in any code anywhere.
-
- Ref: #11964
- Closes #11975
-
-- docs: update curl man page references
-
- Detected by the manpage-syntax update
-
- Closes #11963
-
-- manpage-syntax: verify curl man page references
-
- 1. References to curl symbols are now checked that they indeed exist as
- man pages. This for \f references as well as the names referenced in the
- SEE ALSO section.
-
- Allowlist curl.1 since it is not always built in builds
-
- 2. References to curl symbols that lack section now causes warning, since tha
- t
- will prevent them from getting linked properly
-
- 3. Check for "bare" references to curl functions and warn, they should be
- references
-
- Closes #11963
-
-- cmake: add check for suseconds_t
-
- And fix the HAVE_LONGLONG define
-
- Ref: #11964
- Closes #11977
-
-Viktor Szakats (28 Sep 2023)
-
-- tidy-up: whitespace fixes
-
- Closes #11972
-
-- cmake: detect TLS-SRP in OpenSSL/wolfSSL/GnuTLS
-
- With new option `CURL_DISABLE_SRP=ON` to force-disable it.
- To match existing option and detection logic in autotools.
-
- Also:
- - fix detecting GnuTLS.
- We assume `nettle` as a GnuTLS dependency.
- - add CMake GnuTLS CI job.
- - bump AppVeyor CMake OpenSSL MSVC job to OpenSSL 1.1.1 (from 1.0.2)
- TLS-SRP fails to detect with 1.0.2 due to an OpenSSL header bug.
- - fix compiler warning when building with GnuTLS and disabled TLS-SRP.
- - fix comment typos, whitespace.
-
- Ref: #11964
-
- Closes #11967
-
-- tool: use our own stderr variable
-
- Earlier this year we changed our own stderr variable to use the standard
- name `stderr` (to avoid bugs where someone is using `stderr` instead of
- the curl-tool specific variable). This solution needed to override the
- standard `stderr` symbol via the preprocessor. This in turn didn't play
- well with unity builds and caused curl tool to crash or stay silent due
- to an uninitialized stderr. This was a hard to find issue, fixed by
- manually breaking out one file from the unity sources.
-
- To avoid two these two tricks, this patch implements a different
- solution: Restore using our own local variable for our stderr output and
- leave `stderr` as-is. To avoid using `stderr` by mistake, add a
- `checksrc` rule (based on logic we already used in lib for `strerror`)
- that detects any `stderr` use in `src` and points to using our own
- variable instead: `tool_stderr`.
-
- Follow-up to 06133d3e9b8aeb9e9ca0b3370c246bdfbfc8619e
- Follow-up to 2f17a9b654121dd1ecf4fc043c6d08a9da3522db
-
- Closes #11958
-
-Loïc Yhuel (28 Sep 2023)
-
-- connect: only start the happy eyeballs timer when needed
-
- The timeout is only used when there is a second address family, for the
- delayed eyeballer.
-
- Closes #11939
-
-Daniel Stenberg (28 Sep 2023)
-
-- tool_operate: free 'gateway' correctly
-
- Pointed out by Coverity. The fix in 93885cf3a8d4e was incomplete.
-
- Also removed repeated wording in IPFS related error messages.
-
- Closes #11969
-
-Stefan Eissing (28 Sep 2023)
-
-- lib: move handling of `data->req.writer_stack` into Curl_client_write()
-
- - move definitions from content_encoding.h to sendf.h
- - move create/cleanup/add code into sendf.c
- - installed content_encoding writers will always be called
- on Curl_client_write(CLIENTWRITE_BODY)
- - Curl_client_cleanup() frees writers and tempbuffers from
- paused transfers, irregardless of protocol
-
- Closes #11908
-
-Loïc Yhuel (28 Sep 2023)
-
-- multi: round the timeout up to prevent early wakeups
-
- Curl_timediff rounds down to the millisecond, so curl_multi_perform can
- be called too early, then we get a timeout of 0 and call it again.
-
- The code already handled the case of timeouts which expired less than
- 1ms in the future. By rounding up, we make sure we will never ask the
- platform to wake up too early.
-
- Closes #11938
-
-Daniel Stenberg (28 Sep 2023)
-
-- RELEASE-NOTES: spell out that IPFS is via gateway
-
-- RELEASE-NOTES: synced
-
-- tool_operate: avoid strlen() -1 on zero length content from file
-
- Follow-up to 65b563a96a226649ba12cb1e
-
- Closes #11959
-
-- tool_operate: fix memory mixups
-
- Switch to plain getenv() from curl_getenv() to avoid the allocation and
- having to keep track of which free() or curl_free() that need to be
- used.
-
- Coverity found issues and a memory leak.
-
- Follow-up to 65b563a96a226649ba12cb1e
-
- Closes #11959
-
-Viktor Szakats (27 Sep 2023)
-
-- curl-functions.m4: fixup recent bad edits
-
- Follow-up to 96c29900bcec32dd6bc8e9857c8871ff4b8b8ed9 #11940
-
- Closes #11966
-
-Daniel Stenberg (27 Sep 2023)
-
-- curl-functions.m4: fix include line
-
- This made the getaddrinfo detection fail, but we did not spot it in the
- CI because it graciously falled back to using legacy functions instead!
-
- Follow-up to 96c29900bcec (#11940)
-
- Closes #11965
-
-- inet_ntop: add typecast to silence Coverity
-
- CID 1024653: Integer handling issues (SIGN_EXTENSION)
-
- Suspicious implicit sign extension: "src[i]" with type "unsigned char
- const" (8 bits, unsigned) is promoted in "src[i] << (1 - i % 2 << 3)" to
- type "int" (32 bits, signed), then sign-extended to type "unsigned long"
- (64 bits, unsigned). If "src[i] << (1 - i % 2 << 3)" is greater than
- 0x7FFFFFFF, the upper bits of the result will all be 1.
-
- 111 words[i/2] |= (src[i] << ((1 - (i % 2)) << 3));
-
- The value will not be greater than 0x7FFFFFFF so this still cannot
- happen.
-
- Also, switch to ints here instead of longs. The values stored are 16 bit
- so at least no need to use 64 bit variables. Also, longs are 32 bit on
- some platforms so this logic still needs to work with 32 bits.
-
- Closes #11960
-
-- docs: adapt SEE ALSO sections to new requirements
-
- To please manpage-syntax.pl used by test 1173
-
- Closes #11957
-
-- manpage-syntax.pl: verify SEE ALSO syntax
-
- - Enforce a single reference per .BR line
- - Skip the quotes around the section number for example (3)
- - Insist on trailing commas on all lines except the last
- - Error on comma on the last SEE ALSO entry
-
- - List the entries alpha-sorted, not enforced just recommended
-
- Closes #11957
-
-- connect: expire the timeout when trying next
-
- ... so that it gets called again immediately and can continue trying
- addresses to connect to. Otherwise it might unnecessarily wait for a
- while there.
-
- Fixes #11920
- Reported-by: Loïc Yhuel
- Closes #11935
-
-- http: remove wrong comment for http_should_fail
-
- Reported-by: Christian Schmitz
- Ref: #11936
- Closes #11941
-
-Dan Fandrich (26 Sep 2023)
-
-- tool_setopt: remove unused function tool_setopt_flags
-
- This function is identical to tool_setopt_bitmask except that it treats
- the argument as unsigned.
-
- Closes #11943
-
-Viktor Szakats (26 Sep 2023)
-
-- cmake: add feature checks for `memrchr` and `getifaddrs`
-
- - `HAVE_MEMRCHR` for `memrchr`.
- - `HAVE_GETIFADDRS` for `getifaddrs`.
- This was present in `lib/curl_config.h.cmake` but missed the detection
- logic.
-
- To match existing autotools feature checks.
-
- Closes #11954
-
-- cmake: move global headers to specific checks
-
- Before this patch we added standard headers unconditionally to the
- global list of headers used for feature checks. This is unnecessary
- and also doesn't help CMake 'Generate' performance. This patch moves
- these headers to each feature check where they are actually needed.
- Stop using `stddef.h`, as it seems unnecessary.
-
- I've used autotools' `m4/curl-functions.m4` to figure out these
- dependencies.
-
- Also delete checking for the C89 standard header `time.h`, that I
- missed in the earlier commit.
-
- Ref: 96c29900bcec32dd6bc8e9857c8871ff4b8b8ed9 #11940
-
- Closes #11951
-
-- src/mkhelp: make generated code pass `checksrc`
-
- Closes #11955
-
-- tests: show which curl tool `runtests.pl` is using
-
- To help debugging when there is issue finding or running it.
-
- Closes #11953
-
-- CI/azure: make `MAKEFLAGS` global to parallelize all jobs
-
- https://dev.azure.com/daniel0244/curl/_build/results?buildId=17528 (before)
- https://dev.azure.com/daniel0244/curl/_build/results?buildId=17545 (after, wi
- th -j3)
-
- Closes #11952
-
-- CI/azure: migrate old mingw MSYS1 jobs to MSYS2
-
- Also delete an accidental variable reference.
-
- Follow-up to 38029101e2d78ba125732b3bab6ec267b80a0e72
-
- Closes #11945
-
-Daniel Stenberg (26 Sep 2023)
-
-- docs: add see also curl_multi_get_handles to some man pages
-
- Assisted-by: Jay Satiro
-
- Closes #11942
-
-Viktor Szakats (26 Sep 2023)
-
-- cmake: assume `_fseeki64` and no `fseeko` on Windows
-
- `_fseeki64` is present in mingw-w64 1.0 (2011-09-26) headers, and
- at least Watcom C 1.9 (2010) headers and MSVS 2008 [1].
-
- `fseeko` is not present in any of these.
-
- (mingw-w64 1.0 also offers `fseeko64`.)
-
- [1] https://github.com/curl/curl/pull/11944#issuecomment-1734995004
-
- Follow-up to 9c7165e96a3a9a2d0b7059c87c699b5ca8cdae93 #11918
-
- Closes #11950
-
-- build: delete checks for C89 standard headers
-
- Delete checks and guards for standard C89 headers and assume these are
- available: `stdio.h`, `string.h`, `time.h`, `setjmp.h`, `stdlib.h`,
- `stddef.h`, `signal.h`.
-
- Some of these we already used unconditionally, some others we only used
- for feature checks.
-
- Follow-up to 9c7165e96a3a9a2d0b7059c87c699b5ca8cdae93 #11918 (for `stdio.h` i
- n CMake)
-
- Closes #11940
-
-Stefan Eissing (26 Sep 2023)
-
-- multiif.h: remove Curl_multi_dump declaration
-
- Follow-up to d850eea2 which removed the Curl_multi_dump definition.
-
- Closes https://github.com/curl/curl/pull/11946
-
-Jay Satiro (26 Sep 2023)
-
-- config-win32: define HAVE__FSEEKI64
-
- Follow-up to 9c7165e9 which added an fseeko wrapper to the lib that
- calls _fseeki64 if it is available.
-
- Closes https://github.com/curl/curl/pull/11944
-
-- docs: explain how PINNEDPUBLICKEY is independent of VERIFYPEER
-
- - Explain that peer verification via CURLOPT_PINNEDPUBLICKEY takes place
- even if peer verification via CURLOPT_SSL_VERIFYPEER is turned off.
-
- The behavior is verified by test2048.
-
- Bug: https://github.com/curl/curl/issues/2935#issuecomment-418371872
- Reported-by: claudiusaiz@users.noreply.github.com
-
- Bug: https://github.com/curl/curl/discussions/11910
- Reported-by: Hakan Sunay Halil
-
- Closes https://github.com/curl/curl/pull/11930
-
-Stefan Eissing (26 Sep 2023)
-
-- openssl: improve ssl shutdown handling
-
- - If SSL shutdown is not finished then make an additional call to
- SSL_read to gather additional tracing.
-
- - Fix http2 and h2-proxy filters to forward do_close() calls to the next
- filter.
-
- For example h2 and SSL shutdown before and after this change:
-
- Before:
-
- Curl_conn_close -> cf_hc_close -> Curl_conn_cf_discard_chain ->
- ssl_cf_destroy
-
- After:
-
- Curl_conn_close -> cf_hc_close -> cf_h2_close -> cf_setup_close ->
- ssl_cf_close
-
- Note that currently the tracing does not show output on the connection
- closure handle. Refer to discussion in #11878.
-
- Ref: https://github.com/curl/curl/discussions/11878
-
- Closes https://github.com/curl/curl/pull/11858
-
-Loïc Yhuel (26 Sep 2023)
-
-- multi: fix small timeouts
-
- Since Curl_timediff rounds down to the millisecond, timeouts which
- expire in less than 1ms are considered as outdated and removed from the
- list. We can use Curl_timediff_us instead, big timeouts could saturate
- but this is not an issue.
-
- Closes #11937
-
-Viktor Szakats (25 Sep 2023)
-
-- cmake: fix stderr initialization in unity builds
-
- Before this patch, in certain build configurations the curl tool may
- not have displayed anything (debug, macOS), or crashed at startup
- (debug, Windows).
-
- Follow-up to 3f8fc25720900b14b7432f4bd93407ca15311719
- Necessary after 2f17a9b654121dd1ecf4fc043c6d08a9da3522db
-
- Closes #11929
-
-- cmake: fix missing `zlib.h` when compiling `libcurltool`
-
- Came up while testing debug/testing build for Windows. I'm not sure why
- it didn't come up in earlier tests with similar config.
- `tool_hugehelp.c` might indeed require `zlib.h` and without linking
- `CURL_LIBS` to the `curltool` target, CMake doesn't seem to add detected
- dependency headers to the compiler command.
-
- ```
- [ 25%] Building C object src/CMakeFiles/curltool.dir/tool_hugehelp.c.obj
- cd .../curl/bld-cmake-llvm-x64/src && /usr/local/opt/llvm/bin/clang
- --target=x86_64-w64-mingw32 --sysroot=/usr/local/opt/mingw-w64/toolchain-x8
- 6_64
- -DCURLDEBUG -DCURL_STATICLIB -DHAVE_CONFIG_H -DUNICODE -DUNITTESTS -D_UNICO
- DE
- -I.../curl/include -I.../curl/lib -I.../curl/bld-cmake-llvm-x64/lib
- -I.../curl/bld-cmake-llvm-x64/include -I.../curl/src -Wno-unused-command-li
- ne-argument
- -D_UCRT -DDEBUGBUILD -DHAS_ALPN -DUSE_MANUAL=1 -fuse-ld=lld -Wl,-s -static
- -libgcc
- -lucrt [...] -O3 -DNDEBUG -municode -MD
- -MT src/CMakeFiles/curltool.dir/tool_hugehelp.c.obj
- -MF CMakeFiles/curltool.dir/tool_hugehelp.c.obj.d
- -o CMakeFiles/curltool.dir/tool_hugehelp.c.obj -c .../curl/bld-cmake-llvm-x
- 64/src/tool_hugehelp.c
- .../curl/bld-cmake-llvm-x64/src/tool_hugehelp.c:6:10: fatal error: 'zlib.h' f
- ile not found
- 6 | #include
- | ^~~~~~~~
- ```
-
- Follow-up to 39e7c22bb459c2e818f079984989a26a09741860
-
- Closes #11927
-
-- cmake: fix duplicate symbols when linking tests
-
- The linker resolves this automatically in non-unity builds. In unity
- builds the linker cannot drop a single object with the duplicates,
- resulting in these errors. The root issue is that we started including
- certain objects both via both libcurlu and libcurltool libs.
-
- Regression from 39e7c22bb459c2e818f079984989a26a09741860
-
- Windows errors:
- ```
- [ 3%] Linking C executable unit1303.exe
- [ 3%] Building C object tests/server/CMakeFiles/rtspd.dir/__/__/lib/curl_mul
- tibyte.c.obj
- ../../lib/libcurlu-d.a(unity_0.c.obj): In function `curlx_convert_UTF8_to_wch
- ar':
- C:/projects/curl/lib/curl_multibyte.c:44: multiple definition of `curlx_conve
- rt_UTF8_to_wchar'
- ../../src/libcurltool-d.a(unity_0.c.obj):C:/projects/curl/lib/curl_multibyte.
- c:44: first defined here
- ../../lib/libcurlu-d.a(unity_0.c.obj): In function `curlx_convert_wchar_to_UT
- F8':
- C:/projects/curl/lib/curl_multibyte.c:66: multiple definition of `curlx_conve
- rt_wchar_to_UTF8'
- ../../src/libcurltool-d.a(unity_0.c.obj):C:/projects/curl/lib/curl_multibyte.
- c:66: first defined here
- ../../lib/libcurlu-d.a(unity_0.c.obj): In function `curlx_win32_open':
- C:/projects/curl/lib/curl_multibyte.c:92: multiple definition of `curlx_win32
- _open'
- ../../src/libcurltool-d.a(unity_0.c.obj):C:/projects/curl/lib/curl_multibyte.
- c:92: first defined here
- ../../lib/libcurlu-d.a(unity_0.c.obj): In function `curlx_win32_fopen':
- C:/projects/curl/lib/curl_multibyte.c:120: multiple definition of `curlx_win3
- 2_fopen'
- ../../src/libcurltool-d.a(unity_0.c.obj):C:/projects/curl/lib/curl_multibyte.
- c:120: first defined here
- ../../lib/libcurlu-d.a(unity_0.c.obj): In function `curlx_win32_stat':
- [...]
- ```
- Ref: https://ci.appveyor.com/project/curlorg/curl/builds/48110107/job/nvlhpt9
- aa4ehny5q#L247
-
- macOS errors:
- ```
- [ 56%] Linking C executable unit1302
- duplicate symbol '_curlx_sotouz' in:
- ../../lib/libcurlu.a(unity_0_c.c.o)
- ../../src/libcurltool.a(unity_0_c.c.o)
- duplicate symbol '_curlx_sitouz' in:
- ../../lib/libcurlu.a(unity_0_c.c.o)
- ../../src/libcurltool.a(unity_0_c.c.o)
- duplicate symbol '_curlx_uztosz' in:
- ../../lib/libcurlu.a(unity_0_c.c.o)
- ../../src/libcurltool.a(unity_0_c.c.o)
- [...]
- ```
- with config:
- ```
- -DCMAKE_UNITY_BUILD=ON \
- -DENABLE_DEBUG=ON -DBUILD_TESTING=ON -DCMAKE_C_FLAGS=-DDEBUGBUILD \
- -DBUILD_SHARED_LIBS=ON \
- -DBUILD_STATIC_LIBS=OFF
- ```
-
- Closes #11926
-
-- cmake: lib `CURL_STATICLIB` fixes (Windows)
-
- - always define `CURL_STATICLIB` when building libcurl for Windows.
-
- This disables `__declspec(dllexport)` for exported libcurl symbols.
- In normal mode (hide symbols) these exported symbols are specified
- via `libcurl.def`. When not hiding symbols, all symbols are exported
- by default.
-
- Regression from 1199308dbc902c52be67fc805c72dd2582520d30
-
- Fixes #11844
-
- - fix to omit `libcurl.def` when not hiding private symbols.
-
- Regression from 2ebc74c36a19a1700af394c16855ce144d9878e3
-
- - fix `ENABLED_DEBUG=ON` + shared curl tool Windows builds by also
- omitting `libcurl.def` in this case, and exporting all symbols
- instead. This ensures that a shared curl tool can access all debug
- functions which are not normally exported from libcurl DLL.
-
- - delete `INTERFACE_COMPILE_DEFINITIONS "CURL_STATICLIB"` for "objects"
- target.
-
- Follow-up to 2ebc74c36a19a1700af394c16855ce144d9878e3
-
- - delete duplicate `BUILDING_LIBCURL` definitions.
-
- - fix `HIDES_CURL_PRIVATE_SYMBOLS` to not overwrite earlier build settings.
-
- Follow-up to 1199308dbc902c52be67fc805c72dd2582520d30
-
- Closes #11914
-
-Daniel Stenberg (25 Sep 2023)
-
-- RELEASE-NOTES: synced
-
-Dan Fandrich (25 Sep 2023)
-
-- tests: fix log directory path in IPFS tests
-
- Hard-coding the log directory name fails with parallel tests.
-
- Follow-up to 65b563a96
-
- Ref: #8805
-
-Daniel Stenberg (25 Sep 2023)
-
-- curl_multi_get_handles: get easy handles from a multi handle
-
- Closes #11750
-
-Stefan Eissing (25 Sep 2023)
-
-- http: h1/h2 proxy unification
-
- - use shared code for setting up the CONNECT request
- when tunneling, used in HTTP/1.x and HTTP/2 proxying
- - eliminate use of Curl_buffer_send() and other manipulations
- of `data->req` or `data->state.ulbuf`
-
- Closes #11808
-
-Natanael Copa (25 Sep 2023)
-
-- lib: use wrapper for curl_mime_data fseek callback
-
- fseek uses long offset which does not match with curl_off_t. This leads
- to undefined behavior when calling the callback and caused failure on
- arm 32 bit.
-
- Use a wrapper to solve this and use fseeko which uses off_t instead of
- long.
-
- Thanks to the nice people at Libera IRC #musl for helping finding this
- out.
-
- Fixes #11882
- Fixes #11900
- Closes #11918
-
-- configure: sort AC_CHECK_FUNCS
-
- No functional changes.
-
-Daniel Stenberg (25 Sep 2023)
-
-- warnless: remove unused functions
-
- Previously put there for use with the intel compiler
-
- Closes #11932
-
-- GHA/linux: run singleuse to detect single-use global functions
-
- Use --unit for configure --enable-debug builds
-
- Closes #11932
-
-- singleuse: add scan for use in other source codes
-
- This should reduce false-positive to almost zero. Checks for presence in
- unit tests if --unit is specified, which is intended for debug builds
- where unit testing is enabled.
-
- Closes #11932
-
-- multi: remove Curl_multi_dump
-
- A debug-only function that is basically never used. Removed to ease the
- use of the singleuse script to detect non-static functions not used
- outside the file where it is defined.
-
- Closes #11931
-
-Viktor Szakats (24 Sep 2023)
-
-- tests: fix compiler warnings
-
- Seen with llvm 17 on Windows x64.
-
- ```
- .../curl/tests/server/rtspd.c:136:13: warning: no previous extern declaration
- for non-static variable 'logdir' [-Wmissing-variable-declarations]
- 136 | const char *logdir = "log";
- | ^
- .../curl/tests/server/rtspd.c:136:7: note: declare 'static' if the variable i
- s not intended to be used outside of this translation unit
- 136 | const char *logdir = "log";
- | ^
- .../curl/tests/server/rtspd.c:137:6: warning: no previous extern declaration
- for non-static variable 'loglockfile' [-Wmissing-variable-declarations]
- 137 | char loglockfile[256];
- | ^
- .../curl/tests/server/rtspd.c:137:1: note: declare 'static' if the variable i
- s not intended to be used outside of this translation unit
- 137 | char loglockfile[256];
- | ^
- .../curl/tests/server/fake_ntlm.c:43:13: warning: no previous extern declarat
- ion for non-static variable 'logdir' [-Wmissing-variable-declarations]
- 43 | const char *logdir = "log";
- | ^
- .../curl/tests/server/fake_ntlm.c:43:7: note: declare 'static' if the variabl
- e is not intended to be used outside of this translation unit
- 43 | const char *logdir = "log";
- | ^
- .../curl/src/tool_doswin.c:350:8: warning: possible misuse of comma operator
- here [-Wcomma]
- 350 | ++d, ++s;
- | ^
- .../curl/src/tool_doswin.c:350:5: note: cast expression to void to silence wa
- rning
- 350 | ++d, ++s;
- | ^~~
- | (void)( )
- ```
-
- ```
- .../curl/tests/libtest/lib540.c:146:27: warning: result of comparison 'long'
- > 2147483647 is always false [-Wtautological-type-limit-compare]
- 146 | int itimeout = (L > (long)INT_MAX) ? INT_MAX : (int)L;
- | ~ ^ ~~~~~~~~~~~~~
- 1 warning generated.
-
- .../curl/tests/libtest/libntlmconnect.c:195:31: warning: result of comparison
- 'long' > 2147483647 is always false [-Wtautological-type-limit-compare]
- 195 | int itimeout = (timeout > (long)INT_MAX) ? INT_MAX : (int)timeo
- ut;
- | ~~~~~~~ ^ ~~~~~~~~~~~~~
- 1 warning generated.
-
- .../curl/tests/libtest/lib591.c:117:31: warning: result of comparison 'long'
- > 2147483647 is always false [-Wtautological-type-limit-compare]
- 117 | int itimeout = (timeout > (long)INT_MAX) ? INT_MAX : (int)timeo
- ut;
- | ~~~~~~~ ^ ~~~~~~~~~~~~~
- 1 warning generated.
- .../curl/tests/libtest/lib597.c:99:31: warning: result of comparison 'long' >
- 2147483647 is always false [-Wtautological-type-limit-compare]
- 99 | int itimeout = (timeout > (long)INT_MAX) ? INT_MAX : (int)timeo
- ut;
- | ~~~~~~~ ^ ~~~~~~~~~~~~~
- 1 warning generated.
- ```
-
- Seen on macOS Intel:
- ```
- .../curl/tests/server/sws.c:440:64: warning: field precision should have type
- 'int', but argument has type 'size_t' (aka 'unsigned long') [-Wformat]
- msnprintf(logbuf, sizeof(logbuf), "Got request: %s %.*s HTTP/%d.%d"
- ,
- ~~^~
- 1 warning generated.
- ```
-
- Closes #11925
-
-Jay Satiro (24 Sep 2023)
-
-- url: fix netrc info message
-
- - Fix netrc info message to use the generic ".netrc" filename if the
- user did not specify a netrc location.
-
- - Update --netrc doc to add that recent versions of curl on Windows
- prefer .netrc over _netrc.
-
- Before:
- * Couldn't find host google.com in the (nil) file; using defaults
-
- After:
- * Couldn't find host google.com in the .netrc file; using defaults
-
- Closes https://github.com/curl/curl/pull/11904
-
-Dan Fandrich (23 Sep 2023)
-
-- wolfssh: do cleanup in Curl_ssh_cleanup
-
- Closes: #11921
-
-Daniel Stenberg (24 Sep 2023)
-
-- tool_listhelp: regenerated
-
- Polished the --ipfs-gateway description
-
- Fixed the --trace-config description
-
- The script also fixed some other small mistakes
-
- Closes #11923
-
-Viktor Szakats (23 Sep 2023)
-
-- Makefile.mk: always set `CURL_STATICLIB` for lib (Windows)
-
- Also fix to export all symbols in Windows debug builds, making
- `-debug-dyn` builds work with `-DCURL_STATICLIB` set.
-
- Ref: https://github.com/curl/curl/pull/11914 (same for CMake)
-
- Closes #11924
-
-Daniel Stenberg (23 Sep 2023)
-
-- quic: set ciphers/curves the same way regular TLS does
-
- for OpenSSL/BoringSSL
-
- Fixes #11796
- Reported-by: Karthikdasari0423 on github
- Assisted-by: Jay Satiro
- Closes #11836
-
-- test457: verify --max-filesize with chunked encoding
-
-- lib: let the max filesize option stop too big transfers too
-
- Previously it would only stop them from getting started if the size is
- known to be too big then.
-
- Update the libcurl and curl docs accordingly.
-
- Fixes #11810
- Reported-by: Elliot Killick
- Assisted-by: Jay Satiro
- Closes #11820
-
-Viktor Szakats (23 Sep 2023)
-
-- mingw: delete support for legacy mingw.org toolchain
-
- Drop support for "old" / "legacy" / "classic" / "v1" / "mingw32" MinGW:
- https://en.wikipedia.org/wiki/MinGW, https://osdn.net/projects/mingw/
- Its homepage used to be http://mingw.org/ [no HTTPS], and broken now.
- It supported the x86 CPU only and used a old Windows API header and
- implib set, often causing issues. It also misses most modern Windows
- features, offering old versions of both binutils and gcc (no llvm/clang
- support). It was last updated 2 years ago.
-
- curl now relies on toolchains based on the mingw-w64 project:
- https://www.mingw-w64.org/ https://sourceforge.net/projects/mingw-w64/
- https://www.msys2.org/ https://github.com/msys2/msys2
- https://github.com/mstorsjo/llvm-mingw
- (Also available via Linux and macOS package managers.)
-
- Closes #11625
-
-Mark Gaiser (23 Sep 2023)
-
-- curl: add support for the IPFS protocols:
-
- - ipfs://
- - ipns://
-
- This allows you tu use ipfs in curl like:
- curl ipfs://
- and
- curl ipns://
-
- For more information consult the readme at:
- https://curl.se/docs/ipfs.html
-
- Closes #8805
-
-Daniel Stenberg (23 Sep 2023)
-
-- bufq: remove Curl_bufq_skip_and_shift (unused)
-
- Closes #11915
-
-- scripts/singleuse.pl: add curl_global_trace
-
-Viktor Szakats (22 Sep 2023)
-
-- cmake: fix unity symbol collisions in h2 builds
-
- Regression from 331b89a319d0067fa1e6441719307cfef9c7960f
-
- Reviewed-by: Daniel Stenberg
- Reviewed-by: Jay Satiro
- Closes #11912
-
-Daniel Stenberg (22 Sep 2023)
-
-- RELEASE-NOTES: synced
-
-Dan Fandrich (21 Sep 2023)
-
-- github/labeler: improve the match patterns
-
- This includes new rules for setting the appleOS and logging labels and
- matches on some example files. Also, enable dot mode for wildcard
- matches in the .github directory.
-
-Daniel Stenberg (21 Sep 2023)
-
-- upload-file.d: describe the file name slash/backslash handling
-
- Closes #11911
-
-Jakub Jelen (21 Sep 2023)
-
-- libssh: cap SFTP packet size sent
-
- Due to libssh limitations
-
- Signed-off-by: Jakub Jelen
-
- Closes #11804
-
-Daniel Stenberg (21 Sep 2023)
-
-- curl.h: mark CURLSSLBACKEND_NSS as deprecated since 8.3.0
-
- Closes #11905
-
-- mailmap: unify Michael Osipov under a single email
-
-Ted Lyngmo (21 Sep 2023)
-
-- docs: use CURLSSLBACKEND_NONE
-
- [ssl] use CURLSSLBACKEND_NONE instead of (curl_sslbackend)-1 in
- documentation and examples.
-
- Signed-off-by: Ted Lyngmo
-
- Closes #11909
-
-Dan Fandrich (21 Sep 2023)
-
-- github/labeler: give the sync-labels config item a default value
-
- This shouldn't be necessary and is likely a bug with this beta version
- of the labeller.
-
- Also, fix the negative matches for the documentation label.
-
- Follow-up to dd12b452a
- Closes #11907
-
-- github/labeler: fix up more the labeler config format
-
- The new version didn't like the workaround we had for a bug in the
- previous labeler version, and it should no longer be needed.
-
- Follow-up to dd12b452a
- Closes #11906
-
-- github/labeler: fix indenting to try to appease labeller
-
- Follow-up to dd12b452a
-
-Jay Satiro (21 Sep 2023)
-
-- libssh2: fix error message on failed pubkey-from-file
-
- - If libssh2_userauth_publickey_fromfile_ex returns -1 then show error
- message "SSH public key authentication failed: Reason unknown (-1)".
-
- When libssh2_userauth_publickey_fromfile_ex returns -1 it does so as a
- generic error and therefore doesn't set an error message. AFAICT that is
- not documented behavior.
-
- Prior to this change libcurl retrieved the last set error message which
- would be from a previous function failing. That resulted in misleading
- auth failed error messages in verbose mode.
-
- Bug: https://github.com/curl/curl/issues/11837#issue-1891827355
- Reported-by: consulion@users.noreply.github.com
-
- Closes https://github.com/curl/curl/pull/11881
-
-Stefan Eissing (21 Sep 2023)
-
-- pytest: exclude test_03_goaway in CI runs due to timing dependency
-
- Closes #11860
-
-- lib: disambiguate Curl_client_write flag semantics
-
- - use CLIENTWRITE_BODY *only* when data is actually body data
- - add CLIENTWRITE_INFO for meta data that is *not* a HEADER
- - debug assertions that BODY/INFO/HEADER is not used mixed
- - move `data->set.include_header` check into Curl_client_write
- so protocol handlers no longer have to care
- - add special in FTP for `data->set.include_header` for historic,
- backward compatible reasons
- - move unpausing of client writes from easy.c to sendf.c, so that
- code is in one place and can forward flags correctly
-
- Closes #11885
-
-Patrick Monnerat (21 Sep 2023)
-
-- tftpd: always use curl's own tftp.h
-
- Using the system's provided arpa/tftp.h and optimizing, GCC 12 detects
- and reports a stringop-overread warning:
-
- tftpd.c: In function ‘write_behind.isra’:
- tftpd.c:485:12: warning: ‘write’ reading between 1 and 2147483647 bytes f
- rom a region of size 0 [-Wstringop-overread]
- 485 | return write(test->ofile, writebuf, count);
- | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- In file included from tftpd.c:71:
- /usr/include/arpa/tftp.h:58:30: note: source object ‘tu_data’ of size 0
- 58 | char tu_data[0]; /* data or error stri
- ng */
- | ^~~~~~~
-
- This occurs because writebuf points to this field and the latter
- cannot be considered as being of dynamic length because it is not
- the last field in the structure. Thus it is bound to its declared
- size.
-
- This commit always uses curl's own version of tftp.h where the
- target field is last in its structure, effectively avoiding the
- warning.
-
- As HAVE_ARPA_TFTP_H is not used anymore, cmake/configure checks for
- arpa/tftp.h are removed.
-
- Closes #11897
-
-Dan Fandrich (20 Sep 2023)
-
-- test1474: make precheck more robust on non-Solaris systems
-
- If uname -r returns something odd, perl could return an error code and
- the test would be erroneously skipped. The qx// syntax avoid this.
-
- Followup to 08f9b2148
-
-- github/labeler: switch to the 5 beta version
-
- This version adds an important feature that will allow more PRs to be
- labelled. Rather than being limited to labeling PRs with files that
- match a single glob, it can now label them if multiple changed files
- match any one of a number of globs.
-
-Daniel Stenberg (20 Sep 2023)
-
-- lib: enable hmac for digest as well
-
- Previously a build that disabled NTLM and aws-sigv4 would fail to build
- since the hmac was disabled, but it is also needed for digest auth.
-
- Follow-up to e92edfbef64448ef
-
- Fixes #11890
- Reported-by: Aleksander Mazur
- Closes #11896
-
-- idn: if idn2_check_version returns NULL, return error
-
- ... this avoids a NULL dereference for this unusual case.
-
- Reported-by: s0urc3_ on hackerone
- Closes #11898
-
-- http: fix CURL_DISABLE_BEARER_AUTH breakage
-
- When bearer auth was disabled, the if/else logic got wrong and caused
- problems.
-
- Follow-up to e92edfbef64448ef461
- Fixes #11892
- Reported-by: Aleksander Mazur
- Closes #11895
-
-Michael Osipov (20 Sep 2023)
-
-- wolfssl: allow capath with CURLOPT_CAINFO_BLOB
-
- Remain consistent with OpenSSL. While CAfile is nulled as documented
- with CURLOPT_CAINFO_BLOB, CApath remains intact.
-
- Closes #11886
-
-- wolfssl: use ssl_cafile/ssl_capath variables consistent with openssl.c
-
- Closes #11886
-
-Dan Fandrich (19 Sep 2023)
-
-- test1474: disable test on NetBSD, OpenBSD and Solaris 10
-
- These kernels only send a fraction of the requested amount of the first
- large block, invalidating the assumptions of the test and causing it to
- fail.
-
- Assisted-by: Christian Weisgerber
- Ref: https://curl.se/mail/lib-2023-09/0021.html
- Closes #11888
-
-Ryan Schmidt (20 Sep 2023)
-
-- cmake, configure: also link with CoreServices
-
- When linking with CoreFoundation, also link with CoreServices which is
- apparently required to avoid an NSInvalidArgumentException in software
- linking with libcurl on macOS Sonoma 14 and later.
-
- Fixes #11893
- Closes #11894
-
-Marc Hoersken (19 Sep 2023)
-
-- CI/azure: remove pip, wheel, cryptography, pyopenssl and impacket
-
- These dependencies are now already included in the Docker image.
-
- Ref: https://github.com/mback2k/curl-docker-winbuildenv/commit/2607a31bcab544
- b41d15606e97f38cf312c1ce56
-
- Closes #11889
-
-Daniel Stenberg (19 Sep 2023)
-
-- wolfssl: if CURLOPT_CAINFO_BLOB is set, ignore the CA files
-
- Ref: #11883
- Reported-by: Michael Osipov
- Closes #11884
-
-- RELEASE-NOTES: synced
-
-- test3103: CURLOPT_COOKIELIST test
-
-- cookie: set ->running in cookie_init even if data is NULL
-
- This is a regression introduced in b1b326ec500 (shipped in curl 8.1.0)
-
- Test 3103 verifies.
-
- Fixes #11875
- Reported-by: wangp on github
- Closes #11876
-
-- test498: total header size for all redirects is larger than accepted
-
-- http: use per-request counter to check too large headers
-
- Not the counter that accumulates all headers over all redirects.
-
- Follow-up to 3ee79c1674fd6
-
- Do a second check for 20 times the limit for the accumulated size for
- all headers.
-
- Fixes #11871
- Reported-by: Joshix-1 on github
- Closes #11872
-
-Jay Satiro (18 Sep 2023)
-
-- THANKS: add Eric Murphy
-
- He reported #11850 (quiche build error) but I forgot to add a
- 'reported-by' entry in the fix 267e14f1.
-
-Daniel Stenberg (18 Sep 2023)
-
-- h2-proxy: remove left-over mistake in drain_tunnel()
-
- Left-over from 331b89a319
-
- Reported-by: 南宫雪珊
-
- Closes https://github.com/curl/curl/pull/11877
-
-vvb2060 (18 Sep 2023)
-
-- lib: failf/infof compiler warnings
-
- Closes #11874
-
-Daniel Stenberg (17 Sep 2023)
-
-- rand: fix 'alnum': array is too small to include a terminating null character
-
- It was that small on purpose, but this change now adds the null byte to
- avoid the error.
-
- Follow-up to 3aa3cc9b052353b1
-
- Reported-by: Dan Fandrich
- Ref: #11838
- Closes #11870
-
-Mathias Fuchs (16 Sep 2023)
-
-- cmake: fix the help text to the static build option in CMakeLists.txt
-
- Closes #11843
-
-John Haugabook (16 Sep 2023)
-
-- MANUAL.md: change domain to example.com
-
- Closes #11866
-
-Daniel Stenberg (16 Sep 2023)
-
-- doh: inherit DEBUGFUNCTION/DATA
-
- When creating new transfers for doing DoH, they now inherit the debug
- settings from the initiating transfer, so that the application can
- redirect and handle the verbose output correctly even for the DoH
- transfers.
-
- Reported-by: calvin2021y on github
- Fixes #11864
- Closes #11869
-
-Dan Fandrich (16 Sep 2023)
-
-- http_aws_sigv4: fix sorting with empty parts
-
- When comparing with an empty part, the non-empty one is always
- considered greater-than. Previously, the two would be considered equal
- which would randomly place empty parts amongst non-empty ones. This
- showed as a test 439 failure on Solaris as it uses a different
- implementation of qsort() that compares parts differently.
-
- Fixes #11855
- Closes #11868
-
-- CI: ignore the "flaky" and "timing-dependent" test results
-
- CI builds will now run these tests, but will ignore the results if they
- fail. The relevant tests are ones that are sensitive to timing or
- have edge conditions that make them more likely to fail on CI servers,
- which are often heavily overloaded and slow.
-
- This change only adds two additional tests to be ignored, since the
- others already had the flaky keyword.
-
- Closes #11865
-
-- runtests: eliminate a warning on old perl versions
-
- The warning "Use of implicit split to @_ is deprecated" showed between
- perl versions about 5.8 through 5.11.
-
-- tests: log the test result code after each libtest
-
- This makes it easier to determine the test status. Also, capitalize
- FAILURE and ABORT messages in log lines to make them easier to spot.
-
-Harry Sintonen (16 Sep 2023)
-
-- misc: better random strings
-
- Generate alphanumerical random strings.
-
- Prior this change curl used to create random hex strings. This was
- mostly okay, but having alphanumerical random strings is better: The
- strings have more entropy in the same space.
-
- The MIME multipart boundary used to be mere 64-bits of randomness due
- to being 16 hex chars. With these changes the boundary is 22
- alphanumerical chars, or little over 130 bits of randomness.
-
- Closes #11838
-
-Daniel Stenberg (15 Sep 2023)
-
-- cookie: reduce variable scope, add const
-
-- cookie: do not store the expire or max-age strings
-
- Convert it to an expire time at once and save memory.
-
- Closes #11862
-
-- cookie: remove unnecessary struct fields
-
- Plus: reduce the hash table size from 256 to 63. It seems unlikely to
- make much of a speed difference for most use cases but saves 1.5KB of
- data per instance.
-
- Closes #11862
-
-- RELEASE-NOTES: synced
-
- Bumped to 8.4.0, the next presumed version
-
-Dan Fandrich (14 Sep 2023)
-
-- test2600: remove special case handling for USE_ALARM_TIMEOUT
-
- This was originally added to handle platforms that supported only 1
- second granularity in connect timeouts, but after some recent changes
- the test currently permafails on several Windows platforms.
-
- The need for this special-case was removed in commit 8627416, which
- increased the connect timeout in all cases to well above 1 second.
-
- Fixes #11767
- Closes #11849
-
-Daniel Stenberg (14 Sep 2023)
-
-- SECURITY-PROCESS.md. call it vulnerability disclosure policy
-
- SECURITY-PROCESS.md -> VULN-DISCLOSURE-POLICY.md
-
- This a name commonly used for a document like this. This name helps
- users find it.
-
- Closes #11852
-
-Junho Choi (14 Sep 2023)
-
-- quiche: fix build error with --with-ca-fallback
-
- - Fix build error when curl is built with --with-quiche
- and --with-ca-fallback.
-
- - Add --with-ca-fallback to the quiche CI job.
-
- Fixes https://github.com/curl/curl/issues/11850
- Closes https://github.com/curl/curl/pull/11847
-
-Jay Satiro (14 Sep 2023)
-
-- escape: replace Curl_isunreserved with ISUNRESERVED
-
- - Use the ALLCAPS version of the macro so that it is clear a macro is
- being called that evaluates the variable multiple times.
-
- - Also capitalize macro isurlpuntcs => ISURLPUNTCS since it evaluates
- a variable multiple times.
-
- This is a follow-up to 291d225a which changed Curl_isunreserved into an
- alias macro for ISUNRESERVED. The problem is the former is not easily
- identified as a macro by the caller, which could lead to a bug.
-
- For example, ISUNRESERVED(*foo++) is easily identifiable as wrong but
- Curl_isunreserved(*foo++) is not even though they both are the same.
-
- Closes https://github.com/curl/curl/pull/11846
-
-Dan Fandrich (13 Sep 2023)
-
-- tests: increase the default server logs lock timeout
-
- This timeout is used to wait for the server to finish writing its logs
- before checking them against the expected values. An overloaded machine
- could take more than the two seconds previously allocated, so increase
- the timeout to 5 seconds.
-
- Ref: #11328
- Closes #11834
-
-- tests: increase TEST_HANG_TIMEOUT in two tests
-
- These tests had a 5 second timeout compared to 60 seconds for all other
- tests. Make these consistent with the others for more reliability on
- heavily-loaded machines.
-
- Ref: #11328
-
-- test1056: disable on Windows
-
- This test relies on the IPv6 scope field being ignored when connecting to
- ipv6-localhost (i.e. [::1%259999] is treated as [::1]). Maybe this is a bit
- dodgy, but it works on all our test platforms except Windows. This
- test was disabled manually on all Windows CI builds already, so instead
- add an incompatible feature and precheck so it's skipped on Windows
- everywhere automatically.
-
-- test587: add a slight delay after test
-
- This test is designed to connect to the server, then immediately send a
- few bytes and disconnect. In some situations, such as on a loaded
- server, this doesn't give the server enough time to write its lock file
- before its existence is checked. The test harness then fails to find the
- server's input log file (because it hasn't been written yet) and fails
- the test. By adding a short delay after the test, the HTTP server has
- enough time to write its lock file which gives itself more time to write
- its remaining files.
-
- Ref: #11328
-
-- tests: stop overriding the lock timeout
-
- These tests reduce the server lock wait timeout which can increase
- flakiness on loaded machines. Since this is merely an optimization,
- eliminate them in favour of reliability.
-
- Ref: #11328
-
-- tests: add some --expect100-timeout to reduce timing dependencies
-
- These tests can fail when the test machine is so slow that the test HTTP
- server didn't get a chance to complete before the client's one second
- 100-continue timeout triggered. Increase that 1 second to 999 seconds so
- this situation doesn't happen.
-
- Ref: #11328
-
-- test661: return from test early in case of curl error
-
-- tests: add the timing-dependent keyword on several tests
-
- These are ones likely to fail on heavily-loaded machines that alter the
- normal test timing. Most of these tests already had the flaky keyword
- since this condition makes them more likely to fail on CI.
-
-- test1592: greatly increase the maximum test timeout
-
- It was too short to be reliable on heavily loaded CI machines, and
- as a fail-safe only, it didn't need to be short.
-
- Ref: #11328
-
-- test: minor test cleanups
-
- Remove an obsolete block of code in tests 2032 & 576.
- Add a comment in test 1474.
-
-- tests: quadruple the %FTPTIME2 and %FTPTIME3 timeouts
-
- This gives more of a margin for error when running on overloaded CI
- servers.
-
- Ref: #11328
-
-- tests: improve SLOWDOWN test reliability by reducing sent data
-
- These tests are run in SLOWDOWN mode which adds a 10 msec delay after
- each character output, which means it takes at least 1.6 seconds (and
- 320 kernel calls) just to get through the long welcome banner. On an
- overloaded system, this can end up taking much more than 1.6 seconds,
- and even more than the 7 or 16 second curl timeout that the tests rely
- on, causing them to fail. Reducing the size of the welcome banner drops
- the total number of characters sent before the transfer starts by more
- than half, which reduces the opportunity for test-breaking slowdowns by
- the same amount.
-
- Ref: #11328
-
-- test650: fix an end tag typo
-
-Jay Satiro (13 Sep 2023)
-
-- tool_cb_wrt: fix debug assertion
-
- - Fix off-by-one out-of-bounds array index in Windows debug assertion.
-
- Bug: https://github.com/curl/curl/commit/af3f4e41#r127212213
- Reported-by: Gisle Vanem
-
-Daniel Stenberg (13 Sep 2023)
-
-- ctype: add ISUNRESERVED()
-
- ... and make Curl_isunreserved() use that macro instead of providing a
- separate funtion for the purpose.
-
- Closes #11840
-
-Version 8.3.0 (13 Sep 2023)
-
-Daniel Stenberg (13 Sep 2023)
-
-- RELEASE-NOTES: syn ced
-
- curl 8.3.0 release
-
-- THANKS: contributors from 8.3.0
-
-Thorsten Klein (12 Sep 2023)
-
-- cmake: set SIZEOF_LONG_LONG in curl_config.h
-
- in order to support 32bit builds regarding wolfssl CTC_SETTINGS
-
- Closes #11839
-
-Jay Satiro (12 Sep 2023)
-
-- curl_ngtcp2: fix error message
-
-- http_aws_sigv4: handle no-value user header entries
-
- - Handle user headers in format 'name:' and 'name;' with no value.
-
- The former is used when the user wants to remove an internal libcurl
- header and the latter is used when the user actually wants to send a
- no-value header in the format 'name:' (note the semi-colon is converted
- by libcurl to a colon).
-
- Prior to this change the AWS header import code did not special case
- either of those and the generated AWS SignedHeaders would be incorrect.
-
- Reported-by: apparentorder@users.noreply.github.com
-
- Ref: https://curl.se/docs/manpage.html#-H
-
- Fixes https://github.com/curl/curl/issues/11664
- Closes https://github.com/curl/curl/pull/11668
-
-Dan Fandrich (11 Sep 2023)
-
-- CI: run pytest with the -v option
-
- This lists of the test cases being run so it can be tracked over time.
-
- Closes #11824
-
-Daniel Stenberg (11 Sep 2023)
-
-- HTTP3: the msquic backend is not functional
-
- I ask that we do not submit bugs for this backend just yet as we know it
- does not fully work.
-
- Closes #11831
- Closes #11819
-
-- aws_sigv4: the query canon code miscounted URL encoded input
-
- Added some extra ampersands to test 439 to verify "blank" query parts
-
- Follow-up to fc76a24c53b08cdf
-
- Closes #11829
-
-vvb2060 (11 Sep 2023)
-
-- quic: don't set SNI if hostname is an IP address
-
- We already do this for TLS connections.
-
- RFC 6066 says: Literal IPv4 and IPv6 addresses are not permitted in
- "HostName".
-
- Ref: https://www.rfc-editor.org/rfc/rfc6066#section-3
-
- Fixes https://github.com/curl/curl/issues/11827
- Closes https://github.com/curl/curl/pull/11828
-
-Daniel Stenberg (10 Sep 2023)
-
-- RELEASE-NOTES: synced
-
-Benoit Pierre (10 Sep 2023)
-
-- configure: fix `HAVE_TIME_T_UNSIGNED` check
-
- The syntax was incorrect (need a proper main body), and the test
- condition was wrong (resulting in a signed `time_t` detected as
- unsigned).
-
- Closes #11825
-
-Daniel Stenberg (9 Sep 2023)
-
-- THANKS-filter: pszlazak on github
-
-pszlazak (9 Sep 2023)
-
-- include.d: explain headers not printed with --fail before 7.75.0
-
- Prior to 7.75.0 response headers were not printed if -f/--fail was used
- and an error was reported by server. This was fixed in ab525c0
- (precedes 7.75.0).
-
- Closes #11822
-
-Daniel Stenberg (8 Sep 2023)
-
-- http_aws_sigv4: skip the op if the query pair is zero bytes
-
- Follow-up to fc76a24c53b08cdf
-
- Spotted by OSS-Fuzz
-
- Bug: https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=62175
- Closes #11823
-
-- cmdline-docs: use present tense, not future
-
- + some smaller cleanups
-
- Closes #11821
-
-- cmdline-docs: make sure to phrase it as "added in ...."
-
- References to things that were added or changed in a specific version
- should be specified as "(added in [version]) for two reasons:
-
- 1 - consistency
-
- 2 - to allow gen.pl to strip them out if deemed referring to too old
- versions
-
- Closes #11821
-
-Jay Satiro (8 Sep 2023)
-
-- docs: mark --ssl-revoke-best-effort as Schannel specific
-
- Closes https://github.com/curl/curl/pull/11760
-
-Nathan Moinvaziri (8 Sep 2023)
-
-- schannel: fix ordering of cert chain info
-
- - Use CERT_CONTEXT's pbCertEncoded to determine chain order.
-
- CERT_CONTEXT from SECPKG_ATTR_REMOTE_CERT_CONTEXT contains
- end-entity/server certificate in pbCertEncoded. We can use this pointer
- to determine the order of certificates when enumerating hCertStore using
- CertEnumCertificatesInStore.
-
- This change is to help ensure that the ordering of the certificate chain
- requested by the user via CURLINFO_CERTINFO has the same ordering on all
- versions of Windows.
-
- Prior to this change Schannel certificate order was reversed in 8986df80
- but that was later reverted in f540a39b when it was discovered that
- Windows 11 22H2 does the reversal on its own.
-
- Ref: https://github.com/curl/curl/issues/9706
-
- Closes https://github.com/curl/curl/pull/11632
-
-Chris Talbot (8 Sep 2023)
-
-- digest: Use hostname to generate spn instead of realm
-
- In https://www.rfc-editor.org/rfc/rfc2831#section-2.1.2
-
- digest-uri-value should be serv-type "/" host , where host is:
-
- The DNS host name or IP address for the service requested. The
- DNS host name must be the fully-qualified canonical name of the
- host. The DNS host name is the preferred form; see notes on server
- processing of the digest-uri.
-
- Realm may not be the host, so we must specify the host explicitly.
-
- Note this change only affects the non-SSPI digest code. The digest code
- used by SSPI builds already uses the hostname to generate the spn.
-
- Ref: https://github.com/curl/curl/issues/11369
-
- Closes https://github.com/curl/curl/pull/11395
-
-Daniel Stenberg (7 Sep 2023)
-
-- docs: remove use of the word 'very'
-
- It is mostly superfluous. proselint would complain.
-
- Closes #11818
-
-- curl_multi_remove_handle.3: clarify what happens with connection
-
- Closes #11817
-
-- RELEASE-NOTES: synced
-
-- test439: verify query canonization for aws-sigv4
-
-- tool_operate: make aws-sigv4 not require TLS to be used
-
- Maybe not used too often, but we want it for testing and it should work.
-
-- http_aws_sigv4: canonicalize the query
-
- Percent encoding needs to be done using uppercase, and most
- non-alphanumerical must be percent-encoded.
-
- Fixes #11794
- Reported-by: John Walker
- Closes #11806
-
-Wyatt O'Day (7 Sep 2023)
-
-- lib: add ability to disable auths individually
-
- Both with configure and cmake
-
- Closes #11490
-
-Stefan Eissing (7 Sep 2023)
-
-- ngtcp2: fix handling of large requests
-
- - requests >64K are send in parts to the filter
- - fix parsing of the request to assemble it correctly
- from several sends
- - open a QUIC stream only when the complete request has
- been collected
-
- Closes #11815
-
-- openssl: when CURLOPT_SSL_CTX_FUNCTION is registered, init x509 store before
-
- - we delay loading the x509 store to shorten the handshake time.
- However an application callback installed via CURLOPT_SSL_CTX_FUNCTION
- may need to have the store loaded and try to manipulate it.
- - load the x509 store before invoking the app callback
-
- Fixes #11800
- Reported-by: guoxinvmware on github
- Cloes #11805
-
-Daniel Stenberg (7 Sep 2023)
-
-- krb5: fix "implicit conversion loses integer precision" warnings
-
- conversions to/from enum and unsigned chars
-
- Closes #11814
-
-Stefan Eissing (7 Sep 2023)
-
-- pytest: improvements
-
- - set CURL_CI for pytest runs in CI environments
- - exclude timing sensitive tests from CI runs
- - for failed results, list only the log and stat of
- the failed transfer
-
- - fix type in http.c comment
-
- Closes #11812
-
-- CI: move on to ngtcp2 v0.19.1
-
- Closes #11809
-
-Dan Fandrich (5 Sep 2023)
-
-- CI: run Circle macOS builds on x86 for now
-
- The ARM machines aren't ready for us and requesting them now causes
- warnings e-mails to be sent to some PR pushers.
-
- Ref: #11771
-
-Viktor Szakats (5 Sep 2023)
-
-- http3: adjust cast for ngtcp2 v0.19.0
-
- ngtcp2 v0.19.0 made size of `ecn` member of `ngtcp2_pkt_info`
- an `uint8_t` (was: `uint32_t`). Adjust our local cast accordingly.
-
- Fixes:
- ```
- ./curl/lib/vquic/curl_ngtcp2.c:1912:12: warning: implicit conversion loses in
- teger precision: 'uint32_t' (aka 'unsigned int') to 'uint8_t' (aka 'unsigned
- char') [-Wimplicit-int-conversion]
- pi.ecn = (uint32_t)ecn;
- ~ ^~~~~~~~~~~~~
- ```
-
- Also bump ngtcp2, nghttp3 and nghttp2 to their latest versions in our
- docs and CI.
-
- Ref: https://github.com/ngtcp2/ngtcp2/commit/80447281bbc94af53f8aa7a4cfc19175
- 782894a3
- Ref: https://github.com/ngtcp2/ngtcp2/pull/877
- Closes #11798
-
-Stefan Eissing (5 Sep 2023)
-
-- http: fix sending of large requests
-
- - refs #11342 where errors with git https interactions
- were observed
- - problem was caused by 1st sends of size larger than 64KB
- which resulted in later retries of 64KB only
- - limit sending of 1st block to 64KB
- - adjust h2/h3 filters to cope with parsing the HTTP/1.1
- formatted request in chunks
-
- - introducing Curl_nwrite() as companion to Curl_write()
- for the many cases where the sockindex is already known
-
- Fixes #11342 (again)
- Closes #11803
-
-- pytest: fix check for slow_network skips to only apply when intended
-
- Closes #11801
-
-Daniel Stenberg (5 Sep 2023)
-
-- curl_url_get/set.3: add missing semicolon in SYNOPSIS
-
-- CURLOPT_URL.3: explain curl_url_set() uses the same parser
-
-- CURLOPT_URL.3: add two URL API calls in the see-also section
-
-Dan Fandrich (4 Sep 2023)
-
-- CI: add a 32-bit i686 Linux build
-
- This is done by cross-compiling under regular x86_64 Linux. Since the
- kernel offers backwards compatibility, the binaries can be tested as
- normal.
-
- Closes #11799
-
-- tests: fix a type warning on 32-bit x86
-
-Viktor Szakats (4 Sep 2023)
-
-- tests: delete stray `.orig` file
-
- Follow-up to 331b89a319d0067fa1e6441719307cfef9c7960f
- Closes #11797
-
-Daniel Stenberg (4 Sep 2023)
-
-- RELEASE-NOTES: synced
-
-Viktor Szakats (4 Sep 2023)
-
-- lib: silence compiler warning in inet_ntop6
-
- ```
- ./curl/lib/inet_ntop.c:121:21: warning: possible misuse of comma operator her
- e [-Wcomma]
- cur.base = i, cur.len = 1;
- ^
- ./curl/lib/inet_ntop.c:121:9: note: cast expression to void to silence warnin
- g
- cur.base = i, cur.len = 1;
- ^~~~~~~~~~~~
- (void)( )
- ```
-
- Closes #11790
-
-Daniel Stenberg (4 Sep 2023)
-
-- transfer: also stop the sending on closed connection
-
- Previously this cleared the receiving bit only but in some cases it is
- also still sending (like a request-body) when disconnected and neither
- direction can continue then.
-
- Fixes #11769
- Reported-by: Oleg Jukovec
- Closes #11795
-
-John Bampton (4 Sep 2023)
-
-- docs: change `sub-domain` to `subdomain`
-
- https://en.wikipedia.org/wiki/Subdomain
-
- Closes #11793
-
-Stefan Eissing (4 Sep 2023)
-
-- multi: more efficient pollfd count for poll
-
- - do not use separate pollfds for sockets that have POLLIN+POLLOUT
-
- Closes #11792
-
-- http2: polish things around POST
-
- - added test cases for various code paths
- - fixed handling of blocked write when stream had
- been closed inbetween attempts
- - re-enabled DEBUGASSERT on send with smaller data size
-
- - in debug builds, environment variables can be set to simulate a slow
- network when sending data. cf-socket.c and vquic.c support
- * CURL_DBG_SOCK_WBLOCK: percentage of send() calls that should be
- answered with a EAGAIN. TCP/UNIX sockets.
- This is chosen randomly.
- * CURL_DBG_SOCK_WPARTIAL: percentage of data that shall be written
- to the network. TCP/UNIX sockets.
- Example: 80 means a send with 1000 bytes would only send 800
- This is applied to every send.
- * CURL_DBG_QUIC_WBLOCK: percentage of send() calls that should be
- answered with EAGAIN. QUIC only.
- This is chosen randomly.
-
- Closes #11756
-
-Daniel Stenberg (4 Sep 2023)
-
-- docs: add curl_global_trace to some SEE ALSO sections
-
- Closes #11791
-
-- os400: fix checksrc nits
-
- Closes #11789
-
-Nicholas Nethercote (3 Sep 2023)
-
-- hyper: remove `hyptransfer->endtask`
-
- `Curl_hyper_stream` needs to distinguish between two kinds of
- `HYPER_TASK_EMPTY` tasks: (a) the `foreach` tasks it creates itself, and
- (b) background tasks that hyper produces. It does this by recording the
- address of any `foreach` task in `hyptransfer->endtask` before pushing
- it into the executor, and then comparing that against the address of
- tasks later polled out of the executor.
-
- This works right now, but there is no guarantee from hyper that the
- addresses are stable. `hyper_executor_push` says "The executor takes
- ownership of the task, which should not be accessed again unless
- returned back to the user with `hyper_executor_poll`". That wording is a
- bit ambiguous but with my Rust programmer's hat on I read it as meaning
- the task returned with `hyper_executor_poll` may be conceptually the
- same as a task that was pushed, but that there are no other guarantees
- and comparing addresses is a bad idea.
-
- This commit instead uses `hyper_task_set_userdata` to mark the `foreach`
- task with a `USERDATA_RESP_BODY` value which can then be checked for,
- removing the need for `hyptransfer->endtask`. This makes the code look
- more like that hyper C API examples, which use userdata for every task
- and never look at task addresses.
-
- Closes #11779
-
-Dave Cottlehuber (3 Sep 2023)
-
-- ws: fix spelling mistakes in examples and tests
-
- Closes #11784
-
-Daniel Stenberg (3 Sep 2023)
-
-- tool_filetime: make -z work with file dates before 1970
-
- Fixes #11785
- Reported-by: Harry Sintonen
- Closes #11786
-
-Dan Fandrich (1 Sep 2023)
-
-- build: fix portability of mancheck and checksrc targets
-
- At least FreeBSD preserves cwd across makefile lines, so rules
- consisting of more than one "cd X; do_something" must be explicitly run
- in a subshell to avoid this. This problem caused the Cirrus FreeBSD
- build to fail when parallel make jobs were enabled.
-
-- CI: adjust labeler match patterns for new & obsolete files
-
-- configure: trust pkg-config when it's used for zlib
-
- The library flags retrieved from pkg-config were later thrown out and
- harded-coded, which negates the whole reason to use pkg-config.
- Also, previously, the assumption was made that --libs-only-l and
- --libs-only-L are the full decomposition of --libs, which is untrue and
- would not allow linking against a static zlib. The new approach is
- better in that it uses --libs, although only if --libs-only-l returns
- nothing.
-
- Bug: https://curl.se/mail/lib-2023-08/0081.html
- Reported-by: Randall
- Closes #11778
-
-Stefan Eissing (1 Sep 2023)
-
-- CI/ngtcp2: clear wolfssl for when cache is ignored
-
- Closes #11783
-
-Daniel Stenberg (1 Sep 2023)
-
-- RELEASE-NOTES: synced
-
-Nicholas Nethercote (1 Sep 2023)
-
-- hyper: fix a progress upload counter bug
-
- `Curl_pgrsSetUploadCounter` should be a passed a total count, not an
- increment.
-
- This changes the failing diff for test 579 with hyper from this:
- ```
- Progress callback called with UL 0 out of 0[LF]
- -Progress callback called with UL 8 out of 0[LF]
- -Progress callback called with UL 16 out of 0[LF]
- -Progress callback called with UL 26 out of 0[LF]
- -Progress callback called with UL 61 out of 0[LF]
- -Progress callback called with UL 66 out of 0[LF]
- +Progress callback called with UL 29 out of 0[LF]
- ```
- to this:
- ```
- Progress callback called with UL 0 out of 0[LF]
- -Progress callback called with UL 8 out of 0[LF]
- -Progress callback called with UL 16 out of 0[LF]
- -Progress callback called with UL 26 out of 0[LF]
- -Progress callback called with UL 61 out of 0[LF]
- -Progress callback called with UL 66 out of 0[LF]
- +Progress callback called with UL 40 out of 0[LF]
- ```
- Presumably a step in the right direction.
-
- Closes #11780
-
-Daniel Stenberg (1 Sep 2023)
-
-- awssiv4: avoid freeing the date pointer on error
-
- Since it was not allocated, don't free it even if it was wrong syntax
-
- Bug: https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=61908
-
- Follow-up to b137634ba3adb
-
- Closes #11782
-
-Stefan Eissing (1 Sep 2023)
-
-- CI: ngtcp2-linux: use separate caches for tls libraries
-
- allow ever changing master for wolfssl
-
- Closes #11766
-
-- replace `master` as wolfssl-version with recent commit
-
-- wolfssl, use master again in CI
-
- - with the shared session update fix landed in master, it
- is time to use that in our CI again
-
-Nicholas Nethercote (31 Aug 2023)
-
-- tests: fix formatting errors in `FILEFORMAT.md`.
-
- Without the surrounding backticks, these tags get swallowed when the
- markdown is rendered.
-
- Closes #11777
-
-Viktor Szakats (31 Aug 2023)
-
-- cmake: add support for `CURL_DEFAULT_SSL_BACKEND`
-
- Allow overriding the default TLS backend via a CMake setting.
-
- E.g.:
- `cmake [...] -DCURL_DEFAULT_SSL_BACKEND=mbedtls`
-
- Accepted values: bearssl, gnutls, mbedtls, openssl, rustls,
- schannel, secure-transport, wolfssl
-
- The passed string is baked into the curl/libcurl binaries.
- The value is case-insensitive.
-
- We added a similar option to autotools in 2017 via
- c7170e20d0a18ec8a514b4daa53bcdbb4dcb3a05.
-
- TODO: Convert to lowercase to improve reproducibility.
-
- Closes #11774
-
-- sectransp: fix compiler warnings
-
- https://github.com/curl/curl-for-win/actions/runs/6037489221/job/16381860220#
- step:3:11046
- ```
- /Users/runner/work/curl-for-win/curl-for-win/curl/lib/vtls/sectransp.c:2435:1
- 4: warning: unused variable 'success' [-Wunused-variable]
- OSStatus success;
- ^
- /Users/runner/work/curl-for-win/curl-for-win/curl/lib/vtls/sectransp.c:3300:4
- 4: warning: unused parameter 'sha256len' [-Wunused-parameter]
- size_t sha256len)
- ^
- ```
-
- Closes #11773
-
-- tidy-up: mostly whitespace nits
-
- - delete completed TODO from `./CMakeLists.txt`.
- - convert a C++ comment to C89 in `./CMake/CurlTests.c`.
- - delete duplicate EOLs from EOF.
- - add missing EOL at EOF.
- - delete whitespace at EOL (except from expected test results).
- - convert tabs to spaces.
- - convert CRLF EOLs to LF in GHA yaml.
- - text casing fixes in `./CMakeLists.txt`.
- - fix a codespell typo in `packages/OS400/initscript.sh`.
-
- Closes #11772
-
-Dan Fandrich (31 Aug 2023)
-
-- CI: remove Windows builds from Cirrus, without replacement
-
- If we don't do this, all coverage on Cirrus will cease in a few days. By
- removing the Windows builds, the FreeBSD one should still continue
- as before. The Windows builds will need be moved to another service to
- maintain test coverage.
-
- Closes #11771
-
-- CI: switch macOS ARM build from Cirrus to Circle CI
-
- Cirrus is drastically reducing their free tier on Sept. 1, so they will
- no longer perform all these builds for us. All but one build has been
- moved, with the LibreSSL one being dropped because of linking problems
- on Circle.
-
- One important note about this change is that Circle CI is currently
- directing all these builds to x86_64 hardware, despite them requesting
- ARM. This is because ARM nodes are scheduled to be available on the
- free tier only in December. This reduces our architectural diversity
- until then but it should automatically come back once those machines are
- enabled.
-
-- CI: use the right variable for BSD make
-
- BSD uses MAKEFLAGS instead of MAKE_FLAGS so it wasn't doing parallel
- builds before.
-
-- CI: drop the FreeBSD 12.X build
-
- Cirrus' new free tier won't let us have many builds, so drop the
- nonessential ones. The FreeBSD 13.X build will still give us the most
- relevant FreeBSD coverage.
-
-- CI: move the Alpine build from Cirrus to GHA
-
- Cirrus is reducing their free tier to next to nothing, so we must move
- builds elsewhere.
-
-Stefan Eissing (30 Aug 2023)
-
-- test_07_upload.py: fix test_07_34 curl args
-
- - Pass correct filename to --data-binary.
-
- Prior to this change --data-binary was passed an incorrect filename due
- to a missing separator in the arguments list. Since aacbeae7 curl will
- error on incorrect filenames for POST.
-
- Fixes https://github.com/curl/curl/issues/11761
- Closes https://github.com/curl/curl/pull/11763
-
-Nicholas Nethercote (30 Aug 2023)
-
-- tests: document which tests fail due to hyper's lack of trailer support.
-
- Closes #11762
-
-- docs: removing "pausing transfers" from HYPER.md.
-
- It's a reference to #8600, which was fixed by #9070.
-
- Closes #11764
-
-Patrick Monnerat (30 Aug 2023)
-
-- os400: handle CURL_TEMP_PRINTF() while building bind source
-
- Closes #11547
-
-- os400: build test servers
-
- Also fix a non-compliant main prototype in disabled.c.
-
- Closes #11547
-
-- tests: fix compilation error for os400
-
- OS400 uses BSD 4.3 setsockopt() prototype by default: this does not
- define parameter as const, resulting in an error if actual parameter is
- const. Remove the const keyword from the actual parameter cast: this
- works in all conditions, even if the formal parameter uses it.
-
- Closes #11547
-
-- os400: make programs and command name configurable
-
- Closes #11547
-
-- os400: move build configuration parameters to a separate script
-
- They can then easily be overriden in a script named "config400.override"
- that is not part of the distribution.
-
- Closes #11547
-
-- os400: implement CLI tool
-
- This is provided as a QADRT (ascii) program, a link to it in the IFS and
- a minimal CL command.
-
- Closes #11547
-
-Matthias Gatto (30 Aug 2023)
-
-- lib: fix aws-sigv4 having date header twice in some cases
-
- When the user was providing the header X-XXX-Date, the header was
- re-added during signature computation, and we had it twice in the
- request.
-
- Reported-by: apparentorder@users.noreply.github.com
-
- Signed-off-by: Matthias Gatto
-
- Fixes: https://github.com/curl/curl/issues/11738
- Closes: https://github.com/curl/curl/pull/11754
-
-Jay Satiro (30 Aug 2023)
-
-- multi: remove 'processing: ' debug message
-
- - Remove debug message added by e024d566.
-
- Closes https://github.com/curl/curl/pull/11759
-
-- ftp: fix temp write of ipv6 address
-
- - During the check to differentiate between a port and IPv6 address
- without brackets, write the binary IPv6 address to an in6_addr.
-
- Prior to this change the binary IPv6 address was erroneously written to
- a sockaddr_in6 'sa6' when it should have been written to its in6_addr
- member 'sin6_addr'. There's no fallout because no members of 'sa6' are
- accessed before it is later overwritten.
-
- Closes https://github.com/curl/curl/pull/11747
-
-- tool: change some fopen failures from warnings to errors
-
- - Error on missing input file for --data, --data-binary,
- --data-urlencode, --header, --variable, --write-out.
-
- Prior to this change if a user of the curl tool specified an input file
- for one of the above options and that file could not be opened then it
- would be treated as zero length data instead of an error. For example, a
- POST using `--data @filenametypo` would cause a zero length POST which
- is probably not what the user intended.
-
- Closes https://github.com/curl/curl/pull/11677
-
-- hostip: fix typo
-
-Davide Masserut (29 Aug 2023)
-
-- tool: avoid including leading spaces in the Location hyperlink
-
- Co-authored-by: Dan Fandrich
-
- Closes #11735
-
-Daniel Stenberg (29 Aug 2023)
-
-- SECURITY-PROCESS.md: not a sec issue: Tricking user to run a cmdline
-
- Closes #11757
-
-- connect: stop halving the remaining timeout when less than 600 ms left
-
- When curl wants to connect to a host, it always has a TIMEOUT. The
- maximum time it is allowed to spend until a connect is confirmed.
-
- curl will try to connect to each of the IP adresses returned for the
- host. Two loops, one for each IP family.
-
- During the connect loop, while curl has more than one IP address left to
- try within a single address family, curl has traditionally allowed (time
- left/2) for *this* connect attempt. This, to not get stuck on the
- initial addresses in case the timeout but still allow later addresses to
- get attempted.
-
- This has the downside that when users set a very short timeout and the
- host has a large number of IP addresses, the effective result might be
- that every attempt gets a little too short time.
-
- This change stop doing the divided-by-two if the total time left is
- below a threshold. This threshold is 600 milliseconds.
-
- Closes #11693
-
-- asyn-ares: reduce timeout to 2000ms
-
- When UDP packets get lost this makes for slightly faster retries. This
- lower timeout is used by @c-ares itself by default starting next
- release.
-
- Closes #11753
-
-John Bampton (29 Aug 2023)
-
-- misc: remove duplicate words
-
- Closes #11740
-
-Daniel Stenberg (29 Aug 2023)
-
-- RELEASE-NOTES: synced
-
-- wolfSSL: avoid the OpenSSL compat API when not needed
-
- ... and instead call wolfSSL functions directly.
-
- Closes #11752
-
-Viktor Szakats (28 Aug 2023)
-
-- lib: fix null ptr derefs and uninitialized vars (h2/h3)
-
- Fixing compiler warnings with gcc 13.2.0 in unity builds.
-
- Assisted-by: Jay Satiro
- Assisted-by: Stefan Eissing
- Closes #11739
-
-Jay Satiro (28 Aug 2023)
-
-- secureserver.pl: fix stunnel version parsing
-
- - Allow the stunnel minor-version version part to be zero.
-
- Prior to this change with the stunnel version scheme of .
- if either part was 0 then version parsing would fail, causing
- secureserver.pl to fail with error "No stunnel", causing tests that use
- the SSL protocol to be skipped. As a practical matter this bug can only
- be caused by a minor-version part of 0, since the major-version part is
- always greater than 0.
-
- Closes https://github.com/curl/curl/pull/11722
-
-- secureserver.pl: fix stunnel path quoting
-
- - Store the stunnel path in the private variable $stunnel unquoted and
- instead quote it in the command strings.
-
- Prior to this change the quoted stunnel path was passed to perl's file
- operators which cannot handle quoted paths. For example:
-
- $stunnel = "\"/C/Program Files (x86)/stunnel/bin/tstunnel\"";
- if(-x $stunnel or -x "$stunnel")
- # false even if path exists and is executable
-
- Our other test scripts written in perl, unlike this one, use servers.pm
- which has a global $stunnel variable with the path stored unquoted and
- therefore those scripts don't have this problem.
-
- Closes https://github.com/curl/curl/pull/11721
-
-Daniel Stenberg (28 Aug 2023)
-
-- altsvc: accept and parse IPv6 addresses in response headers
-
- Store numerical IPv6 addresses in the alt-svc file with the brackets
- present.
-
- Verify with test 437 and 438
-
- Fixes #11737
- Reported-by: oliverpool on github
- Closes #11743
-
-- libtest: use curl_free() to free libcurl allocated data
-
- In several test programs. These mistakes are not detected or a problem
- as long as memdebug.h is included, as that provides the debug wrappers
- for all memory functions in the same style libcurl internals do it,
- which makes curl_free and free effectively the same call.
-
- Reported-by: Nicholas Nethercote
- Closes #11746
-
-Jay Satiro (28 Aug 2023)
-
-- disable.d: explain --disable not implemented prior to 7.50.0
-
- Option -q/--disable was added in 5.0 but only -q was actually
- implemented. Later --disable was implemented in e200034 (precedes
- 7.49.0), but incorrectly, and fixed in 6dbc23c (precedes 7.50.0).
-
- Reported-by: pszlazak@users.noreply.github.com
-
- Fixes https://github.com/curl/curl/issues/11710
- Closes #11712
-
-Nicholas Nethercote (28 Aug 2023)
-
-- hyper: fix ownership problems
-
- Some of these changes come from comparing `Curl_http` and
- `start_CONNECT`, which are similar, and adding things to them that are
- present in one and missing in another.
-
- The most important changes:
- - In `start_CONNECT`, add a missing `hyper_clientconn_free` call on the
- happy path.
- - In `start_CONNECT`, add a missing `hyper_request_free` on the error
- path.
- - In `bodysend`, add a missing `hyper_body_free` on an early-exit path.
- - In `bodysend`, remove an unnecessary `hyper_body_free` on a different
- error path that would cause a double-free.
- https://docs.rs/hyper/latest/hyper/ffi/fn.hyper_request_set_body.html
- says of `hyper_request_set_body`: "This takes ownership of the
- hyper_body *, you must not use it or free it after setting it on the
- request." This is true even if `hyper_request_set_body` returns an
- error; I confirmed this by looking at the hyper source code.
-
- Other changes are minor but make things slightly nicer.
-
- Closes #11745
-
-Daniel Stenberg (28 Aug 2023)
-
-- multi.h: the 'revents' field of curl_waitfd is supported
-
- Since 6d30f8ebed34e7276
-
- Reported-by: Nicolás Ojeda Bär
- Ref: #11748
- Closes #11749
-
-Gerome Fournier (27 Aug 2023)
-
-- tool_paramhlp: improve str2num(): avoid unnecessary call to strlen()
-
- Closes #11742
-
-Daniel Stenberg (27 Aug 2023)
-
-- docs: mention critical files in same directories as curl saves
-
- ... cannot be fully protected. Don't do it.
-
- Co-authored-by: Jay Satiro
- Reported-by: Harry Sintonen
- Fixes #11530
- Closes #11701
-
-John Hawthorn (26 Aug 2023)
-
-- OpenSSL: clear error queue after SSL_shutdown
-
- We've seen errors left in the OpenSSL error queue (specifically,
- "shutdown while in init") by adding some logging it revealed that the
- source was this file.
-
- Since we call SSL_read and SSL_shutdown here, but don't check the return
- code for an error, we should clear the OpenSSL error queue in case one
- was raised.
-
- This didn't affect curl because we call ERR_clear_error before every
- write operation (a0dd9df9ab35528eb9eb669e741a5df4b1fb833c), but when
- libcurl is used in a process with other OpenSSL users, they may detect
- an OpenSSL error pushed by libcurl's SSL_shutdown as if it was their
- own.
-
- Co-authored-by: Satana de Sant'Ana
-
- Closes #11736
-
-Alexander Kanavin (25 Aug 2023)
-
-- tests: update cookie expiry dates to far in the future
-
- This allows testing Y2038 with system time set to after that, so that
- actual Y2038 issues can be exposed, and not masked by expiry errors.
-
- Fixes #11576
- Closes #11610
-
-John Bampton (25 Aug 2023)
-
-- misc: fix spelling
-
- Closes #11733
-
-Daniel Stenberg (25 Aug 2023)
-
-- cmdline-opts/page-header: clarify stronger that !opt == URL
-
- Everything provided on the command line that is not an option (or an
- argument to an option) is treated as a URL.
-
- Closes #11734
-
-- tests/runner: fix %else handling
-
- Getting the show state proper for %else and %endif did not properly work
- in nested cases.
-
- Follow-up to 3d089c41ea9
-
- Closes #11731
-
-Nicholas Nethercote (25 Aug 2023)
-
-- docs: Remove mention of #10803 from `KNOWN_BUGS`.
-
- Because the leaks have been fixed.
-
-- c-hyper: fix another memory leak in `Curl_http`.
-
- There is a `hyper_clientconn_free` call on the happy path, but not one
- on the error path. This commit adds one.
-
- Fixes the second memory leak reported by Valgrind in #10803.
-
- Fixes #10803
- Closes #11729
-
-- c-hyper: fix a memory leak in `Curl_http`.
-
- A request created with `hyper_request_new` must be consumed by either
- `hyper_clientconn_send` or `hyper_request_free`.
-
- This is not terrifically clear from the hyper docs --
- `hyper_request_free` is documented only with "Free an HTTP request if
- not going to send it on a client" -- but a perusal of the hyper code
- confirms it.
-
- This commit adds a `hyper_request_free` to the `error:` path in
- `Curl_http` so that the request is consumed when an error occurs after
- the request is created but before it is sent.
-
- Fixes the first memory leak reported by Valgrind in #10803.
-
- Closes #11729
-
-Daniel Stenberg (25 Aug 2023)
-
-- RELEASE-NOTES: synced
-
-John Bampton (25 Aug 2023)
-
-- misc: spellfixes
-
- Closes #11730
-
-Daniel Stenberg (25 Aug 2023)
-
-- tests: add support for nested %if conditions
-
- Provides more flexiblity to test cases.
-
- Also warn and bail out if there is an '%else' or %endif' without a
- preceeding '%if'.
-
- Ref: #11610
- Closes #11728
-
-- time-cond.d: mention what happens on a missing file
-
- Closes #11727
-
-Christian Hesse (24 Aug 2023)
-
-- docs/cmdline-opts: match the current output
-
- The release date has been added in output, reflect that in documentation.
-
- Closes #11723
-
-Daniel Stenberg (24 Aug 2023)
-
-- lib: minor comment corrections
-
-- docs: rewrite to present tense
-
- ... instead of using future tense.
-
- + numerous cleanups and improvements
- + stick to "reuse" not "re-use"
- + fewer contractions
-
- Closes #11713
-
-- urlapi: setting a blank URL ("") is not an ok URL
-
- Test it in 1560
- Fixes #11714
- Reported-by: ad0p on github
- Closes #11715
-
-- spelling: use 'reuse' not 're-use' in code and elsewhere
-
- Unify the spelling as both versions were previously used intermittently
-
- Closes #11717
-
-Michael Osipov (23 Aug 2023)
-
-- system.h: add CURL_OFF_T definitions on HP-UX with HP aCC
-
- HP-UX on IA64 provides two modes: 32 and 64 bit while 32 bit being the
- default one. Use "long long" in 32 bit mode and just "long" in 64 bit
- mode.
-
- Closes #11718
-
-Dan Fandrich (22 Aug 2023)
-
-- tests: don't call HTTP errors OK in test cases
-
- Some HTTP errors codes were accompanied by the text OK, which causes
- some cognitive dissonance when reading them.
-
-- http: close the connection after a late 417 is received
-
- In this situation, only part of the data has been sent before aborting
- so the connection is no longer usable.
-
- Assisted-by: Jay Satiro
- Fixes #11678
- Closes #11679
-
-- runtests: slightly increase the longest log file displayed
-
- The new limit provides enough space for a 64 KiB data block to be logged
- in a trace file, plus a few lines at the start and end for context. This
- happens to be the amount of data sent at a time in a PUT request.
-
-- tests: add delay command to the HTTP server
-
- This adds a delay after client connect.
-
-Daniel Stenberg (22 Aug 2023)
-
-- cirrus: install everthing with pkg, avoid pip
-
- Assisted-by: Sevan Janiyan
-
- Closes #11711
-
-- curl_url*.3: update function descriptions
-
- - expand and clarify several descriptions
- - avoid using future tense all over
-
- Closes #11708
-
-- RELEASE-NOTES: synced
-
-Stefan Eissing (21 Aug 2023)
-
-- CI/cirrus: disable python install on FreeBSD
-
- - python cryptography package does not build build FreeBSD
- - install just mentions "error"
- - this gets the build and the main test suite going again
-
- Closes #11705
-
-- test2600: fix flakiness on low cpu
-
- - refs #11355 where failures to to low cpu resources in CI
- are reported
- - vastly extend CURLOPT_CONNECTTIMEOUT_MS and max durations
- to test cases
- - trigger Curl_expire() in test filter to allow re-checks before
- the usual 1second interval
-
- Closes #11690
-
-Maksim Sciepanienka (20 Aug 2023)
-
-- tool_urlglob: use the correct format specifier for curl_off_t in msnprintf
-
- Closes #11698
-
-Daniel Stenberg (20 Aug 2023)
-
-- test687/688: two more basic --xattr tests
-
- Closes #11697
-
-- cmdline-opts/docs: mentioned the negative option part
-
- ... for --no-alpn and --no-buffer in the same style done for other --no-
- options:
-
- "Note that this is the negated option name documented."
-
- Closes #11695
-
-Emanuele Torre (19 Aug 2023)
-
-- tool/var: also error when expansion result starts with NUL
-
- Expansions whose output starts with NUL were being expanded to the empty
- string, and not being recognised as values that contain a NUL byte, and
- should error.
-
- Closes #11694
-
-Daniel Stenberg (19 Aug 2023)
-
-- tests: add 'large-time' as a testable feature
-
- This allows test cases to require this feature to run and to be used in
- %if conditions.
-
- Large here means larger than 32 bits. Ie does not suffer from y2038.
-
- Closes #11696
-
-- tests/Makefile: add check-translatable-options.pl to tarball
-
- Used in test 1544
-
- Follow-up to ae806395abc8c
-
-- gen.pl: fix a long version generation mistake
-
- Too excessive escaping made the parsing not find the correct long names
- later and instead add "wrong" links.
-
- Follow-up to 439ff2052e219
-
- Reported-by: Lukas Tribus
- Fixes #11688
- Closes #11689
-
-- lib: move mimepost data from ->req.p.http to ->state
-
- When the legacy CURLOPT_HTTPPOST option is used, it gets converted into
- the modem mimpost struct at first use. This data is (now) kept for the
- entire transfer and not only per single HTTP request. This re-enables
- rewind in the beginning of the second request instead of in end of the
- first, as brought by 1b39731.
-
- The request struct is per-request data only.
-
- Extend test 650 to verify.
-
- Fixes #11680
- Reported-by: yushicheng7788 on github
- Closes #11682
-
-Patrick Monnerat (17 Aug 2023)
-
-- os400: do not check translatable options at build time
-
- Now that there is a test for this, the build time check is not needed
- anymore.
-
- Closes #11650
-
-- test1554: check translatable string options in OS400 wrapper
-
- This test runs a perl script that checks all string options are properly
- translated by the OS400 character code conversion wrapper. It also
- verifies these options are listed in alphanumeric order in the wrapper
- switch statement.
-
- Closes #11650
-
-Daniel Stenberg (17 Aug 2023)
-
-- unit3200: skip testing if function is not present
-
- Fake a successful run since we have no easy mechanism to skip this test
- for this advanced condition.
-
-- unit2600: fix build warning if built without verbose messages
-
-- test1608: make it build and get skipped without shuffle DNS support
-
-- lib: --disable-bindlocal builds curl without local binding support
-
-- test1304: build and skip without netrc support
-
-- lib: build fixups when built with most things disabled
-
- Closes #11687
-
-- workflows/macos.yml: disable zstd and alt-svc in the http-only build
-
- Closes #11683
-
-Stefan Eissing (17 Aug 2023)
-
-- bearssl: handshake fix, provide proper get_select_socks() implementation
-
- - bring bearssl handshake times down from +200ms down to other TLS backends
- - vtls: improve generic get_select_socks() implementation
- - tests: provide Apache with a suitable ssl session cache
-
- Closes #11675
-
-- tests: TLS session sharing test
-
- - test TLS session sharing with special test client
- - expect failure with wolfSSL
- - disable flaky wolfSSL test_02_07b
-
- Closes #11675
-
-Daniel Stenberg (17 Aug 2023)
-
-- CURLOPT_*TIMEOUT*: extend and clarify
-
- Closes #11686
-
-- urlapi: return CURLUE_BAD_HOSTNAME if puny2idn encoding fails
-
- And document it. Only return out of memory when it actually is a memory
- problem.
-
- Pointed-out-by: Jacob Mealey
- Closes #11674
-
-Mathew Benson (17 Aug 2023)
-
-- cmake: add GnuTLS option
-
- - Option to use GNUTLS was missing. Hence was not able to use GNUTLS
- with ngtcp2 for http3.
-
- Closes #11685
-
-Daniel Stenberg (16 Aug 2023)
-
-- RELEASE-NOTES: synced
-
-- http: remove the p_pragma struct field
-
- unused since 40e8b4e52 (2008)
-
- Closes #11681
-
-Jay Satiro (16 Aug 2023)
-
-- CURLINFO_CERTINFO.3: better explain curl_certinfo struct
-
- Closes https://github.com/curl/curl/pull/11666
-
-- CURLINFO_TLS_SSL_PTR.3: clarify a recommendation
-
- - Remove the out-of-date SSL backend list supported by
- CURLOPT_SSL_CTX_FUNCTION.
-
- It makes more sense to just refer to that document instead of having
- a separate list that has to be kept in sync.
-
- Closes https://github.com/curl/curl/pull/11665
-
-- write-out.d: clarify %{time_starttransfer}
-
- sync it up with CURLINFO_STARTTRANSFER_TIME_T
-
-Daniel Stenberg (15 Aug 2023)
-
-- transfer: don't set TIMER_STARTTRANSFER on first send
-
- The time stamp is for measuring the first *received* byte
-
- Fixes #11669
- Reported-by: JazJas on github
- Closes #11670
-
-trrui-huawei (15 Aug 2023)
-
-- quiche: enable quiche to handle timeout events
-
- In parallel with ngtcp2, quiche also offers the `quiche_conn_on_timeout`
- interface for the application to invoke upon timer
- expiration. Therefore, invoking the `on_timeout` function of the
- Connection is crucial to ensure seamless functionality of quiche with
- timeout events.
-
- Closes #11654
-
-- quiche: adjust quiche `QUIC_IDLE_TIMEOUT` to 60s
-
- Set the `QUIC_IDLE_TIMEOUT` parameter to match ngtcp2 for consistency.
-
-Daniel Stenberg (15 Aug 2023)
-
-- KNOWN_BUGS: LDAPS requests to ActiveDirectory server hang
-
- Closes #9580
-
-- imap: add a check for failing strdup()
-
-- imap: remove the only sscanf() call in the IMAP code
-
- Avoids the use of a stack buffer.
-
- Closes #11673
-
-- imap: use a dynbuf in imap_atom
-
- Avoid a calculation + malloc. Build the output in a dynbuf.
-
- Closes #11672
-
-Marin Hannache (14 Aug 2023)
-
-- http: do not require a user name when using CURLAUTH_NEGOTIATE
-
- In order to get Negotiate (SPNEGO) authentication to work in HTTP you
- used to be required to provide a (fake) user name (this concerned both
- curl and the lib) because the code wrongly only considered
- authentication if there was a user name provided, as in:
-
- curl -u : --negotiate https://example.com/
-
- This commit leverages the `struct auth` want member to figure out if the
- user enabled CURLAUTH_NEGOTIATE, effectively removing the requirement of
- setting a user name both in curl and the lib.
-
- Signed-off-by: Marin Hannache
- Reported-by: Enrico Scholz
- Fixes https://sourceforge.net/p/curl/bugs/440/
- Fixes #1161
- Closes #9047
-
-Viktor Szakats (13 Aug 2023)
-
-- build: streamline non-UWP wincrypt detections
-
- - with CMake, use the variable `WINDOWS_STORE` to detect an UWP build
- and disable our non-UWP-compatible use the Windows crypto API. This
- allows to drop two dynamic feature checks.
-
- `WINDOWS_STORE` is true when invoking CMake with
- `CMAKE_SYSTEM_NAME` == `WindowsStore`. Introduced in CMake v3.1.
-
- Ref: https://cmake.org/cmake/help/latest/variable/WINDOWS_STORE.html
-
- - with autotools, drop the separate feature check for `wincrypt.h`. On
- one hand this header has been present for long (even Borland C 5.5 had
- it from year 2000), on the other we used the check result solely to
- enable another check for certain crypto functions. This fails anyway
- with the header not present. We save one dynamic feature check at the
- configure stage.
-
- Reviewed-by: Marcel Raad
- Closes #11657
-
-Nicholas Nethercote (13 Aug 2023)
-
-- docs/HYPER.md: update hyper build instructions
-
- Nightly Rust and `-Z unstable-options` are not needed.
-
- The instructions here now match the hyper docs exactly:
- https://github.com/hyperium/hyper/commit/bd7928f3dd6a8461f0f0fdf7ee0fd95c2f15
- 6f88
-
- Closes #11662
-
-Daniel Stenberg (13 Aug 2023)
-
-- RELEASE-NOTES: synced
-
-- urlapi: CURLU_PUNY2IDN - convert from punycode to IDN name
-
- Asssisted-by: Jay Satiro
- Closes #11655
-
-- spellcheck: adapt to backslashed minuses
-
- As the curl.1 has more backslashed minus, the cleanup sed lines xneed to
- adapt.
-
- Adjusted some docs slighly.
-
- Follow-up to 439ff2052e
-
- Closes #11663
-
-- gen: escape more minus
-
- Detected since it was still hard to search for option names using dashes
- in the middle in the man page.
-
- Closes #11660
-
-- cookie-jar.d: enphasize that this option is ONLY writing cookies
-
- Reported-by: Dan Jacobson
- Tweaked-by: Jay Satiro
- Ref: #11642
- Closes #11661
-
-Nicholas Nethercote (11 Aug 2023)
-
-- docs/HYPER.md: document a workaround for a link error
-
- Closes #11653
-
-Jay Satiro (11 Aug 2023)
-
-- schannel: verify hostname independent of verify cert
-
- Prior to this change when CURLOPT_SSL_VERIFYPEER (verifypeer) was off
- and CURLOPT_SSL_VERIFYHOST (verifyhost) was on we did not verify the
- hostname in schannel code.
-
- This fixes KNOWN_BUG 2.8 "Schannel disable CURLOPT_SSL_VERIFYPEER and
- verify hostname". We discussed a fix several years ago in #3285 but it
- went stale.
-
- Assisted-by: Daniel Stenberg
-
- Bug: https://curl.haxx.se/mail/lib-2018-10/0113.html
- Reported-by: Martin Galvan
-
- Ref: https://github.com/curl/curl/pull/3285
-
- Fixes https://github.com/curl/curl/issues/3284
- Closes https://github.com/curl/curl/pull/10056
-
-Daniel Stenberg (11 Aug 2023)
-
-- curl_quiche: remove superfluous NULL check
-
- 'stream' is always non-NULL at this point
-
- Pointed out by Coverity
-
- Closes #11656
-
-- curl/urlapi.h: tiny typo
-
-- github/labeler: make HYPER.md set Hyper and not TLS
-
-- docs/cmdline-opts/gen.pl: hide "added in" before 7.50.0
-
- 7.50.0 shipped on Jul 21 2016, over seven years ago. We no longer need
- to specify version changes for earlier releases in the generated output.
-
- This ups the limit from the previous 7.30.0 (Apr 12 2013)
-
- This hides roughly 35 "added in" mentions.
-
- Closes #11651
-
-Jay Satiro (10 Aug 2023)
-
-- bug_report: require reporters to specify curl and os versions
-
- - Change curl version and os sections from single-line input to
- multi-line textarea.
-
- - Require curl version and os sections to be filled out before report
- can be submitted.
-
- Closes https://github.com/curl/curl/pull/11636
-
-Daniel Stenberg (9 Aug 2023)
-
-- gen.pl: replace all single quotes with aq
-
- - this prevents man from using a unicode sequence for them
- - which then allows search to work properly
-
- Closes #11645
-
-Viktor Szakats (9 Aug 2023)
-
-- cmake: fix to use variable for the curl namespace
-
- Replace (wrong) literal with a variable to specify the curl
- namespace.
-
- Follow-up to 1199308dbc902c52be67fc805c72dd2582520d30 #11505
-
- Reported-by: balikalina on Github
- Fixes https://github.com/curl/curl/commit/1199308dbc902c52be67fc805c72dd25825
- 20d30#r123923098
- Closes #11629
-
-- cmake: allow `SHARE_LIB_OBJECT=ON` on all platforms
-
- 2ebc74c36a19a1700af394c16855ce144d9878e3 #11546 introduced sharing
- libcurl objects for shared and static targets.
-
- The above automatically enabled for Windows builds, with an option to
- disable with `SHARE_LIB_OBJECT=OFF`.
-
- This patch extend this feature to all platforms as a manual option.
- You can enable it by setting `SHARE_LIB_OBJECT=ON`. Then shared objects
- are built in PIC mode, meaning the static lib will also have PIC code.
-
- [EXPERIMENTAL]
-
- Closes #11627
-
-- cmake: assume `wldap32` availability on Windows
-
- This system library first shipped with Windows ME, available as an extra
- install for some older releases (according to [1]). The import library
- was present already in old MinGW 3.4.2 (year 2007).
-
- Drop the feature check and its associated `HAVE_WLDAP32` variable.
-
- To manually disable `wldap32`, you can use the `USE_WIN32_LDAP=OFF`
- CMake option, like before.
-
- [1]: https://dlcdn.apache.org/httpd/binaries/win32/LEGACY.html
-
- Reviewed-by: Jay Satiro
- Closes #11624
-
-Daniel Stenberg (9 Aug 2023)
-
-- page-header: move up a URL paragraph from GLOBBING to URL
-
-- variable.d: output the function names table style
-
- Also correct the url function name in the header
-
- Closes #11641
-
-- haproxy-clientip.d: remove backticks
-
- This is not markdown
-
- Follow-up to 0a75964d0d94a4
-
- Closes #11639
-
-- RELEASE-NOTES: synced
-
-- gen.pl: escape all dashes (ascii minus) to avoid unicode hyphens
-
- Reported-by: FC Stegerman
- Fixes #11635
- Closes #11637
-
-- cmdline-opts/page-header: reorder, clean up
-
- - removed some unnecessary blurb to focus
- - moved up the more important URL details
- - put "globbing" into its own subtitle and moved down a little
- - mention the online man page in the version section
-
- Closes #11638
-
-- c-hyper: adjust the hyper to curlcode conversion
-
- Closes #11621
-
-- test2306: make it use a persistent connection
-
- + enable verbose already from the start
-
- Closes #11621
-
-eppesuig (8 Aug 2023)
-
-- list-only.d: mention SFTP as supported protocol
-
- Closes #11628
-
-Daniel Stenberg (8 Aug 2023)
-
-- request.d: use .TP for protocol "labels"
-
- To render the section nicer in man page.
-
- Closes #11630
-
-- cf-haproxy: make CURLOPT_HAPROXY_CLIENT_IP set the *source* IP
-
- ... as documented.
-
- Update test 3201 and 3202 accordingly.
-
- Reported-by: Markus Sommer
- Fixes #11619
- Closes #11626
-
-- page-footer: QLOGDIR works with ngtcp2 and quiche
-
- It previously said "both" backends which is confusing as we currently
- have three...
-
- Closes #11631
-
-Stefan Eissing (8 Aug 2023)
-
-- http3: quiche, handshake optimization, trace cleanup
-
- - load x509 store after clienthello
- - cleanup of tracing
-
- Closes #11618
-
-Daniel Stenberg (8 Aug 2023)
-
-- ngtcp2: remove dead code
-
- 'result' is always zero (CURLE_OK) at this point
-
- Detected by Coverity
-
- Closes #11622
-
-Viktor Szakats (8 Aug 2023)
-
-- openssl: auto-detect `SSL_R_TLSV13_ALERT_CERTIFICATE_REQUIRED`
-
- OpenSSL 1.1.1 defines this macro, but no ealier version, or any of the
- popular forks (yet). Use the macro itself to detect its presence,
- replacing the hard-wired fork-specific conditions.
-
- This way the feature will enable automatically when forks implement it,
- while also shorter and possibly requiring less future maintenance.
-
- Follow-up to 94241a9e78397a2aaf89a213e6ada61e7de7ee02 #6721
-
- Reviewed-by: Jay Satiro
- Closes #11617
-
-- openssl: use `SSL_CTX_set_ciphersuites` with LibreSSL 3.4.1
-
- LibreSSL 3.4.1 (2021-10-14) added support for
- `SSL_CTX_set_ciphersuites`.
-
- Ref: https://ftp.openbsd.org/pub/OpenBSD/LibreSSL/libressl-3.4.1-relnotes.txt
-
- Reviewed-by: Jay Satiro
- Closes #11616
-
-- openssl: use `SSL_CTX_set_keylog_callback` with LibreSSL 3.5.0
-
- LibreSSL 3.5.0 (2022-02-24) added support for
- `SSL_CTX_set_keylog_callback`.
-
- Ref: https://ftp.openbsd.org/pub/OpenBSD/LibreSSL/libressl-3.5.0-relnotes.txt
-
- Reviewed-by: Jay Satiro
- Closes #11615
-
-- cmake: drop `HAVE_LIBWINMM` and `HAVE_LIBWS2_32` feature checks
-
- - `HAVE_LIBWINMM` was detected but unused. The `winmm` system library is
- also not used by curl, but it is by its optional dependency `librtmp`.
- Change the logic to always add `winmm` when `USE_LIBRTMP` is set. This
- library has been available since the early days of Windows.
-
- - `HAVE_LIBWS2_32` detected `ws2_32` lib on Windows. This lib is present
- since Windows 95 OSR2 (AFAIR). Winsock1 already wasn't supported and
- other existing logic already assumed this lib being present, so delete
- the check and replace the detection variable with `WIN32` and always
- add `ws2_32` on Windows.
-
- Closes #11612
-
-Daniel Gustafsson (8 Aug 2023)
-
-- crypto: ensure crypto initialization works
-
- Make sure that context initialization during hash setup works to avoid
- going forward with the risk of a null pointer dereference.
-
- Reported-by: Philippe Antoine on HackerOne
- Assisted-by: Jay Satiro
- Assisted-by: Daniel Stenberg
-
- Closes #11614
-
-Viktor Szakats (7 Aug 2023)
-
-- openssl: switch to modern init for LibreSSL 2.7.0+
-
- LibreSSL 2.7.0 (2018-03-21) introduced automatic initialization,
- `OPENSSL_init_ssl()` function and deprecated the old, manual init
- method, as seen in OpenSSL 1.1.0. Switch to the modern method when
- available.
-
- Ref: https://ftp.openbsd.org/pub/OpenBSD/LibreSSL/libressl-2.7.0-relnotes.txt
-
- Reviewed-by: Daniel Stenberg
- Closes #11611
-
-Daniel Stenberg (7 Aug 2023)
-
-- gskit: remove
-
- We remove support for building curl with gskit.
-
- - This is a niche TLS library, only running on some IBM systems
- - no regular curl contributors use this backend
- - no CI builds use or verify this backend
- - gskit, or the curl adaption for it, lacks many modern TLS features
- making it an inferior solution
- - build breakages in this code take weeks or more to get detected
- - fixing gskit code is mostly done "flying blind"
-
- This removal has been advertized in DEPRECATED in Jan 2, 2023 and it has
- been mentioned on the curl-library mailing list.
-
- It could be brought back, this is not a ban. Given proper effort and
- will, gskit support is welcome back into the curl TLS backend family.
-
- Closes #11460
-
-- RELEASE-NOTES: synced
-
-Dan Fandrich (7 Aug 2023)
-
-- THANKS-filter: add a name typo
-
-Stefan Eissing (7 Aug 2023)
-
-- http3/ngtcp2: shorten handshake, trace cleanup
-
- - shorten handshake timing by delayed x509 store load (OpenSSL)
- as we do for HTTP/2
- - cleanup of trace output, align with HTTP/2 output
-
- Closes #11609
-
-Daniel Stenberg (7 Aug 2023)
-
-- headers: accept leading whitespaces on first response header
-
- This is a bad header fold but since the popular browsers accept this
- violation, so does curl now. Unless built with hyper.
-
- Add test 1473 to verify and adjust test 2306.
-
- Reported-by: junsik on github
- Fixes #11605
- Closes #11607
-
-- include/curl/mprintf.h: add __attribute__ for the prototypes
-
- - if gcc or clang is used
- - if __STDC_VERSION__ >= 199901L, which means greater than C90
- - if not using mingw
- - if CURL_NO_FMT_CHECKS is not defined
-
- Closes #11589
-
-- tests: fix bad printf format flags in test code
-
-- tests: fix header scan tools for attribute edits in mprintf.h
-
-- cf-socket: log successful interface bind
-
- When the setsockopt SO_BINDTODEVICE operation succeeds, output that in
- the verbose output.
-
- Ref: #11599
- Closes #11608
-
-- CURLOPT_SSL_VERIFYPEER.3: mention it does not load CA certs when disabled
-
- Ref: #11457
- Closes #11606
-
-- CURLOPT_SSL_VERIFYPEER.3: add two more see also options
-
- CURLINFO_CAINFO and CURLINFO_CAPATH
-
- Closes #11603
-
-- KNOWN_BUGS: aws-sigv4 does not behave well with AWS VPC Lattice
-
- Closes #11007
-
-Graham Campbell (6 Aug 2023)
-
-- CI: use openssl 3.0.10+quic, nghttp3 0.14.0, ngtcp2 0.18.0
-
- Closes #11585
-
-Daniel Stenberg (6 Aug 2023)
-
-- TODO: add *5* entries for aws-sigv4
-
- Closes #7559
- Closes #8107
- Closes #8810
- Closes #9717
- Closes #10129
-
-- TODO: LDAP Certificate-Based Authentication
-
- Closes #9641
-
-Stefan Eissing (6 Aug 2023)
-
-- http2: cleanup trace messages
-
- - more compact format with bracketed stream id
- - all frames traced in and out
-
- Closes #11592
-
-Daniel Stenberg (6 Aug 2023)
-
-- tests/tftpd+mqttd: make variables static to silence picky warnings
-
- Closes #11594
-
-- docs/cmdline: remove repeated working for negotiate + ntlm
-
- The extra wording is added automatically by the gen.pl tool
-
- Closes #11597
-
-- docs/cmdline: add small "warning" to verbose options
-
- "Note that verbose output of curl activities and network traffic might
- contain sensitive data, including user names, credentials or secret data
- content. Be aware and be careful when sharing trace logs with others."
-
- Closes #11596
-
-- RELEASE-NOTES: synced
-
-- pingpong: don't use *bump_headersize
-
- We use that for HTTP(S) only.
-
- Follow-up to 3ee79c1674fd6
-
- Closes #11590
-
-- urldata: remove spurious parenthesis to unbreak no-proxy build
-
- Follow-up to e12b39e13382
-
- Closes #11591
-
-- easy: don't call Curl_trc_opt() in disabled-verbose builds
-
- Follow-up to e12b39e133822c6a0
-
- Closes #11588
-
-- http: use %u for printfing int
-
- Follow-up to 3ee79c1674fd6f99e8efca5
-
- Closes #11587
-
-Goro FUJI (3 Aug 2023)
-
-- vquic: show stringified messages for errno
-
- Closes #11584
-
-Stefan Eissing (3 Aug 2023)
-
-- trace: make tracing available in non-debug builds
-
- Add --trace-config to curl
-
- Add curl_global_trace() to libcurl
-
- Closes #11421
-
-Daniel Stenberg (3 Aug 2023)
-
-- TODO: remove "Support intermediate & root pinning for PINNEDPUBLICKEY"
-
- See also https://github.com/curl/curl/pull/7507
-
-- TODO: add "WebSocket read callback"
-
- remove "Upgrade to websockets" as we already have this
-
- Closes #11402
-
-- test497: verify rejecting too large incoming headers
-
-- http: return error when receiving too large header set
-
- To avoid abuse. The limit is set to 300 KB for the accumulated size of
- all received HTTP headers for a single response. Incomplete research
- suggests that Chrome uses a 256-300 KB limit, while Firefox allows up to
- 1MB.
-
- Closes #11582
-
-Stefan Eissing (3 Aug 2023)
-
-- http2: upgrade tests and add fix for non-existing stream
-
- - check in h2 filter recv that stream actually exists
- and return error if not
- - add test for parallel, extreme h2 upgrades that fail if
- connections get reused before fully switched
- - add h2 upgrade upload test just for completeness
-
- Closes #11563
-
-Viktor Szakats (3 Aug 2023)
-
-- tests: ensure `libcurl.def` contains all exports
-
- Add `test1279` to verify that `libcurl.def` lists all exported API
- functions found in libcurl headers.
-
- Also:
-
- - extend test suite XML `stdout` tag with the `loadfile` attribute.
-
- - fix `tests/extern-scan.pl` and `test1135` to include websocket API.
-
- - use all headers (sorted) in `test1135` instead of a manual list.
-
- - add options `--sort`, `--heading=` to `tests/extern-scan.pl`.
-
- - add `libcurl.def` to the auto-labeler GHA task.
-
- Follow-up to 2ebc74c36a19a1700af394c16855ce144d9878e3
-
- Closes #11570
-
-Daniel Stenberg (2 Aug 2023)
-
-- url: change default value for CURLOPT_MAXREDIRS to 30
-
- It was previously unlimited by default, but that's not a sensible
- default. While changing this has a remote risk of breaking an existing
- use case, I figure it is more likely to actually save users from loops.
-
- Closes #11581
-
-- lib: fix a few *printf() flag mistakes
-
- Reported-by: Gisle Vanem
- Ref: #11574
- Closes #11579
-
-Samuel Chiang (2 Aug 2023)
-
-- openssl: make aws-lc version support OCSP
-
- And bump version in CI
-
- Closes #11568
-
-Daniel Stenberg (2 Aug 2023)
-
-- tool: make the length argument an int for printf()-.* flags
-
- Closes #11578
-
-- tool_operate: fix memory leak when SSL_CERT_DIR is used
-
- Detected by Coverity
-
- Follow-up to 29bce9857a12b6cfa726a5
-
- Closes #11577
-
-- tool/var: free memory on OOM
-
- Coverity detected this memory leak in OOM situation
-
- Follow-up to 2e160c9c652504e
-
- Closes #11575
-
-Viktor Szakats (2 Aug 2023)
-
-- gha: bump libressl and mbedtls versions
-
- Closes #11573
-
-Jay Satiro (2 Aug 2023)
-
-- schannel: fix user-set legacy algorithms in Windows 10 & 11
-
- - If the user set a legacy algorithm list (CURLOPT_SSL_CIPHER_LIST) then
- use the SCHANNEL_CRED legacy structure to pass the list to Schannel.
-
- - If the user set both a legacy algorithm list and a TLS 1.3 cipher list
- then abort.
-
- Although MS doesn't document it, Schannel will not negotiate TLS 1.3
- when SCHANNEL_CRED is used. That means setting a legacy algorithm list
- limits the user to earlier versions of TLS.
-
- Prior to this change, since 8beff435 (precedes 7.85.0), libcurl would
- ignore legacy algorithms in Windows 10 1809 and later.
-
- Reported-by: zhihaoy@users.noreply.github.com
-
- Fixes https://github.com/curl/curl/pull/10741
- Closes https://github.com/curl/curl/pull/10746
-
-Daniel Stenberg (2 Aug 2023)
-
-- variable.d: setting a variable again overwrites it
-
- Reported-by: Niall McGee
- Bug: https://twitter.com/niallmcgee/status/1686523075423322113
- Closes #11571
-
-Jay Satiro (2 Aug 2023)
-
-- CURLOPT_PROXY_SSL_OPTIONS.3: sync formatting
-
- - Re-wrap CURLSSLOPT_ALLOW_BEAST description.
-
-Daniel Stenberg (2 Aug 2023)
-
-- RELEASE-NOTES: synced
-
-- resolve: use PF_INET6 family lookups when CURL_IPRESOLVE_V6 is set
-
- Previously it would always do PF_UNSPEC if CURL_IPRESOLVE_V4 is not
- used, thus unnecessarily asking for addresses that will not be used.
-
- Reported-by: Joseph Tharayil
- Fixes #11564
- Closes #11565
-
-- docs: link to the website versions instead of markdowns
-
- ... to make the links work when the markdown is converted to webpages on
- https://curl.se
-
- Reported-by: Maurício Meneghini Fauth
- Fixes https://github.com/curl/curl-www/issues/272
- Closes #11569
-
-Viktor Szakats (1 Aug 2023)
-
-- cmake: cache more config and delete unused ones
-
- - cache more Windows config results for faster initialization.
-
- - delete unused config macros `HAVE_SYS_UTSNAME_H`, `HAVE_SSL_H`.
-
- - delete dead references to `sys/utsname.h`.
-
- Closes #11551
-
-- egd: delete feature detection and related source code
-
- EGD is Entropy Gathering Daemon, a socket-based entropy source supported
- by pre-OpenSSL v1.1 versions and now deprecated. curl also deprecated it
- a while ago.
-
- Its detection in CMake was broken all along because OpenSSL libs were
- not linked at the point of feature check.
-
- Delete detection from both cmake and autotools, along with the related
- source snippet, and the `--with-egd-socket=` `./configure` option.
-
- Closes #11556
-
-Stefan Eissing (1 Aug 2023)
-
-- tests: fix h3 server check and parallel instances
-
- - fix check for availability of nghttpx server
- - add `tcp` frontend config for same port as quic, as
- without this, port 3000 is bound which clashes for parallel
- testing
-
- Closes #11553
-
-Daniel Stenberg (1 Aug 2023)
-
-- docs/cmdline-opts: spellfixes, typos and polish
-
- To make them accepted by the spell checker
-
- Closes #11562
-
-- CI/spellcheck: build curl.1 and spellcheck it
-
- Added acceptable words
-
- Closes #11562
-
-Alexander Jaeger (1 Aug 2023)
-
-- misc: fix various typos
-
- Closes #11561
-
-Daniel Stenberg (1 Aug 2023)
-
-- http2: avoid too early connection re-use/multiplexing
-
- HTTP/1 connections that are upgraded to HTTP/2 should not be picked up
- for reuse and multiplexing by other handles until the 101 switching
- process is completed.
-
- Lots-of-debgging-by: Stefan Eissing
- Reported-by: Richard W.M. Jones
- Bug: https://curl.se/mail/lib-2023-07/0045.html
- Closes #11557
-
-- Revert "KNOWN_BUGS: build for iOS simulator on macOS 13.2 with Xcode 14"
-
- This reverts commit 2e8a3d7cb73c85a9aa151e263315f8a496dbb9d4.
-
- It's a user error for supplying incomplete information to the build system.
-
- Reported-by: Ryan Schmidt
- Ref: https://github.com/curl/curl/issues/11215#issuecomment-1658729367
-
-Viktor Szakats (1 Aug 2023)
-
-- cmake: add support for single libcurl compilation pass
-
- Before this patch CMake builds used two separate compilation passes to
- build the shared and static libcurl respectively. This patch allows to
- reduce that to a single pass if the target platform and build settings
- allow it.
-
- This reduces CMake build times when building both static and shared
- libcurl at the same time, making these dual builds an almost zero-cost
- option.
-
- Enable this feature for Windows builds, where the difference between the
- two passes was the use of `__declspec(dllexport)` attribute for exported
- API functions for the shared builds. This patch replaces this method
- with the use of `libcurl.def` at DLL link time.
-
- Also update `Makefile.mk` to use `libcurl.def` to export libcurl API
- symbols on Windows. This simplifies (or fixes) this build method (e.g.
- in curl-for-win, which generated a `libcurl.def` from `.h` files using
- an elaborate set of transformations).
-
- `libcurl.def` has the maintenance cost of keeping the list of public
- libcurl API symbols up-to-date. This list seldom changes, so the cost
- is low.
-
- Closes #11546
-
-- cmake: detect `SSL_set0_wbio` in OpenSSL
-
- Present in OpenSSL 1.1.0 and BoringSSL.
- Missing from LibreSSL 3.8.0.
-
- Follow-up to f39472ea9f4f4e12cfbc0500c4580a8d52ce4a59
-
- While here, also fix `RAND_egd()` detection which was broken, likely all
- along. This feature is probably broken with CMake builds and also
- requires a sufficiently obsolete OpenSSL version, so this part of the
- update was not tested.
-
- Closes #11555
-
-- cmake: fixup H2 duplicate symbols for unity builds
-
- Closes #11550
-
-Pablo Busse (1 Aug 2023)
-
-- openssl: Support async cert verify callback
-
- - Update the OpenSSL connect state machine to handle
- SSL_ERROR_WANT_RETRY_VERIFY.
-
- This allows libcurl users that are using custom certificate validation
- to suspend processing while waiting for external I/O during certificate
- validation.
-
- Closes https://github.com/curl/curl/pull/11499
-
-Jay Satiro (1 Aug 2023)
-
-- tool_cb_wrt: fix invalid unicode for windows console
-
- - Suppress an incomplete UTF-8 sequence at the end of the buffer.
-
- - Attempt to reconstruct incomplete UTF-8 sequence from prior call(s)
- in current call.
-
- Prior to this change, in Windows console UTF-8 sequences split between
- two or more calls to the write callback would cause invalid "replacement
- characters" U+FFFD to be printed instead of the actual Unicode
- character. This is because in Windows only UTF-16 encoded characters are
- printed to the console, therefore we convert the UTF-8 contents to
- UTF-16, which cannot be done with partial UTF-8 sequences.
-
- Reported-by: Maksim Arhipov
-
- Fixes https://github.com/curl/curl/issues/9841
- Closes https://github.com/curl/curl/pull/10890
-
-Daniel Stenberg (1 Aug 2023)
-
-- sectransp: prevent CFRelease() of NULL
-
- When SecCertificateCopyCommonName() returns NULL, the common_name
- pointer remains set to NULL which apparently when calling CFRelease() on
- (sometimes?) crashes.
-
- Reported-by: Guillaume Algis
- Fixes #9194
- Closes #11554
-
-Jay Satiro (1 Aug 2023)
-
-- vtls: clarify "ALPN: offers" message
-
- Before:
- * ALPN: offers h2,http/1.1
-
- After:
- * ALPN: curl offers h2,http/1.1
-
- Bug: https://curl.se/mail/lib-2023-07/0041.html
- Reported-by: Richard W.M. Jones
- Closes #11544
-
-Daniel Stenberg (1 Aug 2023)
-
-- urlapi: make sure zoneid is also duplicated in curl_url_dup
-
- Add several curl_url_dup() tests to the general lib1560 test.
-
- Reported-by: Rutger Broekhoff
- Bug: https://curl.se/mail/lib-2023-07/0047.html
- Closes #11549
-
-Sergey (1 Aug 2023)
-
-- urlapi: fix heap buffer overflow
-
- `u->path = Curl_memdup(path, pathlen + 1);` accesses bytes after the null-ter
- minator.
-
- ```
- ==2676==ERROR: AddressSanitizer: heap-buffer-overflow on address 0x04d48c75 a
- t pc 0x0112708a bp 0x006fb7e0 sp 0x006fb3c4
- READ of size 78 at 0x04d48c75 thread T0
- #0 0x1127089 in __asan_wrap_memcpy D:\a\_work\1\s\src\vctools\asan\llvm\c
- ompiler-rt\lib\sanitizer_common\sanitizer_common_interceptors.inc:840
- #1 0x1891a0e in Curl_memdup C:\actions-runner\_work\client\client\third_p
- arty\curl\lib\strdup.c:97
- #2 0x18db4b0 in parseurl C:\actions-runner\_work\client\client\third_part
- y\curl\lib\urlapi.c:1297
- #3 0x18db819 in parseurl_and_replace C:\actions-runner\_work\client\clien
- t\third_party\curl\lib\urlapi.c:1342
- #4 0x18d6e39 in curl_url_set C:\actions-runner\_work\client\client\third_
- party\curl\lib\urlapi.c:1790
- #5 0x1877d3e in parseurlandfillconn C:\actions-runner\_work\client\client
- \third_party\curl\lib\url.c:1768
- #6 0x1871acf in create_conn C:\actions-runner\_work\client\client\third_p
- arty\curl\lib\url.c:3403
- #7 0x186d8dc in Curl_connect C:\actions-runner\_work\client\client\third_
- party\curl\lib\url.c:3888
- #8 0x1856b78 in multi_runsingle C:\actions-runner\_work\client\client\thi
- rd_party\curl\lib\multi.c:1982
- #9 0x18531e3 in curl_multi_perform C:\actions-runner\_work\client\client\
- third_party\curl\lib\multi.c:2756
- ```
-
- Closes #11560
-
-Daniel Stenberg (31 Jul 2023)
-
-- curl: make %output{} in -w specify a file to write to
-
- It can be used multiple times. Use %output{>>name} to append.
-
- Add docs. Test 990 and 991 verify.
-
- Idea: #11400
- Suggested-by: ed0d2b2ce19451f2
- Closes #11416
-
-- RELEASE-NOTES: synced
-
-- tool: add "variable" support
-
- Add support for command line variables. Set variables with --variable
- name=content or --variable name@file (where "file" can be stdin if set
- to a single dash (-)).
-
- Variable content is expanded in option parameters using "{{name}}"
- (without the quotes) if the option name is prefixed with
- "--expand-". This gets the contents of the variable "name" inserted, or
- a blank if the name does not exist as a variable. Insert "{{" verbatim
- in the string by prefixing it with a backslash, like "\\{{".
-
- Import an environment variable with --variable %name. It makes curl exit
- with an error if the environment variable is not set. It can also rather
- get a default value if the variable does not exist, using =content or
- @file like shown above.
-
- Example: get the USER environment variable into the URL:
-
- --variable %USER
- --expand-url = "https://example.com/api/{{USER}}/method"
-
- When expanding variables, curl supports a set of functions that can make
- the variable contents more convenient to use. It can trim leading and
- trailing white space with "trim", output the contents as a JSON quoted
- string with "json", URL encode it with "url" and base 64 encode it with
- "b64". To apply functions to a variable expansion, add them colon
- separated to the right side of the variable. They are then performed in
- a left to right order.
-
- Example: get the contents of a file called $HOME/.secret into a variable
- called "fix". Make sure that the content is trimmed and percent-encoded
- sent as POST data:
-
- --variable %HOME=/home/default
- --expand-variable fix@{{HOME}}/.secret
- --expand-data "{{fix:trim:url}}"
- https://example.com/
-
- Documented. Many new test cases.
-
- Co-brainstormed-by: Emanuele Torre
- Assisted-by: Jat Satiro
- Closes #11346
-
-- KNOWN_BUGS: cygwin: make install installs curl-config.1 twice
-
- Closes #8839
-
-- KNOWN_BUGS: build for iOS simulator on macOS 13.2 with Xcode 14
-
- Closes #11215
-
-- KNOWN_BUGS: cmake outputs: no version information available
-
- Closes #11158
-
-- KNOWN_BUGS: APOP authentication fails on POP3
-
- Closes #10073
-
-- KNOWN_BUGS: hyper is slow
-
- Closes #11203
-
-Patrick Monnerat (31 Jul 2023)
-
-- configure, cmake, lib: more form api deprecation
-
- Introduce a --enable-form-api configure option to control its inclusion
- in builds. The condition name defined for it is CURL_DISABLE_FORM_API.
-
- Form api code is dependent of MIME: configure and CMake handle this
- dependency automatically: CMake by making it a dependent option
- explicitly, configure by inheriting the MIME value by default and
- rejecting explicit incompatible values.
-
- "form-api" is now a new hidden test feature.
-
- Update libcurl modules to respect this option and adjust tests
- accordingly.
-
- Closes #9621
-
-Daniel Stenberg (31 Jul 2023)
-
-- mailmap: add Derzsi Dániel
-
-Derzsi Dániel (31 Jul 2023)
-
-- wolfssl: support loading system CA certificates
-
- Closes #11452
-
-Viktor Szakats (30 Jul 2023)
-
-- nss: delete more NSS references
-
- Fix the distcheck CI failure and delete more NSS references.
-
- Follow-up to 7c8bae0d9c9b2dfeeb008b9a316117d7b9675175
-
- Reviewed-by: Marcel Raad
- Reviewed-by: Daniel Stenberg
- Closes #11548
-
-Daniel Stenberg (29 Jul 2023)
-
-- nss: remove support for this TLS library
-
- Closes #11459
-
-Ryan Schmidt (29 Jul 2023)
-
-- macOS: fix target detection more
-
- Now SCDynamicStoreCopyProxies is called (and the required frameworks are
- linked in) on all versions of macOS and only on macOS. Fixes crash due
- to undefined symbol when built with the macOS 10.11 SDK or earlier.
-
- CURL_OSX_CALL_COPYPROXIES is renamed to CURL_MACOS_CALL_COPYPROXIES and
- is now only defined when SCDynamicStoreCopyProxies will actually be
- called. Previously, it was defined when ENABLE_IPV6 was not defined but
- SCDynamicStoreCopyProxies is not called in that case.
-
- TARGET_OS_OSX is only defined in the macOS 10.12 SDK and later and only
- when dynamic targets are enabled. TARGET_OS_MAC is always defined but
- means any Mac OS or derivative including macOS, iOS, tvOS, and watchOS.
- TARGET_OS_IPHONE means any Darwin OS other than macOS.
-
- Follow-up to c73b2f82
-
- Fixes #11502
- Closes #11516
-
-Daniel Stenberg (29 Jul 2023)
-
-- tool_operate: allow SSL_CERT_FILE and SSL_CERT_DIR
-
- ... used at once.
-
- Reported-by: Gabriel Corona
- Fixes #11325
- Closes #11531
-
-Thomas M. DuBuisson (29 Jul 2023)
-
-- CI: remove Lift's configuration
-
- The Lift tool is being retired. Their site reads:
-
- "Sonatype Lift will be retiring on Sep 12, 2023, with its analysis
- stopping on Aug 12, 2023."
-
- Closes #11541
-
-Nathan Moinvaziri (29 Jul 2023)
-
-- Revert "schannel: reverse the order of certinfo insertions"
-
- This reverts commit 8986df802db9b5338d9d50a54232ebae4dbcf6dd.
-
- Windows does not guarantee a particular certificate ordering, even
- though TLS may have its own ordering/relationship guarantees. Recent
- versions of Windows 11 reversed the ordering of ceritifcates returned by
- CertEnumCertificatesInStore, therefore this commit no longer works as
- initially intended. libcurl makes no guarantees about certificate
- ordering if the operating system can't.
-
- Ref: https://github.com/curl/curl/issues/9706
-
- Closes https://github.com/curl/curl/pull/11536
-
-wangzhikun (29 Jul 2023)
-
-- winbuild: improve check for static zlib
-
- - Check for zlib static library name zlibstatic.lib.
-
- zlib's static library has a different name depending on how it was
- built. zlibstatic.lib is output by cmake. zlibstat.lib is output by
- their pre-generated Visual Studio project files (in the contrib
- directory) and defines ZLIB_WINAPI (ie it's meant to use stdcall
- instead of cdecl if you end up exporting the zlib functions).
-
- Prior to this change the makefile only checked for the latter.
-
- Closes https://github.com/curl/curl/pull/11521
-
-Daniel Stenberg (29 Jul 2023)
-
-- configure: use the pkg-config --libs-only-l flag for libssh2
-
- ... instead of --libs, as that one also returns -L flags.
-
- Reported-by: Wilhelm von Thiele
- Fixes #11538
- Closes #11539
-
-Viktor Szakats (29 Jul 2023)
-
-- cmake: support building static and shared libcurl in one go
-
- This patch adds the ability to build a static and shared libcurl library
- in a single build session. It also adds an option to select which one to
- use when building the curl executable.
-
- New build options:
- - `BUILD_STATIC_LIBS`. Default: `OFF`.
- Enabled automatically if `BUILD_SHARED_LIBS` is `OFF`.
- - `BUILD_STATIC_CURL`. Default: `OFF`.
- Requires `BUILD_STATIC_LIBS` enabled.
- Enabled automatically if building static libcurl only.
- - `STATIC_LIB_SUFFIX`. Default: empty.
- - `IMPORT_LIB_SUFFIX`. Default: `_imp` if implib filename would collide
- with static lib name (typically with MSVC) in Windows builds.
- Otherwise empty.
-
- Also:
-
- - Stop setting the `CURL_STATICLIB` macro via `curl_config.h`, and pass
- it directly to the compiler. This also allows to delete a condition
- from `tests/server/CMakeLists.txt`.
-
- - Complete a TODO by following the logic used in autotools (also for
- `LIBCURL_NO_SHARED`), and set `-DCURL_STATICLIB` in `Cflags:` of
- `libcurl.pc` for _static-only_ curl builds.
-
- - Convert an existing CI test to build both shared and static libcurl.
-
- Closes #11505
-
-Stefan Eissing (28 Jul 2023)
-
-- CI/awslc: add cache for build awslc library
-
- Closes #11535
-
-- GHA/linux.yml: add caching
-
- Closes #11532
-
-Daniel Stenberg (27 Jul 2023)
-
-- RELEASE-NOTES: synced
-
- Bump working version to 8.3.0
-
-- url: remove infof() output for "still name resolving"
-
- The message does not help and might get spewed a lot during times.
-
- Reported-by: yushicheng7788 on github
- Fixes #11394
- Closes #11529
-
-- KNOWN_BUGS: cygwin: "WARNING: UNPROTECTED PRIVATE KEY FILE!"
-
- Closes #11244
-
-Stefan Eissing (27 Jul 2023)
-
-- CI: quiche updates
-
- - remove quiche from standard `linux` workflow
- - add mod_h2 caching to quiche workflow
- - rename quiche to quiche-linux
- - move version definitions into env section
-
- Closes #11528
-
-- http2: disable asssertion blocking OSSFuzz testing
-
- - not clear how this triggers and it blocks OSSFuzz testing other
- things. Since we handle the case with an error return, disabling the
- assertion for now seems the best way forward.
-
- Fixes #11500
- Closes #11519
-
-- http2: fix in h2 proxy tunnel: progress in ingress on sending
-
- - depending on what is tunneled, the proxy may never get invoked for
- receiving data explicitly. Not progressing ingress may lead to stalls
- due to missed WINDOW_UPDATEs.
-
- CI:
- - add a chache for building mod_h2
-
- Closes #11527
-
-- CI ngtcp2+quictls: use nghttpx cache as in quiche build
-
-Jay Satiro (27 Jul 2023)
-
-- bearssl: don't load CA certs when peer verification is disabled
-
- We already do this for other SSL backends.
-
- Bug: https://github.com/curl/curl/pull/11457#issuecomment-1644587473
- Reported-by: kyled-dell@users.noreply.github.com
-
- Closes https://github.com/curl/curl/pull/11497
-
-Daniel Stenberg (26 Jul 2023)
-
-- easy: remove #ifdefs to make code easier on the eye
-
- Closes #11525
-
-Stefan Eissing (26 Jul 2023)
-
-- GHA: adding quiche workflow
-
- - adding separate quiche workflow to also build nghttpx server for testing
-
- Closes #11517
-
-Version 8.2.1 (26 Jul 2023)
-
-Daniel Stenberg (26 Jul 2023)
-
-- RELEASE-NOTES: synced
-
- curl 8.2.1 release
-
-- THANKS: add contributors from 8.2.1
-
-- docs: provide more see also for cipher options
-
- More cross references. Hide nroff errors.
-
- Closes #11513
-
-- docs: mark two TLS options for TLS, not SSL
-
- Closes #11514
-
-Brad Harder (25 Jul 2023)
-
-- curl_multi_wait.3: fix arg quoting to doc macro .BR
-
- Closes #11511
-
-Daniel Stenberg (24 Jul 2023)
-
-- RELEASE-NOTES: synced
-
-Viktor Szakats (24 Jul 2023)
-
-- cmake: update ngtcp2 detection
-
- Replace `OpenSSL` with `quictls` to follow the same change
- in the v0.17.0 ngtcp2 release.
-
- Follow-up to e0093b4b732f6495b0fb1cd6747cbfedcdcf63ed
-
- Closes #11508
-
-Stefan Eissing (24 Jul 2023)
-
-- http: VLH, very large header test and fixes
-
- - adding tests using very large passwords in auth
- - fixes general http sending to treat h3 like h2, and
- not like http1.1
- - eliminate H2_HEADER max definitions and use the commmon
- DYN_HTTP_REQUEST everywhere, different limits do not help
- - fix http2 handling of requests denied by nghttp2 on send
- to immediately report the refused stream
-
- Closes #11509
-
-Andrei Rybak (23 Jul 2023)
-
-- CONTRIBUTE: drop mention of copyright year ranges
-
- Year ranges in copyrights were dropped in commits [1] and [2].
- Verification of year ranges in copyrights was dropped from script
- 'scripts/copyright.pl' in commit [3]. However, the corresponding
- passages in file 'docs/CONTRIBUTE.md' weren't updated.
-
- Drop mentions of copyright year ranges from 'docs/CONTRIBUTE.md'.
-
- [1] 2bc1d775f (copyright: update all copyright lines and remove year
- ranges, 2023-01-02)
- [2] c46761bd8 (tests/http: remove year ranges from copyrights,
- 2023-03-14)
- [3] 0e293bacb (copyright.pl: cease doing year verifications, 2023-01-28)
-
- Closes #11504
-
-- CONTRIBUTE: fix syntax in commit message description
-
- File 'docs/CONTRIBUTE.md' includes a description of how one should write
- commit messages in the curl project. Different possible parts of the
- message are enclosed in square brackets. One exception is the section
- describing how the curl project doesn't use "Signed-off-by" commit
- trailers [1], which is enclosed in an opening curly brace paired with a
- closing square bracket.
-
- Fix the enclosing square brackets in description of "Signed-off-by"
- trailers in commit messages in file 'docs/CONTRIBUTE.md'.
-
- [1] See description of option '--signoff' in Git documentation:
- https://git-scm.com/docs/git-commit
-
- Closes #11504
-
-Daniel Stenberg (23 Jul 2023)
-
-- src/mkhelp: strip off escape sequences
-
- At some point the nroff command stopped stripping off escape sequences,
- so then this script needs to do the job instead.
-
- Reported-by: VictorVG on github
- Fixes #11501
- Closes #11503
-
-- KNOWN_BUGS: building for old macOS fails with gcc
-
- Closes #11441
-
-Jacob Hoffman-Andrews (22 Jul 2023)
-
-- rustls: update rustls-ffi 0.10.0
-
- This brings in version 0.21.0 of the upstream rustls implementation,
- which notable includes support for IP address certificates.
-
- Closes #10865
-
-Brad Harder (22 Jul 2023)
-
-- websocket: rename arguments/variables to match docs
-
- Pedantry/semantic-alignment between functions, docs, comments with
- respect to websocket protocol code; No functional change intended.
-
- * "totalsize", "framesize" becomes "fragsize" (we deal in frame fragments).
-
- * "sendflags" becomes "flags"
-
- * use canonical CURL *handle
-
- Closes #11493
-
-Jan Macku (21 Jul 2023)
-
-- bug_report: use issue forms instead of markdown template
-
- Issue forms allow you to define web-like input forms using YAML
- syntax. It allows you to guide the reporter to get the required
- information.
-
- Signed-off-by: Jan Macku
- Closes #11474
-
-Daniel Stenberg (21 Jul 2023)
-
-- TODO: Obey Retry-After in redirects
-
- (remove "Set custom client ip when using haproxy protocol" which was
- shipped in 8.2.0)
-
- Mentioned-by: Yair Lenga
- Closes #11447
-
-- RELEASE-NOTES: synced
-
-Oliver Roberts (21 Jul 2023)
-
-- amissl: fix AmiSSL v5 detection
-
- Due to changes in the AmiSSL SDK, the detection needed adjusting.
-
- Closes #11477
-
-Alois Klink (21 Jul 2023)
-
-- unittest/makefile: remove unneeded unit1621_LDADD
-
- The `unit1621_LDADD` variable has the exact same value as the `LDADD`
- flag in `Makefile.am`, except without `@LDFLAGS@ @LIBCURL_LIBS@`.
-
- This was originally added by [98e6629][], but I can't see any reason
- why it exists, so we should remove it to clean things up.
-
- [98e6629]: https://github.com/curl/curl/commit/98e6629154044e4ab1ee7cff8351c7
- ebcb131e88
-
- Closes #11494
-
-- unittest/makefile: remove unneeded unit1394_LDADD
-
- These custom `unit1394_LDADD` and similar automake overrides are no
- longer neded. They were originally added by added by [8dac7be][] for
- metalink support, but are no longer after [265b14d][] removed metalink.
-
- [8dac7be]: https://github.com/curl/curl/commit/8dac7be438512a8725d3c71e9139bd
- fdcac1ed8c
- [265b14d]: https://github.com/curl/curl/commit/265b14d6b37c4298bd5556fabcbc37
- d36f911693
-
- Closes #11494
-
-- cmake: add `libcurlu`/`libcurltool` for unit tests
-
- Add a `libcurlu`/`libcurltool` static library that is compiled only for
- unit tests. We use `EXCLUDE_FROM_ALL` to make sure that they're not
- built by default, they're only built if unit tests are built.
-
- These libraries allow us to compile every unit test with CMake.
-
- Closes #11446
-
-Daniel Stenberg (21 Jul 2023)
-
-- test979: test -u with redirect to (the same) absolute host
-
- Verifies #11492
-
-- transfer: do not clear the credentials on redirect to absolute URL
-
- Makes test 979 work. Regression shipped in 8.2.0 from commit
- dd4d1a26959f63a2c
-
- Fixes #11486
- Reported-by: Cloudogu Siebels
- Closes #11492
-
-Jon Rumsey (20 Jul 2023)
-
-- os400: correct EXPECTED_STRING_LASTZEROTERMINATED
-
- Correct EXPECTED_STRING_LASTZEROTERMINATED to account for
- CURLOPT_HAPROXY_CLIENT_IP which requires EBCDIC to ASCII conversion when
- passed into curl_easy_setopt().
-
- Closes #11476
-
-Oliver Roberts (20 Jul 2023)
-
-- amissl: add missing signal.h include
-
- In some environments, signal.h is already included, but not in others
- which cause compilation to fail, so explictly include it.
-
- Closes #11478
-
-- amigaos: fix sys/mbuf.h m_len macro clash
-
- The updated Curl_http_req_make and Curl_http_req_make2 functions spawned
- a parameter called m_len. The AmigaOS networking headers, derived from
- NetBSD, contain "#define m_len m_hdr.mh_len" which clashes with
- this. Since we do not actually use mbuf, force the include file to be
- ignored, removing the clash.
-
- Closes #11479
-
-Daniel Stenberg (20 Jul 2023)
-
-- socks: print ipv6 address within brackets
-
- Fixes #11483
- Closes #11484
-
-Christian Schmitz (20 Jul 2023)
-
-- libcurl-errors.3: add CURLUE_OK
-
- Closes #11488
-
-Oliver Roberts (20 Jul 2023)
-
-- cfilters: rename close/connect functions to avoid clashes
-
- Rename `close` and `connect` in `struct Curl_cftype` for
- consistency and to avoid clashes with macros of the same name
- (the standard AmigaOS networking connect() function is implemented
- via a macro).
-
- Closes #11491
-
-Stefan Eissing (20 Jul 2023)
-
-- http2: fix regression on upload EOF handling
-
- - a regression introduced by c9ec85121110d7cbbbed2990024222c8f5b8afe5
- where optimization of small POST bodies leads to a new code path
- for such uploads that did not trigger the "done sending" event
- - add triggering this event for early "upload_done" situations
-
- Fixes #11485
- Closes #11487
- Reported-by: Aleksander Mazur
-
-Daniel Stenberg (19 Jul 2023)
-
-- configure: check for nghttp2_session_get_stream_local_window_size
-
- The http2 code uses it now. Introduced in nghttp2 1.15.0 (Sep 2016)
-
- Fixes #11470
- Reported-by: Paul Howarth
- Closes #11473
-
-Stefan Eissing (19 Jul 2023)
-
-- quiche: fix segfault and other things
-
- - refs #11449 where a segfault is reported when IP Eyeballing did
- not immediately connect but made several attempts
- - The transfer initiating the eyeballing was initialized too early,
- leadding to references to the filter instance that was then
- replaced in the subsequent eyeball attempts. That led to a use
- after free in the buffer handling for the transfer
- - transfers are initiated now more lazy (like in the ngtcp2 filter),
- when the stream is actually opened
- - suppress reporting on quiche event errors for "other" transfers
- than the current one to not fail a transfer due to faults in
- another one.
- - revert recent return value handling for quiche_h3_recv_body()
- to not indicate an error but an EAGAIN situation. We wish quiche
- would document what functions return.
-
- Fixes #11449
- Closes #11469
- Reported-by: ウさん
-
-Daniel Stenberg (19 Jul 2023)
-
-- hostip: return IPv6 first for localhost resolves
-
- Fixes #11465
- Reported-by: Chilledheart on github
- Closes #11466
-
-Harry Sintonen (19 Jul 2023)
-
-- tool: fix tool_seek_cb build when SIZEOF_CURL_OFF_T > SIZEOF_OFF_T
-
- - a variable was renamed, and some use of it wasn't. this fixes the
- build.
-
- Closes #11468
-
-Stefan Eissing (19 Jul 2023)
-
-- quiche: fix lookup of transfer at multi
-
- - refs #11449 where weirdness in quiche multi connection tranfers was
- observed
- - fixes lookup of transfer for a quiche event to take the connection
- into account
- - formerly, a transfer with the same stream_id, but on another connection
- could be found
-
- Closes #11462
-
-Daniel Stenberg (19 Jul 2023)
-
-- RELEASE-NOTES: synced
-
- bump to 8.2.1
-
-John Haugabook (19 Jul 2023)
-
-- ciphers.d: put URL in first column
-
- This makes the URL turn into a link properly when "webified".
-
- Fixes https://github.com/curl/curl-www/issues/270
- Closes #11464
-
-Version 8.2.0 (19 Jul 2023)
-
-Daniel Stenberg (19 Jul 2023)
-
-- RELEASE-NOTES: synced
-
- 8.2.0 release
-
-- THANKS-filter: strip out "GitHub"
-
-- THANKS: add contributors from 8.2.0
-
-- RELEASE-PROCEDURE.md: adjust the release dates
-
-Stefan Eissing (17 Jul 2023)
-
-- quiche: fix defects found in latest coverity report
-
- Closes #11455
-
-Daniel Stenberg (17 Jul 2023)
-
-- quiche: avoid NULL deref in debug logging
-
- Coverity reported "Dereference after null check"
-
- If stream is NULL and the function exits, the logging must not deref it.
-
- Closes #11454
-
-Stefan Eissing (17 Jul 2023)
-
-- http2: treat initial SETTINGS as a WINDOW_UPDATE
-
- - refs #11426 where spurious stalls on large POST requests
- are reported
- - the issue seems to involve the following
- * first stream on connection adds up to 64KB of POST
- data, which is the max default HTTP/2 stream window size
- transfer is set to HOLD
- * initial SETTINGS from server arrive, enlarging the stream
- window. But no WINDOW_UPDATE is received.
- * curl stalls
- - the fix un-HOLDs a stream on receiving SETTINGS, not
- relying on a WINDOW_UPDATE from lazy servers
-
- Closes #11450
-
-Daniel Stenberg (17 Jul 2023)
-
-- ngtcp2: assigning timeout, but value is overwritten before used
-
- Reported by Coverity
-
- Closes #11453
-
-- krb5: add typecast to please Coverity
-
-Derzsi Dániel (16 Jul 2023)
-
-- wolfssl: support setting CA certificates as blob
-
- Closes #11445
-
-- wolfssl: detect when TLS 1.2 support is not built into wolfssl
-
- Closes #11444
-
-Graham Campbell (15 Jul 2023)
-
-- CI: bump nghttp2 from 1.55.0 to 1.55.1
-
- Closes #11442
-
-Daniel Stenberg (15 Jul 2023)
-
-- curl: return error when asked to use an unsupported HTTP version
-
- When one of the following options are used but the libcurl in use does
- not support it:
-
- --http2
- --http2-prior-knowledge
- --proxy-http2
-
- Closes #11440
-
-Chris Paulson-Ellis (14 Jul 2023)
-
-- cf-socket: don't bypass fclosesocket callback if cancelled before connect
-
- After upgrading to 8.1.2 from 7.84.0, I found that sockets were being
- closed without calling the fclosesocket callback if a request was
- cancelled after the associated socket was created, but before the socket
- was connected. This lead to an imbalance of fopensocket & fclosesocket
- callbacks, causing problems with a custom event loop integration using
- the multi-API.
-
- This was caused by cf_socket_close() calling sclose() directly instead
- of calling socket_close() if the socket was not active. For regular TCP
- client connections, the socket is activated by cf_socket_active(), which
- is only called when the socket completes the connect.
-
- As far as I can tell, this issue has existed since 7.88.0. That is,
- since the code in question was introduced by:
- commit 71b7e0161032927cdfb4e75ea40f65b8898b3956
- Author: Stefan Eissing
- Date: Fri Dec 30 09:14:55 2022 +0100
-
- lib: connect/h2/h3 refactor
-
- Closes #11439
-
-Daniel Stenberg (13 Jul 2023)
-
-- tool_parsecfg: accept line lengths up to 10M
-
- Bumped from 100K set in 47dd957daff9
-
- Reported-by: Antoine du Hamel
- Fixes #11431
- Closes #11435
-
-Stefan Eissing (13 Jul 2023)
-
-- CI: brew fix for openssl in default path
-
- If brew install/update links openssl into /usr/local, it will be found
- before anything we add with `-isystem path` to CPP/LDLFAGS. Get rid of
- that by unlinking the keg.
-
- Fixes #11413
- Closes #11436
-
-Daniel Stenberg (13 Jul 2023)
-
-- RELEASE-NOTES: synced
-
-Ondřej Koláček (13 Jul 2023)
-
-- sectransp: fix EOF handling
-
- Regression since the large refactor from 2022
-
- Closes #11427
-
-Daniel Stenberg (13 Jul 2023)
-
-- checksrc: quote the file name to work with "funny" letters
-
- Closes #11437
-
-Karthikdasari0423 (13 Jul 2023)
-
-- HTTP3.md: ngtcp2 updated to v0.17.0 and nghttp3 to v0.13.0
-
- Follow-up to e0093b4b732f6
-
- Closes #11433
-
-Daniel Stenberg (13 Jul 2023)
-
-- CURLOPT_MIMEPOST.3: clarify what setting to NULL means
-
- Follow-up to e08382a208d4e480
-
- Closes #11430
-
-Tatsuhiro Tsujikawa (12 Jul 2023)
-
-- ngtcp2: build with 0.17.0 and nghttp3 0.13.0
-
- - ngtcp2_crypto_openssl was renamed to ngtcp2_crypto_quictls.
-
- Closes #11428
-
-- CI: Bump ngtcp2, nghttp3, and nghttp2
-
- Closes #11428
-
-James Fuller (11 Jul 2023)
-
-- example/maxconnects: set maxconnect example
-
- Closes #11343
-
-Pontakorn Prasertsuk (11 Jul 2023)
-
-- http2: send HEADER & DATA together if possible
-
- Closes #11420
-
-Daniel Stenberg (11 Jul 2023)
-
-- CI: use wolfSSL 5.6.3 in builds
-
- No using master anymore
-
- Closes #11424
-
-SaltyMilk (11 Jul 2023)
-
-- fopen: optimize
-
- Closes #11419
-
-Daniel Stenberg (11 Jul 2023)
-
-- cmake: make use of snprintf
-
- Follow-up to 935b1bd4544a23a91d68
-
- Closes #11423
-
-Stefan Eissing (11 Jul 2023)
-
-- macOS: fix taget detection
-
- - TARGET_OS_OSX is not always defined on macOS
- - this leads to missing symbol Curl_macos_init()
- - TargetConditionals.h seems to define these only when
- dynamic targets are enabled (somewhere?)
- - this PR fixes that on my macOS 13.4.1
- - I have no clue why CI builds worked without it
-
- Follow-up to c7308592fb8ba213fc2c1
- Closes #11417
-
-Stan Hu (9 Jul 2023)
-
-- hostip.c: Move macOS-specific calls into global init call
-
- https://github.com/curl/curl/pull/7121 introduced a macOS system call
- to `SCDynamicStoreCopyProxies`, which is invoked every time an IP
- address needs to be resolved.
-
- However, this system call is not thread-safe, and macOS will kill the
- process if the system call is run first in a fork. To make it possible
- for the parent process to call this once and prevent the crash, only
- invoke this system call in the global initialization routine.
-
- In addition, this change is beneficial because it:
-
- 1. Avoids extra macOS system calls for every IP lookup.
- 2. Consolidates macOS-specific initialization in a separate file.
-
- Fixes #11252
- Closes #11254
-
-Daniel Stenberg (9 Jul 2023)
-
-- docs: use a space after RFC when spelling out RFC numbers
-
- Closes #11382
-
-Margu (9 Jul 2023)
-
-- imap-append.c: update to make it more likely to work
-
- Fixes #10300
- Closes #11397
-
-Emanuele Torre (9 Jul 2023)
-
-- tool_writeout_json: fix encoding of control characters
-
- Control characters without a special escape sequence e.g. %00 or %06
- were being encoded as "u0006" instead of "\u0006".
-
- Ref: https://github.com/curl/trurl/pull/214#discussion_r1257487858
- Closes #11414
-
-Stefan Eissing (9 Jul 2023)
-
-- http3/ngtcp2: upload EAGAIN handling
-
- - refs #11389 where IDLE timeouts on upload are reported
- - reword ngtcp2 expiry handling to apply to both send+recv
- calls into the filter
- - EAGAIN uploads similar to the recent changes in HTTP/2, e.g.
- report success only when send data was ACKed.
- - HOLD sending of EAGAINed uploads to avoid cpu busy loops
- - rename internal function for consistency with HTTP/2
- implementation
-
- Fixes #11389
- Closes #11390
-
-Brian Nixon (9 Jul 2023)
-
-- tool_easysrc.h: correct `easysrc_perform` for `CURL_DISABLE_LIBCURL_OPTION`
-
- Closes #11398
-
-Daniel Stenberg (9 Jul 2023)
-
-- RELEASE-NOTES: synced
-
-- transfer: clear credentials when redirecting to absolute URL
-
- Make sure the user and password for the second request is taken from the
- redirected-to URL.
-
- Add test case 899 to verify.
-
- Reported-by: James Lucas
- Fixes #11410
- Closes #11412
-
-Stefan Eissing (8 Jul 2023)
-
-- hyper: fix EOF handling on input
-
- We ran out of disc space due to an infinite loop with debug logging
-
- Fixes #11377
- Closes #11385
- Reported-by: Dan Fandrich
-
-- http2: raise header limitations above and beyond
-
- - not quite to infinity
- - rewrote the implementation of our internal HTTP/1.x request
- parsing to work with very large lines using dynbufs.
- - new default limit is `DYN_HTTP_REQUEST`, aka 1MB, which
- is also the limit of curl's general HTTP request processing.
-
- Fixes #11405
- Closes #11407
-
-Juan Cruz Viotti (8 Jul 2023)
-
-- curl_easy_nextheader.3: add missing open parenthesis examples
-
- Closes #11409
- Signed-off-by: Juan Cruz Viotti
-
-Dan Fandrich (7 Jul 2023)
-
-- CI: enable verbose test output on pytest
-
- This shows individual pass/fail status on tests and makes this output
- consistent with other jobs' pytest invocations.
-
-Stefan Eissing (28 Jun 2023)
-
-- http2: fix crash in handling stream weights
-
- - Delay the priority handling until the stream has been opened.
-
- - Add test2404 to reproduce and verify.
-
- Weights may change "on the run", which is why there are checks in
- general egress handling. These must not trigger when the stream has not
- been opened yet.
-
- Reported-by: jbgoog@users.noreply.github.com
-
- Fixes https://github.com/curl/curl/issues/11379
- Closes https://github.com/curl/curl/pull/11384
-
-- tests/http: Add mod_h2 directive `H2ProxyRequests`
-
- master of mod_h2 now requires H2ProxyRequests directives for forward
- proxying with HTTP/2 to work.
-
- Ref: https://github.com/icing/mod_h2/commit/3897a7086
-
- Closes https://github.com/curl/curl/pull/11392
-
-Dan Fandrich (28 Jun 2023)
-
-- CI: make Appveyor job names unique
-
- Two otherwise identical mingw-w64 jobs now have their differing compiler
- versions mentioned in their names.
-
-Sheshadri.V (25 Jun 2023)
-
-- curl.h: include for vxworks
-
- Closes #11356
-
-Dan Fandrich (24 Jun 2023)
-
-- CI: enable parallel make in more builds
-
- Most CI services provide at least two cores, so enable parallel make
- jobs to take advantage of that for builds. Some dependencies aren't safe
- to build in parallel so leave those as-is. Also, rename a few
- workflows to eliminate duplicate names and provide a better idea what
- they're about.
-
-- CI: don't install impacket if tests are not run
-
- It just wastes time and bandwidth and isn't even used.
-
-divinity76 (24 Jun 2023)
-
-- configure: the --without forms of the options are also gone
-
- --without-darwin-ssl and --without-metalink
-
- Closes #11378
-
-Daniel Stenberg (23 Jun 2023)
-
-- configure: add check for ldap_init_fd
-
- ... as otherwise the configure script will say it is OpenLDAP in the
- summary, but not set the USE_OPENLDAP define, therefor not using the
- intended OpenLDAP code paths.
-
- Regression since 4d7385446 (7.85.0)
- Fixes #11372
- Closes #11374
- Reported-by: vlkl-sap on github
-
-Michał Petryka (23 Jun 2023)
-
-- cmake: stop CMake from quietly ignoring missing Brotli
-
- The CMake project was set to `QUIET` for Brotli instead of
- `REQUIRED`. This makes builds unexpectedly ignore missing Brotli even
- when `CURL_BROTLI` is enabled.
-
- Closes #11376
-
-Emanuele Torre (22 Jun 2023)
-
-- docs: add more .IP after .RE to fix indentation of generate paragraphs
-
- follow-up from 099f41e097c030077b8ec078f2c2d4038d31353b
-
- I just thought of checking all the other files with .RE, and I found 6
- other files that were missing .IP at the end.
-
- Closes #11375
-
-Stefan Eissing (22 Jun 2023)
-
-- http2: h2 and h2-PROXY connection alive check fixes
-
- - fix HTTP/2 check to not declare a connection dead when
- the read attempt results in EAGAIN
- - add H2-PROXY alive check as for HTTP/2 that was missing
- and is needed
- - add attach/detach around Curl_conn_is_alive() and remove
- these in filter methods
- - add checks for number of connections used in some test_10
- proxy tunneling tests
-
- Closes #11368
-
-- http2: error stream resets with code CURLE_HTTP2_STREAM
-
- - refs #11357, where it was reported that HTTP/1.1 downgrades
- no longer works
- - fixed with suggested change
- - added test_05_03 and a new handler in the curltest module
- to reproduce that downgrades work
-
- Fixes #11357
- Closes #11362
- Reported-by: Jay Satiro
-
-Daniel Stenberg (22 Jun 2023)
-
-- connect-timeout.d: mention that the DNS lookup is included
-
- Closes #11370
-
-Emanuele Torre (22 Jun 2023)
-
-- quote.d: fix indentation of generated paragraphs
-
- quote.d was missing a .IP at the end which caused the paragraphs
- generated for See-also, Multi, and Example to not be indented correctly.
-
- I also remove a redundant "This option can be used multiple times.", and
- replaced .IP "item" with .TP .B "item" to make more clear which lines
- are part of the list of commands and which aren't.
-
- Closes #11371
-
-Paul Wise (22 Jun 2023)
-
-- checksrc: modernise perl file open
-
- Use regular variables and separate file open modes from filenames.
-
- Suggested by perlcritic
-
- Copied from https://github.com/curl/trurl/commit/f2784a9240f47ee28a845
-
- Closes #11358
-
-Dan Fandrich (21 Jun 2023)
-
-- runtests: work around a perl without SIGUSR1
-
- At least msys2 perl v5.32.1 doesn't seem to define this signal. Since
- this signal is only used for debugging, just ignore if setting it fails.
-
- Reported-by: Marcel Raad
- Fixes #11350
- Closes #11366
-
-- runtests: include missing valgrind package
-
- use valgrind was missing which caused torture tests with valgrind
- enabled to fail.
-
- Reported-by: Daniel Stenberg
- Fixes #11364
- Closes #11365
-
-- runtests: use more consistent failure lines
-
- After a test failure log a consistent log message to make it easier to
- parse the log file. Also, log a consistent message with "ignored" for
- failures that cause the test to be not considered at all. These should
- perhaps be counted in the skipped category, but this commit does not
- change that behaviour.
-
-- runtests: consistently write the test check summary block
-
- The memory check character was erroneously omitted if the memory
- checking file was not available for some reason, making the block of
- characters an inconsistent length.
-
-- test2600: fix the description
-
- It looks like it was cut-and-pasted.
-
- Closes #11354
-
-Daniel Stenberg (21 Jun 2023)
-
-- TODO: "Support HTTP/2 for HTTP(S) proxies" *done*
-
-humbleacolyte (21 Jun 2023)
-
-- cf-socket: move ctx declaration under HAVE_GETPEERNAME
-
- Closes #11352
-
-Daniel Stenberg (20 Jun 2023)
-
-- RELEASE-NOTES: synced
-
-- example/connect-to: show CURLOPT_CONNECT_TO
-
- Closes #11340
-
-Stefan Eissing (20 Jun 2023)
-
-- hyper: unslow
-
- - refs #11203 where hyper was reported as being slow
- - fixes hyper_executor_poll to loop until it is out of
- tasks as advised by @seanmonstar in https://github.com/hyperium/hyper/issue
- s/3237
- - added a fix in hyper io handling for detecting EAGAIN
- - added some debug logs to see IO results
- - pytest http/1.1 test cases pass
- - pytest h2 test cases fail on connection reuse. HTTP/2
- connection reuse does not seem to work. Hyper submits
- a request on a reused connection, curl's IO works and
- thereafter hyper declares `Hyper: [1] operation was canceled: connection cl
- osed`
- on stderr without any error being logged before.
-
- Fixes #11203
- Reported-by: Gisle Vanem
- Advised-by: Sean McArthur
- Closes #11344
-
-- HTTP/2: upload handling fixes
-
- - fixes #11242 where 100% CPU on uploads was reported
- - fixes possible stalls on last part of a request body when
- that information could not be fully send on the connection
- due to an EAGAIN
- - applies the same EGAIN handling to HTTP/2 proxying
-
- Reported-by: Sergey Alirzaev
- Fixed #11242
- Closes #11342
-
-Daniel Stenberg (20 Jun 2023)
-
-- example/opensslthreadlock: remove
-
- This shows how to setup OpenSSL mutex callbacks, but this is not
- necessary since OpenSSL 1.1.0 - meaning that no currently supported
- OpenSSL version requires this anymore
-
- Closes #11341
-
-Dan Fandrich (19 Jun 2023)
-
-- libtest: display the times after a test timeout error
-
- This is to help with test failure debugging.
-
- Ref: #11328
- Closes #11329
-
-- test2600: bump a test timeout
-
- Case 1 failed at least once on GHA by going 30 msec too long.
-
- Ref: #11328
-
-- runtests: better detect and handle pipe errors in the controller
-
- Errors reading and writing to the pipes are now better detected and
- propagated up to the main test loop so it can be cleanly shut down. Such
- errors are usually due to a runner dying so it doesn't make much sense
- to try to continue the test run.
-
-- runtests: cleanly abort the runner if the controller dies
-
- If the controller dies unexpectedly, have the runner stop its servers
- and exit cleanly. Otherwise, the orphaned servers will stay running in
- the background.
-
-- runtests: improve error logging
-
- Give more information about test harness error conditions to help figure
- out what might be wrong. Print some internal test state when SIGUSR1 is
- sent to runtests.pl.
-
- Ref: #11328
-
-- runtests: better handle ^C during slow tests
-
- Since the SIGINT handler now just sets a flag that must be checked in the
- main controller loop, make sure that runs periodically. Rather than
- blocking on a response from a test runner near the end of the test run,
- add a short timeout to allow it.
-
-- runtests: rename server command file
-
- The name ftpserver.cmd was historical and has been used for more than
- ftp for many years now. Rename it to plain server.cmd to reduce
- confusion.
-
-- tests: improve reliability of TFTP tests
-
- Stop checking the timeout used by the client under test (for most
- tests). The timeout will change if the TFTP test server is slow (such as
- happens on an overprovisioned CI server) because the client will retry
- and reduce its timeout, and the actual value is not important for most
- tests.
-
- test285 is changed a different way, by increasing the connect timeout.
- This improves test coverage by allowing the changed timeout value to be
- checked, but improves reliability with a carefully-chosen timeout that
- not only allows twice the time to respond as before, but also allows
- several retries before the client will change its timeout value.
-
- Ref: #11328
-
-Daniel Stenberg (19 Jun 2023)
-
-- cf-socket: skip getpeername()/getsockname for TFTP
-
- Since the socket is not connected then the call fails. When the call
- fails, failf() is called to write an error message that is then
- surviving and is returned when the *real* error occurs later. The
- earlier, incorrect, error therefore hides the actual error message.
-
- This could be seen in stderr for test 1007
-
- Test 1007 has now been extended to verify the stderr message.
-
- Closes #11332
-
-- example/crawler: make it use a few more options
-
- For show, but reasonable
-
-- libcurl-ws.3: mention raw mode
-
- Closes #11339
-
-- example/default-scheme: set the default scheme for schemeless URLs
-
- Closes #11338
-
-- example/hsts-preload: show one way to HSTS preload
-
- Closes #11337
-
-- examples/http-options: show how to send "OPTIONS *"
-
- With CURLOPT_REQUEST_TARGET.
-
- Also add use of CURLOPT_QUICK_EXIT to show.
-
- Closes #11333
-
-- examples: make use of CURLOPT_(REDIR_|)PROTOCOLS_STR
-
- To show how to use them
-
- Closes #11334
-
-- examples/smtp-mime: use CURLOPT_MAIL_RCPT_ALLOWFAILS
-
- For show
-
- Closes #11335
-
-- http: rectify the outgoing Cookie: header field size check
-
- Previously it would count the size of the entire outgoing request and
- not just the size of only the Cookie: header field - which was the
- intention.
-
- This could make the check be off by several hundred bytes in some cases.
-
- Closes #11331
-
-Jay Satiro (17 Jun 2023)
-
-- lib: fix some format specifiers
-
- - Use CURL_FORMAT_CURL_OFF_T where %zd was erroneously used for some
- curl_off_t variables.
-
- - Use %zu where %zd was erroneously used for some size_t variables.
-
- Prior to this change some of the Windows CI tests were failing because
- in Windows 32-bit targets have a 32-bit size_t and a 64-bit curl_off_t.
- When %zd was used for some curl_off_t variables then only the lower
- 32-bits was read and the upper 32-bits would be read for part or all of
- the next specifier.
-
- Fixes https://github.com/curl/curl/issues/11327
- Closes https://github.com/curl/curl/pull/11321
-
-Marcel Raad (16 Jun 2023)
-
-- test427: add `cookies` feature and keyword
-
- This test doesn't work with `--disable-cookies`.
-
- Closes https://github.com/curl/curl/pull/11320
-
-Chris Talbot (15 Jun 2023)
-
-- imap: Provide method to disable SASL if it is advertised
-
- - Implement AUTH=+LOGIN for CURLOPT_LOGIN_OPTIONS to prefer plaintext
- LOGIN over SASL auth.
-
- Prior to this change there was no method to be able to fall back to
- LOGIN if an IMAP server advertises SASL capabilities. However, this may
- be desirable for e.g. a misconfigured server.
-
- Per: https://www.ietf.org/rfc/rfc5092.html#section-3.2
-
- ";AUTH=" looks to be the correct way to specify what
- authenication method to use, regardless of SASL or not.
-
- Closes https://github.com/curl/curl/pull/10041
-
-Daniel Stenberg (15 Jun 2023)
-
-- RELEASE-NOTES: synced
-
-- examples/multi-debugcallback.c: avoid the bool typedef
-
- Apparently this cannot be done in c23
-
- Reported-by: Cristian Rodríguez
- Fixes #11299
- Closes #11319
-
-- docs/libcurl/libcurl.3: cleanups and improvements
-
- Closes #11317
-
-- libcurl-ws.3: fix typo
-
-- curl_ws_*.3: enhance
-
- - all: SEE ALSO the libcurl-ws man page
- - send: add example and return value information
- - meta: mention that the returned data is read-only
-
- Closes #11318
-
-- docs/libcurl/libcurl-ws.3: see also CURLOPT_WS_OPTIONS
-
-- docs/libcurl/libcurl-ws.3: minor polish
-
-- libcurl-ws.3. WebSocket API overview
-
- Closes #11314
-
-- libcurl-url.3: also mention CURLUPART_ZONEID
-
- ... and sort the two part-using lists alphabetically
-
-Marcel Raad (14 Jun 2023)
-
-- fopen: fix conversion warning on 32-bit Android
-
- When building for 32-bit ARM or x86 Android, `st_mode` is defined as
- `unsigned int` instead of `mode_t`, resulting in a
- -Wimplicit-int-conversion clang warning because `mode_t` is
- `unsigned short`. Add a cast to silence the warning.
-
- Ref: https://android.googlesource.com/platform/bionic/+/refs/tags/ndk-r25c/li
- bc/include/sys/stat.h#86
- Closes https://github.com/curl/curl/pull/11313
-
-- http2: fix variable type
-
- `max_recv_speed` is `curl_off_t`, so using `size_t` might result in
- -Wconversion GCC warnings for 32-bit `size_t`. Visible in the NetBSD
- ARM autobuilds.
-
- Closes https://github.com/curl/curl/pull/11312
-
-Daniel Stenberg (13 Jun 2023)
-
-- vtls: fix potentially uninitialized local variable warnings
-
- Follow-up from a4a5e438ae533c
-
- Closes #11310
-
-- timeval: use CLOCK_MONOTONIC_RAW if available
-
- Reported-by: Harry Sintonen
- Ref: #11288
- Closes #11291
-
-Stefan Eissing (12 Jun 2023)
-
-- tool: add curl command line option `--trace-ids`
-
- - added and documented --trace-ids to prepend (after the timestamp)
- the transfer and connection identifiers to each verbose log line
- - format is [n-m] with `n` being the transfer id and `m` being the
- connection id. In case there is not valid connection id, print 'x'.
- - Log calls with a handle that has no transfer id yet, are written
- without any ids.
-
- Closes #11185
-
-- lib: add CURLINFO_CONN_ID and CURLINFO_XFER_ID
-
- - add an `id` long to Curl_easy, -1 on init
- - once added to a multi (or its own multi), it gets
- a non-negative number assigned by the connection cache
- - `id` is unique among all transfers using the same
- cache until reaching LONG_MAX where it will wrap
- around. So, not unique eternally.
- - CURLINFO_CONN_ID returns the connection id attached to
- data or, if none present, data->state.lastconnect_id
- - variables and type declared in tool for write out
-
- Closes #11185
-
-Daniel Stenberg (12 Jun 2023)
-
-- CURLOPT_INFILESIZE.3: mention -1 triggers chunked
-
- Ref: #11300
- Closes #11304
-
-Philip Heiduck (12 Jun 2023)
-
-- CI: openssl-3.0.9+quic
-
- Closes #11296
-
-Karthikdasari0423 (12 Jun 2023)
-
-- HTTP3.md: update openssl version
-
- Closes #11297
-
-Daniel Stenberg (12 Jun 2023)
-
-- vtls: avoid memory leak if sha256 call fails
-
- ... in the pinned public key handling function.
-
- Reported-by: lizhuang0630 on github
- Fixes #11306
- Closes #11307
-
-- examples/ipv6: disable on win32
-
- I can't make if_nametoindex() work there
-
- Follow-up to c23dc42f3997acf23
-
- Closes #11305
-
-- tool_operate: allow cookie lines up to 8200 bytes
-
- Since this option might set multiple cookies in the same line, it does
- not make total sense to cap this at 4096 bytes, which is the limit for a
- single cookie name or value.
-
- Closes #11303
-
-- test427: verify sending more cookies than fit in a 8190 bytes line
-
- curl will then only populate the header with cookies that fit, dropping
- ones that otherwise would have been sent
-
- Ref: https://curl.se/mail/lib-2023-06/0020.html
-
- Closes #11303
-
-- testutil: allow multiple %-operators on the same line
-
- Closes #11303
-
-Oleg Jukovec (12 Jun 2023)
-
-- docs: update CURLOPT_UPLOAD.3
-
- The behavior of CURLOPT_UPLOAD differs from what is described in the
- documentation. The option automatically adds the 'Transfer-Encoding:
- chunked' header if the upload size is unknown.
-
- Closes #11300
-
-Daniel Stenberg (12 Jun 2023)
-
-- RELEASE-NOTES: synced
-
-- CURLOPT_AWS_SIGV4.3: remove unused variable from example
-
- Closes #11302
-
-- examples/https.c: use CURLOPT_CA_CACHE_TIMEOUT
-
- for demonstration purposes
-
- Closes #11290
-
-- example/ipv6: feature CURLOPT_ADDRESS_SCOPE in use
-
- Closes #11282
-
-Karthikdasari0423 (10 Jun 2023)
-
-- docs: Update HTTP3.md for newer ngtcp2 and nghttp3
-
- Follow-up to fb9b9b58
-
- Ref: #11184
- Closes #11295
-
-Dan Fandrich (10 Jun 2023)
-
-- docs: update the supported ngtcp2 and nghttp3 versions
-
- Follow-up to cae9d10b
-
- Ref: #11184
- Closes #11294
-
-- tests: fix error messages & handling around sockets
-
- The wrong error code was checked on Windows on UNIX socket failures,
- which could have caused all UNIX sockets to be reported as having
- errored and the tests therefore skipped. Also, a useless error message
- was displayed on socket errors in many test servers on Windows because
- strerror() doesn't work on WinSock error codes; perror() is overridden
- there to work on all errors and is used instead.
-
- Ref #11258
- Closes #11265
-
-Daniel Stenberg (9 Jun 2023)
-
-- CURLOPT_SSH_PRIVATE_KEYFILE.3: expand on the file search
-
- Reported-by: atjg on github
- Ref: #11287
- Closes #11289
-
-Stefan Eissing (9 Jun 2023)
-
-- ngtcp2: use ever increasing timestamp in io
-
- - ngtcp2 v0.16.0 asserts that timestamps passed to its function
- will only ever increase.
- - Use a context shared between ingress/egress operations that
- uses a shared timestamp, regularly updated during calls.
-
- Closes #11288
-
-Daniel Stenberg (9 Jun 2023)
-
-- GHA: use nghttp2 1.54.0 for the ngtcp2 jobs
-
-Philip Heiduck (9 Jun 2023)
-
-- GHA: ngtcp2: use 0.16.0 and nghttp3 0.12.0
-
-Daniel Stenberg (9 Jun 2023)
-
-- ngtcp2: build with 0.16.0 and nghttp3 0.12.0
-
- - moved to qlog_write
- - crypto => encryption
- - CRYPTO => ENCRYPTION
- - removed "_is_"
- - ngtcp2_conn_shutdown_stream_read and
- ngtcp2_conn_shutdown_stream_write got flag arguments
- - the nghttp3_callbacks struct got a recv_settings callback
-
- Closes #11184
-
-- example/http2-download: set CURLOPT_BUFFERSIZE
-
- Primarily because no other example sets it, and remove the disabling of
- the certificate check because we should not recommend that.
-
- Closes #11284
-
-- example/crawler: also set CURLOPT_AUTOREFERER
-
- Could make sense, and it was not used in any example before.
-
- Closes #11283
-
-Wyatt OʼDay (9 Jun 2023)
-
-- tls13-ciphers.d: include Schannel
-
- Closes #11271
-
-Daniel Stenberg (9 Jun 2023)
-
-- curl_pushheader_byname/bynum.3: document in their own man pages
-
- These two functions were added in 7.44.0 when CURLMOPT_PUSHFUNCTION was
- introduced but always lived a life in the shadows, embedded in the
- CURLMOPT_PUSHFUNCTION man page. Until now.
-
- It makes better sense and gives more visibility to document them in
- their own stand-alone man pages.
-
- Closes #11286
-
-- curl_mprintf.3: minor fix of the example
-
-- curl_url_set: enforce the max string length check for all parts
-
- Update the docs and test 1559 accordingly
-
- Closes #11273
-
-- examples/ftpuploadresume.c: add use of CURLOPT_ACCEPTTIMEOUT_MS
-
- For show
-
- Closes #11277
-
-- examples/unixsocket.c: example using CURLOPT_UNIX_SOCKET_PATH
-
- and alternatively CURLOPT_ABSTRACT_UNIX_SOCKET
-
- Closes #11276
-
-Anssi Kolehmainen (8 Jun 2023)
-
-- docs: fix missing parameter names in examples
-
- Closes #11278
-
-Daniel Stenberg (8 Jun 2023)
-
-- urlapi: have *set(PATH) prepend a slash if one is missing
-
- Previously the code would just do that for the path when extracting the
- full URL, which made a subsequent curl_url_get() of the path to
- (unexpectedly) still return it without the leading path.
-
- Amend lib1560 to verify this. Clarify the curl_url_set() docs about it.
-
- Bug: https://curl.se/mail/lib-2023-06/0015.html
- Closes #11272
- Reported-by: Pedro Henrique
-
-Dan Fandrich (7 Jun 2023)
-
-- runtests; give each server a unique log lock file
-
- Logs are written by several servers and all of them must be finished
- writing before the test results can be determined. This means each
- server must have its own lock file rather than sharing a single one,
- which is how it was done up to now. Previously, the first server to
- complete a test would clear the lock before the other server was done,
- which caused flaky tests.
-
- Lock files are now all found in their own directory, so counting locks
- equals counting the files in that directory. The result is that the
- proxy logs are now reliably written which actually changes the expected
- output for two tests.
-
- Fixes #11231
- Closes #11259
-
-- runtests: make test file directories in log/N
-
- Test files in subdirectories were not created after parallel test log
- directories were moved down a level due to a now-bad comparison.
-
- Follow-up to 92d7dd39
-
- Ref #11264
- Closes #11267
-
-Daniel Stenberg (7 Jun 2023)
-
-- ws: make the curl_ws_meta() return pointer a const
-
- The returned info is read-only for the user.
-
- Closes #11261
-
-- RELEASE-NOTES: synced
-
-- runtests: move parallel log dirs from logN to log/N
-
- Having several hundreds of them in there gets annoying.
-
- Closes #11264
-
-Dan Fandrich (7 Jun 2023)
-
-- test447: move the test file into %LOGDIR
-
-Viktor Szakats (7 Jun 2023)
-
-- cmake: add support for "unity" builds
-
- Aka "jumbo" or "amalgamation" builds. It means to compile all sources
- per target as a single C source. This is experimental.
-
- You can enable it by passing `-DCMAKE_UNITY_BUILD=ON` to cmake.
- It requires CMake 3.16 or newer.
-
- It makes builds (much) faster, allows for better optimizations and tends
- to promote less ambiguous code.
-
- Also add a new AppVeyor CI job and convert an existing one to use
- "unity" mode (one MSVC, one MinGW), and enable it for one macOS CI job.
-
- Fix related issues:
- - add missing include guard to `easy_lock.h`.
- - rename static variables and functions (and a macro) with names reused
- across sources, or shadowed by local variables.
- - add an `#undef` after use.
- - add a missing `#undef` before use.
- - move internal definitions from `ftp.h` to `ftp.c`.
- - `curl_memory.h` fixes to make it work when included repeatedly.
- - stop building/linking curlx bits twice for a static-mode curl tool.
- These caused doubly defined symbols in unity builds.
- - silence missing extern declarations compiler warning for ` _CRT_glob`.
- - fix extern declarations for `tool_freq` and `tool_isVistaOrGreater`.
- - fix colliding static symbols in debug mode: `debugtime()` and
- `statename`.
- - rename `ssl_backend_data` structure to unique names for each
- TLS-backend, along with the `ssl_connect_data` struct member
- referencing them. This required adding casts for each access.
- - add workaround for missing `[P]UNICODE_STRING` types in certain Windows
- builds when compiling `lib/ldap.c`. To support "unity" builds, we had
- to enable `SCHANNEL_USE_BLACKLISTS` for Schannel (a Windows
- `schannel.h` option) _globally_. This caused an indirect inclusion of
- Windows `schannel.h` from `ldap.c` via `winldap.h` to have it enabled
- as well. This requires `[P]UNICODE_STRING` types, which is apperantly
- not defined automatically (as seen with both MSVS and mingw-w64).
- This patch includes `` to fix it.
- Ref: https://github.com/curl/curl/runs/13987772013
- Ref: https://dev.azure.com/daniel0244/curl/_build/results?buildId=15827&vie
- w=logs&jobId=2c9f582d-e278-56b6-4354-f38a4d851906&j=2c9f582d-e278-56b6-4354-f
- 38a4d851906&t=90509b00-34fa-5a81-35d7-5ed9569d331c
- - tweak unity builds to compile `lib/memdebug.c` separately in memory
- trace builds to avoid PP confusion.
- - force-disable unity for test programs.
- - do not compile and link libcurl sources to libtests _twice_ when libcurl
- is built in static mode.
-
- KNOWN ISSUES:
- - running tests with unity builds may fail in cases.
- - some build configurations/env may not compile in unity mode. E.g.:
- https://ci.appveyor.com/project/curlorg/curl/builds/47230972/job/51wfesgnfu
- auwl8q#L250
-
- Ref: https://github.com/libssh2/libssh2/issues/1034
- Ref: https://cmake.org/cmake/help/latest/prop_tgt/UNITY_BUILD.html
- Ref: https://en.wikipedia.org/wiki/Unity_build
-
- Closes #11095
-
-Daniel Stenberg (7 Jun 2023)
-
-- examples/websocket.c: websocket example using CONNECT_ONLY
-
- Closes #11262
-
-- websocket-cb: example doing WebSocket download using callback
-
- Very basic
-
- Closes #11260
-
-- test/.gitignore: ignore log*
-
-Dan Fandrich (5 Jun 2023)
-
-- runtests: document the -j parallel testing option
-
- Reported-by: Daniel Stenberg
- Ref: #10818
- Closes #11255
-
-- runtests: create multiple test runners when requested
-
- Parallel testing is enabled by using a nonzero value for the -j option
- to runtests.pl. Performant values seem to be about 7*num CPU cores, or
- 1.3*num CPU cores if Valgrind is in use.
-
- Flaky tests due to improper log locking (bug #11231) are exacerbated
- while parallel testing, so it is not enabled by default yet.
-
- Fixes #10818
- Closes #11246
-
-- runtests: handle repeating tests in multiprocess mode
-
- Such as what happens with the --repeat option. Some functions are
- changed to pass the runner ID instead of relying on the non-unique test
- number.
-
- Ref: #10818
-
-- runtests: buffer logmsg while running singletest()
-
- This allows all messages relating to a single test case to be displayed
- together at the end of the test.
-
- Ref: #10818
-
-- runtests: call initserverconfig() in the runner
-
- This must be done so variables pick up the runner's unique $LOGDIR.
-
- Ref: #10818
-
-- runtests: use a per-runner random seed
-
- Each runner needs a unique random seed to reduce the chance of port
- number collisions. The new scheme uses a consistent per-runner source of
- randomness which results in deterministic behaviour, as it did before.
-
- Ref: #10818
-
-- runtests: complete main test loop refactor for multiple runners
-
- The main test loop is now able to handle multiple runners, or no
- additional runner processes at all. At most one process is still
- created, however.
-
- Ref: #10818
-
-- runtests: prepare main test loop for multiple runners
-
- Some variables are expanded to arrays and hashes so that multiple
- runners can be used for running tests.
-
- Ref: #10818
-
-Stefan Eissing (5 Jun 2023)
-
-- bufq: make write/pass methods more robust
-
- - related to #11242 where curl enters busy loop when
- sending http2 data to the server
-
- Closes #11247
-
-Boris Verkhovskiy (5 Jun 2023)
-
-- tool_getparam: fix comment
-
- Closes #11253
-
-Raito Bezarius (5 Jun 2023)
-
-- haproxy: add --haproxy-clientip flag to spoof client IPs
-
- CURLOPT_HAPROXY_CLIENT_IP in the library
-
- Closes #10779
-
-Daniel Stenberg (5 Jun 2023)
-
-- curl: add --ca-native and --proxy-ca-native
-
- These are two boolean options to ask curl to use the native OS's CA
- store when verifying TLS servers. For peers and for proxies
- respectively.
-
- They currently only have an effect for curl on Windows when built to use
- OpenSSL for TLS.
-
- Closes #11049
-
-Viktor Szakats (5 Jun 2023)
-
-- build: drop unused/redundant `HAVE_WINLDAP_H`
-
- Sources did not use it. Autotools used it when checking for the
- `winldap` library, which is redundant.
-
- With CMake, detection was broken:
- ```
- Run Build Command(s):/usr/local/Cellar/cmake/3.26.3/bin/cmake -E env VERBOSE=
- 1 /usr/bin/make -f Makefile cmTC_2d8fe/fast && /Library/Developer/CommandLine
- Tools/usr/bin/make -f CMakeFiles/cmTC_2d8fe.dir/build.make CMakeFiles/cmTC_2
- d8fe.dir/build
- Building C object CMakeFiles/cmTC_2d8fe.dir/HAVE_WINLDAP_H.c.obj
- /usr/local/opt/llvm/bin/clang --target=x86_64-w64-mingw32 --sysroot=/usr/loca
- l/opt/mingw-w64/toolchain-x86_64 -D_WINSOCKAPI_="" -I/my/quictls/x64-ucrt/usr
- /include -I/my/zlib/x64-ucrt/usr/include -I/my/brotli/x64-ucrt/usr/include -W
- no-unused-command-line-argument -D_UCRT -DCURL_HIDDEN_SYMBOLS -DHAVE_SSL_SE
- T0_WBIO -DHAS_ALPN -DNGHTTP2_STATICLIB -DNGHTTP3_STATICLIB -DNGTCP2_STATICLIB
- -DUSE_MANUAL=1 -fuse-ld=lld -Wl,-s -static-libgcc -lucrt -Wextra -Wall -p
- edantic -Wbad-function-cast -Wconversion -Winline -Wmissing-declarations -Wmi
- ssing-prototypes -Wnested-externs -Wno-long-long -Wno-multichar -Wpointer-ari
- th -Wshadow -Wsign-compare -Wundef -Wunused -Wwrite-strings -Wcast-align -Wde
- claration-after-statement -Wempty-body -Wendif-labels -Wfloat-equal -Wignored
- -qualifiers -Wno-format-nonliteral -Wno-sign-conversion -Wno-system-headers -
- Wstrict-prototypes -Wtype-limits -Wvla -Wshift-sign-overflow -Wshorten-64-to-
- 32 -Wdouble-promotion -Wenum-conversion -Wunused-const-variable -Wcomma -Wmis
- sing-variable-declarations -Wassign-enum -Wextra-semi-stmt -MD -MT CMakeFile
- s/cmTC_2d8fe.dir/HAVE_WINLDAP_H.c.obj -MF CMakeFiles/cmTC_2d8fe.dir/HAVE_WINL
- DAP_H.c.obj.d -o CMakeFiles/cmTC_2d8fe.dir/HAVE_WINLDAP_H.c.obj -c /my/curl/b
- ld-cmake-llvm-x64-shared/CMakeFiles/CMakeScratch/TryCompile-3JP6dR/HAVE_WINLD
- AP_H.c
- In file included from /my/curl/bld-cmake-llvm-x64-shared/CMakeFiles/CMakeScra
- tch/TryCompile-3JP6dR/HAVE_WINLDAP_H.c:2:
- In file included from /usr/local/opt/mingw-w64/toolchain-x86_64/x86_64-w64-mi
- ngw32/include/winldap.h:17:
- In file included from /usr/local/opt/mingw-w64/toolchain-x86_64/x86_64-w64-mi
- ngw32/include/schnlsp.h:9:
- In file included from /usr/local/opt/mingw-w64/toolchain-x86_64/x86_64-w64-mi
- ngw32/include/schannel.h:10:
- /usr/local/opt/mingw-w64/toolchain-x86_64/x86_64-w64-mingw32/include/wincrypt
- .h:5041:254: error: unknown type name 'PSYSTEMTIME'
- WINIMPM PCCERT_CONTEXT WINAPI CertCreateSelfSignCertificate (HCRYPTPROV_OR_
- NCRYPT_KEY_HANDLE hCryptProvOrNCryptKey, PCERT_NAME_BLOB pSubjectIssuerBlob,
- DWORD dwFlags, PCRYPT_KEY_PROV_INFO pKeyProvInfo, PCRYPT_ALGORITHM_IDENTIFIER
- pSignatureAlgorithm, PSYSTEMTIME pStartTime, PSYSTEMTIME pEndTime, PCERT_EXT
- ENSIONS pExtensions);
-
-
-
- ^
- /usr/local/opt/mingw-w64/toolchain-x86_64/x86_64-w64-mingw32/include/wincrypt
- .h:5041:278: error: unknown type name 'PSYSTEMTIME'
- WINIMPM PCCERT_CONTEXT WINAPI CertCreateSelfSignCertificate (HCRYPTPROV_OR_
- NCRYPT_KEY_HANDLE hCryptProvOrNCryptKey, PCERT_NAME_BLOB pSubjectIssuerBlob,
- DWORD dwFlags, PCRYPT_KEY_PROV_INFO pKeyProvInfo, PCRYPT_ALGORITHM_IDENTIFIER
- pSignatureAlgorithm, PSYSTEMTIME pStartTime, PSYSTEMTIME pEndTime, PCERT_EXT
- ENSIONS pExtensions);
-
-
-
- ^
- 2 errors generated.
- make[1]: *** [CMakeFiles/cmTC_2d8fe.dir/HAVE_WINLDAP_H.c.obj] Error 1
- make: *** [cmTC_2d8fe/fast] Error 2
- exitCode: 2
- ```
-
- Cherry-picked from #11095 88e4a21ff70ccef391cf99c8165281ff81374503
- Reviewed-by: Daniel Stenberg
- Closes #11245
-
-Daniel Stenberg (5 Jun 2023)
-
-- urlapi: scheme starts with alpha
-
- Add multiple tests to lib1560 to verify
-
- Fixes #11249
- Reported-by: ad0p on github
- Closes #11250
-
-- RELEASE-NOTES: synced
-
-- CURLOPT_MAIL_RCPT_ALLOWFAILS: replace CURLOPT_MAIL_RCPT_ALLLOWFAILS
-
- Deprecate the name using three Ls and prefer the name with two.
-
- Replaces #10047
- Closes #11218
-
-- tests/servers: generate temp names in /tmp for unix domain sockets
-
- ... instead of putting them in the regular pid directories because
- systems generally have strict length requirements for the path name to
- be shorter than 107 bytes and we easily hit that boundary otherwise.
-
- The new concept generates two random names: one for the socks daemon and
- one for http.
-
- Reported-by: Andy Fiddaman
- Fixes #11152
- Closes #11166
-
-Stefan Eissing (2 Jun 2023)
-
-- http2: better support for --limit-rate
-
- - leave transfer loop when --limit-rate is in effect and has
- been received
- - adjust stream window size to --limit-rate plus some slack
- to make the server observe the pacing we want
- - add test case to confirm behaviour
-
- Closes #11115
-
-- curl_log: evaluate log statement only when transfer is verbose
-
- Closes #11238
-
-Daniel Stenberg (2 Jun 2023)
-
-- libssh2: provide error message when setting host key type fails
-
- Ref: https://curl.se/mail/archive-2023-06/0001.html
-
- Closes #11240
-
-Igor Todorovski (2 Jun 2023)
-
-- system.h: remove __IBMC__/__IBMCPP__ guards and apply to all z/OS compiles
-
- Closes #11241
-
-Daniel Stenberg (2 Jun 2023)
-
-- docs/SECURITY-PROCESS.md: link to example of previous critical flaw
-
-Mark Seuffert (2 Jun 2023)
-
-- README.md: updated link to opencollective
-
- Closes #11232
-
-Daniel Stenberg (1 Jun 2023)
-
-- libssh2: use custom memory functions
-
- Because of how libssh2_userauth_keyboard_interactive_ex() works: the
- libcurl callback allocates memory that is later free()d by libssh2, we
- must set the custom memory functions.
-
- Reverts 8b5f100db388ee60118c08aa28
-
- Ref: https://github.com/libssh2/libssh2/issues/1078
- Closes #11235
-
-- test447: test PUTting a file that grows
-
- ... and have curl trim the end when it reaches the expected total amount
- of bytes instead of over-sending.
-
- Reported-by: JustAnotherArchivist on github
- Closes #11223
-
-- curl: count uploaded data to stop at the originally given size
-
- Closes #11223
- Fixes #11222
- Reported-by: JustAnotherArchivist on github
-
-- tool: remove exclamation marks from error/warning messages
-
-- tool: use errorf() for error output
-
- Convert a number of fprintf() calls.
-
-- tool: remove newlines from all helpf/notef/warnf/errorf calls
-
- Make voutf() always add one.
-
- Closes #11226
-
-- tests/servers.pm: pick unused port number with a server socket
-
- This change replaces the previous method of picking a port number at
- random to try to start servers on, then retrying up to ten times with
- new random numbers each time, with a function that creates a server
- socket on port zero, thereby getting a suitable random port set by the
- kernel. That server socket is then closed and that port number is used
- to setup the actual test server on.
-
- There is a risk that *another* server can be started on the machine in
- the time gap, but the server verification feature will detect that.
-
- Closes #11220
-
-- RELEASE-NOTES: synced
-
- bump to 8.2.0
-
-Alejandro R. Sedeño (31 May 2023)
-
-- configure: fix run-compiler for old /bin/sh
-
- If you try to assign and export on the same line on some older /bin/sh
- implementations, it complains:
-
- ```
- $ export "NAME=value"
- NAME=value: is not an identifier
- ```
-
- This commit rewrites run-compiler's assignments and exports to work with
- old /bin/sh, splitting assignment and export into two separate
- statements, and only quote the value. So now we have:
-
- ```
- NAME="value"
- export NAME
- ```
-
- While we're here, make the same change to the two supporting
- assign+export lines preceeding the script to be consistent with how
- exports work throughout the rest of configure.ac.
-
- Closes #11228
-
-Philip Heiduck (31 May 2023)
-
-- circleci: install impacket & wolfssl 5.6.0
-
- Closes #11221
-
-Daniel Stenberg (31 May 2023)
-
-- tool_urlglob: use curl_off_t instead of longs
-
- To handle more globs better (especially on Windows)
-
- Closes #11224
-
-Dan Fandrich (30 May 2023)
-
-- scripts: Fix GHA matrix job detection in cijobs.pl
-
- The parsing is pretty brittle and it broke detecting some jobs at some
- point. Also, detect if Windows is used in GHA.
-
-- runtests: abort test run after failure without -a
-
- This was broken in a recent refactor and test runs would not stop.
-
- Follow-up to d4a1b5b6
-
- Reported-by: Daniel Stenberg
- Fixes #11225
- Closes #11227
-
-Version 8.1.2 (30 May 2023)
-
-Daniel Stenberg (30 May 2023)
-
-- RELEASE-NOTES: synced
-
- 8.1.2 release
-
-- THANKS: contributors from 8.1.2
-
-- lib1560: verify more scheme guessing
-
- - on 2nd level domains
- - on names without dots
-
- As mentioned in #11161, "imap.com" will be guessed IMAP
-
- Closes #11219
-
-- page-header: minor wording polish in the URL segment
-
- Closes #11217
-
-- page-header: mention curl version and how to figure out current release
-
- Closes #11216
-
-- RELEASE-NOTES: synced
-
-- configure: without pkg-config and no custom path, use -lnghttp2
-
- Reported-by: correctmost on github
- Fixes #11186
- Closes #11210
-
-Stefan Eissing (28 May 2023)
-
-- curl: cache the --trace-time value for a second
-
- - caches HH:MM:SS computed and reuses it for logging during
- the same second.
- - common function for plain log line start formatting
-
- Closes #11211
-
-Kev Jackson (28 May 2023)
-
-- libcurl.m4: remove trailing 'dnl' that causes this to break autoconf
-
- Closes #11212
-
-Stefan Eissing (26 May 2023)
-
-- http3: send EOF indicator early as possible
-
- - ngtcp2 and quiche implementations relied on the DONE_SEND event
- to forward the EOF for uploads to the libraries. This often
- result in a last 0 length EOF data. Tracking the amount of
- data left to upload allows EOF indication earlier.
- - refs #11205 where CloudFlare DoH servers did not like to
- receive the initial upload DATA without EOF and returned
- a 400 Bad Request
-
- Reported-by: Sergey Fionov
- Fixes #11205
- Closes #11207
-
-Daniel Stenberg (26 May 2023)
-
-- scripts/contri*sh: no longer grep -v ' '
-
- Originally these scripts filtered out names that have no space so that
- they better avoid nick names not intended for credits. Such names are
- not too commonly used, plus we now give credit even to those.
-
- Additionally: non-latin names, like Asian, don't have spaces at all so
- they were also filtered out and had to be manually added which made it
- an error-prone operation where Asian names eventually easily fell off by
- mistake.
-
- Closes #11206
-
-- cf-socket: restore Curl_sock_assign_addr()
-
- Regression since it was not private. Also used by msh3.c
-
- Follow-up to 8e85764b7bd7f05f5
- Reported-by: Gisle Vanem
- Fixes #11202
- Closes #11204
-
-- RELEASE-NOTES: synced
-
- Taken down to 8.1.2 now for pending patch release
-
-- libssh: when keyboard-interactive auth fails, try password
-
- The state machine had a mistake in that it would not carry on to that
- next step.
-
- This also adds a verbose output what methods that are available from the
- server and renames the macros that change to the next auth methods to
- try.
-
- Reported-by: 左潇峰
- Fixes #11196
- Closes #11197
-
-Emanuele Torre (25 May 2023)
-
-- configure: fix build with arbitrary CC and LD_LIBRARY_PATH
-
- Since ./configure and processes that inherit its environment variables
- are the only callers of the run-compiler script, we can just save the
- current value of the LD_LIBRARY_PATH and CC variables to another pair of
- environment variables, and make run-compiler a static script that
- simply restores CC and LD_LIBRARY_PATH to the saved value, and before
- running the compiler.
-
- This avoids having to inject the values of the variables in the script,
- possibly causing problems if they contains spaces, quotes, and other
- special characters.
-
- Also add exports in the script just in case LD_LIBRARY_PATH and CC are
- not already in the environment.
-
- follow-up from 471dab2
-
- Closes #11182
-
-Daniel Stenberg (25 May 2023)
-
-- urlapi: remove superfluous host name check
-
- ... as it is checked later more proper.
-
- Closes #11195
-
-Stefan Eissing (25 May 2023)
-
-- http2: fix EOF handling on uploads with auth negotiation
-
- - doing a POST with `--digest` does an override on the initial request
- with `Content-Length: 0`, but the http2 filter was unaware of that
- and expected the originally request body. It did therefore not
- send a final DATA frame with EOF flag to the server.
- - The fix overrides any initial notion of post size when the `done_send`
- event is triggered by the transfer loop, leading to the EOF that
- is necessary.
- - refs #11194. The fault did not happen in testing, as Apache httpd
- never tries to read the request body of the initial request,
- sends the 401 reply and closes the stream. The server used in the
- reported issue however tried to read the EOF and timed out on the
- request.
-
- Reported-by: Aleksander Mazur
- Fixes #11194
- Cloes #11200
-
-Daniel Stenberg (23 May 2023)
-
-- RELEASE-NOTES: synced
-
- bump to 8.2.0
-
-- lib: remove unused functions, make single-use static
-
- Closes #11174
-
-- scripts/singleuse.pl: add more API calls
-
-Christian Hesse (23 May 2023)
-
-- configure: quote the assignments for run-compiler
-
- Building for multilib failed, as the compiler command contains an
- extra argument. That needs quoting.
-
- Regression from b78ca50cb3dda361f9c1
-
- Fixes #11179
- Closes #11180
-
-Daniel Stenberg (23 May 2023)
-
-- misc: fix spelling mistakes
-
- Reported-by: musvaage on github
- Fixes #11171
- Closes #11172
-
-Version 8.1.1 (23 May 2023)
-
-Daniel Stenberg (23 May 2023)
-
-- RELEASE-NOTES: synced
-
- curl 8.1.1
-
-- THANKS: contributors from the 8.1.1 release
-
-Dan Fandrich (22 May 2023)
-
-- docs: fix fuzzing documentation link
-
- Follow-up to 4c712a1b
-
-- CI: add an Alpine build with MUSL
-
- MUSL is another libc implementation which has its own unique issues
- worth testing.
-
- Ref: #11140
- Closes #11178
-
-- runtests: add a missing \n at the end of a log message
-
-correctmost on github (22 May 2023)
-
-- SECURITY-PROCESS.md: link security advisory doc and fix typo
-
- Closes #11177
-
-Daniel Stenberg (22 May 2023)
-
-- TODO: build curl with Windows Unicode support
-
- Closes #7229
-
-- KNOWN_BUGS: hyper memory-leaks
-
- Closes #10803
-
-Stefan Eissing (22 May 2023)
-
-- http/2: unstick uploads
-
- - refs #11157 and #11175 where uploads get stuck or lead to RST streams
- - fixes our h2 send behaviour to continue sending in the nghttp2 session
- as long as it wants to. This will empty our send buffer as long as
- the remote stream/connection window allows.
- - in case the window is exhausted, the data remaining in the send buffer
- will wait for a WINDOW_UPDATE from the server. Which is a socket event
- that engages our transfer loop again
- - the problem in the issue was that we did not exhaust the window, but
- left data in the sendbuffer and no further socket events did happen.
- The server was just waiting for us to send more.
- - relatedly, there was an issue fixed that closing a stream with KEEP_HOLD
- set kept the transfer from shutting down - as it should have - leading
- to a timeout.
-
- Closes #11176
-
-Daniel Stenberg (21 May 2023)
-
-- workflows/macos: add a job using gcc + debug + secure transport
-
-Jay Satiro (21 May 2023)
-
-- lib: fix conversion warnings with gcc on macOS
-
-Daniel Stenberg (21 May 2023)
-
-- sectransp.c: make the code c89 compatible
-
- Follow-up to dd2bb485521c2ec713001b3a
-
- Reported-by: FeignClaims on github
- Fixes #11155
- Closes #11159
-
-Emanuele Torre (21 May 2023)
-
-- Revert "urlapi: respect CURLU_ALLOW_SPACE and CURLU_NO_AUTHORITY for redirect
- s"
-
- This reverts commit df6c2f7b544f1f35f2a3e0be11f345affeb6fe9c.
- (It only keep the test case that checks redirection to an absolute URL
- without hostname and CURLU_NO_AUTHORITY).
-
- I originally wanted to make CURLU_ALLOW_SPACE accept spaces in the
- hostname only because I thought
- curl_url_set(CURLUPART_URL, CURLU_ALLOW_SPACE) was already accepting
- them, and they were only not being accepted in the hostname when
- curl_url_set(CURLUPART_URL) was used for a redirection.
-
- That is not actually the case, urlapi never accepted hostnames with
- spaces, and a hostname with a space in it never makes sense.
- I probably misread the output of my original test when I they were
- normally accepted when using CURLU_ALLOW_SPACE, and not redirecting.
-
- Some other URL parsers seems to allow space in the host part of the URL,
- e.g. both python3's urllib.parse module, and Chromium's javascript URL
- object allow spaces (chromium percent escapes the spaces with %20),
- (they also both ignore TABs, and other whitespace characters), but those
- URLs with spaces in the hostname are useless, neither python3's requests
- module nor Chromium's window.location can actually use them.
-
- There is no reason to add support for URLs with spaces in the host,
- since it was not a inconsistency bug; let's revert that patch before it
- makes it into release. Sorry about that.
-
- I also reverted the extra check for CURLU_NO_AUTHORITY since that does
- not seem to be necessary, CURLU_NO_AUTHORITY already worked for
- redirects.
-
- Closes #11169
-
-Dan Fandrich (20 May 2023)
-
-- runtests: use the correct fd after select
-
- The code was using the wrong fd when determining which runner was ready
- with a response.
-
- Ref: #10818
- Closes #11160
-
-- test425: fix the log directory for the upload
-
- This must be %LOGDIR to let it work with parallel tests.
-
- Ref: #10969
-
-- runtests: handle interrupted reads from IPC pipes
-
- These can be interrupted by signals, especially SIGINT to shut down, and
- must be restarted so the IPC call arrives correctly. If the read just
- returns an error instead, the IPC calling state will go out of sync and
- a proper shutdown won't happen.
-
- Ref: #10818
-
-Stefan Eissing (20 May 2023)
-
-- http2: upload improvements
-
- Make send buffer smaller to have progress and "upload done" reporting
- closer to reality. Fix handling of send "drain" condition to no longer
- trigger once the transfer loop reports it is done sending. Also do not
- trigger the send "drain" on RST streams.
-
- Background:
- - a upload stall was reported in #11157 that timed out
- - test_07_33a reproduces a problem with such a stall if the
- server 404s the request and RSTs the stream.
- - test_07_33b verifies a successful PUT, using the parameters
- from #11157 and checks success
-
- Ref: #11157
- Closes #11165
-
-- http2: increase stream window size to 10 MB
-
- Reported-by: pandada8 on github
-
- Fixes #11162
- Closes #11167
-
-Daniel Stenberg (20 May 2023)
-
-- lib: rename struct 'http_req' to 'httpreq'
-
- Because FreeBSD 14 kidnapped the name.
- Ref: https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=271526
-
- Fixes #11163
- Closes #11164
-
-Viktor Szakats (20 May 2023)
-
-- cmake: avoid `list(PREPEND)` for compatibility
-
- `list(PREPEND)` requires CMake v3.15, our minimum is v3.7.
-
- Ref: https://cmake.org/cmake/help/latest/command/list.html#prepend
-
- Regression from 1e3319a167d2f32d295603167486e9e88af9bb4e
-
- Reported-by: Keitagit-kun on Github
- Fixes #11141
- Closes #11144
-
-Daniel Stenberg (19 May 2023)
-
-- RELEASE-NOTES: synced
-
-Stefan Eissing (19 May 2023)
-
-- ngtcp2: proper handling of uint64_t when adjusting send buffer
-
- Fixes #11149
- Closes #11153
-
-- ngtcp2: fix compiler warning about possible null-deref
-
- - compiler analyzer did not include the call context for this
- static function where the condition had already been checked.
- - eleminating the problem by making stream a call parameter
-
- Fixes #11147
- Closes #11151
-
-Emanuele Torre (19 May 2023)
-
-- docs: document that curl_url_cleanup(NULL) is a safe no-op
-
- This has always been the case, but it was not documented.
-
- The paragraph was copied verbatim from curl_easy_cleanup.3
-
- Closes #11150
-
-Antoine Pitrou (19 May 2023)
-
-- select: avoid returning an error on EINTR from select() or poll()
-
- This was already done for the poll() and select() calls
- made directly from Curl_poll(), but was missed in
- Curl_wait_ms(), which is called when there are no fds
- to wait on.
-
- Fixes #11135
- Closes #11143
-
-Daniel Stenberg (19 May 2023)
-
-- vquic.c: make recvfrom_packets static, avoid compiler warning
-
- warning: no previous prototype for 'recvfrom_packets'
-
- Reported-by: Keitagit-kun on github
- Fixes #11146
- Closes #11148
-
-- urlapi: allow numerical parts in the host name
-
- It can only be an IPv4 address if all parts are all digits and no more than
- four parts, otherwise it is a host name. Even slightly wrong IPv4 will now be
- passed through as a host name.
-
- Regression from 17a15d88467 shipped in 8.1.0
-
- Extended test 1560 accordingly.
-
- Reported-by: Pavel Kalyugin
- Fixes #11129
- Closes #11131
-
-Emilio Cobos Álvarez (19 May 2023)
-
-- http2: double http request parser max line length
-
- This works around #11138, by doubling the limit, and should be a
- relatively safe fix.
-
- Ideally the buffer would grow as needed and there would be no need for a
- limit? But that might be follow-up material.
-
- Fixes #11138
- Closes #11139
-
-Emanuele Torre (18 May 2023)
-
-- configure: fix --help alignment
-
- AC_ARG_ENABLE seems to only trim off whitespace from the start and end
- of its help-string argument, while prepending two spaces of indentation
- to all lines.
-
- This means that the two spaces of indentation between the --enable-rtsp
- and the --disable-rtsp line were not removed causing ./configure --help
- to print:
-
- Optional Features:
- [...]
- --enable-rtsp Enable RTSP support
- --disable-rtsp Disable RTSP support
-
- I removed the indentation to fix the issue, now it prints:
-
- Optional Features:
- [...]
- --enable-rtsp Enable RTSP support
- --disable-rtsp Disable RTSP support
-
- The --enable-hsts and --disable-hsts lines had the same problems, and
- have been fixed too.
-
- Closes #11142
-
-Deal(一线灵) (18 May 2023)
-
-- cmake: repair cross compiling
-
- It cannot *run* code for testing purposes when cross-compiling.
-
- Closes #11130
-
-Daniel Stenberg (18 May 2023)
-
-- configure: generate a script to run the compiler
-
- in the CURL_RUN_IFELSE macro, with LD_LIBRARY_PATH set to the value of
- the configure invoke, and not the value that might be used later,
- intended for the execution of the output the compiler ouputs.
-
- For example when the compiler uses the same library (like libz) that
- configure checks for.
-
- Reported-by: Jonas Bülow
- Fixes #11114
- Closes #11120
-
-Stefan Eissing (18 May 2023)
-
-- cf-socket: completely remove the disabled USE_RECV_BEFORE_SEND_WORKAROUND
-
- Closes #11118
-
-Emanuele Torre (18 May 2023)
-
-- urlapi: respect CURLU_ALLOW_SPACE and CURLU_NO_AUTHORITY for redirects
-
- curl_url_set(uh, CURLUPART_URL, redirurl, flags) was not respecing
- CURLU_ALLOW_SPACE and CURLU_NO_AUTHORITY in the host part of redirurl
- when redirecting to an absolute URL.
-
- Closes #11136
-
-Colin Cross (18 May 2023)
-
-- hostip: move easy_lock.h include above curl_memory.h
-
- Similar to #9561, move easy_lock.h above curl_memory.h to fix building
- against musl libc.
-
- Closes #11140
-
-Hind Montassif (18 May 2023)
-
-- curl_easy_getinfo: clarify on return data types
-
- Closes #11126
-
-Emanuele Torre (18 May 2023)
-
-- checksrc: disallow spaces before labels
-
- Out of 415 labels throughout the code base, 86 of those labels were
- not at the start of the line. Which means labels always at the start of
- the line is the favoured style overall with 329 instances.
-
- Out of the 86 labels not at the start of the line:
- * 75 were indented with the same indentation level of the following line
- * 8 were indented with exactly one space
- * 2 were indented with one fewer indentation level then the following
- line
- * 1 was indented with the indentation level of the following line minus
- three space (probably unintentional)
-
- Co-Authored-By: Viktor Szakats
-
- Closes #11134
-
-Daniel Stenberg (18 May 2023)
-
-- cookie: update the comment on cookie length and size limits
-
- To refer to the proper cookie RFC and the upcoming RFC refresh.
-
- Closes #11127
-
-- url: provide better error message when URLs fail to parse
-
- By providing the URL API error message into the error message.
-
- Ref: #11129
- Closes #11137
-
-- RELEASE-NOTES: synced
-
- bumped to 8.1.1
-
-Jon Rumsey (18 May 2023)
-
-- os400: update chkstrings.c
-
- Compensate changes for recent changes to urldata.h to reclassify
- STRING_AWS_SIGV4.
-
- Fixes #11132
- Closes #11133
-
-Version 8.1.0 (17 May 2023)
-
-Daniel Stenberg (17 May 2023)
-
-- RELEASE-NOTES: synced
-
-- THANKS: contributors from the 8.1.0 release
-
-- hostip: include easy_lock.h before using GLOBAL_INIT_IS_THREADSAFE
-
- Since that header file is the only place that define can be defined.
-
- Reported-by: Marc Deslauriers
-
- Follow-up to 13718030ad4b3209
-
- Closes #11121
-
-Thomas Taylor (16 May 2023)
-
-- aws-sigv4.d: fix region identifier in example
-
- Closes #11117
-
-Philip Heiduck (15 May 2023)
-
-- mlc_config.json: remove this linkcheck CI job config file
-
- Closes #11113
-
-Daniel Silverstone (15 May 2023)
-
-- ssh: Add support for libssh2 read timeout
-
- Hook the new (1.11.0 or newer) libssh2 support for setting a read timeout
- into the SERVER_RESPONSE_TIMEOUT option. With this done, clients can use
- the standard curl response timeout setting to also control the time that
- libssh2 will wait for packets from a slow server. This is necessary to
- enable use of very slow SFTP servers.
-
- Signed-off-by: Daniel Silverstone
-
- Closes #10965
-
-Osama Albahrani (14 May 2023)
-
-- GIT-INFO: add --with-openssl
-
- Closes #11110
-
-Daniel Stenberg (13 May 2023)
-
-- RELEASE-NOTES: synced
-
-Marcel Raad (13 May 2023)
-
-- md(4|5): don't use deprecated iOS functions
-
- They are marked as deprecated in iOS 13.0, which might result in
- warnings-as-errors.
-
- Also, use `*_MIN_REQUIRED` instead of `*_MIN_ALLOWED`, which seems to
- be what's currently used.
-
- Bug: https://github.com/curl/curl/issues/11098
- Closes https://github.com/curl/curl/pull/11102
-
-- md4: only build when used
-
- Its only usage in curl_ntlm_core.c is guarded by `USE_CURL_NTLM_CORE`,
- so let's use this here too.
-
- Ref: https://github.com/curl/curl/issues/11098
- Closes https://github.com/curl/curl/pull/11102
-
-Vítor Galvão (12 May 2023)
-
-- write-out.d: Use response_code in example
-
- Closes #11107
-
-Shohei Maeda (12 May 2023)
-
-- url: fix null dispname for --connect-to option
-
- Closes #11106
-
-Daniel Stenberg (12 May 2023)
-
-- test2306: verify getting a second response with folded headers
-
- Reproduces the isue #11101 and verifies the fix.
-
- Verifies a17b2a503f
-
-- headers: clear (possibly) lingering pointer in init
-
- The "prevhead" pointer is used for the headers storage but was not
- cleared correctly in init, which made it possible to act up when a
- handle is reused.
-
- Reported-by: Steve Herrell
- Fixes #11101
- Closes #11103
-
-- RELEASE-NOTES: synced
-
-- ngtcp2: use 0.15.0
-
- - nghttp3 0.11.0
- - nghttp2 1.53.0
-
- Adapt to new API calls
-
- Closes #11031
-
-Jay Satiro (10 May 2023)
-
-- openssl: fix indent
-
-Daniel Stenberg (10 May 2023)
-
-- CURLOPT_DNS_CACHE_TIMEOUT.3: fix spelling
-
- Follow-up to 9ed7d56e044f5aa1b29
-
- Closes #11096
-
-- hostip: use time_t for storing oldest DNS entry
-
- Theoretically, the oldest time could overflow an int. In practice that
- won't happen, but let's do this to please analyzers.
-
- Follow-up to 9ed7d56e044f5aa1b2928ccde6245d0
-
- Pointed out by Coverity.
- Closes #11094
-
-- http: free the url before storing a new copy
-
- To avoid a memory-leak.
-
- Reported-by: Hiroki Kurosawa
-
- Closes #11093
-
-- compressed.d: clarify the words on "not notifying headers"
-
- Reported-by: Dylan Anthony
- Fixes #11091
- Closes #11092
-
-- libssh2: free fingerprint better
-
- Reported-by: Wei Chong Tan
- Closes #11088
-
-- CURLOPT_IPRESOLVE.3: clarify that this for host names, not IP addresses
-
- Reported-by: Harry Sintonen
- Closes #11087
-
-- hostip: enforce a maximum DNS cache size independent of timeout value
-
- To reduce the damage an application can cause if using -1 or other
- ridiculous timeout values and letting the cache live long times.
-
- The maximum number of entries in the DNS cache is now totally
- arbitrarily and hard-coded set to 29999.
-
- Closes #11084
-
-- hostip: store dns timeout as 'int'
-
- ... because it set and held as an 'int' elsewhere and can never be
- larger.
-
-- RELEASE-NOTES: synced
-
-- tool_operate: refuse (--data or --form) and --continue-at combo
-
- libcurl assumes that a --continue-at resumption is done to continue an
- upload using the read callback and neither --data nor --form use
- that and thus won't do what the user wants. Whatever the user wants
- with this strange combination.
-
- Add test 426 to verify.
-
- Reported-by: Smackd0wn on github
- Fixes #11081
- Closes #11083
-
-- transfer: refuse POSTFIELDS + RESUME_FROM combo
-
- The code assumes that such a resume is wanting to continue an upload
- using the read callback, and since POSTFIELDS is done without callback
- libcurl will just misbehave.
-
- This combo will make the transfer fail with CURLE_BAD_FUNCTION_ARGUMENT
- with an explanation in the error message.
-
- Reported-by: Smackd0wn on github
- Fixes #11081
- Closes #11083
-
-- ipv4.d/ipv6.d: they are "mutex", not "boolean"
-
- ... which for example means they do not have --no-* versions.
-
- Reported-by: Harry Sintonen
- Fixes #11085
- Closes #11086
-
-- docs/SECURITY-ADVISORY.md: how to write a curl security advisory
-
- Closes #11080
-
-nobedee on github (5 May 2023)
-
-- MANUAL.md: add dict example for looking up a single definition
-
- Closes #11077
-
-Dan Fandrich (5 May 2023)
-
-- runtests: fix -c option when run with valgrind
-
- The curl binary argument wasn't being quoted properly. This seems to
- have broken at some point after quoting was added in commit 606b29fe.
-
- Reported-by: Daniel Stenberg
- Ref: #11073
- Fixes #11074
- Closes #11076
-
-- runtests: support creating more than one runner process
-
- The controller currently only creates and uses one, but more are now
- possible.
-
- Ref: #10818
-
-- runtests: spawn a new process for the test runner
-
- When the -j option is given, a new process is spawned in which the test
- programs are run and from which test servers are started. Only one
- process can be started at once, but this is sufficient to test that the
- infrastructure can isolate those functions in a new task. There should
- be no visible difference between the two modes at the moment.
-
- Ref: #10818
- Closes #11064
-
-- runtests: turn singletest() into a state machine
-
- This allows it to run in a non-blocking manner.
-
- Ref: #10818
-
-- runtests: change runner interface to be asynchronous
-
- Program arguments are marshalled and then written to the end of a pipe
- which is later read from and the arguments unmarshalled before the
- desired function is called normally. The function return values are
- then marshalled and written into another pipe when is later read from
- and unmarshalled before being returned to the caller.
-
- The implementation is currently blocking but can be made non-blocking
- without any changes to the API. This allows calling multiple runners
- without blocking in the future.
-
- Ref: #10818
-
-- runtests: call citest_finishtest in singletest
-
- This is where citest_starttest is called.
-
- Ref: #10818
-
-- runtests: add a runner initialization function
-
- This sets up the runner environment to start running tests.
-
- Ref: #10818
-
-- runtests: remove directory from server filename variables
-
- There will soon be multiple log directories so the paths will no longer
- be static in runtests.pl. Also, get rid of $SERVER2IN which was not
- used.
-
- Ref: #10818
-
-- runtests: reduce package exports after refactoring
-
- Some recent refactoring made these export no longer necessary. Also,
- stop displaying the Unix socket paths at startup since there will soon
- be many of them and they're not that interesting.
-
- Ref: #10818
-
-- runtests: use a function to obtain $LOGDIR for a test
-
- This will no longer be static soon.
-
- Ref: #10818
-
-Jay Satiro (5 May 2023)
-
-- tool_cb_hdr: Fix 'Location:' formatting for early VTE terminals
-
- - Disable hyperlink formatting for the 'Location:' header value in VTE
- 0.48.1 and earlier, since it is buggy in some of those versions.
-
- Prior to this change those terminals may show the location header value
- as gibberish or show it twice.
-
- Ref: https://gist.github.com/egmontkob/eb114294efbcd5adb1944c9f3cb5feda#backw
- ard-compatibility
-
- Fixes https://github.com/curl/curl/issues/10428
- Closes https://github.com/curl/curl/pull/11071
-
-François Michel (3 May 2023)
-
-- quiche: disable pacing while pacing is not actually performed
-
- Closes #11068
-
-Daniel Stenberg (2 May 2023)
-
-- easy_cleanup: require a "good" handle to act
-
- By insisting that the passed in handle is "good" (the magic number is
- intact), this can limit the potential damage if a bad pointer is passed
- in. Like when this function is called twice on the same handle pointer.
-
- Ref: #10964
- Closes #11061
-
-Andreas Falkenhahn (1 May 2023)
-
-- amiga: Fix CA certificate paths for AmiSSL and MorphOS
-
- AmiSSL stores certificates in `AmiSSL:Certs` and MorphOS stores them in
- `MOSSYS:Data/SSL/curl-ca-bundle.crt`.
-
- Closes https://github.com/curl/curl/pull/11059
-
-Daniel Stenberg (30 Apr 2023)
-
-- http2: (void)-mark when we explicitly ignore the return code
-
- When h2_progress_egress() is called. Pointed out by Coverity.
-
- Closes #11057
-
-- checksrc: find bad indentation in conditions without open brace
-
- If the previous line starts with if/while/for AND ends with a closed
- parenthesis and there's an equal number of open and closed parentheses
- on that line, verify that this line is indented $indent more steps, if
- not a cpp line.
-
- Also adjust the fall-out from this fix.
-
- Closes #11054
-
-Diogo Teles Sant'Anna (28 Apr 2023)
-
-- CI: Set minimal permissions on workflow ngtcp2-quictls.yml
-
- Signed-off-by: Diogo Teles Sant'Anna
-
- Closes #11055
-
-Dan Fandrich (28 Apr 2023)
-
-- CI: use another glob syntax for matching files on Appveyor
-
- The previous globbing syntax was not matching files recursively in
- directories, so try appending a /* to more closely match the examples at
- https://www.appveyor.com/docs/how-to/filtering-commits/
-
-Daniel Stenberg (28 Apr 2023)
-
-- multi: add multi-ignore logic to multi_socket_action
-
- The multi-ignore logic that was previously applied to
- curl_multi_perform() (#10750) is here applied to the loop within
- curl_multi_socket_action() to make it use the same optimization: most
- handles have the same signal-ignore option state so this drastically
- reduces the number of ignore/unignore calls per libcurl function invoke.
-
- Follow-up to bc90308328afb8
-
- Closes #11045
-
-Stefan Eissing (28 Apr 2023)
-
-- http2: do flow window accounting for cancelled streams
-
- - nghttp2 does not free connection level window flow for
- aborted streams
- - when closing transfers, make sure that any buffered
- response data is "given back" to the flow control window
- - add tests test_02_22 and test_02_23 to reproduce
-
- Closes #11052
-
-- pingpong: fix compiler warning "assigning an enum to unsigned char"
-
- Closes #11050
-
-Daniel Stenberg (28 Apr 2023)
-
-- configure: fix detection of apxs (for httpd)
-
- The condition check was turned the wrong way around!
-
- Closes #11051
-
-Viktor Szakats (28 Apr 2023)
-
-- ci: `-Wno-vla` no longer necessary
-
- We handle this issue in the source now.
-
- Follow-up to b725fe1944b45406676ea3aff333ae3085a848d9
-
- Reviewed-by: Marcel Raad
- Reviewed-by: Daniel Stenberg
- Closes #11048
-
-Marcel Raad (28 Apr 2023)
-
-- tests/http: make curl_setup.h the first include
-
- This is required for the macros there to take effect for system
- libraries. Specifically, including the system libraries first led to
- warnings about `_FILE_OFFSET_BITS` being redefined in curl_config.h on
- the Solaris autobuilds for ws-data.c and ws-pingpong.c.
- Also make the curl includes come first for the other source files here
- for consistency.
-
- Closes https://github.com/curl/curl/pull/11046
-
-Emanuele Torre (27 Apr 2023)
-
-- checksrc: check for spaces before the colon of switch labels
-
- Closes #11047
-
-Daniel Stenberg (27 Apr 2023)
-
-- RELEASE-NOTES: synced
-
-- libssh: tell it to use SFTP non-blocking
-
- Reported-by: Andreas Huebner
- Fixes #11020
- Closes #11039
-
-Stefan Eissing (27 Apr 2023)
-
-- http2: enlarge the connection window
-
- - fixes stalled connections
-
- - Make the connection window large enough, so that there is
- some room left should 99/100 streams be PAUSED by the application
-
- Reported-by: Paweł Wegner
- Fixes #10988
- Closes #11043
-
-Daniel Stenberg (27 Apr 2023)
-
-- checksrc: fix SPACEBEFOREPAREN for conditions starting with "*"
-
- The open paren check wants to warn for spaces before open parenthesis
- for if/while/for but also for any function call. In order to avoid
- catching function pointer declarations, the logic allows a space if the
- first character after the open parenthesis is an asterisk.
-
- I also spotted what we did not include "switch" in the check but we should.
-
- This check is a little lame, but we reduce this problem by not allowing
- that space for if/while/for/switch.
-
- Reported-by: Emanuele Torre
- Closes #11044
-
-- docs: minor polish
-
- - "an HTTP*" (not "a")
- - remove a few contractions
- - remove a spurious "a"
- - reduce use of "I" in texts
-
- Closes #11040
-
-- ws: fix CONT opcode check
-
- Detected by Coverity. Follow-up to 930c00c259
-
- Closes #11037
-
-Dan Fandrich (27 Apr 2023)
-
-- CI: switch the awslc builds to build out-of-tree
-
- This is a common configuration that should be tested to avoid
- regressions. The awsls cmake build was already out-of-tree so the
- automake build now joins it.
-
- Ref: #11006
-
-- tests/http: fix out-of-tree builds
-
- Add both lib/ directories (src & build) to the search path so
- curl_setup.h and its dependencies can be found.
-
- Followup-to acd82c8b
-
- Ref: #11006
- Closes #11036
-
-Daniel Stenberg (27 Apr 2023)
-
-- urlapi: make internal function start with Curl_
-
- Curl_url_set_authority() it is.
-
- Follow-up to acd82c8bfd
-
- Closes #11035
-
-YX Hao (26 Apr 2023)
-
-- cf-socket: turn off IPV6_V6ONLY on Windows if it is supported
-
- IPV6_V6ONLY refs:
- https://en.wikipedia.org/wiki/IPv6#IPv4-mapped_IPv6_addresses
- https://github.com/golang/go/blob/master/src/net/ipsock_posix.go
- https://en.wikipedia.org/wiki/Unix-like
- https://learn.microsoft.com/en-us/windows/win32/winsock/ipproto-ipv6-socket-o
- ptions
-
- default value refs:
- https://datatracker.ietf.org/doc/html/rfc3493#section-5.3
- https://www.kernel.org/doc/html/latest/networking/ip-sysctl.html#proc-sys-net
- -ipv6-variables
-
- Closes #10975
-
-Daniel Stenberg (26 Apr 2023)
-
-- urldata: shrink *select_bits int => unsigned char
-
- - dselect_bits
- - cselect_bits
-
- ... are using less than 8 bits. Changed types and moved them towards
- the end of the structs to fit better.
-
- Closes #11025
-
-Stefan Eissing (26 Apr 2023)
-
-- tests/http: more tests with specific clients
-
- - Makefile support for building test specific clients in tests/http/clients
- - auto-make of clients when invoking pytest
- - added test_09_02 for server PUSH_PROMISEs using clients/h2-serverpush
- - added test_02_21 for lib based downloads and pausing/unpausing transfers
-
- curl url parser:
- - added internal method `curl_url_set_authority()` for setting the
- authority part of a url (used for PUSH_PROMISE)
-
- http2:
- - made logging of PUSH_PROMISE handling nicer
-
- Placing python test requirements in requirements.txt files
- - separate files to base test suite and http tests since use
- and module lists differ
- - using the files in the gh workflows
-
- websocket test cases, fixes for we and bufq
- - bufq: account for spare chunks in space calculation
- - bufq: reset chunks that are skipped empty
- - ws: correctly encode frames with 126 bytes payload
- - ws: update frame meta information on first call of collect
- callback that fills user buffer
- - test client ws-data: some test/reporting improvements
-
- Closes #11006
-
-Jay Satiro (26 Apr 2023)
-
-- libssh2: fix crash in keyboard callback
-
- - Always set the libssh2 'abstract' user-pointer to the libcurl easy
- handle associated with the ssh session, so it is always passed to the
- ssh keyboard callback.
-
- Prior to this change and since 8b5f100 (precedes curl 8.0.0), if libcurl
- was built without CURL_DEBUG then it could crash during the ssh auth
- phase due to a null dereference in the ssh keyboard callback.
-
- Reported-by: Andreas Falkenhahn
-
- Fixes https://github.com/curl/curl/pull/11024
- Closes https://github.com/curl/curl/pull/11026
-
-Daniel Stenberg (26 Apr 2023)
-
-- docs: clarify that more backends have HTTPS proxy support
-
- Closes #11033
-
-- KNOWN_BUGS: remove two not-bugs
-
- - 11.7 signal-based resolver timeouts
-
- Not considered a bug anymore but just implementation details. People
- should avoid using timeouts with the synchronous name resolver.
-
- - 11.16 libcurl uses renames instead of locking for atomic operations
-
- Not a bug, just a description of how it works
-
- Closes #11032
-
-Harry Sintonen (26 Apr 2023)
-
-- hostip: add locks around use of global buffer for alarm()
-
- When building with the sync name resolver and timeout ability we now
- require thread-safety to be present to enable it.
-
- Closes #11030
-
-Daniel Stenberg (26 Apr 2023)
-
-- curl_path: bring back support for SFTP path ending in /~
-
- libcurl used to do a directory listing for this case (even though the
- documentation says a URL needs to end in a slash for this), but
- 4e2b52b5f7a3 modified the behavior.
-
- This change brings back a directory listing for SFTP paths that are
- specified exactly as /~ in the URL.
-
- Reported-by: Pavel Mayorov
- Fixes #11001
- Closes #11023
-
-Emanuele Torre (26 Apr 2023)
-
-- docs/libcurl/curl_*escape.3: rename "url" argument to "input"/"string"
-
- Also reword the DESCRIPTION section to mention "input"/"string" argument
- in bold.
-
- Closes #11027
-
-- docs/libcurl: minor cleanups
-
- I was reading curl_unescape(3) and I noticed that there was an extra
- space after the open parenthesis in the SYNOPSIS; I removed the extra
- space.
-
- I also ran a few grep -r commands to find and remove extra spaces
- after '(' in other files, and to find and replace uses of `T*' instead
- of `T *'. Some of the instances of `T*` where unnecessary casts that I
- removed.
-
- I also fixed a comment that was misaligned in CURLMOPT_SOCKETFUNCTION.3.
-
- And I fixed some formatting inconsistencies: in curl_unescape(3), all
- function parameter were mentioned with bold text except length, that was
- mentioned as 'length'; and, in curl_easy_unescape(3), all parameters
- were mentioned in bold text except url that was italicised. Now they are
- all mentioned in bold.
- Documentation is not very consistent in how function parameter are
- formatted: many pages italicise them, and others display them in bold
- text; but I think it makes sense to at least be consistent with
- formatting within the same page.
-
- Closes #11027
-
-Daniel Stenberg (26 Apr 2023)
-
-- man pages: simplify the .TH sections
-
- - remove the version numbers
- - simplify the texts
-
- The date and version number will be put there for releases when maketgz
- runs the updatemanpages.pl script.
-
- Closes #11029
-
-- hostcheck: fix host name wildcard checking
-
- The leftmost "label" of the host name can now only match against single
- '*'. Like the browsers have worked for a long time.
-
- - extended unit test 1397 for this
- - move some SOURCE variables from unit/Makefile.am to unit/Makefile.inc
-
- Reported-by: Hiroki Kurosawa
- Closes #11018
-
-Dan Fandrich (25 Apr 2023)
-
-- smbserver: remove temporary files before exit
-
- Each execution of test 1451 would leave a file in /tmp before. Since
- Windows can't delete a file while it's open, all the temporary file
- names are stored and deleted on exit.
-
- Closes #10990
-
-Stefan Eissing (25 Apr 2023)
-
-- Websocket en-/decoding
-
- - state is fully kept at connection, since curl_ws_send() and
- curl_ws_rec() have lifetime beyond usual transfers
- - no more limit on frame sizes
-
- Reported-by: simplerobot on github
- Fixes #10962
- Closes #10999
-
-Patrick Monnerat (25 Apr 2023)
-
-- urldata: copy CURLOPT_AWS_SIGV4 value on handle duplication
-
- Prior to this change STRING_AWS_SIGV4 (CURLOPT_AWS_SIGV4) was wrongly
- marked as binary data that could not be duplicated.
-
- Without this fix, this option's value is not copied upon calling
- curl_easy_duphandle().
-
- Closes https://github.com/curl/curl/pull/11021
-
-Stefan Eissing (25 Apr 2023)
-
-- http3: expire unpaused transfers in all HTTP/3 backends
-
- Closes #11005
-
-- http2: always EXPIRE_RUN_NOW unpaused http/2 transfers
-
- - just increasing the http/2 flow window does not necessarily
- make a server send new data. It may already have exhausted
- the window before
-
- Closes #11005
-
-- http2: pass `stream` to http2_handle_stream_close to avoid NULL checks
-
- Closes #11005
-
-- h2/h3: replace `state.drain` counter with `state.dselect_bits`
-
- - `drain` was used by http/2 and http/3 implementations to indicate
- that the transfer requires send/recv independant from its socket
- poll state. Intended as a counter, it was used as bool flag only.
- - a similar mechanism exists on `connectdata->cselect_bits` where
- specific protocols can indicate something similar, only for the
- whole connection.
- - `cselect_bits` are cleard in transfer.c on use and, importantly,
- also set when the transfer loop expended its `maxloops` tries.
- `drain` was not cleared by transfer and the http2/3 implementations
- had to take care of that.
- - `dselect_bits` is cleared *and* set by the transfer loop. http2/3
- does no longer clear it, only set when new events happen.
-
- This change unifies the handling of socket poll overrides, extending
- `cselect_bits` by a easy handle specific value and a common treatment in
- transfers.
-
- Closes #11005
-
-Daniel Stenberg (25 Apr 2023)
-
-- socketpair: verify with a random value
-
- ... instead of using the curl time struct, since it would use a few
- uninitialized bytes and the sanitizers would complain. This is a neater
- approach I think.
-
- Reported-by: Boris Kuschel
- Fixes #10993
- Closes #11015
-
-Stefan Eissing (25 Apr 2023)
-
-- HTTP3: document the ngtcp2/nghttp3 versions to use for building curl
-
- - refs #11011 to clarify this for people building curl themselves
-
- Closes #11019
-
-Daniel Stenberg (25 Apr 2023)
-
-- lib: unify the upload/method handling
-
- By making sure we set state.upload based on the set.method value and not
- independently as set.upload, we reduce confusion and mixup risks, both
- internally and externally.
-
- Closes #11017
-
-- RELEASE-NOTES: synced
-
-Dan Fandrich (24 Apr 2023)
-
-- CI: don't run CI jobs if only another CI was changed
-
- A few paths were missed in the last commit, as well as a job added since
- then.
-
- Followup-to 395b9175
-
-- CI: adjust labeler match patterns
-
-- runtests: support buffering log messages in runner & servers
-
- Log messages generated with logmsg can now be buffered and returned from
- the runner as a return value. This will be needed with parallel testing
- to allow all messages for one test to be displayed together instead of
- interspersed with messages of multiple tests. Buffering can be disabled
- by setting a logging callback function with setlogfunc, which is
- currently being done to preserve existing logging behaviour for now.
-
- Some additional output is generated in verbose and debugprotocol modes,
- which don't always use logmsg. These modes also impact some servers
- which generate extra messages. No attempt is made to buffer everything
- if these modes are enabled.
-
- Ref: #10818
- Closes #11016
-
-- runtests: more consistently use logmsg in server control code
-
- Also, display an error when sshversioninfo returns one.
-
- Ref: #10818
-
-- runtests: create runner functions for clearlocks and stopservers
-
- runtests.pl now uses runner for all server actions beyond the initial
- variable configuration.
-
- Ref: #10818
-
-- runtests: tightened servers package exports
-
- The defaults are intended for runtests.pl, whereas runner.pm needs to
- explicitly specify them.
-
-- runtests: display logs on server failure in singletest()
-
- This is closer to the place where logs are displayed on test failure.
- Also, only display these logs if -p is given, which is the same flag
- that controls display of test failure logs. Some server log files
- need to be deleted later so that they stay around long enough to be
- displayed on failure.
-
- Ref: #10818
-
-- runtests: turn a print into a logmsg
-
- Also enable another couple of useful messages in verbose mode.
-
- Ref: #10818
-
-Daniel Stenberg (24 Apr 2023)
-
-- http: store the password in the correct variable
-
- Typo from fc2f1e547a4a, detected by Coverity (because there's dead code
- due to this).
-
- Closes #11002
-
-Stefan Eissing (24 Apr 2023)
-
-- HTTP3/quiche: terminate h1 response header when no body is sent
-
- - fixes a failure in test2501 where a response without body was missing
- the final empty line
-
- Closes #11003
-
-Dan Fandrich (22 Apr 2023)
-
-- runtests: move showdiff into runtests.pl
-
- It's not used anywhere else.
-
-- devtest: add a new script for testing the test harness
-
- This is currently useful for starting a test server on its own without
- an associated test, which can be used for interactive curl testing or
- for validating parts of the test harness itself. More commands can be
- added to perform additional functions in the future.
-
- Ref: #10818
- Closes #11008
-
-- runtests: refactor the main test loop into two
-
- The test loop now has an initial loop that first runs through all
- possible tests to build a set of those to attempt on this run based on
- features and keywords and only then goes through that new list to run
- them. This actually makes it three loops through all tests cases, as
- there is an existing loop that gathers possible test numbers from the
- test files on disk.
-
- This has two minor effects on the output: all the tests that will be
- skipped are displayed at the start (instead of being interspersed with
- other tests) and the -l option no longer shows a count of tests at the
- end or a (misleading) statement that tests have run successfully. The
- skipped tests are also omitted from the test results sent to AppVeyor
- and Azure in CI builds.
-
- Another effect is a reduction in the amount of work considered part of
- the "Test definition reading and preparation time" reported with -r
- making those figures slightly lower than before.
-
- Ref: #10818
-
-- runtests: track only the current test timings in runner.pm
-
- This avoids passing these data through through global variables, which
- soon won't be possible.
-
- Ref: #10818
-
-- runtests: skip test preprocessing when doing -l
-
- This speeds up the output tremendously by avoiding unnecessary work.
-
-- runtests: simplify value returned regarding use of valgrind
-
- As a side effect this will now also show in verbose mode that valgrind
- is being skipped on tests that explicitly disable it, such as 600.
-
- Ref: #10818
-
-- runtests: fix quoting in Appveyor and Azure test integration
-
- Test 1442's name was not quoted correctly so wasn't registered in
- Appveyor and it had the wrong name in Azure. The JSON string quotes were
- also invalid, even though both servers happened to accept it regardless.
-
- Closes #11010
-
-Daniel Stenberg (19 Apr 2023)
-
-- RELEASE-NOTES: synced
-
-Dan Fandrich (18 Apr 2023)
-
-- runtests: spread out the port numbers used by servers
-
- The server ports are chosen randomly for each server, but the random
- ranges chosen were inconsistently-sized and overlapping. Now, they are
- spread out more so at least the first random port chosen for each server
- is guaranteed to not also be chosen by another server. The starting port
- numbers are also raised to put them in the Ephemeral Port range—not the
- range defined by RFC 6335 but the one used by Linux, which starts lower
- and gives us more room to work with.
-
- Reported-by: Daniel Stenberg
-
-- runtests: fix problems on failure
-
- The verify time must be set in this case, like all cases. An error
- message needs to be displayed as well.
-
-- runtests: fix perl warning when is wrong
-
-- runtests: don't try to stop stunnel before trying again
-
- Calling stopserver() before retrying stunnel due to an error would stop
- the dependent server (such as HTTP) meaning stunnel would have nothing
- to talk to when it came up. Don't try to force a stop when it didn't
- actually start. Also, don't mark the server as bad for future use when
- it starts up on a retry.
-
- Reported-by: eaglegai at github
- Tested-by: eaglegai at github
- Fixes #10976
-
-- runtests: don't accidentally randomly choose the same port
-
- If a server couldn't be started on a port, a new one is randomly chosen
- and the server is tried again. Avoid accidentally using a
- randomly-chosen 0 port offset by adding 1 to the random number.
-
- Found-by: Daniel Stenberg
-
-- runtests: don't attempt to use a port we know is in use
-
- This reduces the startup time when there is a known conflict on the
- random port chosen for a server. This was already done for stunnel, but
- now it's done for all servers.
-
-- http-server: fix server name in a log message
-
- This changed when the file was renamed in commit cbf57176
-
-- runtests: refactor into more packages
-
- testutil.pm now contains a few miscellaneous functions that are used in
- several places but have no better place to live. subvariables moves to
- servers.pm since most variables that it substitutes relate to servers,
- so this is the most appropriate place. Rename a few functions for better
- naming consistency.
-
- Ref: #10818
- Closes #10995
-
-- runtests: call timestampskippedevents() in singletest
-
- ..rather than by the runner
-
-- runtests: assume a newer Valgrind by default
-
- The tests for an older Valgrind version should probably just be deleted,
- given that they're testing for an 18-year-old version.
-
-- runtests: refactor test runner code into runner.pm
-
- This is code that is directly responsible for running a single test.
- This will eventually run in a separate process as part of the parallel
- testing project.
-
- Ref: #10818
-
-- runtests: skip unneeded work if test won't be running
-
- This speeds up tests by avoiding unnecessary processing.
-
- Ref: #10818
-
-- runtests: factor out singletest_postcheck
-
- This will eventually need to be part of the test runner.
-
- Ref: #10818
-
-- test303: kill server after test
-
- Otherwise, an HTTP test closely following this one with a tight time
- constraint (e.g. 672) could fail because the test server stays sitting
- with the wait command for a while.
-
-Patrick Monnerat (18 Apr 2023)
-
-- OS400: provide ILE/RPG usage examples
-
- Closes https://github.com/curl/curl/pull/10994
-
-- OS400: improve vararg emulation
-
- - Use V7R4 RPG procedure overloading to improve vararg emulation.
-
- From OS400 V7R4 and above, ILE/RPG implements a limited procedure
- overloading feature that can be used to improve curl's typed
- implementation of varargs procedures. This commit applies it to
- curl_easy_setopt(), curl_multi_setopt(), curl_share_setopt() and
- curl_easy_getinfo().
-
- Closes https://github.com/curl/curl/pull/10994
-
-- OS400: fix and complete ILE/RPG binding
-
- - Fix wrong definitions of CURL_ZERO_TERNINATED, curl_mime_data() and
- curl_mime_data_ccsid().
-
- - Add recent definitions, in particular blob, header API and WebSockets
- API.
-
- - Support for CURLVERSION_ELEVENTH.
-
- - New functions for EBCDIC support.
-
- Reflect these changes in README.OS400.
-
- Closes https://github.com/curl/curl/pull/10994
-
-- OS400: implement EBCDIC support for recent features
-
- - Support CURLVERSION_ELEVENTH.
-
- - New function curl_url_strerror_ccsid().
-
- - curl_easy_setopt_ccsid() supports blobs and 3 recent string options.
-
- - New function curl_easy_header_ccsid().
-
- - New generic latin1<-->ccsid conversion functions curl_from_ccsid() and
- curl_to_ccsid() for user convenience.
-
- - README.OS400 updated accordingly.
-
- - Removed a leftover QsoSSL support identifier.
-
- Closes https://github.com/curl/curl/pull/10994
-
-- OS400: rework build scripts
-
- - Rename shell function "system" to "CLcommand" to avoid confusion with
- built-in command.
-
- - Reformat scripts. Fix some indentations. Avoid lines > 80 characters
- where possible.
-
- - Support ASCII runtime development files in a user-defined directory
- path.
-
- - FIX SONAME detection.
-
- - Drop form API test program compilation (does not exist anymore).
-
- Closes https://github.com/curl/curl/pull/10994
-
-Sevan Janiyan (18 Apr 2023)
-
-- tests/sshserver.pl: Define AddressFamily earlier
-
- As the comment states "Address family must be specified before ListenAddress"
- , otherwise the tests fail to run
- `"failed starting SSH server" 52 times (582, 583, 600, 601, 602, 603, 604, 60
- 5, 606 and 43 more)`
-
- Closes #10983
-
-Stefan Eissing (18 Apr 2023)
-
-- quiche: Enable IDLE egress handling
-
- Follow-up to 544abeea which added the handling but wrongly left it
- commented out.
-
- Closes https://github.com/curl/curl/pull/11000
-
-Daniel Stenberg (18 Apr 2023)
-
-- docs/examples/protofeats.c: Outputs all protocols and features
-
- Showing off one way to get to char pointer arrays of info returned by
- curl_version_info()
-
- Closes #10991
-
-- tests/keywords.pl: remove
-
- This script does not work since the introduction of the test
- preprocessing. If we need this functionality, it probably needs to be
- moved into the runtests tool or similar.
-
- Reported-by: Dan Fandrich
- Fixes #10895
- Closes #10987
-
-Stefan Eissing (17 Apr 2023)
-
-- http2: support HTTP/2 to forward proxies, non-tunneling
-
- - with `--proxy-http2` allow h2 ALPN negotiation to
- forward proxies
- - applies to http: requests against a https: proxy only,
- as https: requests will auto-tunnel
- - adding a HTTP/1 request parser in http1.c
- - removed h2h3.c
- - using new request parser in nghttp2 and all h3 backends
- - adding test 2603 for request parser
- - adding h2 proxy test cases to test_10_*
-
- scorecard.py: request scoring accidentally always run curl
- with '-v'. Removed that, expect double numbers.
-
- labeller: added http1.* and h2-proxy sources to detection
-
- Closes #10967
-
-Daniel Stenberg (17 Apr 2023)
-
-- curl_easy_unescape.3: rename the argument
-
- and highlight it appropriately in the text.
-
- Closes #10979
-
-Viktor Szakats (17 Apr 2023)
-
-- autotools: sync up clang picky warnings with cmake
-
- Bringing missing options over from CMake.
-
- Move around existing `-Wno-pointer-bool-conversion` option to come
- _after_ `-Wconversion`.
-
- Reviewed-by: Marcel Raad
- Closes #10974
-
-Daniel Stenberg (17 Apr 2023)
-
-- tests/libtest/lib1900.c: remove
-
- This file was left behind when the rest of the test was previously removed.
-
- Follow-up to e50a877df74f
-
-- src/tool_operhlp.c: fix value stored to 'uerr' is never read
-
- Ref: https://github.com/curl/curl/pull/10974#issuecomment-1510461343
- Reported-by: Viktor Szakats
- Closes #10982
-
-Viktor Szakats (16 Apr 2023)
-
-- cmake: speed up and extend picky clang/gcc options
-
- Extend existing picky compiler options with ones missing compared to
- autotools builds. Also sync options between clang and gcc.
-
- Redesign the way we enable these options to avoid the slow option
- detection almost completely.
-
- This reduces the number of detections from 35 to zero for clang and
- 3 for gcc, even after adding a bunch of new options.
-
- clang 3.0 (2011-11-29) and gcc 2.95 (1999-07-31) now required.
-
- Also show enabled picky options.
-
- Ref: https://github.com/libssh2/libssh2/pull/952
-
- Reviewed-by: Daniel Stenberg
- Closes #10973
-
-Andreas Falkenhahn (16 Apr 2023)
-
-- nbtlm: use semicolons instead of commas for (void) args
-
- Closes #10978
-
-Daniel Stenberg (15 Apr 2023)
-
-- multi: free up more data earleier in DONE
-
- Before checking for more users of the connection and possibly bailing
- out.
-
- Fixes #10971
- Reported-by: Paweł Wegner
- Closes #10972
-
-- RELEASE-NOTES: synced
-
-- curl: do NOT append file name to path for upload when there's a query
-
- Added test 425 to verify.
-
- Reported-by: Dirk Rosenkranz
- Bug: https://curl.se/mail/archive-2023-04/0008.html
- Closes #10969
-
-- libcurl-thread.3: improved name resolver wording
-
- And make better .SH sections
-
- Closes #10966
-
-Colman Mbuya (14 Apr 2023)
-
-- CURLOPT_PROXY_SSL_VERIFYPEER.3: fix minor grammar mistake
-
- Closes #10968
-
-Daniel Stenberg (14 Apr 2023)
-
-- curl: add --proxy-http2
-
- For trying HTTP/2 with an HTTPS proxy.
-
- Closes #10926
-
-- KNOWN_BUGS: remove fixed or outdated issues, move non-bugs
-
- - remove h3 issues believed to be fixed
-
- - make the flaky CI issue be generic and not Windows specific
-
- - "TLS session cache does not work with TFO" now documented
-
- This is now a documented restriction and not a bug. TFO in general is
- rarely used and has other problems, making it a low-priotity thing to
- work on.
-
- - remove "Renegotiate from server may cause hang for OpenSSL backend"
-
- This is an OpenSSL issue, not a curl one. Even if it taints curl.
-
- - rm "make distclean loops forever"
-
- - rm "configure finding libs in wrong directory"
-
- Added a section to docs/INSTALL.md about it.
-
- - "A shared connection cache is not thread-safe"
-
- Moved over to TODO and expanded for other sharing improvements we
- could do
-
- - rm "CURLOPT_OPENSOCKETPAIRFUNCTION is missing"
-
- - rm "Blocking socket operations in non-blocking API"
-
- Already listed as a TODO
-
- - rm "curl compiled on OSX 10.13 failed to run on OSX 10.10"
-
- Water under the bridge. No one cares about this anymore.
-
- - rm "build on Linux links libcurl to libdl"
-
- Verified to not be true (anymore).
-
- - rm "libpsl is not supported"
-
- The cmake build supports it since cafb356e19cda22
-
- Closes #10963
-
-- url: fix PVS nits
-
- - expression 'hostptr' is always true
- - a part of conditional expression is always true: proxypasswd
- - expression 'proxyuser' is always true
- - avoid multiple Curl_now() calls in allocate_conn
-
- Ref: #10929
- Closes #10959
-
-- bufq: simplify since expression is always true
-
- The check for 'len' is already done so it will remain true until
- updated. Pointed out by PVS.
-
- Ref: #10929
- Closes #10958
-
-- hash: fix assigning same value
-
- Pointed out by PVS
-
- Ref: #10929
- Closes #10956
-
-- cookie: address PVS nits
-
- - avoid assigning the same value again
- - remove superfluous check of co->domain
- - reduce variable scope for namep/valuep
-
- Ref: #10929
- Closes #10954
-
-Stefan Eissing (14 Apr 2023)
-
-- cf-socket: Disable socket receive buffer by default
-
- - Disable socket receive buffer unless USE_RECV_BEFORE_SEND_WORKAROUND
- is in place.
-
- While we would like to use the receive buffer, we have stalls in
- parallel transfers where not all buffered data is consumed and no socket
- events happen.
-
- Note USE_RECV_BEFORE_SEND_WORKAROUND is a Windows sockets workaround
- that has been disabled by default since b4b6e4f1, due to other bugs.
-
- Closes https://github.com/curl/curl/pull/10961
-
-- cf-h2-proxy: fix processing ingress to stop too early
-
- - progress ingress stopped too early, causing data
- from the underlying filters to not be processed and
- report that no tunnel data was available
- - this lead to "hangers" where no socket activity was
- seen but data rested in buffers
-
- Closes #10952
-
-- http3: check stream_ctx more thoroughly in all backends
-
- - callbacks and filter methods might be invoked at unexpected
- times, e.g. when the transfer's stream_ctx has not been initialized
- yet or, more likely, has already been taken down.
- - check for existance of stream_ctx in such places and return
- an error or silently succeed the call.
-
- Closes #10951
-
-Daniel Stenberg (13 Apr 2023)
-
-- ftp: fix 'portsock' variable was assigned the same value
-
- Pointed out by PVS
-
- Ref: #10929
- Closes #10955
-
-- ftp: remove dead code
-
- This condition can never be true here since it is handled already 28
- lines above.
-
- Pointed out by PVS.
-
- Ref: #10929
- Closes #10957
-
-- cf-h1-proxy: skip an extra NULL assign
-
- and use Curl_safefree() once to save another NULL assign. Found by PVS.
-
- Ref. #10929
- Closes #10953
-
-Philip Heiduck (13 Apr 2023)
-
-- GHA: suppress git clone output
-
- Follow-up: https://github.com/curl/curl/commit/8203aa6ed405ec832d2c62f18dfda2
- 93f89a23f9
-
- Closes #10949
-
-Stefan Eissing (13 Apr 2023)
-
-- cf-socket: remove dead code discovered by PVS
-
- Closes #10960
-
-Daniel Stenberg (13 Apr 2023)
-
-- http: skip a double NULL assign
-
- and also use a local variable to shorten the long names and increase
- readability in the function. Pointed out by PVS.
-
- Ref: #10929
- Closes #10950
-
-- mime: skip NULL assigns after Curl_safefree()
-
- Pointed out by PVS.
-
- Ref: #10929
- Closes #10947
-
-- rtsp: skip NULL assigns after Curl_safefree()
-
- ... since this is a macro that assigns NULL itself. Pointed out by PVS.
-
- Ref: #10929
- Closes #10946
-
-- smb: remove double assign
-
- The same value is assigned the same value already a few lines above.
- Pointed out by PVS.
-
- Ref: #10929
- Closes #10945
-
-- transfer: skip extra assign
-
- The 'result' variable already contains CURLE_OK at this point, no use in
- setting it again. Pointed out by PVS.
-
- Ref: #10929
- Closes #10944
-
-- urlapi: skip a pointless assign
-
- It stores a null byte after already having confirmed there is a null
- byte there. Detected by PVS.
-
- Ref: #10929
- Closes #10943
-
-Philip Heiduck (13 Apr 2023)
-
-- GHA: suppress git clone output
-
- Closes #10939
-
-Stefan Eissing (13 Apr 2023)
-
-- tests: make test_12_01 a bit more forgiving on connection counts
-
-- cf-socket: add socket recv buffering for most tcp cases
-
- - use bufq as recv buffer, also for Windows pre-receive handling
- - catch small reads followed by larger ones in a single socket
- call. A common pattern on TLS connections.
-
- Closes #10787
-
-Daniel Stenberg (13 Apr 2023)
-
-- urlapi: cleanups
-
- - move host checks together
- - simplify the scheme parser loop and the end of host name parser
- - avoid itermediate buffer storing in multiple places
- - reduce scope for several variables
- - skip the Curl_dyn_tail() call for speed
- - detect IPv6 earlier and skip extra checks for such hosts
- - normalize directly in dynbuf instead of itermediate buffer
- - split out the IPv6 parser into its own funciton
- - call the IPv6 parser directly for ipv6 addresses
- - remove (unused) special treatment of % in host names
- - junkscan() once in the beginning instead of scattered
- - make junkscan return error code
- - remove unused query management from dedotdotify()
- - make Curl_parse_login_details use memchr
- - more use of memchr() instead of strchr() and less strlen() calls
- - make junkscan check and return the URL length
-
- An optimized build runs one of my benchmark URL parsing programs ~41%
- faster using this branch. (compared against the shipped 7.88.1 library
- in Debian)
-
- Closes #10935
-
-Josh McCullough (13 Apr 2023)
-
-- http2: fix typo in infof() call
-
- Closes #10940
-
-Daniel Stenberg (12 Apr 2023)
-
-- noproxy: pointer to local array 'hostip' is stored outside scope
-
- Ref: #10929
- Closes #10933
-
-Stefan Eissing (12 Apr 2023)
-
-- connect: fix https connection setup to treat ssl_mode correctly
-
- - for HTTPS protocol, a disabled ssl should never be acceptables.
-
- Closes #10934
-
-Douglas R. Reno (12 Apr 2023)
-
-- CMakeLists.txt: fix typo for Haiku detection
-
- Closes #10937
-
-Dan Fandrich (11 Apr 2023)
-
-- pathhelp: use the cached $use_cygpath when available
-
-- runtests: eliminate unneeded variable
-
-- runtests: make the # of server start attempts a constant
-
-- runtests: on startup failure call displaylogs only in serverfortest
-
- This reduces the number of calls spread throughout the code.
-
- Ref: #10818
- Closes #10919
-
-- runtests: return an error code with startservers()
-
- The code indicates the kind of failure encountered in starting a server,
- which can be used by the caller to tailor the user experience.
-
- Ref: #10818
-
-- runtests: abort early if runpingpongserver is given a bad server type
-
-- runtests: don't use the SMB server verification time as reference
-
- %FTPTIME2 and %FTPTIME3 should be set by the FTP server only, for
- consistency.
-
-- tests: factor out the test server management code
-
- This now lives in servers.pm with some configuration variables moved to
- globalconfig.pm
-
- Ref: #10818
-
-- runtests: remove an inappropriate use of runclientoutput
-
- This function is intended for running client code, not servers.
-
-- runtests: only add $LIBDIR to the path for checktestcmd
-
- Since checkcmd is for finding servers, there will never be anything in
- this directory of interest to them.
-
- Ref: #10818
-
-- tests: log sshserver.pl messages to a file
-
- The logmsg messages were thrown away before, so they are now available
- for debugging.
-
-- runtests: also show DISABLED tests with -l
-
- Other reasons for skipping tests are ignored for -l, so being explicitly
- disabled should be too.
-
-- runtests: move the UNIX sockets into $PIDDIR
-
- These were missed when the other server files were moved there.
-
- Follow-up to 70d2fca2
-
- Ref: #10818
-
-- tests: tighten up perl exports
-
- This reduces namespace pollution a little.
-
- Ref: #10818
-
-- tests: turn perl modules into full packages
-
- This helps enforce more modularization and encapsulation. Enable and fix
- warnings on a few packages. Also, rename ftp.pm to processhelp.pm since
- there's really nothing ftp-specific in it.
-
- Ref: #10818
-
-Daniel Stenberg (11 Apr 2023)
-
-- multi: remove a few superfluous assigns
-
- PVS found these "The 'rc' variable was assigned the same value." cases.
-
- Ref: #10929
- Closes #10932
-
-- schannel: add clarifying comment
-
- Explaining how the PVS warning in #10929 is wrong: Dereferencing of the
- null pointer 'backend->cred' might take place.
-
- Closes #10931
-
-- cookie: clarify that init with data set to NULL reads no file
-
- ... and make Curl_cookie_add() require 'data' being set proper with an
- assert.
-
- The function has not worked with a NULL data for quite some time so this
- just corrects the code and comment.
-
- This is a different take than the proposed fixed in #10927
-
- Reported-by: Kvarec Lezki
- Ref: #10929
- Closes #10930
-
-Kvarec Lezki (11 Apr 2023)
-
-- vtls: remove int typecast for sizeof()
-
- V220 Suspicious sequence of types castings: memsize -> 32-bit integer ->
- memsize. The value being cast: 'sizeof
- (buf->data)'. curl\lib\vtls\vtls.c 2025
-
- https://pvs-studio.com/en/docs/warnings/v220/
-
- Closes #10928
-
-Stefan Eissing (11 Apr 2023)
-
-- http2: fix copynpaste error reported by coverity
-
- - move all code handling HTTP/2 frames for a particular
- stream into a separate function to keep from confusing
- the call `data` with the stream `data`.
-
- Closes #10924
-
-Dan Fandrich (11 Apr 2023)
-
-- tests: log a too-long Unix socket path in sws and socksd
-
- Ref: #10919
-
-Daniel Stenberg (11 Apr 2023)
-
-- gen.pl: error on duplicated See-Also fields
-
- Updated http2.d accordingly.
-
- Closes #10925
-
-- http2: avoid possible null pointer dereference
-
- Reported-by: Dan Fandrich
- Fixes #10920
- Closes #10923
-
-- lib1560: verify that more bad host names are rejected
-
- when setting the hostname component of a URL
-
- Closes #10922
-
-- curl_url_set.3: mention that users can set content rather freely
-
- ... which then might render bad URLs if you extract a URL later.
-
- Closes #10921
-
-Dan Fandrich (10 Apr 2023)
-
-- CI: retry failed downloads of aws-lc
-
- Don't fail the build in case of a temporary server problem.
-
-- test1169: fix so it works properly everywhere
-
- - Use an absolute path for the -L option since the module isn't in the
- perl path
- - Create the needed test file in a section; isn't
- intended for this
- - Fix the test number in the file name, which was wrong
-
- Follow-up to f754990a
-
- Ref: #10818
- Fixes #10889
- Closes #10917
-
-- tests: stop using strndup(), which isn't portable
-
- It's not available on Solaris 10, for example. Since this is just test
- code that doesn't need to use an optimized system version, replace it
- with the implementation copied from tool_cb_hdr.c.
-
-- runtests: fix an incorrect comment about the ld_preload feature
-
- Follow-up to 1f631864
-
- Ref: #10818
-
-Daniel Stenberg (9 Apr 2023)
-
-- urlapi: prevent setting invalid schemes with *url_set()
-
- A typical mistake would be to try to set "https://" - including the
- separator - this is now rejected as that would then lead to
- url_get(... URL...) would get an invalid URL extracted.
-
- Extended test 1560 to verify.
-
- Closes #10911
-
-Biswapriyo Nath (9 Apr 2023)
-
-- http2: remove unused Curl_http2_strerror function declaration
-
- Curl_http2_strerror was renamed to http2_strerror in
- 05b100aee247bb9bec8e9a1b0 and then http2_strerror was removed in
- 5808a0d0f5ea0399d4a2a2
-
- This also fixes the following compiler error
-
- lib/http2.h:41:33: error: unknown type name 'uint32_t'
- lib/http2.h:1:1: note: 'uint32_t' is defined in header ''
-
- Closes #10912
-
-Daniel Stenberg (8 Apr 2023)
-
-- RELEASE-NOTES: synced
-
-SuperIlu on github (8 Apr 2023)
-
-- config-dos.h: fix SIZEOF_CURL_OFF_T for MS-DOS/DJGPP
-
- Fixes #10905
- Closes #10910
-
-Daniel Stenberg (8 Apr 2023)
-
-- lib: remove CURLX_NO_MEMORY_CALLBACKS
-
- The only user of this define was 'chkdecimalpoint' - a special purpose
- test tool that was built but not used anymore (since 17c18fbc3 - Apr
- 2020).
-
- Closes #10908
-
-- CURLPROXY_HTTPS2: for HTTPS proxy that may speak HTTP/2
-
- Setting this proxy type allows curl to negotiate and use HTTP/2 with
- HTTPS proxies.
-
- Closes #10900
-
-Ali Khodkar (8 Apr 2023)
-
-- write-out.d: add missing periods
-
- Closes #10897
-
-Daniel Stenberg (7 Apr 2023)
-
-- http2: remove check for !data after it was already dereferenced
-
- Pointed out by Coverity
-
- Closes #10906
diff --git a/curl/CHANGES.md b/curl/CHANGES.md
new file mode 100644
index 00000000..6e2f7c6b
--- /dev/null
+++ b/curl/CHANGES.md
@@ -0,0 +1,12 @@
+
+
+In a release tarball, check the RELEASES-NOTES file for what was done in the
+most recent release. In a git check-out, that file mentions changes that have
+been done since the previous release.
+
+See the online [changelog](https://curl.se/changes.html) for the edited and
+human readable version of what has changed in different curl releases.
diff --git a/curl/CMake/CurlSymbolHiding.cmake b/curl/CMake/CurlSymbolHiding.cmake
index 8289b492..00b7b3c1 100644
--- a/curl/CMake/CurlSymbolHiding.cmake
+++ b/curl/CMake/CurlSymbolHiding.cmake
@@ -23,62 +23,58 @@
###########################################################################
include(CheckCSourceCompiles)
-option(CURL_HIDDEN_SYMBOLS "Set to ON to hide libcurl internal symbols (=hide all symbols that aren't officially external)." ON)
+option(CURL_HIDDEN_SYMBOLS "Hide libcurl internal symbols (=hide all symbols that are not officially external)" ON)
mark_as_advanced(CURL_HIDDEN_SYMBOLS)
-if(WIN32 AND ENABLE_CURLDEBUG)
- # We need to export internal debug functions (e.g. curl_dbg_*), so disable
- # symbol hiding for debug builds.
+if(WIN32 AND (ENABLE_DEBUG OR ENABLE_CURLDEBUG))
+ # We need to export internal debug functions,
+ # e.g. curl_easy_perform_ev() or curl_dbg_*(),
+ # so disable symbol hiding for debug builds and for memory tracking.
set(CURL_HIDDEN_SYMBOLS OFF)
endif()
if(CURL_HIDDEN_SYMBOLS)
- set(SUPPORTS_SYMBOL_HIDING FALSE)
+ set(_supports_symbol_hiding FALSE)
if(CMAKE_C_COMPILER_ID MATCHES "Clang" AND NOT MSVC)
- set(SUPPORTS_SYMBOL_HIDING TRUE)
- set(_SYMBOL_EXTERN "__attribute__ ((__visibility__ (\"default\")))")
- set(_CFLAG_SYMBOLS_HIDE "-fvisibility=hidden")
+ set(_supports_symbol_hiding TRUE)
+ set(_symbol_extern "__attribute__ ((__visibility__ (\"default\")))")
+ set(_cflag_symbols_hide "-fvisibility=hidden")
elseif(CMAKE_COMPILER_IS_GNUCC)
if(NOT CMAKE_C_COMPILER_VERSION VERSION_LESS 3.4)
- # note: this is considered buggy prior to 4.0 but the autotools don't care, so let's ignore that fact
- set(SUPPORTS_SYMBOL_HIDING TRUE)
- set(_SYMBOL_EXTERN "__attribute__ ((__visibility__ (\"default\")))")
- set(_CFLAG_SYMBOLS_HIDE "-fvisibility=hidden")
+ # Note: This is considered buggy prior to 4.0 but the autotools do not care, so let us ignore that fact
+ set(_supports_symbol_hiding TRUE)
+ set(_symbol_extern "__attribute__ ((__visibility__ (\"default\")))")
+ set(_cflag_symbols_hide "-fvisibility=hidden")
endif()
elseif(CMAKE_C_COMPILER_ID MATCHES "SunPro" AND NOT CMAKE_C_COMPILER_VERSION VERSION_LESS 8.0)
- set(SUPPORTS_SYMBOL_HIDING TRUE)
- set(_SYMBOL_EXTERN "__global")
- set(_CFLAG_SYMBOLS_HIDE "-xldscope=hidden")
+ set(_supports_symbol_hiding TRUE)
+ set(_symbol_extern "__global")
+ set(_cflag_symbols_hide "-xldscope=hidden")
elseif(CMAKE_C_COMPILER_ID MATCHES "Intel" AND NOT CMAKE_C_COMPILER_VERSION VERSION_LESS 9.0)
- # note: this should probably just check for version 9.1.045 but I'm not 100% sure
- # so let's do it the same way autotools do.
- set(SUPPORTS_SYMBOL_HIDING TRUE)
- set(_SYMBOL_EXTERN "__attribute__ ((__visibility__ (\"default\")))")
- set(_CFLAG_SYMBOLS_HIDE "-fvisibility=hidden")
+ # Note: This should probably just check for version 9.1.045 but I am not 100% sure
+ # so let us do it the same way autotools do.
+ set(_supports_symbol_hiding TRUE)
+ set(_symbol_extern "__attribute__ ((__visibility__ (\"default\")))")
+ set(_cflag_symbols_hide "-fvisibility=hidden")
check_c_source_compiles("#include
- int main (void) { printf(\"icc fvisibility bug test\"); return 0; }" _no_bug)
+ int main(void) { printf(\"icc fvisibility bug test\"); return 0; }" _no_bug)
if(NOT _no_bug)
- set(SUPPORTS_SYMBOL_HIDING FALSE)
- set(_SYMBOL_EXTERN "")
- set(_CFLAG_SYMBOLS_HIDE "")
+ set(_supports_symbol_hiding FALSE)
+ set(_symbol_extern "")
+ set(_cflag_symbols_hide "")
endif()
elseif(MSVC)
- set(SUPPORTS_SYMBOL_HIDING TRUE)
+ set(_supports_symbol_hiding TRUE)
endif()
- set(HIDES_CURL_PRIVATE_SYMBOLS ${SUPPORTS_SYMBOL_HIDING})
-elseif(MSVC)
- if(NOT CMAKE_VERSION VERSION_LESS 3.7)
- set(CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS TRUE) #present since 3.4.3 but broken
- set(HIDES_CURL_PRIVATE_SYMBOLS FALSE)
- else()
- message(WARNING "Hiding private symbols regardless CURL_HIDDEN_SYMBOLS being disabled.")
- set(HIDES_CURL_PRIVATE_SYMBOLS TRUE)
- endif()
+ set(CURL_HIDES_PRIVATE_SYMBOLS ${_supports_symbol_hiding})
else()
- set(HIDES_CURL_PRIVATE_SYMBOLS FALSE)
+ if(MSVC)
+ set(CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS TRUE)
+ endif()
+ set(CURL_HIDES_PRIVATE_SYMBOLS FALSE)
endif()
-set(CURL_CFLAG_SYMBOLS_HIDE ${_CFLAG_SYMBOLS_HIDE})
-set(CURL_EXTERN_SYMBOL ${_SYMBOL_EXTERN})
+set(CURL_CFLAG_SYMBOLS_HIDE ${_cflag_symbols_hide})
+set(CURL_EXTERN_SYMBOL ${_symbol_extern})
diff --git a/curl/CMake/CurlTests.c b/curl/CMake/CurlTests.c
index ea80ec89..57975865 100644
--- a/curl/CMake/CurlTests.c
+++ b/curl/CMake/CurlTests.c
@@ -23,7 +23,6 @@
***************************************************************************/
#ifdef HAVE_FCNTL_O_NONBLOCK
-
/* headers for FCNTL_O_NONBLOCK test */
#include
#include
@@ -45,14 +44,13 @@
#error "O_NONBLOCK does not work on this platform"
#endif
-int
-main ()
+int main(void)
{
- /* O_NONBLOCK source test */
- int flags = 0;
- if(0 != fcntl(0, F_SETFL, flags | O_NONBLOCK))
- return 1;
- return 0;
+ /* O_NONBLOCK source test */
+ int flags = 0;
+ if(0 != fcntl(0, F_SETFL, flags | O_NONBLOCK))
+ return 1;
+ return 0;
}
#endif
@@ -108,36 +106,16 @@ int main(void)
}
#endif
-#ifdef HAVE_SOCKLEN_T
-#ifdef _WIN32
-#include
-#else
-#include
-#include
-#endif
-int
-main ()
-{
-if ((socklen_t *) 0)
- return 0;
-if (sizeof (socklen_t))
- return 0;
- ;
- return 0;
-}
-#endif
#ifdef HAVE_IN_ADDR_T
#include
#include
#include
-
-int
-main ()
+int main(void)
{
-if ((in_addr_t *) 0)
- return 0;
-if (sizeof (in_addr_t))
- return 0;
+ if((in_addr_t *) 0)
+ return 0;
+ if(sizeof(in_addr_t))
+ return 0;
;
return 0;
}
@@ -150,11 +128,10 @@ if (sizeof (in_addr_t))
#ifdef HAVE_STDBOOL_H
#include
#endif
-int
-main ()
+int main(void)
{
-if (sizeof (bool *) )
- return 0;
+ if(sizeof(bool *))
+ return 0;
;
return 0;
}
@@ -165,8 +142,9 @@ if (sizeof (bool *) )
#include
#include
#include
-int main() { return 0; }
+int main(void) { return 0; }
#endif
+
#ifdef HAVE_FILE_OFFSET_BITS
#ifdef _FILE_OFFSET_BITS
#undef _FILE_OFFSET_BITS
@@ -174,111 +152,90 @@ int main() { return 0; }
#define _FILE_OFFSET_BITS 64
#include
/* Check that off_t can represent 2**63 - 1 correctly.
- We can't simply define LARGE_OFF_T to be 9223372036854775807,
+ We cannot simply define LARGE_OFF_T to be 9223372036854775807,
since some C++ compilers masquerading as C compilers
incorrectly reject 9223372036854775807. */
#define LARGE_OFF_T (((off_t) 1 << 62) - 1 + ((off_t) 1 << 62))
int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721
&& LARGE_OFF_T % 2147483647 == 1)
? 1 : -1];
-int main () { ; return 0; }
+int main(void) { ; return 0; }
#endif
+
#ifdef HAVE_IOCTLSOCKET
/* includes start */
-#ifdef HAVE_WINDOWS_H
+#ifdef _WIN32
# ifndef WIN32_LEAN_AND_MEAN
# define WIN32_LEAN_AND_MEAN
# endif
-# include
-# ifdef HAVE_WINSOCK2_H
-# include
-# endif
+# include
#endif
-
-int
-main ()
+int main(void)
{
-
-/* ioctlsocket source code */
- int socket;
- unsigned long flags = ioctlsocket(socket, FIONBIO, &flags);
-
+ /* ioctlsocket source code */
+ int socket;
+ unsigned long flags = ioctlsocket(socket, FIONBIO, &flags);
;
return 0;
}
#endif
+
#ifdef HAVE_IOCTLSOCKET_CAMEL
/* includes start */
-#ifdef HAVE_WINDOWS_H
+#ifdef _WIN32
# ifndef WIN32_LEAN_AND_MEAN
# define WIN32_LEAN_AND_MEAN
# endif
-# include
-# ifdef HAVE_WINSOCK2_H
-# include
-# endif
+# include
#endif
-
-int
-main ()
+int main(void)
{
-
-/* IoctlSocket source code */
- if(0 != IoctlSocket(0, 0, 0))
- return 1;
+ /* IoctlSocket source code */
+ if(0 != IoctlSocket(0, 0, 0))
+ return 1;
;
return 0;
}
#endif
+
#ifdef HAVE_IOCTLSOCKET_CAMEL_FIONBIO
/* includes start */
-#ifdef HAVE_WINDOWS_H
+#ifdef _WIN32
# ifndef WIN32_LEAN_AND_MEAN
# define WIN32_LEAN_AND_MEAN
# endif
-# include
-# ifdef HAVE_WINSOCK2_H
-# include
-# endif
+# include
#endif
-
-int
-main ()
+int main(void)
{
-
-/* IoctlSocket source code */
- long flags = 0;
- if(0 != IoctlSocket(0, FIONBIO, &flags))
- return 1;
+ /* IoctlSocket source code */
+ long flags = 0;
+ if(0 != IoctlSocket(0, FIONBIO, &flags))
+ return 1;
;
return 0;
}
#endif
+
#ifdef HAVE_IOCTLSOCKET_FIONBIO
/* includes start */
-#ifdef HAVE_WINDOWS_H
+#ifdef _WIN32
# ifndef WIN32_LEAN_AND_MEAN
# define WIN32_LEAN_AND_MEAN
# endif
-# include
-# ifdef HAVE_WINSOCK2_H
-# include
-# endif
+# include
#endif
-
-int
-main ()
+int main(void)
{
-
- int flags = 0;
- if(0 != ioctlsocket(0, FIONBIO, &flags))
- return 1;
-
+ unsigned long flags = 0;
+ if(0 != ioctlsocket(0, FIONBIO, &flags))
+ return 1;
;
return 0;
}
#endif
+
#ifdef HAVE_IOCTL_FIONBIO
/* headers for FIONBIO test */
/* includes start */
@@ -297,19 +254,16 @@ main ()
#ifdef HAVE_STROPTS_H
# include
#endif
-
-int
-main ()
+int main(void)
{
-
- int flags = 0;
- if(0 != ioctl(0, FIONBIO, &flags))
- return 1;
-
+ int flags = 0;
+ if(0 != ioctl(0, FIONBIO, &flags))
+ return 1;
;
return 0;
}
#endif
+
#ifdef HAVE_IOCTL_SIOCGIFADDR
/* headers for FIONBIO test */
/* includes start */
@@ -329,28 +283,23 @@ main ()
# include
#endif
#include
-
-int
-main ()
+int main(void)
{
- struct ifreq ifr;
- if(0 != ioctl(0, SIOCGIFADDR, &ifr))
- return 1;
-
+ struct ifreq ifr;
+ if(0 != ioctl(0, SIOCGIFADDR, &ifr))
+ return 1;
;
return 0;
}
#endif
+
#ifdef HAVE_SETSOCKOPT_SO_NONBLOCK
/* includes start */
-#ifdef HAVE_WINDOWS_H
+#ifdef _WIN32
# ifndef WIN32_LEAN_AND_MEAN
# define WIN32_LEAN_AND_MEAN
# endif
-# include
-# ifdef HAVE_WINSOCK2_H
-# include
-# endif
+# include
#endif
/* includes start */
#ifdef HAVE_SYS_TYPES_H
@@ -360,123 +309,82 @@ main ()
# include
#endif
/* includes end */
-
-int
-main ()
+int main(void)
{
- if(0 != setsockopt(0, SOL_SOCKET, SO_NONBLOCK, 0, 0))
- return 1;
+ if(0 != setsockopt(0, SOL_SOCKET, SO_NONBLOCK, 0, 0))
+ return 1;
;
return 0;
}
#endif
+
#ifdef HAVE_GLIBC_STRERROR_R
#include
#include
void check(char c) {}
-int
-main () {
+int main(void)
+{
char buffer[1024];
/* This will not compile if strerror_r does not return a char* */
check(strerror_r(EACCES, buffer, sizeof(buffer))[0]);
return 0;
}
#endif
+
#ifdef HAVE_POSIX_STRERROR_R
#include
#include
-/* float, because a pointer can't be implicitly cast to float */
+/* Float, because a pointer cannot be implicitly cast to float */
void check(float f) {}
-int
-main () {
+int main(void)
+{
char buffer[1024];
/* This will not compile if strerror_r does not return an int */
check(strerror_r(EACCES, buffer, sizeof(buffer)));
return 0;
}
#endif
+
#ifdef HAVE_FSETXATTR_6
#include /* header from libc, not from libattr */
-int
-main() {
+int main(void)
+{
fsetxattr(0, 0, 0, 0, 0, 0);
return 0;
}
#endif
+
#ifdef HAVE_FSETXATTR_5
#include /* header from libc, not from libattr */
-int
-main() {
+int main(void)
+{
fsetxattr(0, 0, 0, 0, 0);
return 0;
}
#endif
+
#ifdef HAVE_CLOCK_GETTIME_MONOTONIC
#include
-int
-main() {
+int main(void)
+{
struct timespec ts = {0, 0};
clock_gettime(CLOCK_MONOTONIC, &ts);
return 0;
}
#endif
-#ifdef HAVE_BUILTIN_AVAILABLE
-int
-main() {
- if(__builtin_available(macOS 10.12, *)) {}
- return 0;
-}
-#endif
-#ifdef HAVE_VARIADIC_MACROS_C99
-#define c99_vmacro3(first, ...) fun3(first, __VA_ARGS__)
-#define c99_vmacro2(first, ...) fun2(first, __VA_ARGS__)
-int fun3(int arg1, int arg2, int arg3);
-int fun2(int arg1, int arg2);
-
-int fun3(int arg1, int arg2, int arg3) {
- return arg1 + arg2 + arg3;
-}
-int fun2(int arg1, int arg2) {
- return arg1 + arg2;
-}
-
-int
-main() {
- int res3 = c99_vmacro3(1, 2, 3);
- int res2 = c99_vmacro2(1, 2);
- (void)res3;
- (void)res2;
+#ifdef HAVE_BUILTIN_AVAILABLE
+int main(void)
+{
+ if(__builtin_available(macOS 10.12, iOS 5.0, *)) {}
return 0;
}
#endif
-#ifdef HAVE_VARIADIC_MACROS_GCC
-#define gcc_vmacro3(first, args...) fun3(first, args)
-#define gcc_vmacro2(first, args...) fun2(first, args)
-int fun3(int arg1, int arg2, int arg3);
-int fun2(int arg1, int arg2);
-
-int fun3(int arg1, int arg2, int arg3) {
- return arg1 + arg2 + arg3;
-}
-int fun2(int arg1, int arg2) {
- return arg1 + arg2;
-}
-
-int
-main() {
- int res3 = gcc_vmacro3(1, 2, 3);
- int res2 = gcc_vmacro2(1, 2);
- (void)res3;
- (void)res2;
- return 0;
-}
-#endif
#ifdef HAVE_ATOMIC
/* includes start */
#ifdef HAVE_SYS_TYPES_H
@@ -490,17 +398,24 @@ main() {
#endif
/* includes end */
-int
-main() {
+int main(void)
+{
_Atomic int i = 1;
i = 0; /* Force an atomic-write operation. */
return i;
}
#endif
+
#ifdef HAVE_WIN32_WINNT
/* includes start */
-#ifdef WIN32
-# include "../lib/setup-win32.h"
+#ifdef _WIN32
+# ifndef WIN32_LEAN_AND_MEAN
+# define WIN32_LEAN_AND_MEAN
+# endif
+# ifndef NOGDI
+# define NOGDI
+# endif
+# include
#endif
/* includes end */
@@ -508,8 +423,8 @@ main() {
#define expand(x) enquote(x)
#pragma message("_WIN32_WINNT=" expand(_WIN32_WINNT))
-int
-main() {
+int main(void)
+{
return 0;
}
#endif
diff --git a/curl/CMake/FindBearSSL.cmake b/curl/CMake/FindBearSSL.cmake
index 56a064ea..dba4f5e6 100644
--- a/curl/CMake/FindBearSSL.cmake
+++ b/curl/CMake/FindBearSSL.cmake
@@ -21,12 +21,39 @@
# SPDX-License-Identifier: curl
#
###########################################################################
-find_path(BEARSSL_INCLUDE_DIRS bearssl.h)
+# Find the bearssl library
+#
+# Input variables:
+#
+# BEARSSL_INCLUDE_DIR The bearssl include directory
+# BEARSSL_INCLUDE_DIRS The bearssl include directory (deprecated)
+# BEARSSL_LIBRARY Path to bearssl library
+#
+# Result variables:
+#
+# BEARSSL_FOUND System has bearssl
+# BEARSSL_INCLUDE_DIRS The bearssl include directories
+# BEARSSL_LIBRARIES The bearssl library names
+
+if(DEFINED BEARSSL_INCLUDE_DIRS AND NOT DEFINED BEARSSL_INCLUDE_DIR)
+ message(WARNING "BEARSSL_INCLUDE_DIRS is deprecated, use BEARSSL_INCLUDE_DIR instead.")
+ set(BEARSSL_INCLUDE_DIR "${BEARSSL_INCLUDE_DIRS}")
+ unset(BEARSSL_INCLUDE_DIRS)
+endif()
-find_library(BEARSSL_LIBRARY bearssl)
+find_path(BEARSSL_INCLUDE_DIR NAMES "bearssl.h")
+find_library(BEARSSL_LIBRARY NAMES "bearssl")
include(FindPackageHandleStandardArgs)
-find_package_handle_standard_args(BEARSSL DEFAULT_MSG
- BEARSSL_INCLUDE_DIRS BEARSSL_LIBRARY)
+find_package_handle_standard_args(BearSSL
+ REQUIRED_VARS
+ BEARSSL_INCLUDE_DIR
+ BEARSSL_LIBRARY
+)
+
+if(BEARSSL_FOUND)
+ set(BEARSSL_INCLUDE_DIRS ${BEARSSL_INCLUDE_DIR})
+ set(BEARSSL_LIBRARIES ${BEARSSL_LIBRARY})
+endif()
-mark_as_advanced(BEARSSL_INCLUDE_DIRS BEARSSL_LIBRARY)
+mark_as_advanced(BEARSSL_INCLUDE_DIR BEARSSL_LIBRARY)
diff --git a/curl/CMake/FindBrotli.cmake b/curl/CMake/FindBrotli.cmake
index 11ab7f82..1150d4cc 100644
--- a/curl/CMake/FindBrotli.cmake
+++ b/curl/CMake/FindBrotli.cmake
@@ -21,23 +21,60 @@
# SPDX-License-Identifier: curl
#
###########################################################################
-include(FindPackageHandleStandardArgs)
+# Find the brotli library
+#
+# Input variables:
+#
+# BROTLI_INCLUDE_DIR The brotli include directory
+# BROTLICOMMON_LIBRARY Path to brotlicommon library
+# BROTLIDEC_LIBRARY Path to brotlidec library
+#
+# Result variables:
+#
+# BROTLI_FOUND System has brotli
+# BROTLI_INCLUDE_DIRS The brotli include directories
+# BROTLI_LIBRARIES The brotli library names
+# BROTLI_VERSION Version of brotli
+
+if(CURL_USE_PKGCONFIG)
+ find_package(PkgConfig QUIET)
+ pkg_check_modules(PC_BROTLI "libbrotlidec")
+endif()
-find_path(BROTLI_INCLUDE_DIR "brotli/decode.h")
+find_path(BROTLI_INCLUDE_DIR "brotli/decode.h"
+ HINTS
+ ${PC_BROTLI_INCLUDEDIR}
+ ${PC_BROTLI_INCLUDE_DIRS}
+)
+
+find_library(BROTLICOMMON_LIBRARY NAMES "brotlicommon"
+ HINTS
+ ${PC_BROTLI_LIBDIR}
+ ${PC_BROTLI_LIBRARY_DIRS}
+)
+find_library(BROTLIDEC_LIBRARY NAMES "brotlidec"
+ HINTS
+ ${PC_BROTLI_LIBDIR}
+ ${PC_BROTLI_LIBRARY_DIRS}
+)
-find_library(BROTLICOMMON_LIBRARY NAMES brotlicommon)
-find_library(BROTLIDEC_LIBRARY NAMES brotlidec)
+if(PC_BROTLI_VERSION)
+ set(BROTLI_VERSION ${PC_BROTLI_VERSION})
+endif()
+include(FindPackageHandleStandardArgs)
find_package_handle_standard_args(Brotli
- FOUND_VAR
- BROTLI_FOUND
- REQUIRED_VARS
- BROTLIDEC_LIBRARY
- BROTLICOMMON_LIBRARY
- BROTLI_INCLUDE_DIR
- FAIL_MESSAGE
- "Could NOT find Brotli"
+ REQUIRED_VARS
+ BROTLI_INCLUDE_DIR
+ BROTLIDEC_LIBRARY
+ BROTLICOMMON_LIBRARY
+ VERSION_VAR
+ BROTLI_VERSION
)
-set(BROTLI_INCLUDE_DIRS ${BROTLI_INCLUDE_DIR})
-set(BROTLI_LIBRARIES ${BROTLICOMMON_LIBRARY} ${BROTLIDEC_LIBRARY})
+if(BROTLI_FOUND)
+ set(BROTLI_INCLUDE_DIRS ${BROTLI_INCLUDE_DIR})
+ set(BROTLI_LIBRARIES ${BROTLIDEC_LIBRARY} ${BROTLICOMMON_LIBRARY})
+endif()
+
+mark_as_advanced(BROTLI_INCLUDE_DIR BROTLIDEC_LIBRARY BROTLICOMMON_LIBRARY)
diff --git a/curl/CMake/FindCARES.cmake b/curl/CMake/FindCARES.cmake
index fa758911..e7b821af 100644
--- a/curl/CMake/FindCARES.cmake
+++ b/curl/CMake/FindCARES.cmake
@@ -21,27 +21,60 @@
# SPDX-License-Identifier: curl
#
###########################################################################
-# - Find c-ares
-# Find the c-ares includes and library
-# This module defines
-# CARES_INCLUDE_DIR, where to find ares.h, etc.
-# CARES_LIBRARIES, the libraries needed to use c-ares.
-# CARES_FOUND, If false, do not try to use c-ares.
-# also defined, but not for general use are
-# CARES_LIBRARY, where to find the c-ares library.
+# Find the c-ares library
+#
+# Input variables:
+#
+# CARES_INCLUDE_DIR The c-ares include directory
+# CARES_LIBRARY Path to c-ares library
+#
+# Result variables:
+#
+# CARES_FOUND System has c-ares
+# CARES_INCLUDE_DIRS The c-ares include directories
+# CARES_LIBRARIES The c-ares library names
+# CARES_VERSION Version of c-ares
-find_path(CARES_INCLUDE_DIR ares.h)
+if(CURL_USE_PKGCONFIG)
+ find_package(PkgConfig QUIET)
+ pkg_check_modules(PC_CARES "libcares")
+endif()
-set(CARES_NAMES ${CARES_NAMES} cares)
-find_library(CARES_LIBRARY
- NAMES ${CARES_NAMES}
- )
+find_path(CARES_INCLUDE_DIR NAMES "ares.h"
+ HINTS
+ ${PC_CARES_INCLUDEDIR}
+ ${PC_CARES_INCLUDE_DIRS}
+)
+
+find_library(CARES_LIBRARY NAMES ${CARES_NAMES} "cares"
+ HINTS
+ ${PC_CARES_LIBDIR}
+ ${PC_CARES_LIBRARY_DIRS}
+)
+
+if(PC_CARES_VERSION)
+ set(CARES_VERSION ${PC_CARES_VERSION})
+elseif(CARES_INCLUDE_DIR AND EXISTS "${CARES_INCLUDE_DIR}/ares_version.h")
+ set(_version_regex "#[\t ]*define[\t ]+ARES_VERSION_STR[\t ]+\"([^\"]*)\"")
+ file(STRINGS "${CARES_INCLUDE_DIR}/ares_version.h" _version_str REGEX "${_version_regex}")
+ string(REGEX REPLACE "${_version_regex}" "\\1" _version_str "${_version_str}")
+ set(CARES_VERSION "${_version_str}")
+ unset(_version_regex)
+ unset(_version_str)
+endif()
include(FindPackageHandleStandardArgs)
-find_package_handle_standard_args(CARES
- REQUIRED_VARS CARES_LIBRARY CARES_INCLUDE_DIR)
+find_package_handle_standard_args(Cares
+ REQUIRED_VARS
+ CARES_INCLUDE_DIR
+ CARES_LIBRARY
+ VERSION_VAR
+ CARES_VERSION
+)
+
+if(CARES_FOUND)
+ set(CARES_INCLUDE_DIRS ${CARES_INCLUDE_DIR})
+ set(CARES_LIBRARIES ${CARES_LIBRARY})
+endif()
-mark_as_advanced(
- CARES_LIBRARY
- CARES_INCLUDE_DIR
- )
+mark_as_advanced(CARES_INCLUDE_DIR CARES_LIBRARY)
diff --git a/curl/CMake/FindGSS.cmake b/curl/CMake/FindGSS.cmake
index b244e610..e84f8947 100644
--- a/curl/CMake/FindGSS.cmake
+++ b/curl/CMake/FindGSS.cmake
@@ -21,275 +21,276 @@
# SPDX-License-Identifier: curl
#
###########################################################################
-# - Try to find the GSS Kerberos library
-# Once done this will define
+# Find the GSS Kerberos library
#
-# GSS_ROOT_DIR - Set this variable to the root installation of GSS
+# Input variables:
#
-# Read-Only variables:
-# GSS_FOUND - system has the Heimdal library
-# GSS_FLAVOUR - "MIT" or "Heimdal" if anything found.
-# GSS_INCLUDE_DIR - the Heimdal include directory
-# GSS_LIBRARIES - The libraries needed to use GSS
-# GSS_LINK_DIRECTORIES - Directories to add to linker search path
-# GSS_LINKER_FLAGS - Additional linker flags
-# GSS_COMPILER_FLAGS - Additional compiler flags
-# GSS_VERSION - This is set to version advertised by pkg-config or read from manifest.
-# In case the library is found but no version info available it'll be set to "unknown"
-
-set(_MIT_MODNAME mit-krb5-gssapi)
-set(_HEIMDAL_MODNAME heimdal-gssapi)
+# GSS_ROOT_DIR Set this variable to the root installation of GSS
+#
+# Result variables:
+#
+# GSS_FOUND System has the Heimdal library
+# GSS_FLAVOUR "MIT" or "Heimdal" if anything found
+# GSS_INCLUDE_DIRS The GSS include directories
+# GSS_LIBRARIES The GSS library names
+# GSS_LIBRARY_DIRS The GSS library directories
+# GSS_LDFLAGS Required linker flags
+# GSS_CFLAGS Required compiler flags
+# GSS_VERSION This is set to version advertised by pkg-config or read from manifest.
+# In case the library is found but no version info available it is set to "unknown"
+
+set(_mit_modname "mit-krb5-gssapi")
+set(_heimdal_modname "heimdal-gssapi")
include(CheckIncludeFile)
include(CheckIncludeFiles)
include(CheckTypeSize)
-set(_GSS_ROOT_HINTS
- "${GSS_ROOT_DIR}"
- "$ENV{GSS_ROOT_DIR}"
+set(_gss_root_hints
+ "${GSS_ROOT_DIR}"
+ "$ENV{GSS_ROOT_DIR}"
)
-# try to find library using system pkg-config if user didn't specify root dir
+# Try to find library using system pkg-config if user did not specify root dir
if(NOT GSS_ROOT_DIR AND NOT "$ENV{GSS_ROOT_DIR}")
- if(UNIX)
+ if(CURL_USE_PKGCONFIG)
find_package(PkgConfig QUIET)
- pkg_search_module(_GSS_PKG ${_MIT_MODNAME} ${_HEIMDAL_MODNAME})
- list(APPEND _GSS_ROOT_HINTS "${_GSS_PKG_PREFIX}")
- elseif(WIN32)
- list(APPEND _GSS_ROOT_HINTS "[HKEY_LOCAL_MACHINE\\SOFTWARE\\MIT\\Kerberos;InstallDir]")
+ pkg_search_module(_GSS ${_mit_modname} ${_heimdal_modname})
+ list(APPEND _gss_root_hints "${_GSS_PREFIX}")
+ endif()
+ if(WIN32)
+ list(APPEND _gss_root_hints "[HKEY_LOCAL_MACHINE\\SOFTWARE\\MIT\\Kerberos;InstallDir]")
endif()
endif()
-if(NOT _GSS_FOUND) #not found by pkg-config. Let's take more traditional approach.
- find_file(_GSS_CONFIGURE_SCRIPT
- NAMES
- "krb5-config"
- HINTS
- ${_GSS_ROOT_HINTS}
- PATH_SUFFIXES
- bin
- NO_CMAKE_PATH
- NO_CMAKE_ENVIRONMENT_PATH
+if(NOT _GSS_FOUND) # Not found by pkg-config. Let us take more traditional approach.
+ find_file(_gss_configure_script
+ NAMES
+ "krb5-config"
+ HINTS
+ ${_gss_root_hints}
+ PATH_SUFFIXES
+ "bin"
+ NO_CMAKE_PATH
+ NO_CMAKE_ENVIRONMENT_PATH
)
- # if not found in user-supplied directories, maybe system knows better
- find_file(_GSS_CONFIGURE_SCRIPT
- NAMES
- "krb5-config"
- PATH_SUFFIXES
- bin
+ # If not found in user-supplied directories, maybe system knows better
+ find_file(_gss_configure_script
+ NAMES
+ "krb5-config"
+ PATH_SUFFIXES
+ "bin"
)
- if(_GSS_CONFIGURE_SCRIPT)
+ if(_gss_configure_script)
execute_process(
- COMMAND ${_GSS_CONFIGURE_SCRIPT} "--cflags" "gssapi"
- OUTPUT_VARIABLE _GSS_CFLAGS
- RESULT_VARIABLE _GSS_CONFIGURE_FAILED
- OUTPUT_STRIP_TRAILING_WHITESPACE
- )
- message(STATUS "CFLAGS: ${_GSS_CFLAGS}")
- if(NOT _GSS_CONFIGURE_FAILED) # 0 means success
- # should also work in an odd case when multiple directories are given
+ COMMAND ${_gss_configure_script} "--cflags" "gssapi"
+ OUTPUT_VARIABLE _GSS_CFLAGS
+ RESULT_VARIABLE _gss_configure_failed
+ OUTPUT_STRIP_TRAILING_WHITESPACE
+ )
+ message(STATUS "FindGSS CFLAGS: ${_GSS_CFLAGS}")
+ if(NOT _gss_configure_failed) # 0 means success
+ # Should also work in an odd case when multiple directories are given
string(STRIP "${_GSS_CFLAGS}" _GSS_CFLAGS)
string(REGEX REPLACE " +-I" ";" _GSS_CFLAGS "${_GSS_CFLAGS}")
string(REGEX REPLACE " +-([^I][^ \\t;]*)" ";-\\1" _GSS_CFLAGS "${_GSS_CFLAGS}")
- foreach(_flag ${_GSS_CFLAGS})
+ foreach(_flag IN LISTS _GSS_CFLAGS)
if(_flag MATCHES "^-I.*")
string(REGEX REPLACE "^-I" "" _val "${_flag}")
- list(APPEND _GSS_INCLUDE_DIR "${_val}")
+ list(APPEND _GSS_INCLUDE_DIRS "${_val}")
else()
- list(APPEND _GSS_COMPILER_FLAGS "${_flag}")
+ list(APPEND _GSS_CFLAGS "${_flag}")
endif()
endforeach()
endif()
execute_process(
- COMMAND ${_GSS_CONFIGURE_SCRIPT} "--libs" "gssapi"
- OUTPUT_VARIABLE _GSS_LIB_FLAGS
- RESULT_VARIABLE _GSS_CONFIGURE_FAILED
- OUTPUT_STRIP_TRAILING_WHITESPACE
+ COMMAND ${_gss_configure_script} "--libs" "gssapi"
+ OUTPUT_VARIABLE _gss_lib_flags
+ RESULT_VARIABLE _gss_configure_failed
+ OUTPUT_STRIP_TRAILING_WHITESPACE
)
- message(STATUS "LDFLAGS: ${_GSS_LIB_FLAGS}")
+ message(STATUS "FindGSS LDFLAGS: ${_gss_lib_flags}")
- if(NOT _GSS_CONFIGURE_FAILED) # 0 means success
- # this script gives us libraries and link directories. Blah. We have to deal with it.
- string(STRIP "${_GSS_LIB_FLAGS}" _GSS_LIB_FLAGS)
- string(REGEX REPLACE " +-(L|l)" ";-\\1" _GSS_LIB_FLAGS "${_GSS_LIB_FLAGS}")
- string(REGEX REPLACE " +-([^Ll][^ \\t;]*)" ";-\\1" _GSS_LIB_FLAGS "${_GSS_LIB_FLAGS}")
+ if(NOT _gss_configure_failed) # 0 means success
+ # This script gives us libraries and link directories. Blah. We have to deal with it.
+ string(STRIP "${_gss_lib_flags}" _gss_lib_flags)
+ string(REGEX REPLACE " +-(L|l)" ";-\\1" _gss_lib_flags "${_gss_lib_flags}")
+ string(REGEX REPLACE " +-([^Ll][^ \\t;]*)" ";-\\1" _gss_lib_flags "${_gss_lib_flags}")
- foreach(_flag ${_GSS_LIB_FLAGS})
+ foreach(_flag IN LISTS _gss_lib_flags)
if(_flag MATCHES "^-l.*")
string(REGEX REPLACE "^-l" "" _val "${_flag}")
list(APPEND _GSS_LIBRARIES "${_val}")
elseif(_flag MATCHES "^-L.*")
string(REGEX REPLACE "^-L" "" _val "${_flag}")
- list(APPEND _GSS_LINK_DIRECTORIES "${_val}")
+ list(APPEND _GSS_LIBRARY_DIRS "${_val}")
else()
- list(APPEND _GSS_LINKER_FLAGS "${_flag}")
+ list(APPEND _GSS_LDFLAGS "${_flag}")
endif()
endforeach()
endif()
execute_process(
- COMMAND ${_GSS_CONFIGURE_SCRIPT} "--version"
- OUTPUT_VARIABLE _GSS_VERSION
- RESULT_VARIABLE _GSS_CONFIGURE_FAILED
- OUTPUT_STRIP_TRAILING_WHITESPACE
+ COMMAND ${_gss_configure_script} "--version"
+ OUTPUT_VARIABLE _GSS_VERSION
+ RESULT_VARIABLE _gss_configure_failed
+ OUTPUT_STRIP_TRAILING_WHITESPACE
)
- # older versions may not have the "--version" parameter. In this case we just don't care.
- if(_GSS_CONFIGURE_FAILED)
+ # Older versions may not have the "--version" parameter. In this case we just do not care.
+ if(_gss_configure_failed)
set(_GSS_VERSION 0)
endif()
execute_process(
- COMMAND ${_GSS_CONFIGURE_SCRIPT} "--vendor"
- OUTPUT_VARIABLE _GSS_VENDOR
- RESULT_VARIABLE _GSS_CONFIGURE_FAILED
- OUTPUT_STRIP_TRAILING_WHITESPACE
+ COMMAND ${_gss_configure_script} "--vendor"
+ OUTPUT_VARIABLE _gss_vendor
+ RESULT_VARIABLE _gss_configure_failed
+ OUTPUT_STRIP_TRAILING_WHITESPACE
)
- # older versions may not have the "--vendor" parameter. In this case we just don't care.
- if(_GSS_CONFIGURE_FAILED)
- set(GSS_FLAVOUR "Heimdal") # most probably, shouldn't really matter
+ # Older versions may not have the "--vendor" parameter. In this case we just do not care.
+ if(_gss_configure_failed)
+ set(GSS_FLAVOUR "Heimdal") # most probably, should not really matter
else()
- if(_GSS_VENDOR MATCHES ".*H|heimdal.*")
+ if(_gss_vendor MATCHES ".*H|heimdal.*")
set(GSS_FLAVOUR "Heimdal")
else()
set(GSS_FLAVOUR "MIT")
endif()
endif()
- else() # either there is no config script or we are on a platform that doesn't provide one (Windows?)
+ else() # Either there is no config script or we are on a platform that does not provide one (Windows?)
- find_path(_GSS_INCLUDE_DIR
- NAMES
- "gssapi/gssapi.h"
- HINTS
- ${_GSS_ROOT_HINTS}
- PATH_SUFFIXES
- include
- inc
+ find_path(_GSS_INCLUDE_DIRS NAMES "gssapi/gssapi.h"
+ HINTS
+ ${_gss_root_hints}
+ PATH_SUFFIXES
+ "include"
+ "inc"
)
- if(_GSS_INCLUDE_DIR) #jay, we've found something
- set(CMAKE_REQUIRED_INCLUDES "${_GSS_INCLUDE_DIR}")
- check_include_files( "gssapi/gssapi_generic.h;gssapi/gssapi_krb5.h" _GSS_HAVE_MIT_HEADERS)
+ if(_GSS_INCLUDE_DIRS) # jay, we have found something
+ set(CMAKE_REQUIRED_INCLUDES "${_GSS_INCLUDE_DIRS}")
+ check_include_files("gssapi/gssapi_generic.h;gssapi/gssapi_krb5.h" _gss_have_mit_headers)
- if(_GSS_HAVE_MIT_HEADERS)
+ if(_gss_have_mit_headers)
set(GSS_FLAVOUR "MIT")
else()
- # prevent compiling the header - just check if we can include it
- list(APPEND CMAKE_REQUIRED_DEFINITIONS -D__ROKEN_H__)
- check_include_file( "roken.h" _GSS_HAVE_ROKEN_H)
+ # Prevent compiling the header - just check if we can include it
+ list(APPEND CMAKE_REQUIRED_DEFINITIONS "-D__ROKEN_H__")
+ check_include_file("roken.h" _gss_have_roken_h)
- check_include_file( "heimdal/roken.h" _GSS_HAVE_HEIMDAL_ROKEN_H)
- if(_GSS_HAVE_ROKEN_H OR _GSS_HAVE_HEIMDAL_ROKEN_H)
+ check_include_file("heimdal/roken.h" _gss_have_heimdal_roken_h)
+ if(_gss_have_roken_h OR _gss_have_heimdal_roken_h)
set(GSS_FLAVOUR "Heimdal")
endif()
- list(REMOVE_ITEM CMAKE_REQUIRED_DEFINITIONS -D__ROKEN_H__)
+ list(REMOVE_ITEM CMAKE_REQUIRED_DEFINITIONS "-D__ROKEN_H__")
endif()
else()
- # I'm not convinced if this is the right way but this is what autotools do at the moment
- find_path(_GSS_INCLUDE_DIR
- NAMES
- "gssapi.h"
- HINTS
- ${_GSS_ROOT_HINTS}
- PATH_SUFFIXES
- include
- inc
+ # I am not convinced if this is the right way but this is what autotools do at the moment
+ find_path(_GSS_INCLUDE_DIRS NAMES "gssapi.h"
+ HINTS
+ ${_gss_root_hints}
+ PATH_SUFFIXES
+ "include"
+ "inc"
)
- if(_GSS_INCLUDE_DIR)
+ if(_GSS_INCLUDE_DIRS)
set(GSS_FLAVOUR "Heimdal")
endif()
endif()
- # if we have headers, check if we can link libraries
+ # If we have headers, check if we can link libraries
if(GSS_FLAVOUR)
- set(_GSS_LIBDIR_SUFFIXES "")
- set(_GSS_LIBDIR_HINTS ${_GSS_ROOT_HINTS})
- get_filename_component(_GSS_CALCULATED_POTENTIAL_ROOT "${_GSS_INCLUDE_DIR}" PATH)
- list(APPEND _GSS_LIBDIR_HINTS ${_GSS_CALCULATED_POTENTIAL_ROOT})
+ set(_gss_libdir_suffixes "")
+ set(_gss_libdir_hints ${_gss_root_hints})
+ get_filename_component(_gss_calculated_potential_root "${_GSS_INCLUDE_DIRS}" DIRECTORY)
+ list(APPEND _gss_libdir_hints ${_gss_calculated_potential_root})
if(WIN32)
if(CMAKE_SIZEOF_VOID_P EQUAL 8)
- list(APPEND _GSS_LIBDIR_SUFFIXES "lib/AMD64")
+ list(APPEND _gss_libdir_suffixes "lib/AMD64")
if(GSS_FLAVOUR STREQUAL "MIT")
- set(_GSS_LIBNAME "gssapi64")
+ set(_gss_libname "gssapi64")
else()
- set(_GSS_LIBNAME "libgssapi")
+ set(_gss_libname "libgssapi")
endif()
else()
- list(APPEND _GSS_LIBDIR_SUFFIXES "lib/i386")
+ list(APPEND _gss_libdir_suffixes "lib/i386")
if(GSS_FLAVOUR STREQUAL "MIT")
- set(_GSS_LIBNAME "gssapi32")
+ set(_gss_libname "gssapi32")
else()
- set(_GSS_LIBNAME "libgssapi")
+ set(_gss_libname "libgssapi")
endif()
endif()
else()
- list(APPEND _GSS_LIBDIR_SUFFIXES "lib;lib64") # those suffixes are not checked for HINTS
+ list(APPEND _gss_libdir_suffixes "lib;lib64") # those suffixes are not checked for HINTS
if(GSS_FLAVOUR STREQUAL "MIT")
- set(_GSS_LIBNAME "gssapi_krb5")
+ set(_gss_libname "gssapi_krb5")
else()
- set(_GSS_LIBNAME "gssapi")
+ set(_gss_libname "gssapi")
endif()
endif()
- find_library(_GSS_LIBRARIES
- NAMES
- ${_GSS_LIBNAME}
- HINTS
- ${_GSS_LIBDIR_HINTS}
- PATH_SUFFIXES
- ${_GSS_LIBDIR_SUFFIXES}
+ find_library(_GSS_LIBRARIES NAMES ${_gss_libname}
+ HINTS
+ ${_gss_libdir_hints}
+ PATH_SUFFIXES
+ ${_gss_libdir_suffixes}
)
-
endif()
endif()
else()
- if(_GSS_PKG_${_MIT_MODNAME}_VERSION)
+ if(_GSS_MODULE_NAME STREQUAL _mit_modname OR _GSS_${_mit_modname}_VERSION) # _GSS_MODULE_NAME set since CMake 3.16
set(GSS_FLAVOUR "MIT")
- set(_GSS_VERSION _GSS_PKG_${_MIT_MODNAME}_VERSION)
+ if(NOT _GSS_VERSION) # for old CMake versions?
+ set(_GSS_VERSION ${_GSS_${_mit_modname}_VERSION})
+ endif()
else()
set(GSS_FLAVOUR "Heimdal")
- set(_GSS_VERSION _GSS_PKG_${_MIT_HEIMDAL}_VERSION)
+ if(NOT _GSS_VERSION) # for old CMake versions?
+ set(_GSS_VERSION ${_GSS_${_heimdal_modname}_VERSION})
+ endif()
endif()
+ message(STATUS "Found GSS/${GSS_FLAVOUR} (via pkg-config): ${_GSS_INCLUDE_DIRS} (found version \"${_GSS_VERSION}\")")
endif()
-set(GSS_INCLUDE_DIR ${_GSS_INCLUDE_DIR})
+set(GSS_INCLUDE_DIRS ${_GSS_INCLUDE_DIRS})
set(GSS_LIBRARIES ${_GSS_LIBRARIES})
-set(GSS_LINK_DIRECTORIES ${_GSS_LINK_DIRECTORIES})
-set(GSS_LINKER_FLAGS ${_GSS_LINKER_FLAGS})
-set(GSS_COMPILER_FLAGS ${_GSS_COMPILER_FLAGS})
+set(GSS_LIBRARY_DIRS ${_GSS_LIBRARY_DIRS})
+set(GSS_LDFLAGS ${_GSS_LDFLAGS})
+set(GSS_CFLAGS ${_GSS_CFLAGS})
set(GSS_VERSION ${_GSS_VERSION})
if(GSS_FLAVOUR)
if(NOT GSS_VERSION AND GSS_FLAVOUR STREQUAL "Heimdal")
if(CMAKE_SIZEOF_VOID_P EQUAL 8)
- set(HEIMDAL_MANIFEST_FILE "Heimdal.Application.amd64.manifest")
+ set(_heimdal_manifest_file "Heimdal.Application.amd64.manifest")
else()
- set(HEIMDAL_MANIFEST_FILE "Heimdal.Application.x86.manifest")
+ set(_heimdal_manifest_file "Heimdal.Application.x86.manifest")
endif()
- if(EXISTS "${GSS_INCLUDE_DIR}/${HEIMDAL_MANIFEST_FILE}")
- file(STRINGS "${GSS_INCLUDE_DIR}/${HEIMDAL_MANIFEST_FILE}" heimdal_version_str
- REGEX "^.*version=\"[0-9]\\.[^\"]+\".*$")
+ if(EXISTS "${GSS_INCLUDE_DIRS}/${_heimdal_manifest_file}")
+ file(STRINGS "${GSS_INCLUDE_DIRS}/${_heimdal_manifest_file}" _heimdal_version_str
+ REGEX "^.*version=\"[0-9]\\.[^\"]+\".*$")
- string(REGEX MATCH "[0-9]\\.[^\"]+"
- GSS_VERSION "${heimdal_version_str}")
+ string(REGEX MATCH "[0-9]\\.[^\"]+" GSS_VERSION "${_heimdal_version_str}")
endif()
if(NOT GSS_VERSION)
set(GSS_VERSION "Heimdal Unknown")
endif()
elseif(NOT GSS_VERSION AND GSS_FLAVOUR STREQUAL "MIT")
- get_filename_component(_MIT_VERSION "[HKEY_LOCAL_MACHINE\\SOFTWARE\\MIT\\Kerberos\\SDK\\CurrentVersion;VersionString]" NAME CACHE)
- if(WIN32 AND _MIT_VERSION)
- set(GSS_VERSION "${_MIT_VERSION}")
+ get_filename_component(_mit_version "[HKEY_LOCAL_MACHINE\\SOFTWARE\\MIT\\Kerberos\\SDK\\CurrentVersion;VersionString]" NAME
+ CACHE)
+ if(WIN32 AND _mit_version)
+ set(GSS_VERSION "${_mit_version}")
else()
set(GSS_VERSION "MIT Unknown")
endif()
@@ -297,16 +298,24 @@ if(GSS_FLAVOUR)
endif()
include(FindPackageHandleStandardArgs)
-
-set(_GSS_REQUIRED_VARS GSS_LIBRARIES GSS_FLAVOUR)
-
find_package_handle_standard_args(GSS
- REQUIRED_VARS
- ${_GSS_REQUIRED_VARS}
- VERSION_VAR
- GSS_VERSION
- FAIL_MESSAGE
- "Could NOT find GSS, try to set the path to GSS root folder in the system variable GSS_ROOT_DIR"
+ REQUIRED_VARS
+ GSS_FLAVOUR
+ GSS_LIBRARIES
+ VERSION_VAR
+ GSS_VERSION
+ FAIL_MESSAGE
+ "Could NOT find GSS, try to set the path to GSS root folder in the system variable GSS_ROOT_DIR"
)
-mark_as_advanced(GSS_INCLUDE_DIR GSS_LIBRARIES)
+mark_as_advanced(
+ _GSS_CFLAGS
+ _GSS_FOUND
+ _GSS_INCLUDE_DIRS
+ _GSS_LDFLAGS
+ _GSS_LIBRARIES
+ _GSS_LIBRARY_DIRS
+ _GSS_MODULE_NAME
+ _GSS_PREFIX
+ _GSS_VERSION
+)
diff --git a/curl/CMake/FindLibPSL.cmake b/curl/CMake/FindLibPSL.cmake
index e3bd68d1..b2cd64f0 100644
--- a/curl/CMake/FindLibPSL.cmake
+++ b/curl/CMake/FindLibPSL.cmake
@@ -21,25 +21,60 @@
# SPDX-License-Identifier: curl
#
###########################################################################
-# - Try to find the libpsl library
-# Once done this will define
+# Find the libpsl library
#
-# LIBPSL_FOUND - system has the libpsl library
-# LIBPSL_INCLUDE_DIR - the libpsl include directory
-# LIBPSL_LIBRARY - the libpsl library name
+# Input variables:
+#
+# LIBPSL_INCLUDE_DIR The libpsl include directory
+# LIBPSL_LIBRARY Path to libpsl library
+#
+# Result variables:
+#
+# LIBPSL_FOUND System has libpsl
+# LIBPSL_INCLUDE_DIRS The libpsl include directories
+# LIBPSL_LIBRARIES The libpsl library names
+# LIBPSL_VERSION Version of libpsl
-find_path(LIBPSL_INCLUDE_DIR libpsl.h)
+if(CURL_USE_PKGCONFIG)
+ find_package(PkgConfig QUIET)
+ pkg_check_modules(PC_LIBPSL "libpsl")
+endif()
-find_library(LIBPSL_LIBRARY NAMES psl libpsl)
+find_path(LIBPSL_INCLUDE_DIR NAMES "libpsl.h"
+ HINTS
+ ${PC_LIBPSL_INCLUDEDIR}
+ ${PC_LIBPSL_INCLUDE_DIRS}
+)
-if(LIBPSL_INCLUDE_DIR)
- file(STRINGS "${LIBPSL_INCLUDE_DIR}/libpsl.h" libpsl_version_str REGEX "^#define[\t ]+PSL_VERSION[\t ]+\"(.*)\"")
- string(REGEX REPLACE "^.*\"([^\"]+)\"" "\\1" LIBPSL_VERSION "${libpsl_version_str}")
+find_library(LIBPSL_LIBRARY NAMES "psl" "libpsl"
+ HINTS
+ ${PC_LIBPSL_LIBDIR}
+ ${PC_LIBPSL_LIBRARY_DIRS}
+)
+
+if(PC_LIBPSL_VERSION)
+ set(LIBPSL_VERSION ${PC_LIBPSL_VERSION})
+elseif(LIBPSL_INCLUDE_DIR AND EXISTS "${LIBPSL_INCLUDE_DIR}/libpsl.h")
+ set(_version_regex "#[\t ]*define[\t ]+PSL_VERSION[\t ]+\"([^\"]*)\"")
+ file(STRINGS "${LIBPSL_INCLUDE_DIR}/libpsl.h" _version_str REGEX "${_version_regex}")
+ string(REGEX REPLACE "${_version_regex}" "\\1" _version_str "${_version_str}")
+ set(LIBPSL_VERSION "${_version_str}")
+ unset(_version_regex)
+ unset(_version_str)
endif()
include(FindPackageHandleStandardArgs)
-find_package_handle_standard_args(LibPSL
- REQUIRED_VARS LIBPSL_LIBRARY LIBPSL_INCLUDE_DIR
- VERSION_VAR LIBPSL_VERSION)
+find_package_handle_standard_args(Libpsl
+ REQUIRED_VARS
+ LIBPSL_INCLUDE_DIR
+ LIBPSL_LIBRARY
+ VERSION_VAR
+ LIBPSL_VERSION
+)
+
+if(LIBPSL_FOUND)
+ set(LIBPSL_INCLUDE_DIRS ${LIBPSL_INCLUDE_DIR})
+ set(LIBPSL_LIBRARIES ${LIBPSL_LIBRARY})
+endif()
mark_as_advanced(LIBPSL_INCLUDE_DIR LIBPSL_LIBRARY)
diff --git a/curl/CMake/FindLibSSH2.cmake b/curl/CMake/FindLibSSH2.cmake
index a0c251ae..0007a8a7 100644
--- a/curl/CMake/FindLibSSH2.cmake
+++ b/curl/CMake/FindLibSSH2.cmake
@@ -21,25 +21,60 @@
# SPDX-License-Identifier: curl
#
###########################################################################
-# - Try to find the libssh2 library
-# Once done this will define
+# Find the libssh2 library
#
-# LIBSSH2_FOUND - system has the libssh2 library
-# LIBSSH2_INCLUDE_DIR - the libssh2 include directory
-# LIBSSH2_LIBRARY - the libssh2 library name
+# Input variables:
+#
+# LIBSSH2_INCLUDE_DIR The libssh2 include directory
+# LIBSSH2_LIBRARY Path to libssh2 library
+#
+# Result variables:
+#
+# LIBSSH2_FOUND System has libssh2
+# LIBSSH2_INCLUDE_DIRS The libssh2 include directories
+# LIBSSH2_LIBRARIES The libssh2 library names
+# LIBSSH2_VERSION Version of libssh2
-find_path(LIBSSH2_INCLUDE_DIR libssh2.h)
+if(CURL_USE_PKGCONFIG)
+ find_package(PkgConfig QUIET)
+ pkg_check_modules(PC_LIBSSH2 "libssh2")
+endif()
-find_library(LIBSSH2_LIBRARY NAMES ssh2 libssh2)
+find_path(LIBSSH2_INCLUDE_DIR NAMES "libssh2.h"
+ HINTS
+ ${PC_LIBSSH2_INCLUDEDIR}
+ ${PC_LIBSSH2_INCLUDE_DIRS}
+)
-if(LIBSSH2_INCLUDE_DIR)
- file(STRINGS "${LIBSSH2_INCLUDE_DIR}/libssh2.h" libssh2_version_str REGEX "^#define[\t ]+LIBSSH2_VERSION[\t ]+\"(.*)\"")
- string(REGEX REPLACE "^.*\"([^\"]+)\"" "\\1" LIBSSH2_VERSION "${libssh2_version_str}")
+find_library(LIBSSH2_LIBRARY NAMES "ssh2" "libssh2"
+ HINTS
+ ${PC_LIBSSH2_LIBDIR}
+ ${PC_LIBSSH2_LIBRARY_DIRS}
+)
+
+if(PC_LIBSSH2_VERSION)
+ set(LIBSSH2_VERSION ${PC_LIBSSH2_VERSION})
+elseif(LIBSSH2_INCLUDE_DIR AND EXISTS "${LIBSSH2_INCLUDE_DIR}/libssh2.h")
+ set(_version_regex "#[\t ]*define[\t ]+LIBSSH2_VERSION[\t ]+\"([^\"]*)\"")
+ file(STRINGS "${LIBSSH2_INCLUDE_DIR}/libssh2.h" _version_str REGEX "${_version_regex}")
+ string(REGEX REPLACE "${_version_regex}" "\\1" _version_str "${_version_str}")
+ set(LIBSSH2_VERSION "${_version_str}")
+ unset(_version_regex)
+ unset(_version_str)
endif()
include(FindPackageHandleStandardArgs)
-find_package_handle_standard_args(LibSSH2
- REQUIRED_VARS LIBSSH2_LIBRARY LIBSSH2_INCLUDE_DIR
- VERSION_VAR LIBSSH2_VERSION)
+find_package_handle_standard_args(Libssh2
+ REQUIRED_VARS
+ LIBSSH2_INCLUDE_DIR
+ LIBSSH2_LIBRARY
+ VERSION_VAR
+ LIBSSH2_VERSION
+)
+
+if(LIBSSH2_FOUND)
+ set(LIBSSH2_INCLUDE_DIRS ${LIBSSH2_INCLUDE_DIR})
+ set(LIBSSH2_LIBRARIES ${LIBSSH2_LIBRARY})
+endif()
mark_as_advanced(LIBSSH2_INCLUDE_DIR LIBSSH2_LIBRARY)
diff --git a/curl/CMake/FindLibgsasl.cmake b/curl/CMake/FindLibgsasl.cmake
new file mode 100644
index 00000000..ed930ebb
--- /dev/null
+++ b/curl/CMake/FindLibgsasl.cmake
@@ -0,0 +1,78 @@
+#***************************************************************************
+# _ _ ____ _
+# Project ___| | | | _ \| |
+# / __| | | | |_) | |
+# | (__| |_| | _ <| |___
+# \___|\___/|_| \_\_____|
+#
+# Copyright (C) Daniel Stenberg, , et al.
+#
+# 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.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
+# furnished to do so, under the terms of the COPYING file.
+#
+# This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
+# KIND, either express or implied.
+#
+# SPDX-License-Identifier: curl
+#
+###########################################################################
+# Find the libgsasl library
+#
+# Input variables:
+#
+# LIBGSASL_INCLUDE_DIR The libgsasl include directory
+# LIBGSASL_LIBRARY Path to libgsasl library
+#
+# Result variables:
+#
+# LIBGSASL_FOUND System has libgsasl
+# LIBGSASL_INCLUDE_DIRS The libgsasl include directories
+# LIBGSASL_LIBRARIES The libgsasl library names
+# LIBGSASL_LIBRARY_DIRS The libgsasl library directories
+# LIBGSASL_CFLAGS Required compiler flags
+# LIBGSASL_VERSION Version of libgsasl
+
+if(CURL_USE_PKGCONFIG AND
+ NOT DEFINED LIBGSASL_INCLUDE_DIR AND
+ NOT DEFINED LIBGSASL_LIBRARY)
+ find_package(PkgConfig QUIET)
+ pkg_check_modules(LIBGSASL "libgsasl")
+endif()
+
+if(LIBGSASL_FOUND)
+ string(REPLACE ";" " " LIBGSASL_CFLAGS "${LIBGSASL_CFLAGS}")
+ message(STATUS "Found Libgsasl (via pkg-config): ${LIBGSASL_INCLUDE_DIRS} (found version \"${LIBGSASL_VERSION}\")")
+else()
+ find_path(LIBGSASL_INCLUDE_DIR NAMES "gsasl.h")
+ find_library(LIBGSASL_LIBRARY NAMES "gsasl" "libgsasl")
+
+ if(LIBGSASL_INCLUDE_DIR AND EXISTS "${LIBGSASL_INCLUDE_DIR}/gsasl-version.h")
+ set(_version_regex "#[\t ]*define[\t ]+GSASL_VERSION[\t ]+\"([^\"]*)\"")
+ file(STRINGS "${LIBGSASL_INCLUDE_DIR}/gsasl-version.h" _version_str REGEX "${_version_regex}")
+ string(REGEX REPLACE "${_version_regex}" "\\1" _version_str "${_version_str}")
+ set(LIBGSASL_VERSION "${_version_str}")
+ unset(_version_regex)
+ unset(_version_str)
+ endif()
+
+ include(FindPackageHandleStandardArgs)
+ find_package_handle_standard_args(Libgsasl
+ REQUIRED_VARS
+ LIBGSASL_INCLUDE_DIR
+ LIBGSASL_LIBRARY
+ VERSION_VAR
+ LIBGSASL_VERSION
+ )
+
+ if(LIBGSASL_FOUND)
+ set(LIBGSASL_INCLUDE_DIRS ${LIBGSASL_INCLUDE_DIR})
+ set(LIBGSASL_LIBRARIES ${LIBGSASL_LIBRARY})
+ endif()
+
+ mark_as_advanced(LIBGSASL_INCLUDE_DIR LIBGSASL_LIBRARY)
+endif()
diff --git a/curl/CMake/FindLibidn2.cmake b/curl/CMake/FindLibidn2.cmake
new file mode 100644
index 00000000..47d4a586
--- /dev/null
+++ b/curl/CMake/FindLibidn2.cmake
@@ -0,0 +1,78 @@
+#***************************************************************************
+# _ _ ____ _
+# Project ___| | | | _ \| |
+# / __| | | | |_) | |
+# | (__| |_| | _ <| |___
+# \___|\___/|_| \_\_____|
+#
+# Copyright (C) Daniel Stenberg, , et al.
+#
+# 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.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
+# furnished to do so, under the terms of the COPYING file.
+#
+# This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
+# KIND, either express or implied.
+#
+# SPDX-License-Identifier: curl
+#
+###########################################################################
+# Find the libidn2 library
+#
+# Input variables:
+#
+# LIBIDN2_INCLUDE_DIR The libidn2 include directory
+# LIBIDN2_LIBRARY Path to libidn2 library
+#
+# Result variables:
+#
+# LIBIDN2_FOUND System has libidn2
+# LIBIDN2_INCLUDE_DIRS The libidn2 include directories
+# LIBIDN2_LIBRARIES The libidn2 library names
+# LIBIDN2_LIBRARY_DIRS The libidn2 library directories
+# LIBIDN2_CFLAGS Required compiler flags
+# LIBIDN2_VERSION Version of libidn2
+
+if(CURL_USE_PKGCONFIG AND
+ NOT DEFINED LIBIDN2_INCLUDE_DIR AND
+ NOT DEFINED LIBIDN2_LIBRARY)
+ find_package(PkgConfig QUIET)
+ pkg_check_modules(LIBIDN2 "libidn2")
+endif()
+
+if(LIBIDN2_FOUND)
+ string(REPLACE ";" " " LIBIDN2_CFLAGS "${LIBIDN2_CFLAGS}")
+ message(STATUS "Found Libidn2 (via pkg-config): ${LIBIDN2_INCLUDE_DIRS} (found version \"${LIBIDN2_VERSION}\")")
+else()
+ find_path(LIBIDN2_INCLUDE_DIR NAMES "idn2.h")
+ find_library(LIBIDN2_LIBRARY NAMES "idn2" "libidn2")
+
+ if(LIBIDN2_INCLUDE_DIR AND EXISTS "${LIBIDN2_INCLUDE_DIR}/idn2.h")
+ set(_version_regex "#[\t ]*define[\t ]+IDN2_VERSION[\t ]+\"([^\"]*)\"")
+ file(STRINGS "${LIBIDN2_INCLUDE_DIR}/idn2.h" _version_str REGEX "${_version_regex}")
+ string(REGEX REPLACE "${_version_regex}" "\\1" _version_str "${_version_str}")
+ set(LIBIDN2_VERSION "${_version_str}")
+ unset(_version_regex)
+ unset(_version_str)
+ endif()
+
+ include(FindPackageHandleStandardArgs)
+ find_package_handle_standard_args(Libidn2
+ REQUIRED_VARS
+ LIBIDN2_INCLUDE_DIR
+ LIBIDN2_LIBRARY
+ VERSION_VAR
+ LIBIDN2_VERSION
+ )
+
+ if(LIBIDN2_FOUND)
+ set(LIBIDN2_INCLUDE_DIRS ${LIBIDN2_INCLUDE_DIR})
+ set(LIBIDN2_LIBRARIES ${LIBIDN2_LIBRARY})
+ endif()
+
+ mark_as_advanced(LIBIDN2_INCLUDE_DIR LIBIDN2_LIBRARY)
+endif()
diff --git a/curl/CMake/FindLibssh.cmake b/curl/CMake/FindLibssh.cmake
new file mode 100644
index 00000000..7dc019be
--- /dev/null
+++ b/curl/CMake/FindLibssh.cmake
@@ -0,0 +1,92 @@
+#***************************************************************************
+# _ _ ____ _
+# Project ___| | | | _ \| |
+# / __| | | | |_) | |
+# | (__| |_| | _ <| |___
+# \___|\___/|_| \_\_____|
+#
+# Copyright (C) Daniel Stenberg, , et al.
+#
+# 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.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
+# furnished to do so, under the terms of the COPYING file.
+#
+# This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
+# KIND, either express or implied.
+#
+# SPDX-License-Identifier: curl
+#
+###########################################################################
+# Find the libssh library
+#
+# Input variables:
+#
+# LIBSSH_INCLUDE_DIR The libssh include directory
+# LIBSSH_LIBRARY Path to libssh library
+#
+# Result variables:
+#
+# LIBSSH_FOUND System has libssh
+# LIBSSH_INCLUDE_DIRS The libssh include directories
+# LIBSSH_LIBRARIES The libssh library names
+# LIBSSH_LIBRARY_DIRS The libssh library directories
+# LIBSSH_CFLAGS Required compiler flags
+# LIBSSH_VERSION Version of libssh
+
+if(CURL_USE_PKGCONFIG AND
+ NOT DEFINED LIBSSH_INCLUDE_DIR AND
+ NOT DEFINED LIBSSH_LIBRARY)
+ find_package(PkgConfig QUIET)
+ pkg_check_modules(LIBSSH "libssh")
+endif()
+
+if(LIBSSH_FOUND)
+ string(REPLACE ";" " " LIBSSH_CFLAGS "${LIBSSH_CFLAGS}")
+ message(STATUS "Found Libssh (via pkg-config): ${LIBSSH_INCLUDE_DIRS} (found version \"${LIBSSH_VERSION}\")")
+else()
+ find_path(LIBSSH_INCLUDE_DIR NAMES "libssh/libssh.h")
+ find_library(LIBSSH_LIBRARY NAMES "ssh" "libssh")
+
+ if(LIBSSH_INCLUDE_DIR AND EXISTS "${LIBSSH_INCLUDE_DIR}/libssh/libssh_version.h")
+ set(_version_regex1 "#[\t ]*define[\t ]+LIBSSH_VERSION_MAJOR[\t ]+([0-9]+).*")
+ set(_version_regex2 "#[\t ]*define[\t ]+LIBSSH_VERSION_MINOR[\t ]+([0-9]+).*")
+ set(_version_regex3 "#[\t ]*define[\t ]+LIBSSH_VERSION_MICRO[\t ]+([0-9]+).*")
+ file(STRINGS "${LIBSSH_INCLUDE_DIR}/libssh/libssh_version.h" _version_str1 REGEX "${_version_regex1}")
+ file(STRINGS "${LIBSSH_INCLUDE_DIR}/libssh/libssh_version.h" _version_str2 REGEX "${_version_regex2}")
+ file(STRINGS "${LIBSSH_INCLUDE_DIR}/libssh/libssh_version.h" _version_str3 REGEX "${_version_regex3}")
+ string(REGEX REPLACE "${_version_regex1}" "\\1" _version_str1 "${_version_str1}")
+ string(REGEX REPLACE "${_version_regex2}" "\\1" _version_str2 "${_version_str2}")
+ string(REGEX REPLACE "${_version_regex3}" "\\1" _version_str3 "${_version_str3}")
+ set(LIBSSH_VERSION "${_version_str1}.${_version_str2}.${_version_str3}")
+ unset(_version_regex1)
+ unset(_version_regex2)
+ unset(_version_regex3)
+ unset(_version_str1)
+ unset(_version_str2)
+ unset(_version_str3)
+ endif()
+
+ include(FindPackageHandleStandardArgs)
+ find_package_handle_standard_args(Libssh
+ REQUIRED_VARS
+ LIBSSH_INCLUDE_DIR
+ LIBSSH_LIBRARY
+ VERSION_VAR
+ LIBSSH_VERSION
+ )
+
+ if(LIBSSH_FOUND)
+ set(LIBSSH_INCLUDE_DIRS ${LIBSSH_INCLUDE_DIR})
+ set(LIBSSH_LIBRARIES ${LIBSSH_LIBRARY})
+ endif()
+
+ mark_as_advanced(LIBSSH_INCLUDE_DIR LIBSSH_LIBRARY)
+endif()
+
+if(LIBSSH_FOUND AND WIN32)
+ list(APPEND LIBSSH_LIBRARIES "iphlpapi") # for if_nametoindex
+endif()
diff --git a/curl/CMake/FindLibuv.cmake b/curl/CMake/FindLibuv.cmake
new file mode 100644
index 00000000..d4dfa245
--- /dev/null
+++ b/curl/CMake/FindLibuv.cmake
@@ -0,0 +1,88 @@
+#***************************************************************************
+# _ _ ____ _
+# Project ___| | | | _ \| |
+# / __| | | | |_) | |
+# | (__| |_| | _ <| |___
+# \___|\___/|_| \_\_____|
+#
+# Copyright (C) Daniel Stenberg, , et al.
+#
+# 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.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
+# furnished to do so, under the terms of the COPYING file.
+#
+# This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
+# KIND, either express or implied.
+#
+# SPDX-License-Identifier: curl
+#
+###########################################################################
+# Find the libuv library
+#
+# Input variables:
+#
+# LIBUV_INCLUDE_DIR The libuv include directory
+# LIBUV_LIBRARY Path to libuv library
+#
+# Result variables:
+#
+# LIBUV_FOUND System has libuv
+# LIBUV_INCLUDE_DIRS The libuv include directories
+# LIBUV_LIBRARIES The libuv library names
+# LIBUV_LIBRARY_DIRS The libuv library directories
+# LIBUV_CFLAGS Required compiler flags
+# LIBUV_VERSION Version of libuv
+
+if(CURL_USE_PKGCONFIG AND
+ NOT DEFINED LIBUV_INCLUDE_DIR AND
+ NOT DEFINED LIBUV_LIBRARY)
+ find_package(PkgConfig QUIET)
+ pkg_check_modules(LIBUV "libuv")
+endif()
+
+if(LIBUV_FOUND)
+ string(REPLACE ";" " " LIBUV_CFLAGS "${LIBUV_CFLAGS}")
+ message(STATUS "Found Libuv (via pkg-config): ${LIBUV_INCLUDE_DIRS} (found version \"${LIBUV_VERSION}\")")
+else()
+ find_path(LIBUV_INCLUDE_DIR NAMES "uv.h")
+ find_library(LIBUV_LIBRARY NAMES "uv" "libuv")
+
+ if(LIBUV_INCLUDE_DIR AND EXISTS "${LIBUV_INCLUDE_DIR}/uv/version.h")
+ set(_version_regex1 "#[\t ]*define[\t ]+UV_VERSION_MAJOR[\t ]+([0-9]+).*")
+ set(_version_regex2 "#[\t ]*define[\t ]+UV_VERSION_MINOR[\t ]+([0-9]+).*")
+ set(_version_regex3 "#[\t ]*define[\t ]+UV_VERSION_PATCH[\t ]+([0-9]+).*")
+ file(STRINGS "${LIBUV_INCLUDE_DIR}/uv/version.h" _version_str1 REGEX "${_version_regex1}")
+ file(STRINGS "${LIBUV_INCLUDE_DIR}/uv/version.h" _version_str2 REGEX "${_version_regex2}")
+ file(STRINGS "${LIBUV_INCLUDE_DIR}/uv/version.h" _version_str3 REGEX "${_version_regex3}")
+ string(REGEX REPLACE "${_version_regex1}" "\\1" _version_str1 "${_version_str1}")
+ string(REGEX REPLACE "${_version_regex2}" "\\1" _version_str2 "${_version_str2}")
+ string(REGEX REPLACE "${_version_regex3}" "\\1" _version_str3 "${_version_str3}")
+ set(LIBUV_VERSION "${_version_str1}.${_version_str2}.${_version_str3}")
+ unset(_version_regex1)
+ unset(_version_regex2)
+ unset(_version_regex3)
+ unset(_version_str1)
+ unset(_version_str2)
+ unset(_version_str3)
+ endif()
+
+ include(FindPackageHandleStandardArgs)
+ find_package_handle_standard_args(Libuv
+ REQUIRED_VARS
+ LIBUV_INCLUDE_DIR
+ LIBUV_LIBRARY
+ VERSION_VAR
+ LIBUV_VERSION
+ )
+
+ if(LIBUV_FOUND)
+ set(LIBUV_INCLUDE_DIRS ${LIBUV_INCLUDE_DIR})
+ set(LIBUV_LIBRARIES ${LIBUV_LIBRARY})
+ endif()
+
+ mark_as_advanced(LIBUV_INCLUDE_DIR LIBUV_LIBRARY)
+endif()
diff --git a/curl/CMake/FindMSH3.cmake b/curl/CMake/FindMSH3.cmake
index 7d9c6b65..46cee887 100644
--- a/curl/CMake/FindMSH3.cmake
+++ b/curl/CMake/FindMSH3.cmake
@@ -21,50 +21,53 @@
# SPDX-License-Identifier: curl
#
###########################################################################
+# Find the msh3 library
+#
+# Input variables:
+#
+# MSH3_INCLUDE_DIR The msh3 include directory
+# MSH3_LIBRARY Path to msh3 library
+#
+# Result variables:
+#
+# MSH3_FOUND System has msh3
+# MSH3_INCLUDE_DIRS The msh3 include directories
+# MSH3_LIBRARIES The msh3 library names
+# MSH3_VERSION Version of msh3
-#[=======================================================================[.rst:
-FindMSH3
-----------
-
-Find the msh3 library
-
-Result Variables
-^^^^^^^^^^^^^^^^
-
-``MSH3_FOUND``
- System has msh3
-``MSH3_INCLUDE_DIRS``
- The msh3 include directories.
-``MSH3_LIBRARIES``
- The libraries needed to use msh3
-#]=======================================================================]
-if(UNIX)
+if(CURL_USE_PKGCONFIG)
find_package(PkgConfig QUIET)
- pkg_search_module(PC_MSH3 libmsh3)
+ pkg_check_modules(PC_MSH3 "libmsh3")
endif()
-find_path(MSH3_INCLUDE_DIR msh3.h
+find_path(MSH3_INCLUDE_DIR NAMES "msh3.h"
HINTS
${PC_MSH3_INCLUDEDIR}
${PC_MSH3_INCLUDE_DIRS}
)
-find_library(MSH3_LIBRARY NAMES msh3
+find_library(MSH3_LIBRARY NAMES "msh3"
HINTS
${PC_MSH3_LIBDIR}
${PC_MSH3_LIBRARY_DIRS}
)
+if(PC_MSH3_VERSION)
+ set(MSH3_VERSION ${PC_MSH3_VERSION})
+endif()
+
include(FindPackageHandleStandardArgs)
find_package_handle_standard_args(MSH3
REQUIRED_VARS
- MSH3_LIBRARY
MSH3_INCLUDE_DIR
+ MSH3_LIBRARY
+ VERSION_VAR
+ MSH3_VERSION
)
if(MSH3_FOUND)
- set(MSH3_LIBRARIES ${MSH3_LIBRARY})
set(MSH3_INCLUDE_DIRS ${MSH3_INCLUDE_DIR})
+ set(MSH3_LIBRARIES ${MSH3_LIBRARY})
endif()
-mark_as_advanced(MSH3_INCLUDE_DIRS MSH3_LIBRARIES)
+mark_as_advanced(MSH3_INCLUDE_DIR MSH3_LIBRARY)
diff --git a/curl/CMake/FindMbedTLS.cmake b/curl/CMake/FindMbedTLS.cmake
index 814bd97d..53b86149 100644
--- a/curl/CMake/FindMbedTLS.cmake
+++ b/curl/CMake/FindMbedTLS.cmake
@@ -21,16 +21,91 @@
# SPDX-License-Identifier: curl
#
###########################################################################
-find_path(MBEDTLS_INCLUDE_DIRS mbedtls/ssl.h)
+# Find the mbedtls library
+#
+# Input variables:
+#
+# MBEDTLS_INCLUDE_DIR The mbedtls include directory
+# MBEDTLS_INCLUDE_DIRS The mbedtls include directory (deprecated)
+# MBEDTLS_LIBRARY Path to mbedtls library
+# MBEDX509_LIBRARY Path to mbedx509 library
+# MBEDCRYPTO_LIBRARY Path to mbedcrypto library
+#
+# Result variables:
+#
+# MBEDTLS_FOUND System has mbedtls
+# MBEDTLS_INCLUDE_DIRS The mbedtls include directories
+# MBEDTLS_LIBRARIES The mbedtls library names
+# MBEDTLS_VERSION Version of mbedtls
-find_library(MBEDTLS_LIBRARY mbedtls)
-find_library(MBEDX509_LIBRARY mbedx509)
-find_library(MBEDCRYPTO_LIBRARY mbedcrypto)
+if(DEFINED MBEDTLS_INCLUDE_DIRS AND NOT DEFINED MBEDTLS_INCLUDE_DIR)
+ message(WARNING "MBEDTLS_INCLUDE_DIRS is deprecated, use MBEDTLS_INCLUDE_DIR instead.")
+ set(MBEDTLS_INCLUDE_DIR "${MBEDTLS_INCLUDE_DIRS}")
+ unset(MBEDTLS_INCLUDE_DIRS)
+endif()
-set(MBEDTLS_LIBRARIES "${MBEDTLS_LIBRARY}" "${MBEDX509_LIBRARY}" "${MBEDCRYPTO_LIBRARY}")
+if(CURL_USE_PKGCONFIG)
+ find_package(PkgConfig QUIET)
+ pkg_check_modules(PC_MBEDTLS "mbedtls")
+endif()
+
+find_path(MBEDTLS_INCLUDE_DIR NAMES "mbedtls/ssl.h"
+ HINTS
+ ${PC_MBEDTLS_INCLUDEDIR}
+ ${PC_MBEDTLS_INCLUDE_DIRS}
+)
+
+find_library(MBEDTLS_LIBRARY NAMES "mbedtls"
+ HINTS
+ ${PC_MBEDTLS_LIBDIR}
+ ${PC_MBEDTLS_LIBRARY_DIRS}
+)
+find_library(MBEDX509_LIBRARY NAMES "mbedx509"
+ HINTS
+ ${PC_MBEDTLS_LIBDIR}
+ ${PC_MBEDTLS_LIBRARY_DIRS}
+)
+find_library(MBEDCRYPTO_LIBRARY NAMES "mbedcrypto"
+ HINTS
+ ${PC_MBEDTLS_LIBDIR}
+ ${PC_MBEDTLS_LIBRARY_DIRS}
+)
+
+if(PC_MBEDTLS_VERSION)
+ set(MBEDTLS_VERSION ${PC_MBEDTLS_VERSION})
+elseif(MBEDTLS_INCLUDE_DIR)
+ if(EXISTS "${MBEDTLS_INCLUDE_DIR}/mbedtls/build_info.h") # 3.x
+ set(_version_header "${MBEDTLS_INCLUDE_DIR}/mbedtls/build_info.h")
+ elseif(EXISTS "${MBEDTLS_INCLUDE_DIR}/mbedtls/version.h") # 2.x
+ set(_version_header "${MBEDTLS_INCLUDE_DIR}/mbedtls/version.h")
+ else()
+ unset(_version_header)
+ endif()
+ if(_version_header)
+ set(_version_regex "#[\t ]*define[\t ]+MBEDTLS_VERSION_STRING[\t ]+\"([0-9.]+)\"")
+ file(STRINGS "${_version_header}" _version_str REGEX "${_version_regex}")
+ string(REGEX REPLACE "${_version_regex}" "\\1" _version_str "${_version_str}")
+ set(MBEDTLS_VERSION "${_version_str}")
+ unset(_version_regex)
+ unset(_version_str)
+ unset(_version_header)
+ endif()
+endif()
include(FindPackageHandleStandardArgs)
-find_package_handle_standard_args(MbedTLS DEFAULT_MSG
- MBEDTLS_INCLUDE_DIRS MBEDTLS_LIBRARY MBEDX509_LIBRARY MBEDCRYPTO_LIBRARY)
+find_package_handle_standard_args(MbedTLS
+ REQUIRED_VARS
+ MBEDTLS_INCLUDE_DIR
+ MBEDTLS_LIBRARY
+ MBEDX509_LIBRARY
+ MBEDCRYPTO_LIBRARY
+ VERSION_VAR
+ MBEDTLS_VERSION
+)
+
+if(MBEDTLS_FOUND)
+ set(MBEDTLS_INCLUDE_DIRS ${MBEDTLS_INCLUDE_DIR})
+ set(MBEDTLS_LIBRARIES ${MBEDTLS_LIBRARY} ${MBEDX509_LIBRARY} ${MBEDCRYPTO_LIBRARY})
+endif()
-mark_as_advanced(MBEDTLS_INCLUDE_DIRS MBEDTLS_LIBRARY MBEDX509_LIBRARY MBEDCRYPTO_LIBRARY)
+mark_as_advanced(MBEDTLS_INCLUDE_DIR MBEDTLS_LIBRARY MBEDX509_LIBRARY MBEDCRYPTO_LIBRARY)
diff --git a/curl/CMake/FindNGHTTP2.cmake b/curl/CMake/FindNGHTTP2.cmake
index 3957646c..e632d205 100644
--- a/curl/CMake/FindNGHTTP2.cmake
+++ b/curl/CMake/FindNGHTTP2.cmake
@@ -21,21 +21,60 @@
# SPDX-License-Identifier: curl
#
###########################################################################
-include(FindPackageHandleStandardArgs)
+# Find the nghttp2 library
+#
+# Input variables:
+#
+# NGHTTP2_INCLUDE_DIR The nghttp2 include directory
+# NGHTTP2_LIBRARY Path to nghttp2 library
+#
+# Result variables:
+#
+# NGHTTP2_FOUND System has nghttp2
+# NGHTTP2_INCLUDE_DIRS The nghttp2 include directories
+# NGHTTP2_LIBRARIES The nghttp2 library names
+# NGHTTP2_VERSION Version of nghttp2
-find_path(NGHTTP2_INCLUDE_DIR "nghttp2/nghttp2.h")
+if(CURL_USE_PKGCONFIG)
+ find_package(PkgConfig QUIET)
+ pkg_check_modules(PC_NGHTTP2 "libnghttp2")
+endif()
-find_library(NGHTTP2_LIBRARY NAMES nghttp2)
+find_path(NGHTTP2_INCLUDE_DIR NAMES "nghttp2/nghttp2.h"
+ HINTS
+ ${PC_NGHTTP2_INCLUDEDIR}
+ ${PC_NGHTTP2_INCLUDE_DIRS}
+)
+
+find_library(NGHTTP2_LIBRARY NAMES "nghttp2" "nghttp2_static"
+ HINTS
+ ${PC_NGHTTP2_LIBDIR}
+ ${PC_NGHTTP2_LIBRARY_DIRS}
+)
+if(PC_NGHTTP2_VERSION)
+ set(NGHTTP2_VERSION ${PC_NGHTTP2_VERSION})
+elseif(NGHTTP2_INCLUDE_DIR AND EXISTS "${NGHTTP2_INCLUDE_DIR}/nghttp2/nghttp2ver.h")
+ set(_version_regex "#[\t ]*define[\t ]+NGHTTP2_VERSION[\t ]+\"([^\"]*)\"")
+ file(STRINGS "${NGHTTP2_INCLUDE_DIR}/nghttp2/nghttp2ver.h" _version_str REGEX "${_version_regex}")
+ string(REGEX REPLACE "${_version_regex}" "\\1" _version_str "${_version_str}")
+ set(NGHTTP2_VERSION "${_version_str}")
+ unset(_version_regex)
+ unset(_version_str)
+endif()
+
+include(FindPackageHandleStandardArgs)
find_package_handle_standard_args(NGHTTP2
- FOUND_VAR
- NGHTTP2_FOUND
- REQUIRED_VARS
- NGHTTP2_LIBRARY
- NGHTTP2_INCLUDE_DIR
+ REQUIRED_VARS
+ NGHTTP2_INCLUDE_DIR
+ NGHTTP2_LIBRARY
+ VERSION_VAR
+ NGHTTP2_VERSION
)
-set(NGHTTP2_INCLUDE_DIRS ${NGHTTP2_INCLUDE_DIR})
-set(NGHTTP2_LIBRARIES ${NGHTTP2_LIBRARY})
+if(NGHTTP2_FOUND)
+ set(NGHTTP2_INCLUDE_DIRS ${NGHTTP2_INCLUDE_DIR})
+ set(NGHTTP2_LIBRARIES ${NGHTTP2_LIBRARY})
+endif()
-mark_as_advanced(NGHTTP2_INCLUDE_DIRS NGHTTP2_LIBRARIES)
+mark_as_advanced(NGHTTP2_INCLUDE_DIR NGHTTP2_LIBRARY)
diff --git a/curl/CMake/FindNGHTTP3.cmake b/curl/CMake/FindNGHTTP3.cmake
index 9b13e6c6..02a0c87d 100644
--- a/curl/CMake/FindNGHTTP3.cmake
+++ b/curl/CMake/FindNGHTTP3.cmake
@@ -21,38 +21,32 @@
# SPDX-License-Identifier: curl
#
###########################################################################
+# Find the nghttp3 library
+#
+# Input variables:
+#
+# NGHTTP3_INCLUDE_DIR The nghttp3 include directory
+# NGHTTP3_LIBRARY Path to nghttp3 library
+#
+# Result variables:
+#
+# NGHTTP3_FOUND System has nghttp3
+# NGHTTP3_INCLUDE_DIRS The nghttp3 include directories
+# NGHTTP3_LIBRARIES The nghttp3 library names
+# NGHTTP3_VERSION Version of nghttp3
-#[=======================================================================[.rst:
-FindNGHTTP3
-----------
-
-Find the nghttp3 library
-
-Result Variables
-^^^^^^^^^^^^^^^^
-
-``NGHTTP3_FOUND``
- System has nghttp3
-``NGHTTP3_INCLUDE_DIRS``
- The nghttp3 include directories.
-``NGHTTP3_LIBRARIES``
- The libraries needed to use nghttp3
-``NGHTTP3_VERSION``
- version of nghttp3.
-#]=======================================================================]
-
-if(UNIX)
+if(CURL_USE_PKGCONFIG)
find_package(PkgConfig QUIET)
- pkg_search_module(PC_NGHTTP3 libnghttp3)
+ pkg_check_modules(PC_NGHTTP3 "libnghttp3")
endif()
-find_path(NGHTTP3_INCLUDE_DIR nghttp3/nghttp3.h
+find_path(NGHTTP3_INCLUDE_DIR NAMES "nghttp3/nghttp3.h"
HINTS
${PC_NGHTTP3_INCLUDEDIR}
${PC_NGHTTP3_INCLUDE_DIRS}
)
-find_library(NGHTTP3_LIBRARY NAMES nghttp3
+find_library(NGHTTP3_LIBRARY NAMES "nghttp3"
HINTS
${PC_NGHTTP3_LIBDIR}
${PC_NGHTTP3_LIBRARY_DIRS}
@@ -60,19 +54,27 @@ find_library(NGHTTP3_LIBRARY NAMES nghttp3
if(PC_NGHTTP3_VERSION)
set(NGHTTP3_VERSION ${PC_NGHTTP3_VERSION})
+elseif(NGHTTP3_INCLUDE_DIR AND EXISTS "${NGHTTP3_INCLUDE_DIR}/nghttp3/version.h")
+ set(_version_regex "#[\t ]*define[\t ]+NGHTTP3_VERSION[\t ]+\"([^\"]*)\"")
+ file(STRINGS "${NGHTTP3_INCLUDE_DIR}/nghttp3/version.h" _version_str REGEX "${_version_regex}")
+ string(REGEX REPLACE "${_version_regex}" "\\1" _version_str "${_version_str}")
+ set(NGHTTP3_VERSION "${_version_str}")
+ unset(_version_regex)
+ unset(_version_str)
endif()
include(FindPackageHandleStandardArgs)
find_package_handle_standard_args(NGHTTP3
REQUIRED_VARS
- NGHTTP3_LIBRARY
NGHTTP3_INCLUDE_DIR
- VERSION_VAR NGHTTP3_VERSION
+ NGHTTP3_LIBRARY
+ VERSION_VAR
+ NGHTTP3_VERSION
)
if(NGHTTP3_FOUND)
- set(NGHTTP3_LIBRARIES ${NGHTTP3_LIBRARY})
set(NGHTTP3_INCLUDE_DIRS ${NGHTTP3_INCLUDE_DIR})
+ set(NGHTTP3_LIBRARIES ${NGHTTP3_LIBRARY})
endif()
-mark_as_advanced(NGHTTP3_INCLUDE_DIRS NGHTTP3_LIBRARIES)
+mark_as_advanced(NGHTTP3_INCLUDE_DIR NGHTTP3_LIBRARY)
diff --git a/curl/CMake/FindNGTCP2.cmake b/curl/CMake/FindNGTCP2.cmake
index 7ea46658..194483d5 100644
--- a/curl/CMake/FindNGTCP2.cmake
+++ b/curl/CMake/FindNGTCP2.cmake
@@ -21,46 +21,40 @@
# SPDX-License-Identifier: curl
#
###########################################################################
+# Find the ngtcp2 library
+#
+# This module accepts optional COMPONENTS to control the crypto library (these are
+# mutually exclusive):
+#
+# quictls: Use libngtcp2_crypto_quictls (choose this for LibreSSL)
+# BoringSSL: Use libngtcp2_crypto_boringssl (choose this for AWS-LC)
+# wolfSSL: Use libngtcp2_crypto_wolfssl
+# GnuTLS: Use libngtcp2_crypto_gnutls
+#
+# Input variables:
+#
+# NGTCP2_INCLUDE_DIR The ngtcp2 include directory
+# NGTCP2_LIBRARY Path to ngtcp2 library
+#
+# Result variables:
+#
+# NGTCP2_FOUND System has ngtcp2
+# NGTCP2_INCLUDE_DIRS The ngtcp2 include directories
+# NGTCP2_LIBRARIES The ngtcp2 library names
+# NGTCP2_VERSION Version of ngtcp2
-#[=======================================================================[.rst:
-FindNGTCP2
-----------
-
-Find the ngtcp2 library
-
-This module accepts optional COMPONENTS to control the crypto library (these are
-mutually exclusive)::
-
- quictls, LibreSSL: Use libngtcp2_crypto_quictls
- BoringSSL, AWS-LC: Use libngtcp2_crypto_boringssl
- wolfSSL: Use libngtcp2_crypto_wolfssl
- GnuTLS: Use libngtcp2_crypto_gnutls
-
-Result Variables
-^^^^^^^^^^^^^^^^
-
-``NGTCP2_FOUND``
- System has ngtcp2
-``NGTCP2_INCLUDE_DIRS``
- The ngtcp2 include directories.
-``NGTCP2_LIBRARIES``
- The libraries needed to use ngtcp2
-``NGTCP2_VERSION``
- version of ngtcp2.
-#]=======================================================================]
-
-if(UNIX)
+if(CURL_USE_PKGCONFIG)
find_package(PkgConfig QUIET)
- pkg_search_module(PC_NGTCP2 libngtcp2)
+ pkg_check_modules(PC_NGTCP2 "libngtcp2")
endif()
-find_path(NGTCP2_INCLUDE_DIR ngtcp2/ngtcp2.h
+find_path(NGTCP2_INCLUDE_DIR NAMES "ngtcp2/ngtcp2.h"
HINTS
${PC_NGTCP2_INCLUDEDIR}
${PC_NGTCP2_INCLUDE_DIRS}
)
-find_library(NGTCP2_LIBRARY NAMES ngtcp2
+find_library(NGTCP2_LIBRARY NAMES "ngtcp2"
HINTS
${PC_NGTCP2_LIBDIR}
${PC_NGTCP2_LIBRARY_DIRS}
@@ -68,33 +62,38 @@ find_library(NGTCP2_LIBRARY NAMES ngtcp2
if(PC_NGTCP2_VERSION)
set(NGTCP2_VERSION ${PC_NGTCP2_VERSION})
+elseif(NGTCP2_INCLUDE_DIR AND EXISTS "${NGTCP2_INCLUDE_DIR}/ngtcp2/version.h")
+ set(_version_regex "#[\t ]*define[\t ]+NGTCP2_VERSION[\t ]+\"([^\"]*)\"")
+ file(STRINGS "${NGTCP2_INCLUDE_DIR}/ngtcp2/version.h" _version_str REGEX "${_version_regex}")
+ string(REGEX REPLACE "${_version_regex}" "\\1" _version_str "${_version_str}")
+ set(NGTCP2_VERSION "${_version_str}")
+ unset(_version_regex)
+ unset(_version_str)
endif()
if(NGTCP2_FIND_COMPONENTS)
- set(NGTCP2_CRYPTO_BACKEND "")
- foreach(component IN LISTS NGTCP2_FIND_COMPONENTS)
- if(component MATCHES "^(BoringSSL|quictls|wolfSSL|GnuTLS)")
- if(NGTCP2_CRYPTO_BACKEND)
+ set(_ngtcp2_crypto_backend "")
+ foreach(_component IN LISTS NGTCP2_FIND_COMPONENTS)
+ if(_component MATCHES "^(BoringSSL|quictls|wolfSSL|GnuTLS)")
+ if(_ngtcp2_crypto_backend)
message(FATAL_ERROR "NGTCP2: Only one crypto library can be selected")
endif()
- set(NGTCP2_CRYPTO_BACKEND ${component})
+ set(_ngtcp2_crypto_backend ${_component})
endif()
endforeach()
- if(NGTCP2_CRYPTO_BACKEND)
- string(TOLOWER "ngtcp2_crypto_${NGTCP2_CRYPTO_BACKEND}" _crypto_library)
- if(UNIX)
- pkg_search_module(PC_${_crypto_library} lib${_crypto_library})
+ if(_ngtcp2_crypto_backend)
+ string(TOLOWER "ngtcp2_crypto_${_ngtcp2_crypto_backend}" _crypto_library)
+ if(CURL_USE_PKGCONFIG)
+ pkg_check_modules(PC_${_crypto_library} "lib${_crypto_library}")
endif()
- find_library(${_crypto_library}_LIBRARY
- NAMES
- ${_crypto_library}
+ find_library(${_crypto_library}_LIBRARY NAMES ${_crypto_library}
HINTS
${PC_${_crypto_library}_LIBDIR}
${PC_${_crypto_library}_LIBRARY_DIRS}
)
if(${_crypto_library}_LIBRARY)
- set(NGTCP2_${NGTCP2_CRYPTO_BACKEND}_FOUND TRUE)
+ set(NGTCP2_${_ngtcp2_crypto_backend}_FOUND TRUE)
set(NGTCP2_CRYPTO_LIBRARY ${${_crypto_library}_LIBRARY})
endif()
endif()
@@ -103,15 +102,16 @@ endif()
include(FindPackageHandleStandardArgs)
find_package_handle_standard_args(NGTCP2
REQUIRED_VARS
- NGTCP2_LIBRARY
NGTCP2_INCLUDE_DIR
- VERSION_VAR NGTCP2_VERSION
+ NGTCP2_LIBRARY
+ VERSION_VAR
+ NGTCP2_VERSION
HANDLE_COMPONENTS
)
if(NGTCP2_FOUND)
- set(NGTCP2_LIBRARIES ${NGTCP2_LIBRARY} ${NGTCP2_CRYPTO_LIBRARY})
set(NGTCP2_INCLUDE_DIRS ${NGTCP2_INCLUDE_DIR})
+ set(NGTCP2_LIBRARIES ${NGTCP2_LIBRARY} ${NGTCP2_CRYPTO_LIBRARY})
endif()
-mark_as_advanced(NGTCP2_INCLUDE_DIRS NGTCP2_LIBRARIES)
+mark_as_advanced(NGTCP2_INCLUDE_DIR NGTCP2_LIBRARY NGTCP2_CRYPTO_LIBRARY)
diff --git a/curl/CMake/FindNettle.cmake b/curl/CMake/FindNettle.cmake
new file mode 100644
index 00000000..b5da05bf
--- /dev/null
+++ b/curl/CMake/FindNettle.cmake
@@ -0,0 +1,83 @@
+#***************************************************************************
+# _ _ ____ _
+# Project ___| | | | _ \| |
+# / __| | | | |_) | |
+# | (__| |_| | _ <| |___
+# \___|\___/|_| \_\_____|
+#
+# Copyright (C) Daniel Stenberg, , et al.
+#
+# 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.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
+# furnished to do so, under the terms of the COPYING file.
+#
+# This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
+# KIND, either express or implied.
+#
+# SPDX-License-Identifier: curl
+#
+###########################################################################
+# Find the nettle library
+#
+# Input variables:
+#
+# NETTLE_INCLUDE_DIR The nettle include directory
+# NETTLE_LIBRARY Path to nettle library
+#
+# Result variables:
+#
+# NETTLE_FOUND System has nettle
+# NETTLE_INCLUDE_DIRS The nettle include directories
+# NETTLE_LIBRARIES The nettle library names
+# NETTLE_LIBRARY_DIRS The nettle library directories
+# NETTLE_CFLAGS Required compiler flags
+# NETTLE_VERSION Version of nettle
+
+if(CURL_USE_PKGCONFIG AND
+ NOT DEFINED NETTLE_INCLUDE_DIR AND
+ NOT DEFINED NETTLE_LIBRARY)
+ find_package(PkgConfig QUIET)
+ pkg_check_modules(NETTLE "nettle")
+endif()
+
+if(NETTLE_FOUND)
+ string(REPLACE ";" " " NETTLE_CFLAGS "${NETTLE_CFLAGS}")
+ message(STATUS "Found Nettle (via pkg-config): ${NETTLE_INCLUDE_DIRS} (found version \"${NETTLE_VERSION}\")")
+else()
+ find_path(NETTLE_INCLUDE_DIR NAMES "nettle/sha2.h")
+ find_library(NETTLE_LIBRARY NAMES "nettle")
+
+ if(NETTLE_INCLUDE_DIR AND EXISTS "${NETTLE_INCLUDE_DIR}/nettle/version.h")
+ set(_version_regex1 "#[\t ]*define[ \t]+NETTLE_VERSION_MAJOR[ \t]+([0-9]+).*")
+ set(_version_regex2 "#[\t ]*define[ \t]+NETTLE_VERSION_MINOR[ \t]+([0-9]+).*")
+ file(STRINGS "${NETTLE_INCLUDE_DIR}/nettle/version.h" _version_str1 REGEX "${_version_regex1}")
+ file(STRINGS "${NETTLE_INCLUDE_DIR}/nettle/version.h" _version_str2 REGEX "${_version_regex2}")
+ string(REGEX REPLACE "${_version_regex1}" "\\1" _version_str1 "${_version_str1}")
+ string(REGEX REPLACE "${_version_regex2}" "\\1" _version_str2 "${_version_str2}")
+ set(NETTLE_VERSION "${_version_str1}.${_version_str2}")
+ unset(_version_regex1)
+ unset(_version_regex2)
+ unset(_version_str1)
+ unset(_version_str2)
+ endif()
+
+ include(FindPackageHandleStandardArgs)
+ find_package_handle_standard_args(Nettle
+ REQUIRED_VARS
+ NETTLE_INCLUDE_DIR
+ NETTLE_LIBRARY
+ VERSION_VAR
+ NETTLE_VERSION
+ )
+
+ if(NETTLE_FOUND)
+ set(NETTLE_INCLUDE_DIRS ${NETTLE_INCLUDE_DIR})
+ set(NETTLE_LIBRARIES ${NETTLE_LIBRARY})
+ endif()
+
+ mark_as_advanced(NETTLE_INCLUDE_DIR NETTLE_LIBRARY)
+endif()
diff --git a/curl/CMake/FindQUICHE.cmake b/curl/CMake/FindQUICHE.cmake
index 0488463d..7d1626ad 100644
--- a/curl/CMake/FindQUICHE.cmake
+++ b/curl/CMake/FindQUICHE.cmake
@@ -21,50 +21,53 @@
# SPDX-License-Identifier: curl
#
###########################################################################
+# Find the quiche library
+#
+# Input variables:
+#
+# QUICHE_INCLUDE_DIR The quiche include directory
+# QUICHE_LIBRARY Path to quiche library
+#
+# Result variables:
+#
+# QUICHE_FOUND System has quiche
+# QUICHE_INCLUDE_DIRS The quiche include directories
+# QUICHE_LIBRARIES The quiche library names
+# QUICHE_VERSION Version of quiche
-#[=======================================================================[.rst:
-FindQUICHE
-----------
-
-Find the quiche library
-
-Result Variables
-^^^^^^^^^^^^^^^^
-
-``QUICHE_FOUND``
- System has quiche
-``QUICHE_INCLUDE_DIRS``
- The quiche include directories.
-``QUICHE_LIBRARIES``
- The libraries needed to use quiche
-#]=======================================================================]
-if(UNIX)
+if(CURL_USE_PKGCONFIG)
find_package(PkgConfig QUIET)
- pkg_search_module(PC_QUICHE quiche)
+ pkg_check_modules(PC_QUICHE "quiche")
endif()
-find_path(QUICHE_INCLUDE_DIR quiche.h
+find_path(QUICHE_INCLUDE_DIR NAMES "quiche.h"
HINTS
${PC_QUICHE_INCLUDEDIR}
${PC_QUICHE_INCLUDE_DIRS}
)
-find_library(QUICHE_LIBRARY NAMES quiche
+find_library(QUICHE_LIBRARY NAMES "quiche"
HINTS
${PC_QUICHE_LIBDIR}
${PC_QUICHE_LIBRARY_DIRS}
)
+if(PC_QUICHE_VERSION)
+ set(QUICHE_VERSION ${PC_QUICHE_VERSION})
+endif()
+
include(FindPackageHandleStandardArgs)
-find_package_handle_standard_args(QUICHE
+find_package_handle_standard_args(Quiche
REQUIRED_VARS
- QUICHE_LIBRARY
QUICHE_INCLUDE_DIR
+ QUICHE_LIBRARY
+ VERSION_VAR
+ QUICHE_VERSION
)
if(QUICHE_FOUND)
- set(QUICHE_LIBRARIES ${QUICHE_LIBRARY})
set(QUICHE_INCLUDE_DIRS ${QUICHE_INCLUDE_DIR})
+ set(QUICHE_LIBRARIES ${QUICHE_LIBRARY})
endif()
-mark_as_advanced(QUICHE_INCLUDE_DIRS QUICHE_LIBRARIES)
+mark_as_advanced(QUICHE_INCLUDE_DIR QUICHE_LIBRARY)
diff --git a/curl/CMake/FindRustls.cmake b/curl/CMake/FindRustls.cmake
new file mode 100644
index 00000000..ffd6859f
--- /dev/null
+++ b/curl/CMake/FindRustls.cmake
@@ -0,0 +1,73 @@
+#***************************************************************************
+# _ _ ____ _
+# Project ___| | | | _ \| |
+# / __| | | | |_) | |
+# | (__| |_| | _ <| |___
+# \___|\___/|_| \_\_____|
+#
+# Copyright (C) Daniel Stenberg, , et al.
+#
+# 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.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
+# furnished to do so, under the terms of the COPYING file.
+#
+# This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
+# KIND, either express or implied.
+#
+# SPDX-License-Identifier: curl
+#
+###########################################################################
+# Find the rustls library
+#
+# Input variables:
+#
+# RUSTLS_INCLUDE_DIR The rustls include directory
+# RUSTLS_LIBRARY Path to rustls library
+#
+# Result variables:
+#
+# RUSTLS_FOUND System has rustls
+# RUSTLS_INCLUDE_DIRS The rustls include directories
+# RUSTLS_LIBRARIES The rustls library names
+# RUSTLS_VERSION Version of rustls
+
+if(CURL_USE_PKGCONFIG)
+ find_package(PkgConfig QUIET)
+ pkg_check_modules(PC_RUSTLS "rustls")
+endif()
+
+find_path(RUSTLS_INCLUDE_DIR NAMES "rustls.h"
+ HINTS
+ ${PC_RUSTLS_INCLUDEDIR}
+ ${PC_RUSTLS_INCLUDE_DIRS}
+)
+
+find_library(RUSTLS_LIBRARY NAMES "rustls"
+ HINTS
+ ${PC_RUSTLS_LIBDIR}
+ ${PC_RUSTLS_LIBRARY_DIRS}
+)
+
+if(PC_RUSTLS_VERSION)
+ set(RUSTLS_VERSION ${PC_RUSTLS_VERSION})
+endif()
+
+include(FindPackageHandleStandardArgs)
+find_package_handle_standard_args(Rustls
+ REQUIRED_VARS
+ RUSTLS_INCLUDE_DIR
+ RUSTLS_LIBRARY
+ VERSION_VAR
+ RUSTLS_VERSION
+)
+
+if(RUSTLS_FOUND)
+ set(RUSTLS_INCLUDE_DIRS ${RUSTLS_INCLUDE_DIR})
+ set(RUSTLS_LIBRARIES ${RUSTLS_LIBRARY})
+endif()
+
+mark_as_advanced(RUSTLS_INCLUDE_DIR RUSTLS_LIBRARY)
diff --git a/curl/CMake/FindWolfSSH.cmake b/curl/CMake/FindWolfSSH.cmake
new file mode 100644
index 00000000..608e3abf
--- /dev/null
+++ b/curl/CMake/FindWolfSSH.cmake
@@ -0,0 +1,64 @@
+#***************************************************************************
+# _ _ ____ _
+# Project ___| | | | _ \| |
+# / __| | | | |_) | |
+# | (__| |_| | _ <| |___
+# \___|\___/|_| \_\_____|
+#
+# Copyright (C) Daniel Stenberg, , et al.
+#
+# 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.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
+# furnished to do so, under the terms of the COPYING file.
+#
+# This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
+# KIND, either express or implied.
+#
+# SPDX-License-Identifier: curl
+#
+###########################################################################
+# Find the wolfssh library
+#
+# Input variables:
+#
+# WOLFSSH_INCLUDE_DIR The wolfssh include directory
+# WOLFSSH_LIBRARY Path to wolfssh library
+#
+# Result variables:
+#
+# WOLFSSH_FOUND System has wolfssh
+# WOLFSSH_INCLUDE_DIRS The wolfssh include directories
+# WOLFSSH_LIBRARIES The wolfssh library names
+# WOLFSSH_VERSION Version of wolfssh
+
+find_path(WOLFSSH_INCLUDE_DIR NAMES "wolfssh/ssh.h")
+find_library(WOLFSSH_LIBRARY NAMES "wolfssh" "libwolfssh")
+
+if(WOLFSSH_INCLUDE_DIR AND EXISTS "${WOLFSSH_INCLUDE_DIR}/wolfssh/version.h")
+ set(_version_regex "#[\t ]*define[\t ]+LIBWOLFSSH_VERSION_STRING[\t ]+\"([^\"]*)\"")
+ file(STRINGS "${WOLFSSH_INCLUDE_DIR}/wolfssh/version.h" _version_str REGEX "${_version_regex}")
+ string(REGEX REPLACE "${_version_regex}" "\\1" _version_str "${_version_str}")
+ set(WOLFSSH_VERSION "${_version_str}")
+ unset(_version_regex)
+ unset(_version_str)
+endif()
+
+include(FindPackageHandleStandardArgs)
+find_package_handle_standard_args(WolfSSH
+ REQUIRED_VARS
+ WOLFSSH_INCLUDE_DIR
+ WOLFSSH_LIBRARY
+ VERSION_VAR
+ WOLFSSH_VERSION
+)
+
+if(WOLFSSH_FOUND)
+ set(WOLFSSH_INCLUDE_DIRS ${WOLFSSH_INCLUDE_DIR})
+ set(WOLFSSH_LIBRARIES ${WOLFSSH_LIBRARY})
+endif()
+
+mark_as_advanced(WOLFSSH_INCLUDE_DIR WOLFSSH_LIBRARY)
diff --git a/curl/CMake/FindWolfSSL.cmake b/curl/CMake/FindWolfSSL.cmake
index d67c0eb2..905fbfd5 100644
--- a/curl/CMake/FindWolfSSL.cmake
+++ b/curl/CMake/FindWolfSSL.cmake
@@ -21,16 +21,78 @@
# SPDX-License-Identifier: curl
#
###########################################################################
-find_path(WolfSSL_INCLUDE_DIR NAMES wolfssl/ssl.h)
-find_library(WolfSSL_LIBRARY NAMES wolfssl)
-mark_as_advanced(WolfSSL_INCLUDE_DIR WolfSSL_LIBRARY)
+# Find the wolfssl library
+#
+# Input variables:
+#
+# WOLFSSL_INCLUDE_DIR The wolfssl include directory
+# WolfSSL_INCLUDE_DIR The wolfssl include directory (deprecated)
+# WOLFSSL_LIBRARY Path to wolfssl library
+# WolfSSL_LIBRARY Path to wolfssl library (deprecated)
+#
+# Result variables:
+#
+# WOLFSSL_FOUND System has wolfssl
+# WOLFSSL_INCLUDE_DIRS The wolfssl include directories
+# WOLFSSL_LIBRARIES The wolfssl library names
+# WOLFSSL_VERSION Version of wolfssl
+
+if(DEFINED WolfSSL_INCLUDE_DIR AND NOT DEFINED WOLFSSL_INCLUDE_DIR)
+ message(WARNING "WolfSSL_INCLUDE_DIR is deprecated, use WOLFSSL_INCLUDE_DIR instead.")
+ set(WOLFSSL_INCLUDE_DIR "${WolfSSL_INCLUDE_DIR}")
+endif()
+if(DEFINED WolfSSL_LIBRARY AND NOT DEFINED WOLFSSL_LIBRARY)
+ message(WARNING "WolfSSL_LIBRARY is deprecated, use WOLFSSL_LIBRARY instead.")
+ set(WOLFSSL_LIBRARY "${WolfSSL_LIBRARY}")
+endif()
+
+if(CURL_USE_PKGCONFIG)
+ find_package(PkgConfig QUIET)
+ pkg_check_modules(PC_WOLFSSL "wolfssl")
+endif()
+
+find_path(WOLFSSL_INCLUDE_DIR NAMES "wolfssl/ssl.h"
+ HINTS
+ ${PC_WOLFSSL_INCLUDEDIR}
+ ${PC_WOLFSSL_INCLUDE_DIRS}
+)
+
+find_library(WOLFSSL_LIBRARY NAMES "wolfssl"
+ HINTS
+ ${PC_WOLFSSL_LIBDIR}
+ ${PC_WOLFSSL_LIBRARY_DIRS}
+)
+
+if(PC_WOLFSSL_VERSION)
+ set(WOLFSSL_VERSION ${PC_WOLFSSL_VERSION})
+elseif(WOLFSSL_INCLUDE_DIR AND EXISTS "${WOLFSSL_INCLUDE_DIR}/wolfssl/version.h")
+ set(_version_regex "#[\t ]*define[\t ]+LIBWOLFSSL_VERSION_STRING[\t ]+\"([^\"]*)\"")
+ file(STRINGS "${WOLFSSL_INCLUDE_DIR}/wolfssl/version.h" _version_str REGEX "${_version_regex}")
+ string(REGEX REPLACE "${_version_regex}" "\\1" _version_str "${_version_str}")
+ set(WOLFSSL_VERSION "${_version_str}")
+ unset(_version_regex)
+ unset(_version_str)
+endif()
include(FindPackageHandleStandardArgs)
find_package_handle_standard_args(WolfSSL
- REQUIRED_VARS WolfSSL_INCLUDE_DIR WolfSSL_LIBRARY
- )
+ REQUIRED_VARS
+ WOLFSSL_INCLUDE_DIR
+ WOLFSSL_LIBRARY
+ VERSION_VAR
+ WOLFSSL_VERSION
+)
+
+if(WOLFSSL_FOUND)
+ set(WOLFSSL_INCLUDE_DIRS ${WOLFSSL_INCLUDE_DIR})
+ set(WOLFSSL_LIBRARIES ${WOLFSSL_LIBRARY})
-if(WolfSSL_FOUND)
- set(WolfSSL_INCLUDE_DIRS ${WolfSSL_INCLUDE_DIR})
- set(WolfSSL_LIBRARIES ${WolfSSL_LIBRARY})
+ if(NOT WIN32)
+ find_library(_math_library "m")
+ if(_math_library)
+ list(APPEND WOLFSSL_LIBRARIES "m") # for log and pow
+ endif()
+ endif()
endif()
+
+mark_as_advanced(WOLFSSL_INCLUDE_DIR WOLFSSL_LIBRARY)
diff --git a/curl/CMake/FindZstd.cmake b/curl/CMake/FindZstd.cmake
index 973e6ad4..10558ccc 100644
--- a/curl/CMake/FindZstd.cmake
+++ b/curl/CMake/FindZstd.cmake
@@ -21,51 +21,81 @@
# SPDX-License-Identifier: curl
#
###########################################################################
+# Find the zstd library
+#
+# Input variables:
+#
+# ZSTD_INCLUDE_DIR The zstd include directory
+# Zstd_INCLUDE_DIR The zstd include directory (deprecated)
+# ZSTD_LIBRARY Path to zstd library
+# Zstd_LIBRARY Path to zstd library (deprecated)
+#
+# Result variables:
+#
+# ZSTD_FOUND System has zstd
+# ZSTD_INCLUDE_DIRS The zstd include directories
+# ZSTD_LIBRARIES The zstd library names
+# ZSTD_VERSION Version of zstd
-#[=======================================================================[.rst:
-FindZstd
-----------
-
-Find the zstd library
-
-Result Variables
-^^^^^^^^^^^^^^^^
-
-``Zstd_FOUND``
- System has zstd
-``Zstd_INCLUDE_DIRS``
- The zstd include directories.
-``Zstd_LIBRARIES``
- The libraries needed to use zstd
-#]=======================================================================]
+if(DEFINED Zstd_INCLUDE_DIR AND NOT DEFINED ZSTD_INCLUDE_DIR)
+ message(WARNING "Zstd_INCLUDE_DIR is deprecated, use ZSTD_INCLUDE_DIR instead.")
+ set(ZSTD_INCLUDE_DIR "${Zstd_INCLUDE_DIR}")
+endif()
+if(DEFINED Zstd_LIBRARY AND NOT DEFINED ZSTD_LIBRARY)
+ message(WARNING "Zstd_LIBRARY is deprecated, use ZSTD_LIBRARY instead.")
+ set(ZSTD_LIBRARY "${Zstd_LIBRARY}")
+endif()
-if(UNIX)
+if(CURL_USE_PKGCONFIG)
find_package(PkgConfig QUIET)
- pkg_search_module(PC_Zstd libzstd)
+ pkg_check_modules(PC_ZSTD "libzstd")
endif()
-find_path(Zstd_INCLUDE_DIR zstd.h
+find_path(ZSTD_INCLUDE_DIR NAMES "zstd.h"
HINTS
- ${PC_Zstd_INCLUDEDIR}
- ${PC_Zstd_INCLUDE_DIRS}
+ ${PC_ZSTD_INCLUDEDIR}
+ ${PC_ZSTD_INCLUDE_DIRS}
)
-find_library(Zstd_LIBRARY NAMES zstd
+find_library(ZSTD_LIBRARY NAMES "zstd"
HINTS
- ${PC_Zstd_LIBDIR}
- ${PC_Zstd_LIBRARY_DIRS}
+ ${PC_ZSTD_LIBDIR}
+ ${PC_ZSTD_LIBRARY_DIRS}
)
+if(PC_ZSTD_VERSION)
+ set(ZSTD_VERSION ${PC_ZSTD_VERSION})
+elseif(ZSTD_INCLUDE_DIR AND EXISTS "${ZSTD_INCLUDE_DIR}/zstd.h")
+ set(_version_regex1 "#[\t ]*define[ \t]+ZSTD_VERSION_MAJOR[ \t]+([0-9]+).*")
+ set(_version_regex2 "#[\t ]*define[ \t]+ZSTD_VERSION_MINOR[ \t]+([0-9]+).*")
+ set(_version_regex3 "#[\t ]*define[ \t]+ZSTD_VERSION_RELEASE[ \t]+([0-9]+).*")
+ file(STRINGS "${ZSTD_INCLUDE_DIR}/zstd.h" _version_str1 REGEX "${_version_regex1}")
+ file(STRINGS "${ZSTD_INCLUDE_DIR}/zstd.h" _version_str2 REGEX "${_version_regex2}")
+ file(STRINGS "${ZSTD_INCLUDE_DIR}/zstd.h" _version_str3 REGEX "${_version_regex3}")
+ string(REGEX REPLACE "${_version_regex1}" "\\1" _version_str1 "${_version_str1}")
+ string(REGEX REPLACE "${_version_regex2}" "\\1" _version_str2 "${_version_str2}")
+ string(REGEX REPLACE "${_version_regex3}" "\\1" _version_str3 "${_version_str3}")
+ set(ZSTD_VERSION "${_version_str1}.${_version_str2}.${_version_str3}")
+ unset(_version_regex1)
+ unset(_version_regex2)
+ unset(_version_regex3)
+ unset(_version_str1)
+ unset(_version_str2)
+ unset(_version_str3)
+endif()
+
include(FindPackageHandleStandardArgs)
find_package_handle_standard_args(Zstd
REQUIRED_VARS
- Zstd_LIBRARY
- Zstd_INCLUDE_DIR
+ ZSTD_INCLUDE_DIR
+ ZSTD_LIBRARY
+ VERSION_VAR
+ ZSTD_VERSION
)
-if(Zstd_FOUND)
- set(Zstd_LIBRARIES ${Zstd_LIBRARY})
- set(Zstd_INCLUDE_DIRS ${Zstd_INCLUDE_DIR})
+if(ZSTD_FOUND)
+ set(ZSTD_INCLUDE_DIRS ${ZSTD_INCLUDE_DIR})
+ set(ZSTD_LIBRARIES ${ZSTD_LIBRARY})
endif()
-mark_as_advanced(Zstd_INCLUDE_DIRS Zstd_LIBRARIES)
+mark_as_advanced(ZSTD_INCLUDE_DIR ZSTD_LIBRARY)
diff --git a/curl/CMake/Macros.cmake b/curl/CMake/Macros.cmake
index e12bf303..d268667f 100644
--- a/curl/CMake/Macros.cmake
+++ b/curl/CMake/Macros.cmake
@@ -21,102 +21,56 @@
# SPDX-License-Identifier: curl
#
###########################################################################
-#File defines convenience macros for available feature testing
-
-# This macro checks if the symbol exists in the library and if it
-# does, it prepends library to the list. It is intended to be called
-# multiple times with a sequence of possibly dependent libraries in
-# order of least-to-most-dependent. Some libraries depend on others
-# to link correctly.
-macro(check_library_exists_concat LIBRARY SYMBOL VARIABLE)
- check_library_exists("${LIBRARY};${CURL_LIBS}" ${SYMBOL} "${CMAKE_LIBRARY_PATH}"
- ${VARIABLE})
- if(${VARIABLE})
- set(CURL_LIBS ${LIBRARY} ${CURL_LIBS})
- endif()
-endmacro()
+# File defines convenience macros for available feature testing
# Check if header file exists and add it to the list.
# This macro is intended to be called multiple times with a sequence of
# possibly dependent header files. Some headers depend on others to be
# compiled correctly.
-macro(check_include_file_concat FILE VARIABLE)
- check_include_files("${CURL_INCLUDES};${FILE}" ${VARIABLE})
- if(${VARIABLE})
- set(CURL_INCLUDES ${CURL_INCLUDES} ${FILE})
- set(CURL_TEST_DEFINES "${CURL_TEST_DEFINES} -D${VARIABLE}")
+macro(check_include_file_concat _file _variable)
+ check_include_files("${CURL_INCLUDES};${_file}" ${_variable})
+ if(${_variable})
+ set(CURL_INCLUDES ${CURL_INCLUDES} ${_file})
+ set(CURL_TEST_DEFINES "${CURL_TEST_DEFINES} -D${_variable}")
endif()
endmacro()
# For other curl specific tests, use this macro.
-macro(curl_internal_test CURL_TEST)
- if(NOT DEFINED "${CURL_TEST}")
- set(MACRO_CHECK_FUNCTION_DEFINITIONS
- "-D${CURL_TEST} ${CURL_TEST_DEFINES} ${CMAKE_REQUIRED_FLAGS}")
+# Return result in variable: CURL_TEST_OUTPUT
+macro(curl_internal_test _curl_test)
+ if(NOT DEFINED "${_curl_test}")
+ set(_macro_check_function_definitions
+ "-D${_curl_test} ${CURL_TEST_DEFINES} ${CMAKE_REQUIRED_FLAGS}")
if(CMAKE_REQUIRED_LIBRARIES)
- set(CURL_TEST_ADD_LIBRARIES
+ set(_curl_test_add_libraries
"-DLINK_LIBRARIES:STRING=${CMAKE_REQUIRED_LIBRARIES}")
endif()
- message(STATUS "Performing Curl Test ${CURL_TEST}")
- try_compile(${CURL_TEST}
+ message(STATUS "Performing Test ${_curl_test}")
+ try_compile(${_curl_test}
${CMAKE_BINARY_DIR}
- ${CMAKE_CURRENT_SOURCE_DIR}/CMake/CurlTests.c
- CMAKE_FLAGS -DCOMPILE_DEFINITIONS:STRING=${MACRO_CHECK_FUNCTION_DEFINITIONS}
- "${CURL_TEST_ADD_LIBRARIES}"
- OUTPUT_VARIABLE OUTPUT)
- if(${CURL_TEST})
- set(${CURL_TEST} 1 CACHE INTERNAL "Curl test ${FUNCTION}")
- message(STATUS "Performing Curl Test ${CURL_TEST} - Success")
- file(APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeOutput.log
- "Performing Curl Test ${CURL_TEST} passed with the following output:\n"
- "${OUTPUT}\n")
+ "${CMAKE_CURRENT_SOURCE_DIR}/CMake/CurlTests.c"
+ CMAKE_FLAGS
+ "-DCOMPILE_DEFINITIONS:STRING=${_macro_check_function_definitions}"
+ "${_curl_test_add_libraries}"
+ OUTPUT_VARIABLE CURL_TEST_OUTPUT)
+ if(${_curl_test})
+ set(${_curl_test} 1 CACHE INTERNAL "Curl test")
+ message(STATUS "Performing Test ${_curl_test} - Success")
else()
- message(STATUS "Performing Curl Test ${CURL_TEST} - Failed")
- set(${CURL_TEST} "" CACHE INTERNAL "Curl test ${FUNCTION}")
- file(APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeError.log
- "Performing Curl Test ${CURL_TEST} failed with the following output:\n"
- "${OUTPUT}\n")
- endif()
- endif()
-endmacro()
-
-macro(curl_nroff_check)
- find_program(NROFF NAMES gnroff nroff)
- if(NROFF)
- # Need a way to write to stdin, this will do
- file(WRITE "${CMAKE_CURRENT_BINARY_DIR}/nroff-input.txt" "test")
- # Tests for a valid nroff option to generate a manpage
- foreach(_MANOPT "-man" "-mandoc")
- execute_process(COMMAND "${NROFF}" ${_MANOPT}
- OUTPUT_VARIABLE NROFF_MANOPT_OUTPUT
- INPUT_FILE "${CMAKE_CURRENT_BINARY_DIR}/nroff-input.txt"
- ERROR_QUIET)
- # Save the option if it was valid
- if(NROFF_MANOPT_OUTPUT)
- message("Found *nroff option: -- ${_MANOPT}")
- set(NROFF_MANOPT ${_MANOPT})
- set(NROFF_USEFUL ON)
- break()
- endif()
- endforeach()
- # No need for the temporary file
- file(REMOVE "${CMAKE_CURRENT_BINARY_DIR}/nroff-input.txt")
- if(NOT NROFF_USEFUL)
- message(WARNING "Found no *nroff option to get plaintext from man pages")
+ set(${_curl_test} "" CACHE INTERNAL "Curl test")
+ message(STATUS "Performing Test ${_curl_test} - Failed")
endif()
- else()
- message(WARNING "Found no *nroff program")
endif()
endmacro()
-macro(optional_dependency DEPENDENCY)
- set(CURL_${DEPENDENCY} AUTO CACHE STRING "Build curl with ${DEPENDENCY} support (AUTO, ON or OFF)")
- set_property(CACHE CURL_${DEPENDENCY} PROPERTY STRINGS AUTO ON OFF)
+macro(optional_dependency _dependency)
+ set(CURL_${_dependency} "AUTO" CACHE STRING "Build curl with ${_dependency} support (AUTO, ON or OFF)")
+ set_property(CACHE CURL_${_dependency} PROPERTY STRINGS "AUTO" "ON" "OFF")
- if(CURL_${DEPENDENCY} STREQUAL AUTO)
- find_package(${DEPENDENCY})
- elseif(CURL_${DEPENDENCY})
- find_package(${DEPENDENCY} REQUIRED)
+ if(CURL_${_dependency} STREQUAL "AUTO")
+ find_package(${_dependency})
+ elseif(CURL_${_dependency})
+ find_package(${_dependency} REQUIRED)
endif()
endmacro()
diff --git a/curl/CMake/OtherTests.cmake b/curl/CMake/OtherTests.cmake
index d67a9059..8936cea0 100644
--- a/curl/CMake/OtherTests.cmake
+++ b/curl/CMake/OtherTests.cmake
@@ -23,114 +23,84 @@
###########################################################################
include(CheckCSourceCompiles)
include(CheckCSourceRuns)
+include(CheckTypeSize)
-# The begin of the sources (macros and includes)
-set(_source_epilogue "#undef inline")
-
-macro(add_header_include check header)
- if(${check})
- set(_source_epilogue "${_source_epilogue}\n#include <${header}>")
+macro(add_header_include _check _header)
+ if(${_check})
+ set(_source_epilogue "${_source_epilogue}
+ #include <${_header}>")
endif()
endmacro()
-set(signature_call_conv)
-if(HAVE_WINDOWS_H)
- add_header_include(HAVE_WINSOCK2_H "winsock2.h")
- add_header_include(HAVE_WINDOWS_H "windows.h")
- set(_source_epilogue
- "${_source_epilogue}\n#ifndef WIN32_LEAN_AND_MEAN\n#define WIN32_LEAN_AND_MEAN\n#endif")
- set(signature_call_conv "PASCAL")
+set(CMAKE_TRY_COMPILE_TARGET_TYPE STATIC_LIBRARY)
+
+if(NOT DEFINED HAVE_STRUCT_SOCKADDR_STORAGE)
+ unset(CMAKE_EXTRA_INCLUDE_FILES)
if(WIN32)
- set(CMAKE_REQUIRED_LIBRARIES ws2_32)
+ set(CMAKE_EXTRA_INCLUDE_FILES "winsock2.h")
+ set(CMAKE_REQUIRED_DEFINITIONS "-DWIN32_LEAN_AND_MEAN")
+ set(CMAKE_REQUIRED_LIBRARIES "ws2_32")
+ elseif(HAVE_SYS_SOCKET_H)
+ set(CMAKE_EXTRA_INCLUDE_FILES "sys/socket.h")
endif()
-else()
+ check_type_size("struct sockaddr_storage" SIZEOF_STRUCT_SOCKADDR_STORAGE)
+ set(HAVE_STRUCT_SOCKADDR_STORAGE ${HAVE_SIZEOF_STRUCT_SOCKADDR_STORAGE})
+ set(CMAKE_EXTRA_INCLUDE_FILES "")
+endif()
+
+if(NOT WIN32)
+ set(_source_epilogue "#undef inline")
add_header_include(HAVE_SYS_TYPES_H "sys/types.h")
add_header_include(HAVE_SYS_SOCKET_H "sys/socket.h")
+ check_c_source_compiles("${_source_epilogue}
+ int main(void)
+ {
+ int flag = MSG_NOSIGNAL;
+ (void)flag;
+ return 0;
+ }" HAVE_MSG_NOSIGNAL)
endif()
-set(CMAKE_TRY_COMPILE_TARGET_TYPE STATIC_LIBRARY)
-
+set(_source_epilogue "#undef inline")
+add_header_include(HAVE_SYS_TIME_H "sys/time.h")
check_c_source_compiles("${_source_epilogue}
- int main(void) {
- int flag = MSG_NOSIGNAL;
- (void)flag;
+ #include
+ int main(void)
+ {
+ struct timeval ts;
+ ts.tv_sec = 0;
+ ts.tv_usec = 0;
+ (void)ts;
return 0;
- }" HAVE_MSG_NOSIGNAL)
-
-if(NOT HAVE_WINDOWS_H)
- add_header_include(HAVE_SYS_TIME_H "sys/time.h")
-endif()
-check_c_source_compiles("${_source_epilogue}
-#include
-int main(void) {
- struct timeval ts;
- ts.tv_sec = 0;
- ts.tv_usec = 0;
- (void)ts;
- return 0;
-}" HAVE_STRUCT_TIMEVAL)
-
-if(HAVE_WINDOWS_H)
- set(CMAKE_EXTRA_INCLUDE_FILES winsock2.h)
-else()
- set(CMAKE_EXTRA_INCLUDE_FILES)
- if(HAVE_SYS_SOCKET_H)
- set(CMAKE_EXTRA_INCLUDE_FILES sys/socket.h)
- endif()
-endif()
-
-check_type_size("struct sockaddr_storage" SIZEOF_STRUCT_SOCKADDR_STORAGE)
-if(HAVE_SIZEOF_STRUCT_SOCKADDR_STORAGE)
- set(HAVE_STRUCT_SOCKADDR_STORAGE 1)
-endif()
+ }" HAVE_STRUCT_TIMEVAL)
unset(CMAKE_TRY_COMPILE_TARGET_TYPE)
-if(NOT CMAKE_CROSSCOMPILING)
- if(NOT ${CMAKE_SYSTEM_NAME} MATCHES "Darwin" AND NOT ${CMAKE_SYSTEM_NAME} MATCHES "iOS")
- # only try this on non-apple platforms
-
- # if not cross-compilation...
- set(CMAKE_REQUIRED_FLAGS "")
- if(HAVE_SYS_POLL_H)
- set(CMAKE_REQUIRED_FLAGS "-DHAVE_SYS_POLL_H")
- elseif(HAVE_POLL_H)
- set(CMAKE_REQUIRED_FLAGS "-DHAVE_POLL_H")
- endif()
- check_c_source_runs("
+if(NOT APPLE)
+ set(_source_epilogue "#undef inline")
+ add_header_include(HAVE_SYS_POLL_H "sys/poll.h")
+ add_header_include(HAVE_POLL_H "poll.h")
+ if(NOT CMAKE_CROSSCOMPILING)
+ check_c_source_runs("${_source_epilogue}
#include
- #include
-
- #ifdef HAVE_SYS_POLL_H
- # include
- #elif HAVE_POLL_H
- # include
- #endif
-
int main(void)
{
- if(0 != poll(0, 0, 10)) {
- return 1; /* fail */
- }
- else {
- /* detect the 10.12 poll() breakage */
- struct timeval before, after;
- int rc;
- size_t us;
-
- gettimeofday(&before, NULL);
- rc = poll(NULL, 0, 500);
- gettimeofday(&after, NULL);
-
- us = (after.tv_sec - before.tv_sec) * 1000000 +
- (after.tv_usec - before.tv_usec);
-
- if(us < 400000) {
- return 1;
- }
- }
- return 0;
- }" HAVE_POLL_FINE)
+ if(0 != poll(0, 0, 10)) {
+ return 1; /* fail */
+ }
+ return 0;
+ }" HAVE_POLL_FINE)
+ elseif(UNIX)
+ check_c_source_compiles("${_source_epilogue}
+ #include
+ int main(void)
+ {
+ #if defined(_POSIX_C_SOURCE) && _POSIX_C_SOURCE >= 200112L
+ (void)poll(0, 0, 0);
+ #else
+ #error force compilation error
+ #endif
+ }" HAVE_POLL_FINE)
endif()
endif()
@@ -140,8 +110,8 @@ if(WIN32)
set(HAVE_GETADDRINFO_THREADSAFE ${HAVE_GETADDRINFO})
elseif(NOT HAVE_GETADDRINFO)
set(HAVE_GETADDRINFO_THREADSAFE FALSE)
-elseif(CMAKE_SYSTEM_NAME STREQUAL "AIX" OR
- CMAKE_SYSTEM_NAME STREQUAL "Darwin" OR
+elseif(APPLE OR
+ CMAKE_SYSTEM_NAME STREQUAL "AIX" OR
CMAKE_SYSTEM_NAME STREQUAL "FreeBSD" OR
CMAKE_SYSTEM_NAME STREQUAL "HP-UX" OR
CMAKE_SYSTEM_NAME STREQUAL "MidnightBSD" OR
@@ -153,26 +123,22 @@ elseif(CMAKE_SYSTEM_NAME MATCHES "BSD")
endif()
if(NOT DEFINED HAVE_GETADDRINFO_THREADSAFE)
-
- set(_save_epilogue "${_source_epilogue}")
set(_source_epilogue "#undef inline")
-
add_header_include(HAVE_SYS_SOCKET_H "sys/socket.h")
add_header_include(HAVE_SYS_TIME_H "sys/time.h")
add_header_include(HAVE_NETDB_H "netdb.h")
-
check_c_source_compiles("${_source_epilogue}
int main(void)
{
#ifdef h_errno
return 0;
#else
- force compilation error
+ #error force compilation error
#endif
}" HAVE_H_ERRNO)
if(NOT HAVE_H_ERRNO)
- check_c_source_runs("${_source_epilogue}
+ check_c_source_compiles("${_source_epilogue}
int main(void)
{
h_errno = 2;
@@ -188,7 +154,7 @@ if(NOT DEFINED HAVE_GETADDRINFO_THREADSAFE)
#elif defined(_XOPEN_SOURCE) && (_XOPEN_SOURCE >= 700)
return 0;
#else
- force compilation error
+ #error force compilation error
#endif
}" HAVE_H_ERRNO_SBS_ISSUE_7)
endif()
@@ -197,17 +163,12 @@ if(NOT DEFINED HAVE_GETADDRINFO_THREADSAFE)
if(HAVE_H_ERRNO OR HAVE_H_ERRNO_ASSIGNABLE OR HAVE_H_ERRNO_SBS_ISSUE_7)
set(HAVE_GETADDRINFO_THREADSAFE TRUE)
endif()
-
- set(_source_epilogue "${_save_epilogue}")
endif()
-if(NOT DEFINED HAVE_CLOCK_GETTIME_MONOTONIC_RAW)
- set(_save_epilogue "${_source_epilogue}")
+if(NOT WIN32 AND NOT DEFINED HAVE_CLOCK_GETTIME_MONOTONIC_RAW)
set(_source_epilogue "#undef inline")
-
add_header_include(HAVE_SYS_TYPES_H "sys/types.h")
add_header_include(HAVE_SYS_TIME_H "sys/time.h")
-
check_c_source_compiles("${_source_epilogue}
#include
int main(void)
@@ -216,6 +177,4 @@ if(NOT DEFINED HAVE_CLOCK_GETTIME_MONOTONIC_RAW)
(void)clock_gettime(CLOCK_MONOTONIC_RAW, &ts);
return 0;
}" HAVE_CLOCK_GETTIME_MONOTONIC_RAW)
-
- set(_source_epilogue "${_save_epilogue}")
endif()
diff --git a/curl/CMake/PickyWarnings.cmake b/curl/CMake/PickyWarnings.cmake
index 1310cb4f..a711efae 100644
--- a/curl/CMake/PickyWarnings.cmake
+++ b/curl/CMake/PickyWarnings.cmake
@@ -23,6 +23,26 @@
###########################################################################
include(CheckCCompilerFlag)
+unset(WPICKY)
+
+if(CURL_WERROR AND
+ ((CMAKE_COMPILER_IS_GNUCC AND
+ NOT CMAKE_C_COMPILER_VERSION VERSION_LESS 5.0 AND
+ NOT CMAKE_VERSION VERSION_LESS 3.23.0) OR # to avoid check_symbol_exists() conflicting with GCC -pedantic-errors
+ CMAKE_C_COMPILER_ID MATCHES "Clang"))
+ set(WPICKY "${WPICKY} -pedantic-errors")
+endif()
+
+if(APPLE AND
+ (CMAKE_C_COMPILER_ID STREQUAL "Clang" AND NOT CMAKE_C_COMPILER_VERSION VERSION_LESS 3.6) OR
+ (CMAKE_C_COMPILER_ID STREQUAL "AppleClang" AND NOT CMAKE_C_COMPILER_VERSION VERSION_LESS 6.3))
+ set(WPICKY "${WPICKY} -Werror=partial-availability") # clang 3.6 appleclang 6.3
+endif()
+
+if(CMAKE_COMPILER_IS_GNUCC OR CMAKE_C_COMPILER_ID MATCHES "Clang")
+ set(WPICKY "${WPICKY} -Werror-implicit-function-declaration") # clang 1.0 gcc 2.95
+endif()
+
if(PICKY_COMPILER)
if(CMAKE_COMPILER_IS_GNUCC OR CMAKE_C_COMPILER_ID MATCHES "Clang")
@@ -52,8 +72,8 @@ if(PICKY_COMPILER)
# Assume these options always exist with both clang and gcc.
# Require clang 3.0 / gcc 2.95 or later.
list(APPEND WPICKY_ENABLE
- -Wbad-function-cast # clang 3.0 gcc 2.95
- -Wconversion # clang 3.0 gcc 2.95
+ -Wbad-function-cast # clang 2.7 gcc 2.95
+ -Wconversion # clang 2.7 gcc 2.95
-Winline # clang 1.0 gcc 1.0
-Wmissing-declarations # clang 1.0 gcc 2.7
-Wmissing-prototypes # clang 1.0 gcc 1.0
@@ -70,23 +90,38 @@ if(PICKY_COMPILER)
# Always enable with clang, version dependent with gcc
set(WPICKY_COMMON_OLD
+ -Waddress # clang 2.7 gcc 4.3
+ -Wattributes # clang 2.7 gcc 4.1
-Wcast-align # clang 1.0 gcc 4.2
-Wdeclaration-after-statement # clang 1.0 gcc 3.4
- -Wempty-body # clang 3.0 gcc 4.3
+ -Wdiv-by-zero # clang 2.7 gcc 4.1
+ -Wempty-body # clang 2.7 gcc 4.3
-Wendif-labels # clang 1.0 gcc 3.3
-Wfloat-equal # clang 1.0 gcc 2.96 (3.0)
- -Wignored-qualifiers # clang 3.0 gcc 4.3
+ -Wformat-security # clang 2.7 gcc 4.1
+ -Wignored-qualifiers # clang 2.8 gcc 4.3
+ -Wmissing-field-initializers # clang 2.7 gcc 4.1
+ -Wmissing-noreturn # clang 2.7 gcc 4.1
-Wno-format-nonliteral # clang 1.0 gcc 2.96 (3.0)
- -Wno-sign-conversion # clang 3.0 gcc 4.3
-Wno-system-headers # clang 1.0 gcc 3.0
+ # -Wpadded # clang 2.9 gcc 4.1 # Not used: We cannot change public structs
+ -Wold-style-definition # clang 2.7 gcc 3.4
+ -Wredundant-decls # clang 2.7 gcc 4.1
+ -Wsign-conversion # clang 2.9 gcc 4.3
+ -Wno-error=sign-conversion # FIXME
-Wstrict-prototypes # clang 1.0 gcc 3.3
- -Wtype-limits # clang 3.0 gcc 4.3
+ # -Wswitch-enum # clang 2.7 gcc 4.1 # Not used: It basically disallows default case
+ -Wtype-limits # clang 2.7 gcc 4.3
+ -Wunreachable-code # clang 2.7 gcc 4.1
+ # -Wunused-macros # clang 2.7 gcc 4.1 # Not practical
+ -Wunused-parameter # clang 2.7 gcc 4.1
-Wvla # clang 2.8 gcc 4.3
)
set(WPICKY_COMMON
-Wdouble-promotion # clang 3.6 gcc 4.6 appleclang 6.3
-Wenum-conversion # clang 3.2 gcc 10.0 appleclang 4.6 g++ 11.0
+ -Wpragmas # clang 3.5 gcc 4.1 appleclang 6.0
-Wunused-const-variable # clang 3.4 gcc 6.0 appleclang 5.1
)
@@ -95,12 +130,17 @@ if(PICKY_COMPILER)
${WPICKY_COMMON_OLD}
-Wshift-sign-overflow # clang 2.9
-Wshorten-64-to-32 # clang 1.0
+ -Wlanguage-extension-token # clang 3.0
+ -Wformat=2 # clang 3.0 gcc 4.8
)
# Enable based on compiler version
if((CMAKE_C_COMPILER_ID STREQUAL "Clang" AND NOT CMAKE_C_COMPILER_VERSION VERSION_LESS 3.6) OR
(CMAKE_C_COMPILER_ID STREQUAL "AppleClang" AND NOT CMAKE_C_COMPILER_VERSION VERSION_LESS 6.3))
list(APPEND WPICKY_ENABLE
${WPICKY_COMMON}
+ -Wunreachable-code-break # clang 3.5 appleclang 6.0
+ -Wheader-guard # clang 3.4 appleclang 5.1
+ -Wsometimes-uninitialized # clang 3.2 appleclang 4.6
)
endif()
if((CMAKE_C_COMPILER_ID STREQUAL "Clang" AND NOT CMAKE_C_COMPILER_VERSION VERSION_LESS 3.9) OR
@@ -117,6 +157,12 @@ if(PICKY_COMPILER)
-Wextra-semi-stmt # clang 7.0 appleclang 10.3
)
endif()
+ if((CMAKE_C_COMPILER_ID STREQUAL "Clang" AND NOT CMAKE_C_COMPILER_VERSION VERSION_LESS 10.0) OR
+ (CMAKE_C_COMPILER_ID STREQUAL "AppleClang" AND NOT CMAKE_C_COMPILER_VERSION VERSION_LESS 12.4))
+ list(APPEND WPICKY_ENABLE
+ -Wimplicit-fallthrough # clang 4.0 gcc 7.0 appleclang 12.4 # We do silencing for clang 10.0 and above only
+ )
+ endif()
else() # gcc
list(APPEND WPICKY_DETECT
${WPICKY_COMMON}
@@ -125,19 +171,21 @@ if(PICKY_COMPILER)
if(NOT CMAKE_C_COMPILER_VERSION VERSION_LESS 4.3)
list(APPEND WPICKY_ENABLE
${WPICKY_COMMON_OLD}
+ -Wclobbered # gcc 4.3
-Wmissing-parameter-type # gcc 4.3
-Wold-style-declaration # gcc 4.3
-Wstrict-aliasing=3 # gcc 4.0
+ -Wtrampolines # gcc 4.3
)
endif()
if(NOT CMAKE_C_COMPILER_VERSION VERSION_LESS 4.5 AND MINGW)
list(APPEND WPICKY_ENABLE
- -Wno-pedantic-ms-format # gcc 4.5 (mingw-only)
+ -Wno-pedantic-ms-format # gcc 4.5 (MinGW-only)
)
endif()
if(NOT CMAKE_C_COMPILER_VERSION VERSION_LESS 4.8)
list(APPEND WPICKY_ENABLE
- -Wformat=2 # clang 3.0 gcc 4.8 (clang part-default, enabling it fully causes -Wformat-nonliteral warnings)
+ -Wformat=2 # clang 3.0 gcc 4.8
)
endif()
if(NOT CMAKE_C_COMPILER_VERSION VERSION_LESS 5.0)
@@ -158,8 +206,9 @@ if(PICKY_COMPILER)
list(APPEND WPICKY_ENABLE
-Walloc-zero # gcc 7.0
-Wduplicated-branches # gcc 7.0
- -Wformat-overflow=2 # gcc 7.0
- -Wformat-truncation=1 # gcc 7.0
+ -Wno-format-overflow # gcc 7.0
+ -Wformat-truncation=2 # gcc 7.0
+ -Wimplicit-fallthrough # clang 4.0 gcc 7.0
-Wrestrict # gcc 7.0
)
endif()
@@ -172,26 +221,26 @@ if(PICKY_COMPILER)
#
- unset(WPICKY)
-
- foreach(_CCOPT ${WPICKY_ENABLE})
- set(WPICKY "${WPICKY} ${_CCOPT}")
+ foreach(_ccopt IN LISTS WPICKY_ENABLE)
+ set(WPICKY "${WPICKY} ${_ccopt}")
endforeach()
- foreach(_CCOPT ${WPICKY_DETECT})
+ foreach(_ccopt IN LISTS WPICKY_DETECT)
# surprisingly, CHECK_C_COMPILER_FLAG needs a new variable to store each new
# test result in.
- string(MAKE_C_IDENTIFIER "OPT${_CCOPT}" _optvarname)
+ string(MAKE_C_IDENTIFIER "OPT${_ccopt}" _optvarname)
# GCC only warns about unknown -Wno- options if there are also other diagnostic messages,
# so test for the positive form instead
- string(REPLACE "-Wno-" "-W" _CCOPT_ON "${_CCOPT}")
- check_c_compiler_flag(${_CCOPT_ON} ${_optvarname})
+ string(REPLACE "-Wno-" "-W" _ccopt_on "${_ccopt}")
+ check_c_compiler_flag(${_ccopt_on} ${_optvarname})
if(${_optvarname})
- set(WPICKY "${WPICKY} ${_CCOPT}")
+ set(WPICKY "${WPICKY} ${_ccopt}")
endif()
endforeach()
-
- message(STATUS "Picky compiler options:${WPICKY}")
- set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${WPICKY}")
endif()
endif()
+
+if(WPICKY)
+ set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${WPICKY}")
+ message(STATUS "Picky compiler options:${WPICKY}")
+endif()
diff --git a/curl/CMake/Platforms/WindowsCache.cmake b/curl/CMake/Platforms/WindowsCache.cmake
index 5daec0e1..317f21c8 100644
--- a/curl/CMake/Platforms/WindowsCache.cmake
+++ b/curl/CMake/Platforms/WindowsCache.cmake
@@ -21,113 +21,175 @@
# SPDX-License-Identifier: curl
#
###########################################################################
-if(NOT UNIX)
- if(WIN32)
+if(NOT WIN32)
+ message(FATAL_ERROR "This file should be included on Windows platform only")
+endif()
- set(HAVE_WINDOWS_H 1)
- set(HAVE_WS2TCPIP_H 1)
- set(HAVE_WINSOCK2_H 1)
+set(HAVE_LOCALE_H 1)
- if(MINGW)
- set(HAVE_SNPRINTF 1)
- set(HAVE_UNISTD_H 1)
- set(HAVE_INTTYPES_H 1)
+if(MINGW)
+ set(HAVE_SNPRINTF 1)
+ set(HAVE_UNISTD_H 1)
+ set(HAVE_LIBGEN_H 1)
+ set(HAVE_STDDEF_H 1) # detected by CMake internally in check_type_size()
+ set(HAVE_STDBOOL_H 1)
+ set(HAVE_BOOL_T "${HAVE_STDBOOL_H}")
+ set(HAVE_STRTOLL 1)
+ set(HAVE_BASENAME 1)
+ set(HAVE_STRCASECMP 1)
+ set(HAVE_FTRUNCATE 1)
+ set(HAVE_SYS_PARAM_H 1)
+ set(HAVE_SYS_TIME_H 1)
+ set(HAVE_GETTIMEOFDAY 1)
+ set(HAVE_STRINGS_H 1) # wrapper to string.h
+ set(HAVE_UTIME_H 1) # wrapper to sys/utime.h
+ set(HAVE_DIRENT_H 1)
+ set(HAVE_OPENDIR 1)
+else()
+ set(HAVE_LIBGEN_H 0)
+ set(HAVE_STRCASECMP 0)
+ set(HAVE_FTRUNCATE 0)
+ set(HAVE_SYS_PARAM_H 0)
+ set(HAVE_SYS_TIME_H 0)
+ set(HAVE_GETTIMEOFDAY 0)
+ set(HAVE_STRINGS_H 0)
+ set(HAVE_UTIME_H 0)
+ set(HAVE_DIRENT_H 0)
+ set(HAVE_OPENDIR 0)
+ if(MSVC)
+ set(HAVE_UNISTD_H 0)
+ set(HAVE_LOCALE_H 1)
+ set(HAVE_STDDEF_H 1) # detected by CMake internally in check_type_size()
+ set(HAVE_STDATOMIC_H 0)
+ if(NOT MSVC_VERSION LESS 1800)
+ set(HAVE_STDBOOL_H 1)
set(HAVE_STRTOLL 1)
- set(HAVE_BASENAME 1)
- elseif(MSVC)
- if(NOT MSVC_VERSION LESS 1800)
- set(HAVE_INTTYPES_H 1)
- set(HAVE_STRTOLL 1)
- else()
- set(HAVE_INTTYPES_H 0)
- set(HAVE_STRTOLL 0)
- endif()
- if(NOT MSVC_VERSION LESS 1900)
- set(HAVE_SNPRINTF 1)
- else()
- set(HAVE_SNPRINTF 0)
- endif()
- set(HAVE_BASENAME 0)
+ else()
+ set(HAVE_STDBOOL_H 0)
+ set(HAVE_STRTOLL 0)
endif()
+ set(HAVE_BOOL_T "${HAVE_STDBOOL_H}")
+ if(NOT MSVC_VERSION LESS 1900)
+ set(HAVE_SNPRINTF 1)
+ else()
+ set(HAVE_SNPRINTF 0)
+ endif()
+ set(HAVE_BASENAME 0)
+ set(HAVE_STRTOK_R 0)
+ set(HAVE_FILE_OFFSET_BITS 0)
+ set(HAVE_ATOMIC 0)
+ endif()
+endif()
- set(HAVE_LIBSOCKET 0)
- set(HAVE_GETHOSTNAME 1)
- set(HAVE_LIBZ 0)
+# Available in Windows XP and newer
+set(HAVE_GETADDRINFO 1)
+set(HAVE_FREEADDRINFO 1)
- set(HAVE_ARC4RANDOM 0)
- set(HAVE_FNMATCH 0)
- set(HAVE_SCHED_YIELD 0)
- set(HAVE_ARPA_INET_H 0)
- set(HAVE_FCNTL_H 1)
- set(HAVE_IFADDRS_H 0)
- set(HAVE_IO_H 1)
- set(HAVE_NETDB_H 0)
- set(HAVE_NETINET_IN_H 0)
- set(HAVE_NETINET_TCP_H 0)
- set(HAVE_NETINET_UDP_H 0)
- set(HAVE_NET_IF_H 0)
- set(HAVE_IOCTL_SIOCGIFADDR 0)
- set(HAVE_POLL_H 0)
- set(HAVE_POLL_FINE 0)
- set(HAVE_PWD_H 0)
- set(HAVE_STRINGS_H 0)
- set(HAVE_SYS_FILIO_H 0)
- set(HAVE_SYS_WAIT_H 0)
- set(HAVE_SYS_IOCTL_H 0)
- set(HAVE_SYS_PARAM_H 0)
- set(HAVE_SYS_POLL_H 0)
- set(HAVE_SYS_RESOURCE_H 0)
- set(HAVE_SYS_SELECT_H 0)
- set(HAVE_SYS_SOCKET_H 0)
- set(HAVE_SYS_SOCKIO_H 0)
- set(HAVE_SYS_STAT_H 1)
- set(HAVE_SYS_TIME_H 0)
- set(HAVE_SYS_TYPES_H 1)
- set(HAVE_SYS_UN_H 0)
- set(HAVE_SYS_UTIME_H 1)
- set(HAVE_TERMIOS_H 0)
- set(HAVE_TERMIO_H 0)
- set(HAVE_UTIME_H 0)
+set(HAVE_FCHMOD 0)
+set(HAVE_SOCKETPAIR 0)
+set(HAVE_SENDMSG 0)
+set(HAVE_ALARM 0)
+set(HAVE_FCNTL 0)
+set(HAVE_GETPPID 0)
+set(HAVE_UTIMES 0)
+set(HAVE_GETPWUID_R 0)
+set(HAVE_STRERROR_R 0)
+set(HAVE_SIGINTERRUPT 0)
+set(HAVE_PIPE 0)
+set(HAVE_EVENTFD 0)
+set(HAVE_IF_NAMETOINDEX 0)
+set(HAVE_GETRLIMIT 0)
+set(HAVE_SETRLIMIT 0)
+set(HAVE_FSETXATTR 0)
+set(HAVE_LIBSOCKET 0)
+set(HAVE_SETLOCALE 1)
+set(HAVE_SETMODE 1)
+set(HAVE_GETPEERNAME 1)
+set(HAVE_GETSOCKNAME 1)
+set(HAVE_GETHOSTNAME 1)
+set(HAVE_LIBZ 0)
- set(HAVE_FSEEKO 0)
- set(HAVE__FSEEKI64 1)
- set(HAVE_SOCKET 1)
- set(HAVE_SELECT 1)
- set(HAVE_STRDUP 1)
- set(HAVE_STRICMP 1)
- set(HAVE_STRCMPI 1)
- set(HAVE_MEMRCHR 0)
- set(HAVE_GETTIMEOFDAY 0)
- set(HAVE_CLOSESOCKET 1)
- set(HAVE_SIGSETJMP 0)
- set(HAVE_SOCKADDR_IN6_SIN6_SCOPE_ID 1)
- set(HAVE_GETPASS_R 0)
- set(HAVE_GETPWUID 0)
- set(HAVE_GETEUID 0)
- set(HAVE_UTIME 1)
- set(HAVE_GMTIME_R 0)
- set(HAVE_CLOCK_GETTIME_MONOTONIC_RAW 0)
- set(HAVE_GETHOSTBYNAME_R 0)
- set(HAVE_SIGNAL 1)
- set(HAVE_LINUX_TCP_H 0)
- set(HAVE_GLIBC_STRERROR_R 0)
- set(HAVE_MACH_ABSOLUTE_TIME 0)
- set(HAVE_GETIFADDRS 0)
+set(HAVE_RECV 1)
+set(HAVE_SEND 1)
+set(HAVE_STROPTS_H 0)
+set(HAVE_SYS_XATTR_H 0)
+set(HAVE_ARC4RANDOM 0)
+set(HAVE_FNMATCH 0)
+set(HAVE_SCHED_YIELD 0)
+set(HAVE_ARPA_INET_H 0)
+set(HAVE_FCNTL_H 1)
+set(HAVE_IFADDRS_H 0)
+set(HAVE_IO_H 1)
+set(HAVE_NETDB_H 0)
+set(HAVE_NETINET_IN_H 0)
+set(HAVE_NETINET_TCP_H 0)
+set(HAVE_NETINET_UDP_H 0)
+set(HAVE_NET_IF_H 0)
+set(HAVE_IOCTL_SIOCGIFADDR 0)
+set(HAVE_POLL_H 0)
+set(HAVE_POLL_FINE 0)
+set(HAVE_PWD_H 0)
+set(HAVE_SYS_EVENTFD_H 0)
+set(HAVE_SYS_FILIO_H 0)
+set(HAVE_SYS_WAIT_H 0)
+set(HAVE_SYS_IOCTL_H 0)
+set(HAVE_SYS_POLL_H 0)
+set(HAVE_SYS_RESOURCE_H 0)
+set(HAVE_SYS_SELECT_H 0)
+set(HAVE_SYS_SOCKET_H 0)
+set(HAVE_SYS_SOCKIO_H 0)
+set(HAVE_SYS_STAT_H 1)
+set(HAVE_SYS_TYPES_H 1)
+set(HAVE_SYS_UN_H 0)
+set(HAVE_SYS_UTIME_H 1)
+set(HAVE_TERMIOS_H 0)
+set(HAVE_TERMIO_H 0)
+set(HAVE_LINUX_TCP_H 0)
- set(HAVE_GETHOSTBYNAME_R_3 0)
- set(HAVE_GETHOSTBYNAME_R_3_REENTRANT 0)
- set(HAVE_GETHOSTBYNAME_R_5 0)
- set(HAVE_GETHOSTBYNAME_R_5_REENTRANT 0)
- set(HAVE_GETHOSTBYNAME_R_6 0)
- set(HAVE_GETHOSTBYNAME_R_6_REENTRANT 0)
+set(HAVE_FSEEKO 0) # mingw-w64 2.0.0 and newer has it
+set(HAVE__FSEEKI64 1)
+set(HAVE_SOCKET 1)
+set(HAVE_SELECT 1)
+set(HAVE_STRDUP 1)
+set(HAVE_STRICMP 1)
+set(HAVE_STRCMPI 1)
+set(HAVE_MEMRCHR 0)
+set(HAVE_CLOSESOCKET 1)
+set(HAVE_SIGSETJMP 0)
+set(HAVE_SOCKADDR_IN6_SIN6_SCOPE_ID 1)
+set(HAVE_GETPASS_R 0)
+set(HAVE_GETPWUID 0)
+set(HAVE_GETEUID 0)
+set(HAVE_UTIME 1)
+set(HAVE_GMTIME_R 0)
+set(HAVE_GETHOSTBYNAME_R 0)
+set(HAVE_SIGNAL 1)
+set(HAVE_SIGACTION 0)
+set(HAVE_GLIBC_STRERROR_R 0)
+set(HAVE_MACH_ABSOLUTE_TIME 0)
+set(HAVE_GETIFADDRS 0)
+set(HAVE_FCNTL_O_NONBLOCK 0)
+set(HAVE_IOCTLSOCKET 1)
+set(HAVE_IOCTLSOCKET_CAMEL 0)
+set(HAVE_IOCTLSOCKET_CAMEL_FIONBIO 0)
+set(HAVE_IOCTLSOCKET_FIONBIO 1)
+set(HAVE_IOCTL_FIONBIO 0)
+set(HAVE_SETSOCKOPT_SO_NONBLOCK 0)
+set(HAVE_POSIX_STRERROR_R 0)
+set(HAVE_MSG_NOSIGNAL 0)
+set(HAVE_STRUCT_TIMEVAL 1)
+set(HAVE_STRUCT_SOCKADDR_STORAGE 1)
- set(HAVE_O_NONBLOCK 0)
- set(HAVE_IN_ADDR_T 0)
- set(STDC_HEADERS 1)
+set(HAVE_GETHOSTBYNAME_R_3 0)
+set(HAVE_GETHOSTBYNAME_R_3_REENTRANT 0)
+set(HAVE_GETHOSTBYNAME_R_5 0)
+set(HAVE_GETHOSTBYNAME_R_5_REENTRANT 0)
+set(HAVE_GETHOSTBYNAME_R_6 0)
+set(HAVE_GETHOSTBYNAME_R_6_REENTRANT 0)
- set(HAVE_SIGACTION 0)
- set(HAVE_MACRO_SIGSETJMP 0)
- else()
- message("This file should be included on Windows platform only")
- endif()
-endif()
+set(HAVE_O_NONBLOCK 0)
+set(HAVE_IN_ADDR_T 0)
+set(STDC_HEADERS 1)
+
+set(HAVE_SIZEOF_SUSECONDS_T 0)
+set(HAVE_SIZEOF_SA_FAMILY_T 0)
diff --git a/curl/CMake/Utilities.cmake b/curl/CMake/Utilities.cmake
index 9ff38e3a..0ecfa312 100644
--- a/curl/CMake/Utilities.cmake
+++ b/curl/CMake/Utilities.cmake
@@ -23,13 +23,13 @@
###########################################################################
# File containing various utilities
-# Returns a list of arguments that evaluate to true
-function(count_true output_count_var)
+# Returns number of arguments that evaluate to true
+function(count_true _output_count_var)
set(lst_len 0)
foreach(option_var IN LISTS ARGN)
if(${option_var})
math(EXPR lst_len "${lst_len} + 1")
endif()
endforeach()
- set(${output_count_var} ${lst_len} PARENT_SCOPE)
+ set(${_output_count_var} ${lst_len} PARENT_SCOPE)
endfunction()
diff --git a/curl/CMake/cmake_uninstall.cmake.in b/curl/CMake/cmake_uninstall.cmake.in
index 47aec8d4..d1f746fc 100644
--- a/curl/CMake/cmake_uninstall.cmake.in
+++ b/curl/CMake/cmake_uninstall.cmake.in
@@ -30,20 +30,20 @@ if(NOT DEFINED CMAKE_INSTALL_PREFIX)
endif()
message(${CMAKE_INSTALL_PREFIX})
-file(READ "@CMAKE_CURRENT_BINARY_DIR@/install_manifest.txt" files)
-string(REGEX REPLACE "\n" ";" files "${files}")
-foreach(file ${files})
- message(STATUS "Uninstalling $ENV{DESTDIR}${file}")
- if(IS_SYMLINK "$ENV{DESTDIR}${file}" OR EXISTS "$ENV{DESTDIR}${file}")
+file(READ "@CMAKE_CURRENT_BINARY_DIR@/install_manifest.txt" _files)
+string(REGEX REPLACE "\n" ";" _files "${_files}")
+foreach(_file ${_files})
+ message(STATUS "Uninstalling $ENV{DESTDIR}${_file}")
+ if(IS_SYMLINK "$ENV{DESTDIR}${_file}" OR EXISTS "$ENV{DESTDIR}${_file}")
exec_program(
- "@CMAKE_COMMAND@" ARGS "-E remove \"$ENV{DESTDIR}${file}\""
+ "@CMAKE_COMMAND@" ARGS "-E remove \"$ENV{DESTDIR}${_file}\""
OUTPUT_VARIABLE rm_out
RETURN_VALUE rm_retval
- )
+ )
if(NOT "${rm_retval}" STREQUAL 0)
- message(FATAL_ERROR "Problem when removing $ENV{DESTDIR}${file}")
+ message(FATAL_ERROR "Problem when removing $ENV{DESTDIR}${_file}")
endif()
else()
- message(STATUS "File $ENV{DESTDIR}${file} does not exist.")
+ message(STATUS "File $ENV{DESTDIR}${_file} does not exist.")
endif()
endforeach()
diff --git a/curl/CMake/curl-config.cmake.in b/curl/CMake/curl-config.cmake.in
index 056907c4..7dc1f99f 100644
--- a/curl/CMake/curl-config.cmake.in
+++ b/curl/CMake/curl-config.cmake.in
@@ -23,6 +23,14 @@
###########################################################################
@PACKAGE_INIT@
+if(NOT DEFINED CURL_USE_PKGCONFIG)
+ if(UNIX OR (MSVC AND VCPKG_TOOLCHAIN)) # Keep in sync with root CMakeLists.txt
+ set(CURL_USE_PKGCONFIG ON)
+ else()
+ set(CURL_USE_PKGCONFIG OFF)
+ endif()
+endif()
+
include(CMakeFindDependencyMacro)
if(@USE_OPENSSL@)
find_dependency(OpenSSL @OPENSSL_VERSION_MAJOR@)
@@ -35,4 +43,10 @@ include("${CMAKE_CURRENT_LIST_DIR}/@TARGETS_EXPORT_NAME@.cmake")
check_required_components("@PROJECT_NAME@")
# Alias for either shared or static library
-add_library(@PROJECT_NAME@::libcurl ALIAS @PROJECT_NAME@::@LIB_SELECTED@)
+if(NOT TARGET @PROJECT_NAME@::libcurl)
+ add_library(@PROJECT_NAME@::libcurl ALIAS @PROJECT_NAME@::@LIB_SELECTED@)
+endif()
+
+# For compatibility with CMake's FindCURL.cmake
+set(CURL_LIBRARIES @PROJECT_NAME@::libcurl)
+set_and_check(CURL_INCLUDE_DIRS "@PACKAGE_CMAKE_INSTALL_INCLUDEDIR@")
diff --git a/curl/CMakeLists.txt b/curl/CMakeLists.txt
index 1b19c681..aee20fe4 100644
--- a/curl/CMakeLists.txt
+++ b/curl/CMakeLists.txt
@@ -21,31 +21,14 @@
# SPDX-License-Identifier: curl
#
###########################################################################
-# curl/libcurl CMake script
# by Tetetest and Sukender (Benoit Neil)
-# TODO:
-# The output .so file lacks the soname number which we currently have within the lib/Makefile.am file
-# Add full (4 or 5 libs) SSL support
-# Add INSTALL target (EXTRA_DIST variables in Makefile.am may be moved to Makefile.inc so that CMake/CPack is aware of what's to include).
-# Check on all possible platforms
-# Test with as many configurations possible (With or without any option)
-# Create scripts that help keeping the CMake build system up to date (to reduce maintenance). According to Tetetest:
-# - lists of headers that 'configure' checks for;
-# - curl-specific tests (the ones that are in m4/curl-*.m4 files);
-# - (most obvious thing:) curl version numbers.
-# Add documentation subproject
-#
-# To check:
-# (From Daniel Stenberg) The cmake build selected to run gcc with -fPIC on my box while the plain configure script did not.
-# (From Daniel Stenberg) The gcc command line use neither -g nor any -O options. As a developer, I also treasure our configure scripts's --enable-debug option that sets a long range of "picky" compiler options.
-
# Note: By default this CMake build script detects the version of some
-# dependencies using `check_symbol_exists`. Those checks do not work
-# in the case that both CURL and its dependency are included as
-# sub-projects in a larger build using `FetchContent`. To support
-# that case, additional variables may be defined by the parent
-# project, ideally in the "extra" find package redirect file:
+# dependencies using `check_symbol_exists`. Those checks do not work in
+# the case that both CURL and its dependency are included as sub-projects
+# in a larger build using `FetchContent`. To support that case, additional
+# variables may be defined by the parent project, ideally in the "extra"
+# find package redirect file:
# https://cmake.org/cmake/help/latest/module/FetchContent.html#integrating-with-find-package
#
# The following variables are available:
@@ -53,14 +36,32 @@
# HAVE_OPENSSL_SRP: `SSL_CTX_set_srp_username` present in OpenSSL/wolfSSL
# HAVE_GNUTLS_SRP: `gnutls_srp_verifier` present in GnuTLS
# HAVE_SSL_CTX_SET_QUIC_METHOD: `SSL_CTX_set_quic_method` present in OpenSSL/wolfSSL
-# HAVE_QUICHE_CONN_SET_QLOG_FD: `quiche_conn_set_qlog_fd` present in QUICHE
-# HAVE_ZSTD_CREATEDSTREAM: `ZSTD_createDStream` present in Zstd
+# HAVE_QUICHE_CONN_SET_QLOG_FD: `quiche_conn_set_qlog_fd` present in quiche
+# HAVE_ECH: ECH API checks for OpenSSL, BoringSSL or wolfSSL
#
# For each of the above variables, if the variable is DEFINED (either
-# to ON or OFF), the symbol detection will be skipped. If the
-# variable is NOT DEFINED, the symbol detection will be performed.
+# to ON or OFF), the symbol detection is skipped. If the variable is
+# NOT DEFINED, the symbol detection is performed.
cmake_minimum_required(VERSION 3.7...3.16 FATAL_ERROR)
+message(STATUS "Using CMake version ${CMAKE_VERSION}")
+
+# Collect command-line arguments for buildinfo.txt.
+# Must reside at the top of the script to work as expected.
+get_cmake_property(_cache_vars CACHE_VARIABLES)
+unset(_cmake_args)
+foreach(_cache_var ${_cache_vars})
+ get_property(_cache_var_helpstring CACHE ${_cache_var} PROPERTY HELPSTRING)
+ if(_cache_var_helpstring STREQUAL "No help, variable specified on the command line.")
+ get_property(_cache_var_type CACHE ${_cache_var} PROPERTY TYPE)
+ if(_cache_var_type STREQUAL "UNINITIALIZED")
+ set(_cache_var_type)
+ else()
+ set(_cache_var_type ":${_cache_var_type}")
+ endif()
+ set(_cmake_args "${_cmake_args} -D${_cache_var}${_cache_var_type}=\"${${_cache_var}}\"")
+ endif()
+endforeach()
set(CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/CMake;${CMAKE_MODULE_PATH}")
include(Utilities)
@@ -70,76 +71,140 @@ include(CheckCCompilerFlag)
project(CURL C)
-file(STRINGS ${CURL_SOURCE_DIR}/include/curl/curlver.h CURL_VERSION_H_CONTENTS REGEX "#define LIBCURL_VERSION( |_NUM )")
-string(REGEX MATCH "#define LIBCURL_VERSION \"[^\"]*"
- CURL_VERSION ${CURL_VERSION_H_CONTENTS})
+unset(_target_flags)
+if(APPLE)
+ set(_target_flags "${_target_flags} APPLE")
+endif()
+if(UNIX)
+ set(_target_flags "${_target_flags} UNIX")
+endif()
+if(WIN32)
+ set(_target_flags "${_target_flags} WIN32")
+endif()
+if(CYGWIN)
+ set(_target_flags "${_target_flags} CYGWIN")
+endif()
+if(MSYS)
+ set(_target_flags "${_target_flags} MSYS")
+endif()
+if(CMAKE_COMPILER_IS_GNUCC)
+ set(_target_flags "${_target_flags} GCC")
+endif()
+if(MINGW)
+ set(_target_flags "${_target_flags} MINGW")
+endif()
+if(MSVC)
+ set(_target_flags "${_target_flags} MSVC")
+endif()
+if(VCPKG_TOOLCHAIN)
+ set(_target_flags "${_target_flags} VCPKG")
+endif()
+if(CMAKE_CROSSCOMPILING)
+ set(_target_flags "${_target_flags} CROSS")
+endif()
+message(STATUS "CMake platform flags:${_target_flags}")
+
+if(CMAKE_CROSSCOMPILING)
+ message(STATUS "Cross-compiling: "
+ "${CMAKE_HOST_SYSTEM_NAME}/${CMAKE_HOST_SYSTEM_PROCESSOR} -> "
+ "${CMAKE_SYSTEM_NAME}/${CMAKE_SYSTEM_PROCESSOR}")
+endif()
+
+function(curl_dumpvars) # Dump all defined variables with their values
+ message("::group::CMake Variable Dump")
+ get_cmake_property(_vars VARIABLES)
+ foreach(_var ${_vars})
+ message("${_var} = ${${_var}}")
+ endforeach()
+ message("::endgroup::")
+endfunction()
+
+file(STRINGS "${CURL_SOURCE_DIR}/include/curl/curlver.h" _curl_version_h_contents REGEX "#define LIBCURL_VERSION( |_NUM )")
+string(REGEX MATCH "#define LIBCURL_VERSION \"[^\"]*" CURL_VERSION ${_curl_version_h_contents})
string(REGEX REPLACE "[^\"]+\"" "" CURL_VERSION ${CURL_VERSION})
-string(REGEX MATCH "#define LIBCURL_VERSION_NUM 0x[0-9a-fA-F]+"
- CURL_VERSION_NUM ${CURL_VERSION_H_CONTENTS})
+string(REGEX MATCH "#define LIBCURL_VERSION_NUM 0x[0-9a-fA-F]+" CURL_VERSION_NUM ${_curl_version_h_contents})
string(REGEX REPLACE "[^0]+0x" "" CURL_VERSION_NUM ${CURL_VERSION_NUM})
+unset(_curl_version_h_contents)
-
-# Setup package meta-data
-# SET(PACKAGE "curl")
message(STATUS "curl version=[${CURL_VERSION}]")
-# SET(PACKAGE_TARNAME "curl")
-# SET(PACKAGE_NAME "curl")
-# SET(PACKAGE_VERSION "-")
-# SET(PACKAGE_STRING "curl-")
-# SET(PACKAGE_BUGREPORT "a suitable curl mailing list => https://curl.se/mail/")
-set(OPERATING_SYSTEM "${CMAKE_SYSTEM_NAME}")
+
if(CMAKE_C_COMPILER_TARGET)
set(OS "\"${CMAKE_C_COMPILER_TARGET}\"")
else()
set(OS "\"${CMAKE_SYSTEM_NAME}\"")
endif()
-include_directories(${CURL_SOURCE_DIR}/include)
+include_directories("${CURL_SOURCE_DIR}/include")
-set(CMAKE_UNITY_BUILD_BATCH_SIZE 0)
+if(NOT DEFINED CMAKE_UNITY_BUILD_BATCH_SIZE)
+ set(CMAKE_UNITY_BUILD_BATCH_SIZE 0)
+endif()
option(CURL_WERROR "Turn compiler warnings into errors" OFF)
option(PICKY_COMPILER "Enable picky compiler options" ON)
-option(BUILD_CURL_EXE "Set to ON to build curl executable." ON)
+option(BUILD_CURL_EXE "Build curl executable" ON)
option(BUILD_SHARED_LIBS "Build shared libraries" ON)
option(BUILD_STATIC_LIBS "Build static libraries" OFF)
option(BUILD_STATIC_CURL "Build curl executable with static libcurl" OFF)
-option(ENABLE_ARES "Set to ON to enable c-ares support" OFF)
+option(ENABLE_ARES "Enable c-ares support" OFF)
+option(CURL_DISABLE_INSTALL "Disable installation targets" OFF)
+
if(WIN32)
- option(CURL_STATIC_CRT "Set to ON to build libcurl with static CRT on Windows (/MT)." OFF)
- option(ENABLE_UNICODE "Set to ON to use the Unicode version of the Windows API functions" OFF)
- set(CURL_TARGET_WINDOWS_VERSION "" CACHE STRING "Minimum target Windows version as hex string")
- if(CURL_TARGET_WINDOWS_VERSION)
- add_definitions(-D_WIN32_WINNT=${CURL_TARGET_WINDOWS_VERSION})
- list(APPEND CMAKE_REQUIRED_DEFINITIONS -D_WIN32_WINNT=${CURL_TARGET_WINDOWS_VERSION})
- set(CURL_TEST_DEFINES "${CURL_TEST_DEFINES} -D_WIN32_WINNT=${CURL_TARGET_WINDOWS_VERSION}")
+ option(CURL_STATIC_CRT "Build libcurl with static CRT on Windows (/MT)" OFF)
+ if(CURL_STATIC_CRT)
+ set(CMAKE_MSVC_RUNTIME_LIBRARY "MultiThreaded$<$:Debug>")
+ set(CMAKE_C_FLAGS_RELEASE "${CMAKE_C_FLAGS_RELEASE} /MT")
+ set(CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG} /MTd")
endif()
+
+ option(ENABLE_UNICODE "Use the Unicode version of the Windows API functions" OFF)
if(ENABLE_UNICODE)
- add_definitions(-DUNICODE -D_UNICODE)
+ add_definitions("-DUNICODE" "-D_UNICODE")
if(MINGW)
- add_compile_options(-municode)
+ add_compile_options("-municode")
endif()
endif()
-endif()
-option(CURL_LTO "Turn on compiler Link Time Optimizations" OFF)
-cmake_dependent_option(ENABLE_THREADED_RESOLVER "Set to ON to enable threaded DNS lookup"
- ON "NOT ENABLE_ARES"
- OFF)
+ set(CURL_TARGET_WINDOWS_VERSION "" CACHE STRING "Minimum target Windows version as hex string")
+ if(CURL_TARGET_WINDOWS_VERSION)
+ add_definitions("-D_WIN32_WINNT=${CURL_TARGET_WINDOWS_VERSION}")
+ list(APPEND CMAKE_REQUIRED_DEFINITIONS "-D_WIN32_WINNT=${CURL_TARGET_WINDOWS_VERSION}")
+ set(CURL_TEST_DEFINES "${CURL_TEST_DEFINES} -D_WIN32_WINNT=${CURL_TARGET_WINDOWS_VERSION}")
+ endif()
-option(ENABLE_DEBUG "Set to ON to enable curl debug features" OFF)
-option(ENABLE_CURLDEBUG "Set to ON to build with TrackMemory feature enabled" OFF)
+ # Detect actual value of _WIN32_WINNT and store as HAVE_WIN32_WINNT
+ curl_internal_test(HAVE_WIN32_WINNT)
+ if(HAVE_WIN32_WINNT)
+ string(REGEX MATCH ".*_WIN32_WINNT=0x[0-9a-fA-F]+" CURL_TEST_OUTPUT "${CURL_TEST_OUTPUT}")
+ string(REGEX REPLACE ".*_WIN32_WINNT=" "" CURL_TEST_OUTPUT "${CURL_TEST_OUTPUT}")
+ string(REGEX REPLACE "0x([0-9a-f][0-9a-f][0-9a-f])$" "0x0\\1" CURL_TEST_OUTPUT "${CURL_TEST_OUTPUT}") # pad to 4 digits
+ string(TOLOWER "${CURL_TEST_OUTPUT}" HAVE_WIN32_WINNT)
+ message(STATUS "Found _WIN32_WINNT=${HAVE_WIN32_WINNT}")
+ endif()
+ # Avoid storing HAVE_WIN32_WINNT in CMake cache
+ unset(HAVE_WIN32_WINNT CACHE)
+endif()
+option(CURL_LTO "Enable compiler Link Time Optimizations" OFF)
+
+cmake_dependent_option(ENABLE_THREADED_RESOLVER "Enable threaded DNS lookup"
+ ON "NOT ENABLE_ARES"
+ OFF)
include(PickyWarnings)
+option(ENABLE_DEBUG "Enable curl debug features" OFF)
+option(ENABLE_CURLDEBUG "Enable TrackMemory feature" ${ENABLE_DEBUG})
+
+if(MSVC)
+ set(ENABLE_CURLDEBUG OFF) # FIXME: TrackMemory + MSVC fails test 558 and 1330. Tested with static build, Debug mode.
+endif()
+
if(ENABLE_DEBUG)
- # DEBUGBUILD will be defined only for Debug builds
- set_property(DIRECTORY APPEND PROPERTY COMPILE_DEFINITIONS $<$:DEBUGBUILD>)
- set(ENABLE_CURLDEBUG ON)
+ set_property(DIRECTORY APPEND PROPERTY COMPILE_DEFINITIONS "DEBUGBUILD")
endif()
if(ENABLE_CURLDEBUG)
- set_property(DIRECTORY APPEND PROPERTY COMPILE_DEFINITIONS CURLDEBUG)
+ set_property(DIRECTORY APPEND PROPERTY COMPILE_DEFINITIONS "CURLDEBUG")
endif()
# For debug libs and exes, add "-d" postfix
@@ -159,116 +224,141 @@ elseif(BUILD_STATIC_CURL AND NOT BUILD_STATIC_LIBS)
set(BUILD_STATIC_CURL OFF)
endif()
-# lib flavour selected for curl tool
+# Lib flavour selected for curl tool
if(BUILD_STATIC_CURL)
set(LIB_SELECTED_FOR_EXE ${LIB_STATIC})
else()
set(LIB_SELECTED_FOR_EXE ${LIB_SHARED})
endif()
-# lib flavour selected for example and test programs.
+# Lib flavour selected for example and test programs.
if(BUILD_SHARED_LIBS)
set(LIB_SELECTED ${LIB_SHARED})
else()
set(LIB_SELECTED ${LIB_STATIC})
endif()
-# initialize CURL_LIBS
+# Override to force-disable or force-enable the use of pkg-config.
+if(UNIX OR (MSVC AND VCPKG_TOOLCHAIN)) # Keep in sync with CMake/curl-config.cmake.in
+ set(_curl_use_pkgconfig_default ON)
+else()
+ set(_curl_use_pkgconfig_default OFF)
+endif()
+option(CURL_USE_PKGCONFIG "Enable pkg-config to detect dependencies" ${_curl_use_pkgconfig_default})
+
+# Initialize CURL_LIBS
set(CURL_LIBS "")
+set(CURL_LIBDIRS "")
+set(LIBCURL_PC_REQUIRES_PRIVATE "")
if(ENABLE_ARES)
set(USE_ARES 1)
- find_package(CARES REQUIRED)
- list(APPEND CURL_LIBS ${CARES_LIBRARY})
+ find_package(Cares REQUIRED)
+ list(APPEND CURL_LIBS ${CARES_LIBRARIES})
+ list(APPEND LIBCURL_PC_REQUIRES_PRIVATE "libcares")
+ add_definitions("-DCARES_NO_DEPRECATED") # Ignore c-ares deprecation warnings
endif()
include(CurlSymbolHiding)
-option(CURL_ENABLE_EXPORT_TARGET "to enable cmake export target" ON)
+option(CURL_ENABLE_EXPORT_TARGET "Enable CMake export target" ON)
mark_as_advanced(CURL_ENABLE_EXPORT_TARGET)
-option(CURL_DISABLE_ALTSVC "disables alt-svc support" OFF)
+option(CURL_DISABLE_ALTSVC "Disable alt-svc support" OFF)
mark_as_advanced(CURL_DISABLE_ALTSVC)
-option(CURL_DISABLE_SRP "disables TLS-SRP support" OFF)
+option(CURL_DISABLE_SRP "Disable TLS-SRP support" OFF)
mark_as_advanced(CURL_DISABLE_SRP)
-option(CURL_DISABLE_COOKIES "disables cookies support" OFF)
+option(CURL_DISABLE_COOKIES "Disable cookies support" OFF)
mark_as_advanced(CURL_DISABLE_COOKIES)
-option(CURL_DISABLE_BASIC_AUTH "disables Basic authentication" OFF)
+option(CURL_DISABLE_BASIC_AUTH "Disable Basic authentication" OFF)
mark_as_advanced(CURL_DISABLE_BASIC_AUTH)
-option(CURL_DISABLE_BEARER_AUTH "disables Bearer authentication" OFF)
+option(CURL_DISABLE_BEARER_AUTH "Disable Bearer authentication" OFF)
mark_as_advanced(CURL_DISABLE_BEARER_AUTH)
-option(CURL_DISABLE_DIGEST_AUTH "disables Digest authentication" OFF)
+option(CURL_DISABLE_DIGEST_AUTH "Disable Digest authentication" OFF)
mark_as_advanced(CURL_DISABLE_DIGEST_AUTH)
-option(CURL_DISABLE_KERBEROS_AUTH "disables Kerberos authentication" OFF)
+option(CURL_DISABLE_KERBEROS_AUTH "Disable Kerberos authentication" OFF)
mark_as_advanced(CURL_DISABLE_KERBEROS_AUTH)
-option(CURL_DISABLE_NEGOTIATE_AUTH "disables negotiate authentication" OFF)
+option(CURL_DISABLE_NEGOTIATE_AUTH "Disable negotiate authentication" OFF)
mark_as_advanced(CURL_DISABLE_NEGOTIATE_AUTH)
-option(CURL_DISABLE_AWS "disables AWS-SIG4" OFF)
+option(CURL_DISABLE_AWS "Disable AWS-SIG4" OFF)
mark_as_advanced(CURL_DISABLE_AWS)
-option(CURL_DISABLE_DICT "disables DICT" OFF)
+option(CURL_DISABLE_DICT "Disable DICT" OFF)
mark_as_advanced(CURL_DISABLE_DICT)
-option(CURL_DISABLE_DOH "disables DNS-over-HTTPS" OFF)
+option(CURL_DISABLE_DOH "Disable DNS-over-HTTPS" OFF)
mark_as_advanced(CURL_DISABLE_DOH)
-option(CURL_DISABLE_FILE "disables FILE" OFF)
+option(CURL_DISABLE_FILE "Disable FILE" OFF)
mark_as_advanced(CURL_DISABLE_FILE)
-cmake_dependent_option(CURL_DISABLE_FORM_API "disables form api" OFF
- "NOT CURL_DISABLE_MIME" ON)
+cmake_dependent_option(CURL_DISABLE_FORM_API "Disable form-api"
+ OFF "NOT CURL_DISABLE_MIME"
+ ON)
mark_as_advanced(CURL_DISABLE_FORM_API)
-option(CURL_DISABLE_FTP "disables FTP" OFF)
+option(CURL_DISABLE_FTP "Disable FTP" OFF)
mark_as_advanced(CURL_DISABLE_FTP)
-option(CURL_DISABLE_GETOPTIONS "disables curl_easy_options API for existing options to curl_easy_setopt" OFF)
+option(CURL_DISABLE_GETOPTIONS "Disable curl_easy_options API for existing options to curl_easy_setopt" OFF)
mark_as_advanced(CURL_DISABLE_GETOPTIONS)
-option(CURL_DISABLE_GOPHER "disables Gopher" OFF)
+option(CURL_DISABLE_GOPHER "Disable Gopher" OFF)
mark_as_advanced(CURL_DISABLE_GOPHER)
-option(CURL_DISABLE_HSTS "disables HSTS support" OFF)
+option(CURL_DISABLE_HEADERS_API "Disable headers-api support" OFF)
+mark_as_advanced(CURL_DISABLE_HEADERS_API)
+option(CURL_DISABLE_HSTS "Disable HSTS support" OFF)
mark_as_advanced(CURL_DISABLE_HSTS)
-option(CURL_DISABLE_HTTP "disables HTTP" OFF)
+option(CURL_DISABLE_HTTP "Disable HTTP" OFF)
mark_as_advanced(CURL_DISABLE_HTTP)
-option(CURL_DISABLE_HTTP_AUTH "disables all HTTP authentication methods" OFF)
+option(CURL_DISABLE_HTTP_AUTH "Disable all HTTP authentication methods" OFF)
mark_as_advanced(CURL_DISABLE_HTTP_AUTH)
-option(CURL_DISABLE_IMAP "disables IMAP" OFF)
+option(CURL_DISABLE_IMAP "Disable IMAP" OFF)
mark_as_advanced(CURL_DISABLE_IMAP)
-option(CURL_DISABLE_LDAP "disables LDAP" OFF)
+option(CURL_DISABLE_LDAP "Disable LDAP" OFF)
mark_as_advanced(CURL_DISABLE_LDAP)
-option(CURL_DISABLE_LDAPS "disables LDAPS" OFF)
+option(CURL_DISABLE_LDAPS "Disable LDAPS" ${CURL_DISABLE_LDAP})
mark_as_advanced(CURL_DISABLE_LDAPS)
-option(CURL_DISABLE_LIBCURL_OPTION "disables --libcurl option from the curl tool" OFF)
+option(CURL_DISABLE_LIBCURL_OPTION "Disable --libcurl option from the curl tool" OFF)
mark_as_advanced(CURL_DISABLE_LIBCURL_OPTION)
-option(CURL_DISABLE_MIME "disables MIME support" OFF)
+option(CURL_DISABLE_MIME "Disable MIME support" OFF)
mark_as_advanced(CURL_DISABLE_MIME)
-option(CURL_DISABLE_MQTT "disables MQTT" OFF)
+option(CURL_DISABLE_MQTT "Disable MQTT" OFF)
+mark_as_advanced(CURL_DISABLE_BINDLOCAL)
+option(CURL_DISABLE_BINDLOCAL "Disable local binding support" OFF)
mark_as_advanced(CURL_DISABLE_MQTT)
-option(CURL_DISABLE_NETRC "disables netrc parser" OFF)
+option(CURL_DISABLE_NETRC "Disable netrc parser" OFF)
mark_as_advanced(CURL_DISABLE_NETRC)
-option(CURL_DISABLE_NTLM "disables NTLM support" OFF)
+option(CURL_DISABLE_NTLM "Disable NTLM support" OFF)
mark_as_advanced(CURL_DISABLE_NTLM)
-option(CURL_DISABLE_PARSEDATE "disables date parsing" OFF)
+option(CURL_DISABLE_PARSEDATE "Disable date parsing" OFF)
mark_as_advanced(CURL_DISABLE_PARSEDATE)
-option(CURL_DISABLE_POP3 "disables POP3" OFF)
+option(CURL_DISABLE_POP3 "Disable POP3" OFF)
mark_as_advanced(CURL_DISABLE_POP3)
-option(CURL_DISABLE_PROGRESS_METER "disables built-in progress meter" OFF)
+option(CURL_DISABLE_PROGRESS_METER "Disable built-in progress meter" OFF)
mark_as_advanced(CURL_DISABLE_PROGRESS_METER)
-option(CURL_DISABLE_PROXY "disables proxy support" OFF)
+option(CURL_DISABLE_PROXY "Disable proxy support" OFF)
mark_as_advanced(CURL_DISABLE_PROXY)
-option(CURL_DISABLE_RTSP "disables RTSP" OFF)
+option(CURL_DISABLE_RTSP "Disable RTSP" OFF)
+mark_as_advanced(CURL_DISABLE_SHA512_256)
+option(CURL_DISABLE_SHA512_256 "Disable SHA-512/256 hash algorithm" OFF)
mark_as_advanced(CURL_DISABLE_RTSP)
-option(CURL_DISABLE_SHUFFLE_DNS "disables shuffle DNS feature" OFF)
+option(CURL_DISABLE_SHUFFLE_DNS "Disable shuffle DNS feature" OFF)
mark_as_advanced(CURL_DISABLE_SHUFFLE_DNS)
-option(CURL_DISABLE_SMB "disables SMB" OFF)
+option(CURL_DISABLE_SMB "Disable SMB" OFF)
mark_as_advanced(CURL_DISABLE_SMB)
-option(CURL_DISABLE_SMTP "disables SMTP" OFF)
+option(CURL_DISABLE_SMTP "Disable SMTP" OFF)
mark_as_advanced(CURL_DISABLE_SMTP)
-option(CURL_DISABLE_SOCKETPAIR "disables use of socketpair for curl_multi_poll" OFF)
+option(CURL_DISABLE_SOCKETPAIR "Disable use of socketpair for curl_multi_poll" OFF)
mark_as_advanced(CURL_DISABLE_SOCKETPAIR)
-option(CURL_DISABLE_TELNET "disables Telnet" OFF)
+option(CURL_DISABLE_TELNET "Disable Telnet" OFF)
mark_as_advanced(CURL_DISABLE_TELNET)
-option(CURL_DISABLE_TFTP "disables TFTP" OFF)
+option(CURL_DISABLE_TFTP "Disable TFTP" OFF)
mark_as_advanced(CURL_DISABLE_TFTP)
-option(CURL_DISABLE_VERBOSE_STRINGS "disables verbose strings" OFF)
+option(CURL_DISABLE_VERBOSE_STRINGS "Disable verbose strings" OFF)
mark_as_advanced(CURL_DISABLE_VERBOSE_STRINGS)
+if(CURL_DISABLE_HTTP)
+ set(CURL_DISABLE_RTSP ON)
+ set(CURL_DISABLE_ALTSVC ON)
+ set(CURL_DISABLE_HSTS ON)
+endif()
+
# Corresponds to HTTP_ONLY in lib/curl_setup.h
-option(HTTP_ONLY "disables all protocols except HTTP (This overrides all CURL_DISABLE_* options)" OFF)
+option(HTTP_ONLY "Disable all protocols except HTTP (This overrides all CURL_DISABLE_* options)" OFF)
mark_as_advanced(HTTP_ONLY)
if(HTTP_ONLY)
@@ -288,25 +378,29 @@ if(HTTP_ONLY)
set(CURL_DISABLE_TFTP ON)
endif()
-option(ENABLE_IPV6 "Define if you want to enable IPv6 support" ON)
+if(WINDOWS_STORE)
+ set(CURL_DISABLE_TELNET ON) # telnet code needs fixing to compile for UWP.
+endif()
+
+option(ENABLE_IPV6 "Enable IPv6 support" ON)
mark_as_advanced(ENABLE_IPV6)
if(ENABLE_IPV6 AND NOT WIN32)
include(CheckStructHasMember)
- check_struct_has_member("struct sockaddr_in6" sin6_addr "netinet/in.h"
+ check_struct_has_member("struct sockaddr_in6" "sin6_addr" "netinet/in.h"
HAVE_SOCKADDR_IN6_SIN6_ADDR)
- check_struct_has_member("struct sockaddr_in6" sin6_scope_id "netinet/in.h"
+ check_struct_has_member("struct sockaddr_in6" "sin6_scope_id" "netinet/in.h"
HAVE_SOCKADDR_IN6_SIN6_SCOPE_ID)
if(NOT HAVE_SOCKADDR_IN6_SIN6_ADDR)
message(WARNING "struct sockaddr_in6 not available, disabling IPv6 support")
# Force the feature off as this name is used as guard macro...
- set(ENABLE_IPV6 OFF
- CACHE BOOL "Define if you want to enable IPv6 support" FORCE)
+ set(ENABLE_IPV6 OFF CACHE BOOL "Enable IPv6 support" FORCE)
endif()
- if(CMAKE_SYSTEM_NAME STREQUAL "Darwin" AND NOT ENABLE_ARES)
- set(use_core_foundation_and_core_services ON)
+ if(APPLE AND NOT ENABLE_ARES)
+ set(_use_core_foundation_and_core_services ON)
find_library(SYSTEMCONFIGURATION_FRAMEWORK "SystemConfiguration")
+ mark_as_advanced(SYSTEMCONFIGURATION_FRAMEWORK)
if(NOT SYSTEMCONFIGURATION_FRAMEWORK)
message(FATAL_ERROR "SystemConfiguration framework not found")
endif()
@@ -314,25 +408,23 @@ if(ENABLE_IPV6 AND NOT WIN32)
list(APPEND CURL_LIBS "-framework SystemConfiguration")
endif()
endif()
-
-if(USE_MANUAL)
- #nroff is currently only used when USE_MANUAL is set, so we can prevent the warning of no *NROFF if USE_MANUAL is OFF (or not defined), by not even looking for NROFF..
- curl_nroff_check()
+if(ENABLE_IPV6)
+ set(USE_IPV6 ON)
endif()
-find_package(Perl)
-cmake_dependent_option(ENABLE_MANUAL "to provide the built-in manual"
- ON "NROFF_USEFUL;PERL_FOUND"
- OFF)
+find_package(Perl)
-if(ENABLE_MANUAL)
- set(USE_MANUAL ON)
-endif()
+option(BUILD_LIBCURL_DOCS "Build libcurl man pages" ON)
+option(BUILD_MISC_DOCS "Build misc man pages (e.g. curl-config and mk-ca-bundle)" ON)
+option(ENABLE_CURL_MANUAL "Build the man page for curl and enable its -M/--manual option" ON)
-if(CURL_STATIC_CRT)
- set(CMAKE_MSVC_RUNTIME_LIBRARY "MultiThreaded$<$:Debug>")
- set(CMAKE_C_FLAGS_RELEASE "${CMAKE_C_FLAGS_RELEASE} /MT")
- set(CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG} /MTd")
+if(ENABLE_CURL_MANUAL OR BUILD_LIBCURL_DOCS)
+ if(PERL_FOUND)
+ set(HAVE_MANUAL_TOOLS ON)
+ endif()
+ if(NOT HAVE_MANUAL_TOOLS)
+ message(WARNING "Perl not found. Will not build manuals.")
+ endif()
endif()
# Disable warnings on Borland to avoid changing 3rd party code.
@@ -341,13 +433,13 @@ if(BORLAND)
endif()
# If we are on AIX, do the _ALL_SOURCE magic
-if(${CMAKE_SYSTEM_NAME} MATCHES AIX)
- set(_ALL_SOURCE 1)
+if(CMAKE_SYSTEM_NAME STREQUAL "AIX")
+ add_definitions("-D_ALL_SOURCE")
endif()
# If we are on Haiku, make sure that the network library is brought in.
-if(${CMAKE_SYSTEM_NAME} MATCHES Haiku)
- set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -lnetwork")
+if(CMAKE_SYSTEM_NAME STREQUAL "Haiku")
+ list(APPEND CURL_LIBS "network")
endif()
# Include all the necessary files for macros
@@ -360,40 +452,39 @@ include(CheckSymbolExists)
include(CheckTypeSize)
include(CheckCSourceCompiles)
-# On windows preload settings
+# Preload settings on Windows
if(WIN32)
- list(APPEND CMAKE_REQUIRED_DEFINITIONS -D_WINSOCKAPI_=)
include(${CMAKE_CURRENT_SOURCE_DIR}/CMake/Platforms/WindowsCache.cmake)
endif()
if(ENABLE_THREADED_RESOLVER)
- find_package(Threads REQUIRED)
if(WIN32)
set(USE_THREADS_WIN32 ON)
else()
+ find_package(Threads REQUIRED)
set(USE_THREADS_POSIX ${CMAKE_USE_PTHREADS_INIT})
set(HAVE_PTHREAD_H ${CMAKE_USE_PTHREADS_INIT})
+ list(APPEND CURL_LIBS ${CMAKE_THREAD_LIBS_INIT})
endif()
- set(CURL_LIBS ${CURL_LIBS} ${CMAKE_THREAD_LIBS_INIT})
endif()
# Check for all needed libraries
-check_library_exists_concat("socket" connect HAVE_LIBSOCKET)
+check_library_exists("socket" "connect" "" HAVE_LIBSOCKET)
+if(HAVE_LIBSOCKET)
+ set(CURL_LIBS "socket;${CURL_LIBS}")
+endif()
-check_function_exists(gethostname HAVE_GETHOSTNAME)
+check_function_exists("gethostname" HAVE_GETHOSTNAME)
if(WIN32)
- list(APPEND CURL_LIBS "ws2_32")
- if(USE_LIBRTMP)
- list(APPEND CURL_LIBS "winmm")
- endif()
+ list(APPEND CURL_LIBS "ws2_32" "bcrypt")
endif()
-# check SSL libraries
+# Check SSL libraries
option(CURL_ENABLE_SSL "Enable SSL support" ON)
if(CURL_DEFAULT_SSL_BACKEND)
- set(valid_default_ssl_backend FALSE)
+ set(_valid_default_ssl_backend FALSE)
endif()
if(APPLE)
@@ -401,40 +492,49 @@ if(APPLE)
endif()
if(WIN32)
cmake_dependent_option(CURL_USE_SCHANNEL "Enable Windows native SSL/TLS" OFF CURL_ENABLE_SSL OFF)
- cmake_dependent_option(CURL_WINDOWS_SSPI "Use windows libraries to allow NTLM authentication without OpenSSL" ON
- CURL_USE_SCHANNEL OFF)
+ option(CURL_WINDOWS_SSPI "Enable SSPI on Windows" ${CURL_USE_SCHANNEL})
endif()
cmake_dependent_option(CURL_USE_MBEDTLS "Enable mbedTLS for SSL/TLS" OFF CURL_ENABLE_SSL OFF)
cmake_dependent_option(CURL_USE_BEARSSL "Enable BearSSL for SSL/TLS" OFF CURL_ENABLE_SSL OFF)
cmake_dependent_option(CURL_USE_WOLFSSL "Enable wolfSSL for SSL/TLS" OFF CURL_ENABLE_SSL OFF)
cmake_dependent_option(CURL_USE_GNUTLS "Enable GnuTLS for SSL/TLS" OFF CURL_ENABLE_SSL OFF)
+cmake_dependent_option(CURL_USE_RUSTLS "Enable Rustls for SSL/TLS" OFF CURL_ENABLE_SSL OFF)
-set(openssl_default ON)
+set(_openssl_default ON)
if(WIN32 OR CURL_USE_SECTRANSP OR CURL_USE_SCHANNEL OR CURL_USE_MBEDTLS OR CURL_USE_WOLFSSL)
- set(openssl_default OFF)
+ set(_openssl_default OFF)
+endif()
+cmake_dependent_option(CURL_USE_OPENSSL "Enable OpenSSL for SSL/TLS" ${_openssl_default} CURL_ENABLE_SSL OFF)
+option(USE_OPENSSL_QUIC "Use OpenSSL and nghttp3 libraries for HTTP/3 support" OFF)
+if(USE_OPENSSL_QUIC AND NOT CURL_USE_OPENSSL)
+ message(WARNING "OpenSSL QUIC has been requested, but without enabling OpenSSL. Will not enable QUIC.")
+ set(USE_OPENSSL_QUIC OFF)
endif()
-cmake_dependent_option(CURL_USE_OPENSSL "Use OpenSSL code. Experimental" ${openssl_default} CURL_ENABLE_SSL OFF)
option(CURL_DISABLE_OPENSSL_AUTO_LOAD_CONFIG "Disable automatic loading of OpenSSL configuration" OFF)
-count_true(enabled_ssl_options_count
+count_true(_enabled_ssl_options_count
CURL_USE_SCHANNEL
CURL_USE_SECTRANSP
CURL_USE_OPENSSL
CURL_USE_MBEDTLS
CURL_USE_BEARSSL
CURL_USE_WOLFSSL
+ CURL_USE_GNUTLS
+ CURL_USE_RUSTLS
)
-if(enabled_ssl_options_count GREATER "1")
+if(_enabled_ssl_options_count GREATER 1)
set(CURL_WITH_MULTI_SSL ON)
+elseif(_enabled_ssl_options_count EQUAL 0)
+ set(CURL_DISABLE_HSTS ON)
endif()
if(CURL_USE_SCHANNEL)
- set(SSL_ENABLED ON)
- set(USE_SCHANNEL ON) # Windows native SSL/TLS support
- set(USE_WINDOWS_SSPI ON) # CURL_USE_SCHANNEL implies CURL_WINDOWS_SSPI
+ set(_ssl_enabled ON)
+ set(USE_SCHANNEL ON) # Windows native SSL/TLS support
+ set(USE_WINDOWS_SSPI ON) # CURL_USE_SCHANNEL implies CURL_WINDOWS_SSPI
if(CURL_DEFAULT_SSL_BACKEND AND CURL_DEFAULT_SSL_BACKEND STREQUAL "schannel")
- set(valid_default_ssl_backend TRUE)
+ set(_valid_default_ssl_backend TRUE)
endif()
endif()
if(CURL_WINDOWS_SSPI)
@@ -442,126 +542,160 @@ if(CURL_WINDOWS_SSPI)
endif()
if(CURL_USE_SECTRANSP)
- set(use_core_foundation_and_core_services ON)
+ set(_use_core_foundation_and_core_services ON)
find_library(SECURITY_FRAMEWORK "Security")
+ mark_as_advanced(SECURITY_FRAMEWORK)
if(NOT SECURITY_FRAMEWORK)
- message(FATAL_ERROR "Security framework not found")
+ message(FATAL_ERROR "Security framework not found")
endif()
- set(SSL_ENABLED ON)
+ set(_ssl_enabled ON)
set(USE_SECTRANSP ON)
list(APPEND CURL_LIBS "-framework Security")
if(CURL_DEFAULT_SSL_BACKEND AND CURL_DEFAULT_SSL_BACKEND STREQUAL "secure-transport")
- set(valid_default_ssl_backend TRUE)
+ set(_valid_default_ssl_backend TRUE)
endif()
+
+ message(WARNING "Secure Transport does not support TLS 1.3.")
endif()
-if(use_core_foundation_and_core_services)
+if(_use_core_foundation_and_core_services)
find_library(COREFOUNDATION_FRAMEWORK "CoreFoundation")
+ mark_as_advanced(COREFOUNDATION_FRAMEWORK)
find_library(CORESERVICES_FRAMEWORK "CoreServices")
+ mark_as_advanced(CORESERVICES_FRAMEWORK)
if(NOT COREFOUNDATION_FRAMEWORK)
- message(FATAL_ERROR "CoreFoundation framework not found")
+ message(FATAL_ERROR "CoreFoundation framework not found")
endif()
if(NOT CORESERVICES_FRAMEWORK)
- message(FATAL_ERROR "CoreServices framework not found")
+ message(FATAL_ERROR "CoreServices framework not found")
endif()
- list(APPEND CURL_LIBS "-framework CoreFoundation -framework CoreServices")
+ list(APPEND CURL_LIBS "-framework CoreFoundation" "-framework CoreServices")
endif()
if(CURL_USE_OPENSSL)
find_package(OpenSSL REQUIRED)
- set(SSL_ENABLED ON)
+ set(_ssl_enabled ON)
set(USE_OPENSSL ON)
- # Depend on OpenSSL via imported targets if supported by the running
- # version of CMake. This allows our dependents to get our dependencies
- # transitively.
- if(NOT CMAKE_VERSION VERSION_LESS 3.4)
- list(APPEND CURL_LIBS OpenSSL::SSL OpenSSL::Crypto)
- else()
- list(APPEND CURL_LIBS ${OPENSSL_LIBRARIES})
- include_directories(${OPENSSL_INCLUDE_DIR})
- endif()
-
- if(WIN32)
- list(APPEND CURL_LIBS "ws2_32")
- list(APPEND CURL_LIBS "bcrypt") # for OpenSSL/LibreSSL
- endif()
+ # Depend on OpenSSL via imported targets. This allows our dependents to
+ # get our dependencies transitively.
+ list(APPEND CURL_LIBS OpenSSL::SSL OpenSSL::Crypto)
+ list(APPEND LIBCURL_PC_REQUIRES_PRIVATE "openssl")
if(CURL_DEFAULT_SSL_BACKEND AND CURL_DEFAULT_SSL_BACKEND STREQUAL "openssl")
- set(valid_default_ssl_backend TRUE)
+ set(_valid_default_ssl_backend TRUE)
endif()
+ set(_curl_ca_bundle_supported TRUE)
set(CMAKE_REQUIRED_INCLUDES ${OPENSSL_INCLUDE_DIR})
if(NOT DEFINED HAVE_BORINGSSL)
- check_symbol_exists(OPENSSL_IS_BORINGSSL "openssl/base.h" HAVE_BORINGSSL)
+ check_symbol_exists("OPENSSL_IS_BORINGSSL" "openssl/base.h" HAVE_BORINGSSL)
endif()
if(NOT DEFINED HAVE_AWSLC)
- check_symbol_exists(OPENSSL_IS_AWSLC "openssl/base.h" HAVE_AWSLC)
+ check_symbol_exists("OPENSSL_IS_AWSLC" "openssl/base.h" HAVE_AWSLC)
endif()
endif()
if(CURL_USE_MBEDTLS)
find_package(MbedTLS REQUIRED)
- set(SSL_ENABLED ON)
+ set(_ssl_enabled ON)
set(USE_MBEDTLS ON)
list(APPEND CURL_LIBS ${MBEDTLS_LIBRARIES})
+ list(APPEND LIBCURL_PC_REQUIRES_PRIVATE "mbedtls")
include_directories(${MBEDTLS_INCLUDE_DIRS})
if(CURL_DEFAULT_SSL_BACKEND AND CURL_DEFAULT_SSL_BACKEND STREQUAL "mbedtls")
- set(valid_default_ssl_backend TRUE)
+ set(_valid_default_ssl_backend TRUE)
endif()
+ set(_curl_ca_bundle_supported TRUE)
endif()
if(CURL_USE_BEARSSL)
find_package(BearSSL REQUIRED)
- set(SSL_ENABLED ON)
+ set(_ssl_enabled ON)
set(USE_BEARSSL ON)
- list(APPEND CURL_LIBS ${BEARSSL_LIBRARY})
+ list(APPEND CURL_LIBS ${BEARSSL_LIBRARIES})
include_directories(${BEARSSL_INCLUDE_DIRS})
if(CURL_DEFAULT_SSL_BACKEND AND CURL_DEFAULT_SSL_BACKEND STREQUAL "bearssl")
- set(valid_default_ssl_backend TRUE)
+ set(_valid_default_ssl_backend TRUE)
endif()
+ set(_curl_ca_bundle_supported TRUE)
+
+ message(WARNING "BearSSL does not support TLS 1.3.")
endif()
if(CURL_USE_WOLFSSL)
find_package(WolfSSL REQUIRED)
- set(SSL_ENABLED ON)
+ set(_ssl_enabled ON)
set(USE_WOLFSSL ON)
- list(APPEND CURL_LIBS ${WolfSSL_LIBRARIES})
- include_directories(${WolfSSL_INCLUDE_DIRS})
+ list(APPEND CURL_LIBS ${WOLFSSL_LIBRARIES})
+ list(APPEND LIBCURL_PC_REQUIRES_PRIVATE "wolfssl")
+ include_directories(${WOLFSSL_INCLUDE_DIRS})
if(CURL_DEFAULT_SSL_BACKEND AND CURL_DEFAULT_SSL_BACKEND STREQUAL "wolfssl")
- set(valid_default_ssl_backend TRUE)
+ set(_valid_default_ssl_backend TRUE)
endif()
+ set(_curl_ca_bundle_supported TRUE)
endif()
if(CURL_USE_GNUTLS)
- find_package(GnuTLS REQUIRED)
- set(SSL_ENABLED ON)
+ if(CURL_USE_PKGCONFIG)
+ find_package(PkgConfig QUIET)
+ pkg_check_modules(GNUTLS "gnutls")
+ if(GNUTLS_FOUND)
+ set(GNUTLS_LIBRARIES ${GNUTLS_LINK_LIBRARIES})
+ endif()
+ endif()
+ if(NOT GNUTLS_FOUND)
+ find_package(GnuTLS REQUIRED)
+ endif()
+ find_package(Nettle REQUIRED)
+ set(_ssl_enabled ON)
set(USE_GNUTLS ON)
- list(APPEND CURL_LIBS ${GNUTLS_LIBRARIES} "nettle")
- include_directories(${GNUTLS_INCLUDE_DIRS})
+ list(APPEND CURL_LIBS ${GNUTLS_LIBRARIES} ${NETTLE_LIBRARIES})
+ list(APPEND CURL_LIBDIRS ${NETTLE_LIBRARY_DIRS})
+ list(APPEND LIBCURL_PC_REQUIRES_PRIVATE "gnutls" "nettle")
+ include_directories(${GNUTLS_INCLUDE_DIRS} ${NETTLE_INCLUDE_DIRS})
+ link_directories(${NETTLE_LIBRARY_DIRS})
+ if(NETTLE_CFLAGS)
+ set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${NETTLE_CFLAGS}")
+ endif()
if(CURL_DEFAULT_SSL_BACKEND AND CURL_DEFAULT_SSL_BACKEND STREQUAL "gnutls")
- set(valid_default_ssl_backend TRUE)
+ set(_valid_default_ssl_backend TRUE)
endif()
+ set(_curl_ca_bundle_supported TRUE)
if(NOT DEFINED HAVE_GNUTLS_SRP AND NOT CURL_DISABLE_SRP)
cmake_push_check_state()
set(CMAKE_REQUIRED_INCLUDES ${GNUTLS_INCLUDE_DIRS})
set(CMAKE_REQUIRED_LIBRARIES ${GNUTLS_LIBRARIES})
- check_symbol_exists(gnutls_srp_verifier "gnutls/gnutls.h" HAVE_GNUTLS_SRP)
+ check_symbol_exists("gnutls_srp_verifier" "gnutls/gnutls.h" HAVE_GNUTLS_SRP)
cmake_pop_check_state()
endif()
endif()
-if(CURL_DEFAULT_SSL_BACKEND AND NOT valid_default_ssl_backend)
+if(CURL_USE_RUSTLS)
+ find_package(Rustls REQUIRED)
+ set(_ssl_enabled ON)
+ set(USE_RUSTLS ON)
+ list(APPEND CURL_LIBS ${RUSTLS_LIBRARIES})
+ list(APPEND LIBCURL_PC_REQUIRES_PRIVATE "rustls")
+ include_directories(${RUSTLS_INCLUDE_DIRS})
+
+ if(CURL_DEFAULT_SSL_BACKEND AND CURL_DEFAULT_SSL_BACKEND STREQUAL "rustls")
+ set(_valid_default_ssl_backend TRUE)
+ endif()
+ set(_curl_ca_bundle_supported TRUE)
+endif()
+
+if(CURL_DEFAULT_SSL_BACKEND AND NOT _valid_default_ssl_backend)
message(FATAL_ERROR "CURL_DEFAULT_SSL_BACKEND '${CURL_DEFAULT_SSL_BACKEND}' not enabled.")
endif()
@@ -575,51 +709,42 @@ if(ZLIB_FOUND)
set(HAVE_LIBZ ON)
set(USE_ZLIB ON)
- # Depend on ZLIB via imported targets if supported by the running
- # version of CMake. This allows our dependents to get our dependencies
- # transitively.
- if(NOT CMAKE_VERSION VERSION_LESS 3.4)
- list(APPEND CURL_LIBS ZLIB::ZLIB)
- else()
- list(APPEND CURL_LIBS ${ZLIB_LIBRARIES})
- include_directories(${ZLIB_INCLUDE_DIRS})
- endif()
+ # Depend on ZLIB via imported targets. This allows our dependents to
+ # get our dependencies transitively.
+ list(APPEND CURL_LIBS ZLIB::ZLIB)
+ list(APPEND LIBCURL_PC_REQUIRES_PRIVATE "zlib")
list(APPEND CMAKE_REQUIRED_INCLUDES ${ZLIB_INCLUDE_DIRS})
endif()
-option(CURL_BROTLI "Set to ON to enable building curl with brotli support." OFF)
+option(CURL_BROTLI "Use brotli" OFF)
set(HAVE_BROTLI OFF)
if(CURL_BROTLI)
find_package(Brotli REQUIRED)
if(BROTLI_FOUND)
set(HAVE_BROTLI ON)
- set(CURL_LIBS "${BROTLI_LIBRARIES};${CURL_LIBS}") # For 'ld' linker. Emulate `list(PREPEND ...)` to stay compatible with \n")
+ set(_include_string "")
+ foreach(_header IN LISTS _header_list)
+ set(_include_string "${_include_string}#include <${_header}>\n")
endforeach()
- list(APPEND CMAKE_REQUIRED_DEFINITIONS -DLDAP_DEPRECATED=1)
+ list(APPEND CMAKE_REQUIRED_DEFINITIONS "-DLDAP_DEPRECATED=1")
list(APPEND CMAKE_REQUIRED_LIBRARIES ${CMAKE_LDAP_LIB})
+ set(CURL_LIBS "${CMAKE_LDAP_LIB};${CURL_LIBS}")
if(HAVE_LIBLBER)
list(APPEND CMAKE_REQUIRED_LIBRARIES ${CMAKE_LBER_LIB})
+ set(CURL_LIBS "${CMAKE_LBER_LIB};${CURL_LIBS}")
endif()
check_c_source_compiles("
- ${_INCLUDE_STRING}
+ ${_include_string}
int main(int argc, char ** argv)
{
BerValue *bvp = NULL;
@@ -810,8 +1009,8 @@ if(NOT CURL_DISABLE_LDAP)
set(CURL_TEST_DEFINES "${CURL_TEST_DEFINES} -DNEED_LBER_H")
endif()
- check_function_exists(ldap_url_parse HAVE_LDAP_URL_PARSE)
- check_function_exists(ldap_init_fd HAVE_LDAP_INIT_FD)
+ check_function_exists("ldap_url_parse" HAVE_LDAP_URL_PARSE)
+ check_function_exists("ldap_init_fd" HAVE_LDAP_INIT_FD)
unset(CMAKE_REQUIRED_LIBRARIES)
@@ -836,65 +1035,140 @@ if(CURL_DISABLE_LDAP)
endif()
endif()
-# Check for idn2
-option(USE_LIBIDN2 "Use libidn2 for IDN support" ON)
-if(USE_LIBIDN2)
- check_library_exists_concat("idn2" idn2_lookup_ul HAVE_LIBIDN2)
-else()
- set(HAVE_LIBIDN2 OFF)
-endif()
-
if(WIN32)
option(USE_WIN32_IDN "Use WinIDN for IDN support" OFF)
if(USE_WIN32_IDN)
list(APPEND CURL_LIBS "normaliz")
endif()
+else()
+ set(USE_WIN32_IDN OFF)
endif()
-#libpsl
-option(CURL_USE_LIBPSL "Use libPSL" ON)
+if(APPLE)
+ option(USE_APPLE_IDN "Use Apple built-in IDN support" OFF)
+ if(USE_APPLE_IDN)
+ cmake_push_check_state()
+ set(CMAKE_REQUIRED_LIBRARIES "icucore")
+ check_symbol_exists("uidna_openUTS46" "unicode/uidna.h" HAVE_APPLE_IDN)
+ cmake_pop_check_state()
+ if(HAVE_APPLE_IDN)
+ list(APPEND CURL_LIBS "icucore" "iconv")
+ else()
+ set(USE_APPLE_IDN OFF)
+ endif()
+ endif()
+else()
+ set(USE_APPLE_IDN OFF)
+endif()
+
+# Check for libidn2
+option(USE_LIBIDN2 "Use libidn2 for IDN support" ON)
+set(HAVE_IDN2_H OFF)
+set(HAVE_LIBIDN2 OFF)
+if(USE_LIBIDN2 AND NOT USE_APPLE_IDN AND NOT USE_WIN32_IDN)
+ find_package(Libidn2)
+ if(LIBIDN2_FOUND)
+ set(CURL_LIBS "${LIBIDN2_LIBRARIES};${CURL_LIBS}")
+ list(APPEND CURL_LIBDIRS ${LIBIDN2_LIBRARY_DIRS})
+ set(LIBCURL_PC_REQUIRES_PRIVATE "libidn2;${LIBCURL_PC_REQUIRES_PRIVATE}")
+ include_directories(${LIBIDN2_INCLUDE_DIRS})
+ link_directories(${LIBIDN2_LIBRARY_DIRS})
+ if(LIBIDN2_CFLAGS)
+ set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${LIBIDN2_CFLAGS}")
+ endif()
+ set(HAVE_IDN2_H 1)
+ set(HAVE_LIBIDN2 1)
+ endif()
+endif()
+
+# libpsl
+option(CURL_USE_LIBPSL "Use libpsl" ON)
mark_as_advanced(CURL_USE_LIBPSL)
set(USE_LIBPSL OFF)
if(CURL_USE_LIBPSL)
- find_package(LibPSL)
+ find_package(Libpsl) # TODO: add REQUIRED to match autotools
if(LIBPSL_FOUND)
- list(APPEND CURL_LIBS ${LIBPSL_LIBRARY})
- list(APPEND CMAKE_REQUIRED_INCLUDES "${LIBPSL_INCLUDE_DIR}")
- include_directories("${LIBPSL_INCLUDE_DIR}")
+ list(APPEND CURL_LIBS ${LIBPSL_LIBRARIES})
+ list(APPEND LIBCURL_PC_REQUIRES_PRIVATE "libpsl")
+ list(APPEND CMAKE_REQUIRED_INCLUDES "${LIBPSL_INCLUDE_DIRS}")
+ include_directories(${LIBPSL_INCLUDE_DIRS})
set(USE_LIBPSL ON)
+ else()
+ message(WARNING "libpsl is enabled, but not found.")
endif()
endif()
-#libSSH2
-option(CURL_USE_LIBSSH2 "Use libSSH2" ON)
+# libssh2
+option(CURL_USE_LIBSSH2 "Use libssh2" ON) # FIXME: default is OFF in autotools
mark_as_advanced(CURL_USE_LIBSSH2)
set(USE_LIBSSH2 OFF)
if(CURL_USE_LIBSSH2)
- find_package(LibSSH2)
+ find_package(Libssh2)
if(LIBSSH2_FOUND)
- list(APPEND CURL_LIBS ${LIBSSH2_LIBRARY})
- list(APPEND CMAKE_REQUIRED_INCLUDES "${LIBSSH2_INCLUDE_DIR}")
- include_directories("${LIBSSH2_INCLUDE_DIR}")
+ list(APPEND CURL_LIBS ${LIBSSH2_LIBRARIES})
+ list(APPEND LIBCURL_PC_REQUIRES_PRIVATE "libssh2")
+ list(APPEND CMAKE_REQUIRED_INCLUDES "${LIBSSH2_INCLUDE_DIRS}")
+ include_directories(${LIBSSH2_INCLUDE_DIRS})
set(USE_LIBSSH2 ON)
endif()
endif()
# libssh
-option(CURL_USE_LIBSSH "Use libSSH" OFF)
+option(CURL_USE_LIBSSH "Use libssh" OFF)
mark_as_advanced(CURL_USE_LIBSSH)
if(NOT USE_LIBSSH2 AND CURL_USE_LIBSSH)
- find_package(libssh CONFIG)
- if(libssh_FOUND)
- message(STATUS "Found libssh ${libssh_VERSION}")
- # Use imported target for include and library paths.
- list(APPEND CURL_LIBS ssh)
+ find_package(Libssh REQUIRED)
+ if(LIBSSH_FOUND)
+ list(APPEND CURL_LIBS ${LIBSSH_LIBRARIES})
+ list(APPEND CURL_LIBDIRS ${LIBSSH_LIBRARY_DIRS})
+ list(APPEND LIBCURL_PC_REQUIRES_PRIVATE "libssh")
+ include_directories(${LIBSSH_INCLUDE_DIRS})
+ link_directories(${LIBSSH_LIBRARY_DIRS})
+ if(LIBSSH_CFLAGS)
+ set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${LIBSSH_CFLAGS}")
+ endif()
set(USE_LIBSSH ON)
endif()
endif()
-option(CURL_USE_GSSAPI "Use GSSAPI implementation (right now only Heimdal is supported with CMake build)" OFF)
+# wolfSSH
+option(CURL_USE_WOLFSSH "Use wolfSSH" OFF)
+mark_as_advanced(CURL_USE_WOLFSSH)
+set(USE_WOLFSSH OFF)
+if(NOT USE_LIBSSH2 AND NOT USE_LIBSSH AND CURL_USE_WOLFSSH)
+ if(USE_WOLFSSL)
+ find_package(WolfSSH)
+ if(WOLFSSH_FOUND)
+ list(APPEND CURL_LIBS ${WOLFSSH_LIBRARIES})
+ list(APPEND CMAKE_REQUIRED_INCLUDES "${WOLFSSH_INCLUDE_DIRS}")
+ include_directories(${WOLFSSH_INCLUDE_DIRS})
+ set(USE_WOLFSSH ON)
+ endif()
+ else()
+ message(WARNING "wolfSSH requires wolfSSL. Skipping.")
+ endif()
+endif()
+
+option(CURL_USE_GSASL "Use libgsasl" OFF)
+mark_as_advanced(CURL_USE_GSASL)
+if(CURL_USE_GSASL)
+ find_package(Libgsasl REQUIRED)
+ if(LIBGSASL_FOUND)
+ list(APPEND CURL_LIBS ${LIBGSASL_LIBRARIES})
+ list(APPEND CURL_LIBDIRS ${LIBGSASL_LIBRARY_DIRS})
+ list(APPEND LIBCURL_PC_REQUIRES_PRIVATE "libgsasl")
+ include_directories(${LIBGSASL_INCLUDE_DIRS})
+ link_directories(${LIBGSASL_LIBRARY_DIRS})
+ if(LIBGSASL_CFLAGS)
+ set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${LIBGSASL_CFLAGS}")
+ endif()
+ set(USE_GSASL ON)
+ endif()
+endif()
+
+option(CURL_USE_GSSAPI "Use GSSAPI implementation" OFF)
mark_as_advanced(CURL_USE_GSSAPI)
if(CURL_USE_GSSAPI)
@@ -902,40 +1176,35 @@ if(CURL_USE_GSSAPI)
set(HAVE_GSSAPI ${GSS_FOUND})
if(GSS_FOUND)
+ list(APPEND CMAKE_REQUIRED_INCLUDES ${GSS_INCLUDE_DIRS})
- message(STATUS "Found ${GSS_FLAVOUR} GSSAPI version: \"${GSS_VERSION}\"")
+ string(REPLACE ";" " " GSS_CFLAGS "${GSS_CFLAGS}")
+ string(REPLACE ";" " " GSS_LDFLAGS "${GSS_LDFLAGS}")
- list(APPEND CMAKE_REQUIRED_INCLUDES ${GSS_INCLUDE_DIR})
- check_include_file_concat("gssapi/gssapi.h" HAVE_GSSAPI_GSSAPI_H)
+ foreach(_dir IN LISTS GSS_LIBRARY_DIRS)
+ set(GSS_LDFLAGS "${GSS_LDFLAGS} -L\"${_dir}\"")
+ endforeach()
+
+ check_include_file_concat("gssapi/gssapi.h" HAVE_GSSAPI_GSSAPI_H)
check_include_file_concat("gssapi/gssapi_generic.h" HAVE_GSSAPI_GSSAPI_GENERIC_H)
check_include_file_concat("gssapi/gssapi_krb5.h" HAVE_GSSAPI_GSSAPI_KRB5_H)
- if(GSS_FLAVOUR STREQUAL "Heimdal")
- set(HAVE_GSSHEIMDAL ON)
- else() # MIT
- set(HAVE_GSSMIT ON)
- set(_INCLUDE_LIST "")
+ if(GSS_FLAVOUR STREQUAL "MIT")
+ set(_include_list "")
if(HAVE_GSSAPI_GSSAPI_H)
- list(APPEND _INCLUDE_LIST "gssapi/gssapi.h")
+ list(APPEND _include_list "gssapi/gssapi.h")
endif()
if(HAVE_GSSAPI_GSSAPI_GENERIC_H)
- list(APPEND _INCLUDE_LIST "gssapi/gssapi_generic.h")
+ list(APPEND _include_list "gssapi/gssapi_generic.h")
endif()
if(HAVE_GSSAPI_GSSAPI_KRB5_H)
- list(APPEND _INCLUDE_LIST "gssapi/gssapi_krb5.h")
+ list(APPEND _include_list "gssapi/gssapi_krb5.h")
endif()
- string(REPLACE ";" " " _COMPILER_FLAGS_STR "${GSS_COMPILER_FLAGS}")
- string(REPLACE ";" " " _LINKER_FLAGS_STR "${GSS_LINKER_FLAGS}")
-
- foreach(_dir ${GSS_LINK_DIRECTORIES})
- set(_LINKER_FLAGS_STR "${_LINKER_FLAGS_STR} -L\"${_dir}\"")
- endforeach()
-
if(NOT DEFINED HAVE_GSS_C_NT_HOSTBASED_SERVICE)
- set(CMAKE_REQUIRED_FLAGS "${_COMPILER_FLAGS_STR} ${_LINKER_FLAGS_STR}")
+ set(CMAKE_REQUIRED_FLAGS "${GSS_CFLAGS} ${GSS_LDFLAGS}")
set(CMAKE_REQUIRED_LIBRARIES ${GSS_LIBRARIES})
- check_symbol_exists("GSS_C_NT_HOSTBASED_SERVICE" ${_INCLUDE_LIST} HAVE_GSS_C_NT_HOSTBASED_SERVICE)
+ check_symbol_exists("GSS_C_NT_HOSTBASED_SERVICE" ${_include_list} HAVE_GSS_C_NT_HOSTBASED_SERVICE)
unset(CMAKE_REQUIRED_LIBRARIES)
endif()
if(NOT HAVE_GSS_C_NT_HOSTBASED_SERVICE)
@@ -943,122 +1212,192 @@ if(CURL_USE_GSSAPI)
endif()
endif()
- include_directories(${GSS_INCLUDE_DIR})
- link_directories(${GSS_LINK_DIRECTORIES})
- set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${GSS_COMPILER_FLAGS}")
- string(REPLACE ";" " " GSS_LINKER_FLAGS "${GSS_LINKER_FLAGS}")
- set(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} ${GSS_LINKER_FLAGS}")
- set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} ${GSS_LINKER_FLAGS}")
- set(CMAKE_STATIC_LINKER_FLAGS "${CMAKE_STATIC_LINKER_FLAGS} ${GSS_LINKER_FLAGS}")
+ include_directories(${GSS_INCLUDE_DIRS})
+ link_directories(${GSS_LIBRARY_DIRS})
+ set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${GSS_CFLAGS}")
+ set(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} ${GSS_LDFLAGS}")
+ set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} ${GSS_LDFLAGS}")
list(APPEND CURL_LIBS ${GSS_LIBRARIES})
-
+ if(GSS_FLAVOUR STREQUAL "MIT")
+ list(APPEND LIBCURL_PC_REQUIRES_PRIVATE "mit-krb5-gssapi")
+ else() # Heimdal
+ list(APPEND LIBCURL_PC_REQUIRES_PRIVATE "heimdal-gssapi")
+ endif()
else()
message(WARNING "GSSAPI support has been requested but no supporting libraries found. Skipping.")
endif()
endif()
-option(ENABLE_UNIX_SOCKETS "Define if you want Unix domain sockets support" ON)
+# libuv
+option(CURL_USE_LIBUV "Use libuv for event-based tests" OFF)
+if(CURL_USE_LIBUV)
+ if(NOT ENABLE_DEBUG)
+ message(FATAL_ERROR "Using libuv without debug support enabled is useless")
+ endif()
+ find_package(Libuv REQUIRED)
+ if(LIBUV_FOUND)
+ list(APPEND CURL_LIBS ${LIBUV_LIBRARIES})
+ list(APPEND CURL_LIBDIRS ${LIBUV_LIBRARY_DIRS})
+ list(APPEND LIBCURL_PC_REQUIRES_PRIVATE "libuv")
+ include_directories(${LIBUV_INCLUDE_DIRS})
+ link_directories(${LIBUV_LIBRARY_DIRS})
+ if(LIBUV_CFLAGS)
+ set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${LIBUV_CFLAGS}")
+ endif()
+ set(USE_LIBUV ON)
+ set(HAVE_UV_H ON)
+ endif()
+endif()
+
+option(USE_LIBRTMP "Enable librtmp from rtmpdump" OFF)
+if(USE_LIBRTMP)
+ cmake_push_check_state()
+ set(_extra_libs "rtmp")
+ if(WIN32)
+ list(APPEND _extra_libs "winmm")
+ endif()
+ openssl_check_symbol_exists("RTMP_Init" "librtmp/rtmp.h" HAVE_LIBRTMP "${_extra_libs}")
+ cmake_pop_check_state()
+ if(HAVE_LIBRTMP)
+ list(APPEND CURL_LIBS "rtmp")
+ list(APPEND LIBCURL_PC_REQUIRES_PRIVATE "librtmp")
+ if(WIN32)
+ list(APPEND CURL_LIBS "winmm")
+ endif()
+ else()
+ message(WARNING "librtmp requested, but not found or missing OpenSSL. Skipping.")
+ set(USE_LIBRTMP OFF)
+ endif()
+endif()
+
+option(ENABLE_UNIX_SOCKETS "Enable Unix domain sockets support" ON)
if(ENABLE_UNIX_SOCKETS)
- include(CheckStructHasMember)
if(WIN32)
set(USE_UNIX_SOCKETS ON)
else()
- check_struct_has_member("struct sockaddr_un" sun_path "sys/un.h" USE_UNIX_SOCKETS)
+ include(CheckStructHasMember)
+ check_struct_has_member("struct sockaddr_un" "sun_path" "sys/un.h" USE_UNIX_SOCKETS)
endif()
else()
unset(USE_UNIX_SOCKETS CACHE)
endif()
-
#
# CA handling
#
-set(CURL_CA_BUNDLE "auto" CACHE STRING
- "Path to the CA bundle. Set 'none' to disable or 'auto' for auto-detection. Defaults to 'auto'.")
-set(CURL_CA_FALLBACK OFF CACHE BOOL
+if(_curl_ca_bundle_supported)
+ set(CURL_CA_BUNDLE "auto" CACHE
+ STRING "Path to the CA bundle. Set 'none' to disable or 'auto' for auto-detection. Defaults to 'auto'.")
+ set(CURL_CA_FALLBACK OFF CACHE BOOL
"Set ON to use built-in CA store of TLS backend. Defaults to OFF")
-set(CURL_CA_PATH "auto" CACHE STRING
- "Location of default CA path. Set 'none' to disable or 'auto' for auto-detection. Defaults to 'auto'.")
-
-if("${CURL_CA_BUNDLE}" STREQUAL "")
- message(FATAL_ERROR "Invalid value of CURL_CA_BUNDLE. Use 'none', 'auto' or file path.")
-elseif("${CURL_CA_BUNDLE}" STREQUAL "none")
- unset(CURL_CA_BUNDLE CACHE)
-elseif("${CURL_CA_BUNDLE}" STREQUAL "auto")
- unset(CURL_CA_BUNDLE CACHE)
- if(NOT CMAKE_CROSSCOMPILING)
- set(CURL_CA_BUNDLE_AUTODETECT TRUE)
+ set(CURL_CA_PATH "auto" CACHE
+ STRING "Location of default CA path. Set 'none' to disable or 'auto' for auto-detection. Defaults to 'auto'.")
+ set(CURL_CA_EMBED "" CACHE
+ STRING "Path to the CA bundle to embed into the curl tool.")
+
+ if(CURL_CA_BUNDLE STREQUAL "")
+ message(FATAL_ERROR "Invalid value of CURL_CA_BUNDLE. Use 'none', 'auto' or file path.")
+ elseif(CURL_CA_BUNDLE STREQUAL "none")
+ unset(CURL_CA_BUNDLE CACHE)
+ elseif(CURL_CA_BUNDLE STREQUAL "auto")
+ unset(CURL_CA_BUNDLE CACHE)
+ if(NOT CMAKE_CROSSCOMPILING AND NOT WIN32)
+ set(_curl_ca_bundle_autodetect TRUE)
+ endif()
+ else()
+ set(CURL_CA_BUNDLE_SET TRUE)
endif()
-else()
- set(CURL_CA_BUNDLE_SET TRUE)
-endif()
-
-if("${CURL_CA_PATH}" STREQUAL "")
- message(FATAL_ERROR "Invalid value of CURL_CA_PATH. Use 'none', 'auto' or directory path.")
-elseif("${CURL_CA_PATH}" STREQUAL "none")
- unset(CURL_CA_PATH CACHE)
-elseif("${CURL_CA_PATH}" STREQUAL "auto")
- unset(CURL_CA_PATH CACHE)
- if(NOT CMAKE_CROSSCOMPILING)
- set(CURL_CA_PATH_AUTODETECT TRUE)
+ mark_as_advanced(CURL_CA_BUNDLE_SET)
+
+ if(CURL_CA_PATH STREQUAL "")
+ message(FATAL_ERROR "Invalid value of CURL_CA_PATH. Use 'none', 'auto' or directory path.")
+ elseif(CURL_CA_PATH STREQUAL "none")
+ unset(CURL_CA_PATH CACHE)
+ elseif(CURL_CA_PATH STREQUAL "auto")
+ unset(CURL_CA_PATH CACHE)
+ if(NOT CMAKE_CROSSCOMPILING AND NOT WIN32)
+ set(_curl_ca_path_autodetect TRUE)
+ endif()
+ else()
+ set(CURL_CA_PATH_SET TRUE)
endif()
-else()
- set(CURL_CA_PATH_SET TRUE)
-endif()
-
-if(CURL_CA_BUNDLE_SET AND CURL_CA_PATH_AUTODETECT)
- # Skip autodetection of unset CA path because CA bundle is set explicitly
-elseif(CURL_CA_PATH_SET AND CURL_CA_BUNDLE_AUTODETECT)
- # Skip autodetection of unset CA bundle because CA path is set explicitly
-elseif(CURL_CA_PATH_AUTODETECT OR CURL_CA_BUNDLE_AUTODETECT)
- # first try autodetecting a CA bundle, then a CA path
-
- if(CURL_CA_BUNDLE_AUTODETECT)
- set(SEARCH_CA_BUNDLE_PATHS
- /etc/ssl/certs/ca-certificates.crt
- /etc/pki/tls/certs/ca-bundle.crt
- /usr/share/ssl/certs/ca-bundle.crt
- /usr/local/share/certs/ca-root-nss.crt
- /etc/ssl/cert.pem)
-
- foreach(SEARCH_CA_BUNDLE_PATH ${SEARCH_CA_BUNDLE_PATHS})
- if(EXISTS "${SEARCH_CA_BUNDLE_PATH}")
- message(STATUS "Found CA bundle: ${SEARCH_CA_BUNDLE_PATH}")
- set(CURL_CA_BUNDLE "${SEARCH_CA_BUNDLE_PATH}" CACHE STRING
- "Path to the CA bundle. Set 'none' to disable or 'auto' for auto-detection. Defaults to 'auto'.")
- set(CURL_CA_BUNDLE_SET TRUE CACHE BOOL "Path to the CA bundle has been set")
- break()
+ mark_as_advanced(CURL_CA_PATH_SET)
+
+ if(CURL_CA_BUNDLE_SET AND _curl_ca_path_autodetect)
+ # Skip auto-detection of unset CA path because CA bundle is set explicitly
+ elseif(CURL_CA_PATH_SET AND _curl_ca_bundle_autodetect)
+ # Skip auto-detection of unset CA bundle because CA path is set explicitly
+ elseif(_curl_ca_bundle_autodetect OR _curl_ca_path_autodetect)
+ # First try auto-detecting a CA bundle, then a CA path
+
+ if(_curl_ca_bundle_autodetect)
+ foreach(_search_ca_bundle_path IN ITEMS
+ "/etc/ssl/certs/ca-certificates.crt"
+ "/etc/pki/tls/certs/ca-bundle.crt"
+ "/usr/share/ssl/certs/ca-bundle.crt"
+ "/usr/local/share/certs/ca-root-nss.crt"
+ "/etc/ssl/cert.pem")
+ if(EXISTS "${_search_ca_bundle_path}")
+ message(STATUS "Found CA bundle: ${_search_ca_bundle_path}")
+ set(CURL_CA_BUNDLE "${_search_ca_bundle_path}" CACHE
+ STRING "Path to the CA bundle. Set 'none' to disable or 'auto' for auto-detection. Defaults to 'auto'.")
+ set(CURL_CA_BUNDLE_SET TRUE CACHE BOOL "Path to the CA bundle has been set")
+ break()
+ endif()
+ endforeach()
+ endif()
+
+ if(_curl_ca_path_autodetect AND NOT CURL_CA_PATH_SET)
+ set(_search_ca_path "/etc/ssl/certs")
+ file(GLOB _curl_ca_files_found "${_search_ca_path}/[0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f].0")
+ if(_curl_ca_files_found)
+ unset(_curl_ca_files_found)
+ message(STATUS "Found CA path: ${_search_ca_path}")
+ set(CURL_CA_PATH "${_search_ca_path}" CACHE
+ STRING "Location of default CA path. Set 'none' to disable or 'auto' for auto-detection. Defaults to 'auto'.")
+ set(CURL_CA_PATH_SET TRUE CACHE BOOL "Path to the CA bundle has been set")
endif()
- endforeach()
+ endif()
endif()
- if(CURL_CA_PATH_AUTODETECT AND (NOT CURL_CA_PATH_SET))
- if(EXISTS "/etc/ssl/certs")
- set(CURL_CA_PATH "/etc/ssl/certs" CACHE STRING
- "Location of default CA path. Set 'none' to disable or 'auto' for auto-detection. Defaults to 'auto'.")
- set(CURL_CA_PATH_SET TRUE CACHE BOOL "Path to the CA bundle has been set")
+ set(CURL_CA_EMBED_SET FALSE)
+ if(BUILD_CURL_EXE AND NOT CURL_CA_EMBED STREQUAL "")
+ if(EXISTS "${CURL_CA_EMBED}")
+ set(CURL_CA_EMBED_SET TRUE)
+ else()
+ message(FATAL_ERROR "CA bundle to embed is missing: '${CURL_CA_EMBED}'")
endif()
endif()
endif()
-if(CURL_CA_PATH_SET AND
- NOT USE_OPENSSL AND
- NOT USE_WOLFSSL AND
- NOT USE_GNUTLS AND
- NOT USE_MBEDTLS)
- message(STATUS
- "CA path only supported by OpenSSL, wolfSSL, GnuTLS or mbedTLS. "
- "Set CURL_CA_PATH=none or enable one of those TLS backends.")
-endif()
-
# Check for header files
-if(NOT UNIX)
- check_include_file_concat("windows.h" HAVE_WINDOWS_H)
- check_include_file_concat("ws2tcpip.h" HAVE_WS2TCPIP_H)
- check_include_file_concat("winsock2.h" HAVE_WINSOCK2_H)
+if(WIN32)
+ set(CURL_INCLUDES ${CURL_INCLUDES} "winsock2.h")
+ set(CURL_INCLUDES ${CURL_INCLUDES} "ws2tcpip.h")
+ set(CURL_INCLUDES ${CURL_INCLUDES} "windows.h")
+
+ if(HAVE_WIN32_WINNT)
+ if(HAVE_WIN32_WINNT LESS 0x0501)
+ # Windows XP is required for freeaddrinfo, getaddrinfo
+ message(FATAL_ERROR "Building for Windows XP or newer is required.")
+ endif()
+
+ # Pre-fill detection results based on target OS version
+ if(MINGW OR MSVC)
+ if(HAVE_WIN32_WINNT LESS 0x0600)
+ set(HAVE_INET_NTOP 0)
+ set(HAVE_INET_PTON 0)
+ else() # Windows Vista or newer
+ set(HAVE_INET_NTOP 1)
+ set(HAVE_INET_PTON 1)
+ endif()
+ unset(HAVE_INET_NTOP CACHE)
+ unset(HAVE_INET_PTON CACHE)
+ endif()
+ endif()
endif()
-check_include_file_concat("inttypes.h" HAVE_INTTYPES_H)
+check_include_file_concat("sys/eventfd.h" HAVE_SYS_EVENTFD_H)
check_include_file_concat("sys/filio.h" HAVE_SYS_FILIO_H)
check_include_file_concat("sys/wait.h" HAVE_SYS_WAIT_H)
check_include_file_concat("sys/ioctl.h" HAVE_SYS_IOCTL_H)
@@ -1075,8 +1414,8 @@ check_include_file_concat("sys/un.h" HAVE_SYS_UN_H)
check_include_file_concat("sys/utime.h" HAVE_SYS_UTIME_H)
check_include_file_concat("sys/xattr.h" HAVE_SYS_XATTR_H)
check_include_file_concat("arpa/inet.h" HAVE_ARPA_INET_H)
+check_include_file_concat("dirent.h" HAVE_DIRENT_H)
check_include_file_concat("fcntl.h" HAVE_FCNTL_H)
-check_include_file_concat("idn2.h" HAVE_IDN2_H)
check_include_file_concat("ifaddrs.h" HAVE_IFADDRS_H)
check_include_file_concat("io.h" HAVE_IO_H)
check_include_file_concat("libgen.h" HAVE_LIBGEN_H)
@@ -1092,7 +1431,6 @@ check_include_file_concat("poll.h" HAVE_POLL_H)
check_include_file_concat("pwd.h" HAVE_PWD_H)
check_include_file_concat("stdatomic.h" HAVE_STDATOMIC_H)
check_include_file_concat("stdbool.h" HAVE_STDBOOL_H)
-check_include_file_concat("stdint.h" HAVE_STDINT_H)
check_include_file_concat("strings.h" HAVE_STRINGS_H)
check_include_file_concat("stropts.h" HAVE_STROPTS_H)
check_include_file_concat("termio.h" HAVE_TERMIO_H)
@@ -1100,20 +1438,20 @@ check_include_file_concat("termios.h" HAVE_TERMIOS_H)
check_include_file_concat("unistd.h" HAVE_UNISTD_H)
check_include_file_concat("utime.h" HAVE_UTIME_H)
-check_type_size(size_t SIZEOF_SIZE_T)
-check_type_size(ssize_t SIZEOF_SSIZE_T)
-check_type_size("long long" SIZEOF_LONG_LONG)
-check_type_size("long" SIZEOF_LONG)
-check_type_size("int" SIZEOF_INT)
-check_type_size("__int64" SIZEOF___INT64)
-check_type_size("time_t" SIZEOF_TIME_T)
-check_type_size("suseconds_t" SIZEOF_SUSECONDS_T)
+check_type_size("size_t" SIZEOF_SIZE_T)
+check_type_size("ssize_t" SIZEOF_SSIZE_T)
+check_type_size("long long" SIZEOF_LONG_LONG)
+check_type_size("long" SIZEOF_LONG)
+check_type_size("int" SIZEOF_INT)
+check_type_size("__int64" SIZEOF___INT64)
+check_type_size("time_t" SIZEOF_TIME_T)
+check_type_size("suseconds_t" SIZEOF_SUSECONDS_T)
if(NOT HAVE_SIZEOF_SSIZE_T)
if(SIZEOF_LONG EQUAL SIZEOF_SIZE_T)
- set(ssize_t long)
+ set(ssize_t "long")
endif()
if(NOT ssize_t AND SIZEOF___INT64 EQUAL SIZEOF_SIZE_T)
- set(ssize_t __int64)
+ set(ssize_t "__int64")
endif()
endif()
# off_t is sized later, after the HAVE_FILE_OFFSET_BITS test
@@ -1125,112 +1463,99 @@ if(SIZEOF_SUSECONDS_T)
set(HAVE_SUSECONDS_T 1)
endif()
-if(NOT CMAKE_CROSSCOMPILING)
- find_file(RANDOM_FILE urandom /dev)
- mark_as_advanced(RANDOM_FILE)
-endif()
-
# Check for some functions that are used
if(WIN32)
- set(CMAKE_REQUIRED_LIBRARIES ws2_32)
+ set(CMAKE_REQUIRED_LIBRARIES "ws2_32")
elseif(HAVE_LIBSOCKET)
- set(CMAKE_REQUIRED_LIBRARIES socket)
-endif()
-
-check_symbol_exists(fchmod "${CURL_INCLUDES}" HAVE_FCHMOD)
-check_symbol_exists(fnmatch "${CURL_INCLUDES};fnmatch.h" HAVE_FNMATCH)
-check_symbol_exists(basename "${CURL_INCLUDES};string.h" HAVE_BASENAME)
-check_symbol_exists(socket "${CURL_INCLUDES}" HAVE_SOCKET)
-check_symbol_exists(sched_yield "${CURL_INCLUDES};sched.h" HAVE_SCHED_YIELD)
-check_symbol_exists(socketpair "${CURL_INCLUDES}" HAVE_SOCKETPAIR)
-check_symbol_exists(recv "${CURL_INCLUDES}" HAVE_RECV)
-check_symbol_exists(send "${CURL_INCLUDES}" HAVE_SEND)
-check_symbol_exists(sendmsg "${CURL_INCLUDES}" HAVE_SENDMSG)
-check_symbol_exists(select "${CURL_INCLUDES}" HAVE_SELECT)
-check_symbol_exists(strdup "${CURL_INCLUDES};string.h" HAVE_STRDUP)
-check_symbol_exists(strtok_r "${CURL_INCLUDES};string.h" HAVE_STRTOK_R)
-check_symbol_exists(strcasecmp "${CURL_INCLUDES};string.h" HAVE_STRCASECMP)
-check_symbol_exists(stricmp "${CURL_INCLUDES};string.h" HAVE_STRICMP)
-check_symbol_exists(strcmpi "${CURL_INCLUDES};string.h" HAVE_STRCMPI)
-check_symbol_exists(memrchr "${CURL_INCLUDES};string.h" HAVE_MEMRCHR)
-check_symbol_exists(alarm "${CURL_INCLUDES}" HAVE_ALARM)
-check_symbol_exists(arc4random "${CURL_INCLUDES};stdlib.h" HAVE_ARC4RANDOM)
-check_symbol_exists(fcntl "${CURL_INCLUDES}" HAVE_FCNTL)
-check_symbol_exists(getppid "${CURL_INCLUDES}" HAVE_GETPPID)
-check_symbol_exists(utimes "${CURL_INCLUDES}" HAVE_UTIMES)
-
-check_symbol_exists(gettimeofday "${CURL_INCLUDES}" HAVE_GETTIMEOFDAY)
-check_symbol_exists(closesocket "${CURL_INCLUDES}" HAVE_CLOSESOCKET)
-check_symbol_exists(sigsetjmp "${CURL_INCLUDES};setjmp.h" HAVE_SIGSETJMP)
-check_symbol_exists(getpass_r "${CURL_INCLUDES}" HAVE_GETPASS_R)
-check_symbol_exists(getpwuid "${CURL_INCLUDES}" HAVE_GETPWUID)
-check_symbol_exists(getpwuid_r "${CURL_INCLUDES}" HAVE_GETPWUID_R)
-check_symbol_exists(geteuid "${CURL_INCLUDES}" HAVE_GETEUID)
-check_symbol_exists(utime "${CURL_INCLUDES}" HAVE_UTIME)
-check_symbol_exists(gmtime_r "${CURL_INCLUDES};stdlib.h;time.h" HAVE_GMTIME_R)
-
-check_symbol_exists(gethostbyname_r "${CURL_INCLUDES}" HAVE_GETHOSTBYNAME_R)
-
-check_symbol_exists(signal "${CURL_INCLUDES};signal.h" HAVE_SIGNAL)
-check_symbol_exists(strtoll "${CURL_INCLUDES};stdlib.h" HAVE_STRTOLL)
-check_symbol_exists(strerror_r "${CURL_INCLUDES};stdlib.h;string.h" HAVE_STRERROR_R)
-check_symbol_exists(siginterrupt "${CURL_INCLUDES};signal.h" HAVE_SIGINTERRUPT)
-check_symbol_exists(getaddrinfo "${CURL_INCLUDES};stdlib.h;string.h" HAVE_GETADDRINFO)
-check_symbol_exists(getifaddrs "${CURL_INCLUDES};stdlib.h" HAVE_GETIFADDRS)
-check_symbol_exists(freeaddrinfo "${CURL_INCLUDES}" HAVE_FREEADDRINFO)
-check_symbol_exists(pipe "${CURL_INCLUDES}" HAVE_PIPE)
-check_symbol_exists(ftruncate "${CURL_INCLUDES}" HAVE_FTRUNCATE)
-check_symbol_exists(fseeko "${CURL_INCLUDES};stdio.h" HAVE_FSEEKO)
-check_symbol_exists(_fseeki64 "${CURL_INCLUDES};stdio.h" HAVE__FSEEKI64)
-check_symbol_exists(getpeername "${CURL_INCLUDES}" HAVE_GETPEERNAME)
-check_symbol_exists(getsockname "${CURL_INCLUDES}" HAVE_GETSOCKNAME)
-check_symbol_exists(if_nametoindex "${CURL_INCLUDES}" HAVE_IF_NAMETOINDEX)
-check_symbol_exists(getrlimit "${CURL_INCLUDES}" HAVE_GETRLIMIT)
-check_symbol_exists(setlocale "${CURL_INCLUDES}" HAVE_SETLOCALE)
-check_symbol_exists(setmode "${CURL_INCLUDES}" HAVE_SETMODE)
-check_symbol_exists(setrlimit "${CURL_INCLUDES}" HAVE_SETRLIMIT)
+ set(CMAKE_REQUIRED_LIBRARIES "socket")
+endif()
+
+check_symbol_exists("fnmatch" "${CURL_INCLUDES};fnmatch.h" HAVE_FNMATCH)
+check_symbol_exists("basename" "${CURL_INCLUDES};string.h" HAVE_BASENAME)
+check_symbol_exists("opendir" "${CURL_INCLUDES};dirent.h" HAVE_OPENDIR)
+check_symbol_exists("socket" "${CURL_INCLUDES}" HAVE_SOCKET)
+check_symbol_exists("sched_yield" "${CURL_INCLUDES};sched.h" HAVE_SCHED_YIELD)
+check_symbol_exists("socketpair" "${CURL_INCLUDES}" HAVE_SOCKETPAIR)
+check_symbol_exists("recv" "${CURL_INCLUDES}" HAVE_RECV)
+check_symbol_exists("send" "${CURL_INCLUDES}" HAVE_SEND)
+check_symbol_exists("sendmsg" "${CURL_INCLUDES}" HAVE_SENDMSG)
+check_symbol_exists("select" "${CURL_INCLUDES}" HAVE_SELECT)
+check_symbol_exists("strdup" "${CURL_INCLUDES};string.h" HAVE_STRDUP)
+check_symbol_exists("strtok_r" "${CURL_INCLUDES};string.h" HAVE_STRTOK_R)
+check_symbol_exists("strcasecmp" "${CURL_INCLUDES};string.h" HAVE_STRCASECMP)
+check_symbol_exists("stricmp" "${CURL_INCLUDES};string.h" HAVE_STRICMP)
+check_symbol_exists("strcmpi" "${CURL_INCLUDES};string.h" HAVE_STRCMPI)
+check_symbol_exists("memrchr" "${CURL_INCLUDES};string.h" HAVE_MEMRCHR)
+check_symbol_exists("alarm" "${CURL_INCLUDES}" HAVE_ALARM)
+check_symbol_exists("arc4random" "${CURL_INCLUDES};stdlib.h" HAVE_ARC4RANDOM)
+check_symbol_exists("fcntl" "${CURL_INCLUDES}" HAVE_FCNTL)
+check_symbol_exists("getppid" "${CURL_INCLUDES}" HAVE_GETPPID)
+check_symbol_exists("utimes" "${CURL_INCLUDES}" HAVE_UTIMES)
+
+check_symbol_exists("gettimeofday" "${CURL_INCLUDES}" HAVE_GETTIMEOFDAY)
+check_symbol_exists("closesocket" "${CURL_INCLUDES}" HAVE_CLOSESOCKET)
+check_symbol_exists("sigsetjmp" "${CURL_INCLUDES};setjmp.h" HAVE_SIGSETJMP)
+check_symbol_exists("getpass_r" "${CURL_INCLUDES}" HAVE_GETPASS_R)
+check_symbol_exists("getpwuid" "${CURL_INCLUDES}" HAVE_GETPWUID)
+check_symbol_exists("getpwuid_r" "${CURL_INCLUDES}" HAVE_GETPWUID_R)
+check_symbol_exists("geteuid" "${CURL_INCLUDES}" HAVE_GETEUID)
+check_symbol_exists("utime" "${CURL_INCLUDES}" HAVE_UTIME)
+check_symbol_exists("gmtime_r" "${CURL_INCLUDES};stdlib.h;time.h" HAVE_GMTIME_R)
+
+check_symbol_exists("gethostbyname_r" "${CURL_INCLUDES}" HAVE_GETHOSTBYNAME_R)
+
+check_symbol_exists("signal" "${CURL_INCLUDES};signal.h" HAVE_SIGNAL)
+check_symbol_exists("strtoll" "${CURL_INCLUDES};stdlib.h" HAVE_STRTOLL)
+check_symbol_exists("strerror_r" "${CURL_INCLUDES};stdlib.h;string.h" HAVE_STRERROR_R)
+check_symbol_exists("sigaction" "signal.h" HAVE_SIGACTION)
+check_symbol_exists("siginterrupt" "${CURL_INCLUDES};signal.h" HAVE_SIGINTERRUPT)
+check_symbol_exists("getaddrinfo" "${CURL_INCLUDES};stdlib.h;string.h" HAVE_GETADDRINFO)
+check_symbol_exists("getifaddrs" "${CURL_INCLUDES};stdlib.h" HAVE_GETIFADDRS)
+check_symbol_exists("freeaddrinfo" "${CURL_INCLUDES}" HAVE_FREEADDRINFO)
+check_symbol_exists("pipe" "${CURL_INCLUDES}" HAVE_PIPE)
+check_symbol_exists("eventfd" "${CURL_INCLUDES};sys/eventfd.h" HAVE_EVENTFD)
+check_symbol_exists("ftruncate" "${CURL_INCLUDES}" HAVE_FTRUNCATE)
+check_symbol_exists("_fseeki64" "${CURL_INCLUDES};stdio.h" HAVE__FSEEKI64)
+check_symbol_exists("getpeername" "${CURL_INCLUDES}" HAVE_GETPEERNAME)
+check_symbol_exists("getsockname" "${CURL_INCLUDES}" HAVE_GETSOCKNAME)
+check_symbol_exists("if_nametoindex" "${CURL_INCLUDES}" HAVE_IF_NAMETOINDEX)
+check_symbol_exists("getrlimit" "${CURL_INCLUDES}" HAVE_GETRLIMIT)
+check_symbol_exists("setlocale" "${CURL_INCLUDES}" HAVE_SETLOCALE)
+check_symbol_exists("setmode" "${CURL_INCLUDES}" HAVE_SETMODE)
+check_symbol_exists("setrlimit" "${CURL_INCLUDES}" HAVE_SETRLIMIT)
if(NOT MSVC OR (MSVC_VERSION GREATER_EQUAL 1900))
- # earlier MSVC compilers had faulty snprintf implementations
- check_symbol_exists(snprintf "stdio.h" HAVE_SNPRINTF)
+ # Earlier MSVC compilers had faulty snprintf implementations
+ check_symbol_exists("snprintf" "stdio.h" HAVE_SNPRINTF)
endif()
-check_function_exists(mach_absolute_time HAVE_MACH_ABSOLUTE_TIME)
-check_symbol_exists(inet_ntop "${CURL_INCLUDES};stdlib.h;string.h" HAVE_INET_NTOP)
+check_function_exists("mach_absolute_time" HAVE_MACH_ABSOLUTE_TIME)
+check_symbol_exists("inet_ntop" "${CURL_INCLUDES};stdlib.h;string.h" HAVE_INET_NTOP)
if(MSVC AND (MSVC_VERSION LESS_EQUAL 1600))
set(HAVE_INET_NTOP OFF)
endif()
-check_symbol_exists(inet_pton "${CURL_INCLUDES};stdlib.h;string.h" HAVE_INET_PTON)
+check_symbol_exists("inet_pton" "${CURL_INCLUDES};stdlib.h;string.h" HAVE_INET_PTON)
-check_symbol_exists(fsetxattr "${CURL_INCLUDES}" HAVE_FSETXATTR)
+check_symbol_exists("fsetxattr" "${CURL_INCLUDES}" HAVE_FSETXATTR)
if(HAVE_FSETXATTR)
- foreach(CURL_TEST HAVE_FSETXATTR_5 HAVE_FSETXATTR_6)
- curl_internal_test(${CURL_TEST})
+ foreach(_curl_test IN ITEMS HAVE_FSETXATTR_5 HAVE_FSETXATTR_6)
+ curl_internal_test(${_curl_test})
endforeach()
endif()
-set(CMAKE_EXTRA_INCLUDE_FILES "sys/socket.h")
-check_type_size("sa_family_t" SIZEOF_SA_FAMILY_T)
-set(HAVE_SA_FAMILY_T ${HAVE_SIZEOF_SA_FAMILY_T})
-set(CMAKE_EXTRA_INCLUDE_FILES "")
-
-set(CMAKE_EXTRA_INCLUDE_FILES "ws2def.h")
-check_type_size("ADDRESS_FAMILY" SIZEOF_ADDRESS_FAMILY)
-set(HAVE_ADDRESS_FAMILY ${HAVE_SIZEOF_ADDRESS_FAMILY})
-set(CMAKE_EXTRA_INCLUDE_FILES "")
-
-# sigaction and sigsetjmp are special. Use special mechanism for
-# detecting those, but only if previous attempt failed.
-check_symbol_exists(sigaction "signal.h" HAVE_SIGACTION)
+set(CMAKE_EXTRA_INCLUDE_FILES "sys/socket.h")
+check_type_size("sa_family_t" SIZEOF_SA_FAMILY_T)
+set(HAVE_SA_FAMILY_T ${HAVE_SIZEOF_SA_FAMILY_T})
+set(CMAKE_EXTRA_INCLUDE_FILES "")
-if(NOT HAVE_SIGSETJMP)
- check_symbol_exists(sigsetjmp "setjmp.h" HAVE_MACRO_SIGSETJMP)
- if(HAVE_MACRO_SIGSETJMP)
- set(HAVE_SIGSETJMP 1)
- endif()
+if(WIN32)
+ set(CMAKE_EXTRA_INCLUDE_FILES "winsock2.h")
+ check_type_size("ADDRESS_FAMILY" SIZEOF_ADDRESS_FAMILY)
+ set(HAVE_ADDRESS_FAMILY ${HAVE_SIZEOF_ADDRESS_FAMILY})
+ set(CMAKE_EXTRA_INCLUDE_FILES "")
endif()
# Do curl specific tests
-foreach(CURL_TEST
+foreach(_curl_test IN ITEMS
HAVE_FCNTL_O_NONBLOCK
HAVE_IOCTLSOCKET
HAVE_IOCTLSOCKET_CAMEL
@@ -1250,41 +1575,36 @@ foreach(CURL_TEST
HAVE_BOOL_T
STDC_HEADERS
HAVE_FILE_OFFSET_BITS
- HAVE_VARIADIC_MACROS_C99
- HAVE_VARIADIC_MACROS_GCC
HAVE_ATOMIC
)
- curl_internal_test(${CURL_TEST})
+ curl_internal_test(${_curl_test})
endforeach()
if(HAVE_FILE_OFFSET_BITS)
set(_FILE_OFFSET_BITS 64)
set(CMAKE_REQUIRED_FLAGS "-D_FILE_OFFSET_BITS=64")
endif()
-check_type_size("off_t" SIZEOF_OFF_T)
+check_type_size("off_t" SIZEOF_OFF_T)
+
+# fseeko may not exist with _FILE_OFFSET_BITS=64 but can exist with
+# _FILE_OFFSET_BITS unset or 32 (e.g. Android ARMv7 with NDK 26b and API level < 24)
+# so we need to test fseeko after testing for _FILE_OFFSET_BITS
+check_symbol_exists("fseeko" "${CURL_INCLUDES};stdio.h" HAVE_FSEEKO)
-# include this header to get the type
+if(HAVE_FSEEKO)
+ set(HAVE_DECL_FSEEKO 1)
+endif()
+
+# Include this header to get the type
set(CMAKE_REQUIRED_INCLUDES "${CURL_SOURCE_DIR}/include")
set(CMAKE_EXTRA_INCLUDE_FILES "curl/system.h")
-check_type_size("curl_off_t" SIZEOF_CURL_OFF_T)
+check_type_size("curl_off_t" SIZEOF_CURL_OFF_T)
set(CMAKE_EXTRA_INCLUDE_FILES "curl/curl.h")
-check_type_size("curl_socket_t" SIZEOF_CURL_SOCKET_T)
+check_type_size("curl_socket_t" SIZEOF_CURL_SOCKET_T)
set(CMAKE_EXTRA_INCLUDE_FILES "")
-if(WIN32)
- # detect actual value of _WIN32_WINNT and store as HAVE_WIN32_WINNT
- curl_internal_test(HAVE_WIN32_WINNT)
- if(HAVE_WIN32_WINNT)
- string(REGEX MATCH ".*_WIN32_WINNT=0x[0-9a-fA-F]+" OUTPUT "${OUTPUT}")
- string(REGEX REPLACE ".*_WIN32_WINNT=" "" HAVE_WIN32_WINNT "${OUTPUT}")
- message(STATUS "Found _WIN32_WINNT=${HAVE_WIN32_WINNT}")
- endif()
- # avoid storing HAVE_WIN32_WINNT in CMake cache
- unset(HAVE_WIN32_WINNT CACHE)
-endif()
-
if(NOT WIN32 AND NOT CMAKE_CROSSCOMPILING)
- # on not-Windows and not-crosscompiling, check for writable argv[]
+ # On non-Windows and not cross-compiling, check for writable argv[]
include(CheckCSourceRuns)
check_c_source_runs("
int main(int argc, char **argv)
@@ -1295,54 +1615,58 @@ if(NOT WIN32 AND NOT CMAKE_CROSSCOMPILING)
}" HAVE_WRITABLE_ARGV)
endif()
-set(CMAKE_REQUIRED_FLAGS)
+unset(CMAKE_REQUIRED_FLAGS)
-option(ENABLE_WEBSOCKETS "Set to ON to enable EXPERIMENTAL websockets" OFF)
+option(ENABLE_WEBSOCKETS "Enable WebSockets (experimental)" OFF)
if(ENABLE_WEBSOCKETS)
- if(${SIZEOF_CURL_OFF_T} GREATER "4")
+ if(SIZEOF_CURL_OFF_T GREATER 4)
set(USE_WEBSOCKETS ON)
else()
message(WARNING "curl_off_t is too small to enable WebSockets")
endif()
endif()
-foreach(CURL_TEST
+foreach(_curl_test IN ITEMS
HAVE_GLIBC_STRERROR_R
HAVE_POSIX_STRERROR_R
)
- curl_internal_test(${CURL_TEST})
+ curl_internal_test(${_curl_test})
endforeach()
# Check for reentrant
-foreach(CURL_TEST
+foreach(_curl_test IN ITEMS
HAVE_GETHOSTBYNAME_R_3
HAVE_GETHOSTBYNAME_R_5
HAVE_GETHOSTBYNAME_R_6)
- if(NOT ${CURL_TEST})
- if(${CURL_TEST}_REENTRANT)
+ if(NOT ${_curl_test})
+ if(${_curl_test}_REENTRANT)
set(NEED_REENTRANT 1)
endif()
endif()
endforeach()
if(NEED_REENTRANT)
- foreach(CURL_TEST
+ foreach(_curl_test IN ITEMS
HAVE_GETHOSTBYNAME_R_3
HAVE_GETHOSTBYNAME_R_5
HAVE_GETHOSTBYNAME_R_6)
- set(${CURL_TEST} 0)
- if(${CURL_TEST}_REENTRANT)
- set(${CURL_TEST} 1)
+ set(${_curl_test} 0)
+ if(${_curl_test}_REENTRANT)
+ set(${_curl_test} 1)
endif()
endforeach()
endif()
-# Check clock_gettime(CLOCK_MONOTONIC, x) support
-curl_internal_test(HAVE_CLOCK_GETTIME_MONOTONIC)
+if(NOT WIN32)
+ # Check clock_gettime(CLOCK_MONOTONIC, x) support
+ curl_internal_test(HAVE_CLOCK_GETTIME_MONOTONIC)
+endif()
-# Check compiler support of __builtin_available()
-curl_internal_test(HAVE_BUILTIN_AVAILABLE)
+if(APPLE)
+ # Check compiler support of __builtin_available()
+ curl_internal_test(HAVE_BUILTIN_AVAILABLE)
+endif()
# Some other minor tests
@@ -1353,40 +1677,31 @@ endif()
# Check for nonblocking
set(HAVE_DISABLED_NONBLOCKING 1)
if(HAVE_FIONBIO OR
- HAVE_IOCTLSOCKET OR
- HAVE_IOCTLSOCKET_CASE OR
- HAVE_O_NONBLOCK)
- set(HAVE_DISABLED_NONBLOCKING)
+ HAVE_IOCTLSOCKET OR
+ HAVE_IOCTLSOCKET_CASE OR
+ HAVE_O_NONBLOCK)
+ unset(HAVE_DISABLED_NONBLOCKING)
endif()
if(CMAKE_COMPILER_IS_GNUCC AND APPLE)
include(CheckCCompilerFlag)
- check_c_compiler_flag(-Wno-long-double HAVE_C_FLAG_Wno_long_double)
+ check_c_compiler_flag("-Wno-long-double" HAVE_C_FLAG_Wno_long_double)
if(HAVE_C_FLAG_Wno_long_double)
- # The Mac version of GCC warns about use of long double. Disable it.
- get_source_file_property(MPRINTF_COMPILE_FLAGS mprintf.c COMPILE_FLAGS)
- if(MPRINTF_COMPILE_FLAGS)
- set(MPRINTF_COMPILE_FLAGS "${MPRINTF_COMPILE_FLAGS} -Wno-long-double")
+ # The Mac version of GCC warns about use of long double. Disable it.
+ get_source_file_property(_mprintf_compile_flags "mprintf.c" COMPILE_FLAGS)
+ if(_mprintf_compile_flags)
+ set(_mprintf_compile_flags "${_mprintf_compile_flags} -Wno-long-double")
else()
- set(MPRINTF_COMPILE_FLAGS "-Wno-long-double")
+ set(_mprintf_compile_flags "-Wno-long-double")
endif()
- set_source_files_properties(mprintf.c PROPERTIES
- COMPILE_FLAGS ${MPRINTF_COMPILE_FLAGS})
+ set_source_files_properties("mprintf.c" PROPERTIES
+ COMPILE_FLAGS ${_mprintf_compile_flags})
endif()
endif()
-# TODO test which of these headers are required
-if(WIN32)
- set(CURL_PULL_WS2TCPIP_H ${HAVE_WS2TCPIP_H})
-else()
- set(CURL_PULL_SYS_TYPES_H ${HAVE_SYS_TYPES_H})
- set(CURL_PULL_SYS_SOCKET_H ${HAVE_SYS_SOCKET_H})
- set(CURL_PULL_SYS_POLL_H ${HAVE_SYS_POLL_H})
-endif()
-
include(CMake/OtherTests.cmake)
-add_definitions(-DHAVE_CONFIG_H)
+add_definitions("-DHAVE_CONFIG_H")
# For Windows, all compilers used by CMake should support large files
if(WIN32)
@@ -1404,15 +1719,13 @@ if(WIN32)
if(USE_WIN32_CRYPTO OR USE_SCHANNEL)
list(APPEND CURL_LIBS "advapi32" "crypt32")
endif()
-
- list(APPEND CURL_LIBS "bcrypt")
endif()
if(MSVC)
# Disable default manifest added by CMake
set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} /MANIFEST:NO")
- add_definitions(-D_CRT_SECURE_NO_DEPRECATE -D_CRT_NONSTDC_NO_DEPRECATE)
+ add_definitions("-D_CRT_SECURE_NO_DEPRECATE" "-D_CRT_NONSTDC_NO_DEPRECATE")
if(CMAKE_C_FLAGS MATCHES "/W[0-4]")
string(REGEX REPLACE "/W[0-4]" "/W4" CMAKE_C_FLAGS "${CMAKE_C_FLAGS}")
else()
@@ -1426,10 +1739,10 @@ if(MSVC)
endif()
if(CURL_WERROR)
- if(MSVC_VERSION)
+ if(MSVC)
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} /WX")
else()
- # this assumes clang or gcc style options
+ # This assumes clang or gcc style options
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Werror")
endif()
endif()
@@ -1446,36 +1759,44 @@ if(CURL_LTO)
if(CURL_HAS_LTO)
message(STATUS "LTO supported and enabled")
else()
- message(FATAL_ERROR "LTO was requested - but compiler doesn't support it\n${CURL_LTO_ERROR}")
+ message(FATAL_ERROR "LTO was requested - but compiler does not support it\n${CURL_LTO_ERROR}")
endif()
endif()
-# Ugly (but functional) way to include "Makefile.inc" by transforming it (= regenerate it).
-function(transform_makefile_inc INPUT_FILE OUTPUT_FILE)
- file(READ ${INPUT_FILE} MAKEFILE_INC_TEXT)
- string(REPLACE "$(top_srcdir)" "\${CURL_SOURCE_DIR}" MAKEFILE_INC_TEXT ${MAKEFILE_INC_TEXT})
- string(REPLACE "$(top_builddir)" "\${CURL_BINARY_DIR}" MAKEFILE_INC_TEXT ${MAKEFILE_INC_TEXT})
+# Ugly (but functional) way to include "Makefile.inc" by transforming it
+# (= regenerate it).
+function(transform_makefile_inc _input_file _output_file)
+ file(READ ${_input_file} _makefile_inc_text)
+ string(REPLACE "$(top_srcdir)" "\${CURL_SOURCE_DIR}" _makefile_inc_text ${_makefile_inc_text})
+ string(REPLACE "$(top_builddir)" "\${CURL_BINARY_DIR}" _makefile_inc_text ${_makefile_inc_text})
+
+ string(REGEX REPLACE "\\\\\n" "!π!α!" _makefile_inc_text ${_makefile_inc_text})
+ string(REGEX REPLACE "([a-zA-Z_][a-zA-Z0-9_]*)[\t ]*=[\t ]*([^\n]*)" "set(\\1 \\2)" _makefile_inc_text ${_makefile_inc_text})
+ string(REPLACE "!π!α!" "\n" _makefile_inc_text ${_makefile_inc_text})
- string(REGEX REPLACE "\\\\\n" "!π!α!" MAKEFILE_INC_TEXT ${MAKEFILE_INC_TEXT})
- string(REGEX REPLACE "([a-zA-Z_][a-zA-Z0-9_]*)[\t ]*=[\t ]*([^\n]*)" "SET(\\1 \\2)" MAKEFILE_INC_TEXT ${MAKEFILE_INC_TEXT})
- string(REPLACE "!π!α!" "\n" MAKEFILE_INC_TEXT ${MAKEFILE_INC_TEXT})
+ # Replace $() with ${}
+ string(REGEX REPLACE "\\$\\(([a-zA-Z_][a-zA-Z0-9_]*)\\)" "\${\\1}" _makefile_inc_text ${_makefile_inc_text})
+ # Replace @@ with ${}, even if that may not be read by CMake scripts.
+ string(REGEX REPLACE "@([a-zA-Z_][a-zA-Z0-9_]*)@" "\${\\1}" _makefile_inc_text ${_makefile_inc_text})
- string(REGEX REPLACE "\\$\\(([a-zA-Z_][a-zA-Z0-9_]*)\\)" "\${\\1}" MAKEFILE_INC_TEXT ${MAKEFILE_INC_TEXT}) # Replace $() with ${}
- string(REGEX REPLACE "@([a-zA-Z_][a-zA-Z0-9_]*)@" "\${\\1}" MAKEFILE_INC_TEXT ${MAKEFILE_INC_TEXT}) # Replace @@ with ${}, even if that may not be read by CMake scripts.
- file(WRITE ${OUTPUT_FILE} ${MAKEFILE_INC_TEXT})
- set_property(DIRECTORY APPEND PROPERTY CMAKE_CONFIGURE_DEPENDS "${INPUT_FILE}")
+ file(WRITE ${_output_file} ${_makefile_inc_text})
+ set_property(DIRECTORY APPEND PROPERTY CMAKE_CONFIGURE_DEPENDS "${_input_file}")
endfunction()
include(GNUInstallDirs)
-set(CURL_INSTALL_CMAKE_DIR ${CMAKE_INSTALL_LIBDIR}/cmake/${PROJECT_NAME})
+set(CURL_INSTALL_CMAKE_DIR "${CMAKE_INSTALL_LIBDIR}/cmake/${PROJECT_NAME}")
set(TARGETS_EXPORT_NAME "${PROJECT_NAME}Targets")
-set(generated_dir "${CMAKE_CURRENT_BINARY_DIR}/generated")
-set(project_config "${generated_dir}/${PROJECT_NAME}Config.cmake")
-set(version_config "${generated_dir}/${PROJECT_NAME}ConfigVersion.cmake")
+set(_generated_dir "${CMAKE_CURRENT_BINARY_DIR}/generated")
+set(_project_config "${_generated_dir}/${PROJECT_NAME}Config.cmake")
+set(_version_config "${_generated_dir}/${PROJECT_NAME}ConfigVersion.cmake")
+
+cmake_dependent_option(BUILD_TESTING "Build tests"
+ ON "PERL_FOUND;NOT CURL_DISABLE_TESTS"
+ OFF)
-if(USE_MANUAL)
+if(HAVE_MANUAL_TOOLS)
add_subdirectory(docs)
endif()
@@ -1485,127 +1806,149 @@ if(BUILD_CURL_EXE)
add_subdirectory(src)
endif()
-cmake_dependent_option(BUILD_TESTING "Build tests"
- ON "PERL_FOUND;NOT CURL_DISABLE_TESTS"
- OFF)
+option(BUILD_EXAMPLES "Build libcurl examples" OFF)
+if(BUILD_EXAMPLES)
+ add_subdirectory(docs/examples)
+endif()
+
if(BUILD_TESTING)
add_subdirectory(tests)
endif()
-# Helper to populate a list (_items) with a label when conditions (the remaining
-# args) are satisfied
-macro(_add_if label)
- # needs to be a macro to allow this indirection
+# Helper to populate a list (_items) with a label when conditions
+# (the remaining args) are satisfied
+macro(_add_if _label)
+ # Needs to be a macro to allow this indirection
if(${ARGN})
- set(_items ${_items} "${label}")
+ set(_items ${_items} "${_label}")
endif()
endmacro()
-# NTLM support requires crypto function adaptions from various SSL libs
-# TODO alternative SSL libs tests for SSP1, GnuTLS, NSS
-if(NOT (CURL_DISABLE_NTLM) AND
- (USE_OPENSSL OR USE_MBEDTLS OR USE_DARWINSSL OR USE_WIN32_CRYPTO OR USE_GNUTLS))
- set(use_curl_ntlm_core ON)
+# NTLM support requires crypto functions from various SSL libs.
+# These conditions must match those in lib/curl_setup.h.
+if(NOT CURL_DISABLE_NTLM AND
+ (USE_OPENSSL OR
+ USE_MBEDTLS OR
+ USE_GNUTLS OR
+ USE_SECTRANSP OR
+ USE_WIN32_CRYPTO OR
+ (USE_WOLFSSL AND HAVE_WOLFSSL_DES_ECB_ENCRYPT)))
+ set(_use_curl_ntlm_core ON)
endif()
-# Clear list and try to detect available features
-set(_items)
-_add_if("SSL" SSL_ENABLED)
-_add_if("IPv6" ENABLE_IPV6)
-_add_if("unixsockets" USE_UNIX_SOCKETS)
-_add_if("libz" HAVE_LIBZ)
-_add_if("brotli" HAVE_BROTLI)
-_add_if("zstd" HAVE_ZSTD)
-_add_if("AsynchDNS" USE_ARES OR USE_THREADS_POSIX OR USE_THREADS_WIN32)
-_add_if("IDN" HAVE_LIBIDN2 OR USE_WIN32_IDN)
-_add_if("Largefile" (SIZEOF_CURL_OFF_T GREATER 4) AND
- ((SIZEOF_OFF_T GREATER 4) OR USE_WIN32_LARGE_FILES))
-# TODO SSP1 (Schannel) check is missing
-_add_if("SSPI" USE_WINDOWS_SSPI)
-_add_if("GSS-API" HAVE_GSSAPI)
-_add_if("alt-svc" NOT CURL_DISABLE_ALTSVC)
-_add_if("HSTS" NOT CURL_DISABLE_HSTS)
-# TODO SSP1 missing for SPNEGO
-_add_if("SPNEGO" NOT CURL_DISABLE_NEGOTIATE_AUTH AND
- (HAVE_GSSAPI OR USE_WINDOWS_SSPI))
-_add_if("Kerberos" NOT CURL_DISABLE_KERBEROS_AUTH AND
- (HAVE_GSSAPI OR USE_WINDOWS_SSPI))
-# NTLM support requires crypto function adaptions from various SSL libs
-# TODO alternative SSL libs tests for SSP1, GnuTLS, NSS
-_add_if("NTLM" NOT (CURL_DISABLE_NTLM) AND
- (use_curl_ntlm_core OR USE_WINDOWS_SSPI))
-# TODO missing option (autoconf: --enable-ntlm-wb)
-_add_if("NTLM_WB" NOT (CURL_DISABLE_NTLM) AND
- (use_curl_ntlm_core OR USE_WINDOWS_SSPI) AND
- NOT CURL_DISABLE_HTTP AND NTLM_WB_ENABLED)
-_add_if("TLS-SRP" USE_TLS_SRP)
-# TODO option --with-nghttp2 tests for nghttp2 lib and nghttp2/nghttp2.h header
-_add_if("HTTP2" USE_NGHTTP2)
-_add_if("HTTP3" USE_NGTCP2 OR USE_QUICHE)
-_add_if("MultiSSL" CURL_WITH_MULTI_SSL)
-# TODO wolfSSL only support this from v5.0.0 onwards
-_add_if("HTTPS-proxy" SSL_ENABLED AND (USE_OPENSSL OR USE_GNUTLS
- OR USE_SCHANNEL OR USE_RUSTLS OR USE_BEARSSL OR
- USE_MBEDTLS OR USE_SECTRANSP))
-_add_if("unicode" ENABLE_UNICODE)
-_add_if("threadsafe" HAVE_ATOMIC OR (WIN32 AND
- HAVE_WIN32_WINNT GREATER_EQUAL 0x600))
-_add_if("PSL" USE_LIBPSL)
-string(REPLACE ";" " " SUPPORT_FEATURES "${_items}")
-message(STATUS "Enabled features: ${SUPPORT_FEATURES}")
-
# Clear list and try to detect available protocols
-set(_items)
+unset(_items)
_add_if("HTTP" NOT CURL_DISABLE_HTTP)
-_add_if("HTTPS" NOT CURL_DISABLE_HTTP AND SSL_ENABLED)
+_add_if("IPFS" NOT CURL_DISABLE_HTTP)
+_add_if("IPNS" NOT CURL_DISABLE_HTTP)
+_add_if("HTTPS" NOT CURL_DISABLE_HTTP AND _ssl_enabled)
_add_if("FTP" NOT CURL_DISABLE_FTP)
-_add_if("FTPS" NOT CURL_DISABLE_FTP AND SSL_ENABLED)
+_add_if("FTPS" NOT CURL_DISABLE_FTP AND _ssl_enabled)
_add_if("FILE" NOT CURL_DISABLE_FILE)
_add_if("TELNET" NOT CURL_DISABLE_TELNET)
_add_if("LDAP" NOT CURL_DISABLE_LDAP)
# CURL_DISABLE_LDAP implies CURL_DISABLE_LDAPS
_add_if("LDAPS" NOT CURL_DISABLE_LDAPS AND
- ((USE_OPENLDAP AND SSL_ENABLED) OR
+ ((USE_OPENLDAP AND _ssl_enabled) OR
(NOT USE_OPENLDAP AND HAVE_LDAP_SSL)))
_add_if("DICT" NOT CURL_DISABLE_DICT)
_add_if("TFTP" NOT CURL_DISABLE_TFTP)
_add_if("GOPHER" NOT CURL_DISABLE_GOPHER)
-_add_if("GOPHERS" NOT CURL_DISABLE_GOPHER AND SSL_ENABLED)
+_add_if("GOPHERS" NOT CURL_DISABLE_GOPHER AND _ssl_enabled)
_add_if("POP3" NOT CURL_DISABLE_POP3)
-_add_if("POP3S" NOT CURL_DISABLE_POP3 AND SSL_ENABLED)
+_add_if("POP3S" NOT CURL_DISABLE_POP3 AND _ssl_enabled)
_add_if("IMAP" NOT CURL_DISABLE_IMAP)
-_add_if("IMAPS" NOT CURL_DISABLE_IMAP AND SSL_ENABLED)
+_add_if("IMAPS" NOT CURL_DISABLE_IMAP AND _ssl_enabled)
_add_if("SMB" NOT CURL_DISABLE_SMB AND
- use_curl_ntlm_core AND (SIZEOF_CURL_OFF_T GREATER 4))
-_add_if("SMBS" NOT CURL_DISABLE_SMB AND SSL_ENABLED AND
- use_curl_ntlm_core AND (SIZEOF_CURL_OFF_T GREATER 4))
+ _use_curl_ntlm_core AND (SIZEOF_CURL_OFF_T GREATER 4))
+_add_if("SMBS" NOT CURL_DISABLE_SMB AND _ssl_enabled AND
+ _use_curl_ntlm_core AND (SIZEOF_CURL_OFF_T GREATER 4))
_add_if("SMTP" NOT CURL_DISABLE_SMTP)
-_add_if("SMTPS" NOT CURL_DISABLE_SMTP AND SSL_ENABLED)
-_add_if("SCP" USE_LIBSSH2 OR USE_LIBSSH)
-_add_if("SFTP" USE_LIBSSH2 OR USE_LIBSSH)
+_add_if("SMTPS" NOT CURL_DISABLE_SMTP AND _ssl_enabled)
+_add_if("SCP" USE_LIBSSH2 OR USE_LIBSSH OR USE_WOLFSSH)
+_add_if("SFTP" USE_LIBSSH2 OR USE_LIBSSH OR USE_WOLFSSH)
_add_if("RTSP" NOT CURL_DISABLE_RTSP)
_add_if("RTMP" USE_LIBRTMP)
_add_if("MQTT" NOT CURL_DISABLE_MQTT)
_add_if("WS" USE_WEBSOCKETS)
-_add_if("WSS" USE_WEBSOCKETS)
+_add_if("WSS" USE_WEBSOCKETS AND _ssl_enabled)
if(_items)
list(SORT _items)
endif()
string(REPLACE ";" " " SUPPORT_PROTOCOLS "${_items}")
-message(STATUS "Enabled protocols: ${SUPPORT_PROTOCOLS}")
+string(TOLOWER "${SUPPORT_PROTOCOLS}" _support_protocols_lower)
+message(STATUS "Protocols: ${_support_protocols_lower}")
+
+# Clear list and try to detect available features
+unset(_items)
+_add_if("SSL" _ssl_enabled)
+_add_if("IPv6" ENABLE_IPV6)
+_add_if("UnixSockets" USE_UNIX_SOCKETS)
+_add_if("libz" HAVE_LIBZ)
+_add_if("brotli" HAVE_BROTLI)
+_add_if("gsasl" USE_GSASL)
+_add_if("zstd" HAVE_ZSTD)
+_add_if("AsynchDNS" USE_ARES OR USE_THREADS_POSIX OR USE_THREADS_WIN32)
+_add_if("IDN" (HAVE_LIBIDN2 AND HAVE_IDN2_H) OR
+ USE_WIN32_IDN OR
+ USE_APPLE_IDN)
+_add_if("Largefile" (SIZEOF_CURL_OFF_T GREATER 4) AND
+ ((SIZEOF_OFF_T GREATER 4) OR USE_WIN32_LARGE_FILES))
+_add_if("SSPI" USE_WINDOWS_SSPI)
+_add_if("GSS-API" HAVE_GSSAPI)
+_add_if("alt-svc" NOT CURL_DISABLE_ALTSVC)
+_add_if("HSTS" NOT CURL_DISABLE_HSTS)
+_add_if("SPNEGO" NOT CURL_DISABLE_NEGOTIATE_AUTH AND
+ (HAVE_GSSAPI OR USE_WINDOWS_SSPI))
+_add_if("Kerberos" NOT CURL_DISABLE_KERBEROS_AUTH AND
+ (HAVE_GSSAPI OR USE_WINDOWS_SSPI))
+_add_if("NTLM" NOT (CURL_DISABLE_NTLM) AND
+ (_use_curl_ntlm_core OR USE_WINDOWS_SSPI))
+_add_if("TLS-SRP" USE_TLS_SRP)
+_add_if("HTTP2" USE_NGHTTP2)
+_add_if("HTTP3" USE_NGTCP2 OR USE_QUICHE OR USE_MSH3 OR USE_OPENSSL_QUIC)
+_add_if("MultiSSL" CURL_WITH_MULTI_SSL)
+_add_if("HTTPS-proxy" _ssl_enabled AND (USE_OPENSSL OR USE_GNUTLS
+ OR USE_SCHANNEL OR USE_RUSTLS OR USE_BEARSSL OR
+ USE_MBEDTLS OR USE_SECTRANSP OR
+ (USE_WOLFSSL AND HAVE_WOLFSSL_FULL_BIO)))
+_add_if("Unicode" ENABLE_UNICODE)
+_add_if("threadsafe" HAVE_ATOMIC OR
+ (USE_THREADS_POSIX AND HAVE_PTHREAD_H) OR
+ (WIN32 AND HAVE_WIN32_WINNT GREATER_EQUAL 0x0600))
+_add_if("Debug" ENABLE_DEBUG)
+_add_if("TrackMemory" ENABLE_CURLDEBUG)
+_add_if("ECH" _ssl_enabled AND HAVE_ECH)
+_add_if("PSL" USE_LIBPSL)
+_add_if("CAcert" CURL_CA_EMBED_SET)
+if(_items)
+ if(NOT CMAKE_VERSION VERSION_LESS 3.13)
+ list(SORT _items CASE INSENSITIVE)
+ else()
+ list(SORT _items)
+ endif()
+endif()
+string(REPLACE ";" " " SUPPORT_FEATURES "${_items}")
+message(STATUS "Features: ${SUPPORT_FEATURES}")
# Clear list and collect SSL backends
-set(_items)
-_add_if("Schannel" SSL_ENABLED AND USE_SCHANNEL)
-_add_if("OpenSSL" SSL_ENABLED AND USE_OPENSSL)
-_add_if("Secure Transport" SSL_ENABLED AND USE_SECTRANSP)
-_add_if("mbedTLS" SSL_ENABLED AND USE_MBEDTLS)
-_add_if("BearSSL" SSL_ENABLED AND USE_BEARSSL)
-_add_if("wolfSSL" SSL_ENABLED AND USE_WOLFSSL)
-_add_if("GnuTLS" SSL_ENABLED AND USE_GNUTLS)
+unset(_items)
+_add_if("Schannel" _ssl_enabled AND USE_SCHANNEL)
+_add_if("OpenSSL" _ssl_enabled AND USE_OPENSSL AND OPENSSL_VERSION VERSION_LESS 3.0.0)
+_add_if("OpenSSL v3+" _ssl_enabled AND USE_OPENSSL AND NOT OPENSSL_VERSION VERSION_LESS 3.0.0)
+_add_if("Secure Transport" _ssl_enabled AND USE_SECTRANSP)
+_add_if("mbedTLS" _ssl_enabled AND USE_MBEDTLS)
+_add_if("BearSSL" _ssl_enabled AND USE_BEARSSL)
+_add_if("wolfSSL" _ssl_enabled AND USE_WOLFSSL)
+_add_if("GnuTLS" _ssl_enabled AND USE_GNUTLS)
+_add_if("rustls" _ssl_enabled AND USE_RUSTLS)
if(_items)
- list(SORT _items)
+ if(NOT CMAKE_VERSION VERSION_LESS 3.13)
+ list(SORT _items CASE INSENSITIVE)
+ else()
+ list(SORT _items)
+ endif()
endif()
string(REPLACE ";" " " SSL_BACKENDS "${_items}")
message(STATUS "Enabled SSL backends: ${SSL_BACKENDS}")
@@ -1613,137 +1956,232 @@ if(CURL_DEFAULT_SSL_BACKEND)
message(STATUS "Default SSL backend: ${CURL_DEFAULT_SSL_BACKEND}")
endif()
-# curl-config needs the following options to be set.
-set(CC "${CMAKE_C_COMPILER}")
-# TODO probably put a -D... options here?
-set(CONFIGURE_OPTIONS "")
-set(CURLVERSION "${CURL_VERSION}")
-set(exec_prefix "\${prefix}")
-set(includedir "\${prefix}/include")
-set(LDFLAGS "${CMAKE_SHARED_LINKER_FLAGS}")
-set(LIBCURL_LIBS "")
-set(libdir "${CMAKE_INSTALL_PREFIX}/lib")
-foreach(_lib ${CMAKE_C_IMPLICIT_LINK_LIBRARIES} ${CURL_LIBS})
- if(TARGET "${_lib}")
- set(_libname "${_lib}")
- get_target_property(_imported "${_libname}" IMPORTED)
- if(NOT _imported)
- # Reading the LOCATION property on non-imported target will error out.
- # Assume the user won't need this information in the .pc file.
- continue()
+if(NOT CURL_DISABLE_INSTALL)
+
+ # curl-config needs the following options to be set.
+ set(CC "${CMAKE_C_COMPILER}")
+ # TODO: probably put a -D... options here?
+ set(CONFIGURE_OPTIONS "")
+ set(CURLVERSION "${CURL_VERSION}")
+ set(VERSIONNUM "${CURL_VERSION_NUM}")
+ set(prefix "${CMAKE_INSTALL_PREFIX}")
+ set(exec_prefix "\${prefix}")
+ set(includedir "\${prefix}/include")
+ set(LDFLAGS "${CMAKE_SHARED_LINKER_FLAGS}")
+ set(libdir "${CMAKE_INSTALL_PREFIX}/lib")
+ # "a" (Linux) or "lib" (Windows)
+ string(REPLACE "." "" libext "${CMAKE_STATIC_LIBRARY_SUFFIX}")
+
+ set(_ldflags "")
+ set(LIBCURL_PC_LIBS_PRIVATE "")
+
+ # Avoid getting unnecessary -L options for known system directories.
+ unset(_sys_libdirs)
+ foreach(_libdir IN LISTS CMAKE_SYSTEM_PREFIX_PATH)
+ if(_libdir MATCHES "/$")
+ set(_libdir "${_libdir}lib")
+ else()
+ set(_libdir "${_libdir}/lib")
endif()
- get_target_property(_lib "${_libname}" LOCATION)
- if(NOT _lib)
- message(WARNING "Bad lib in library list: ${_libname}")
- continue()
+ if(IS_DIRECTORY "${_libdir}")
+ list(APPEND _sys_libdirs "${_libdir}")
endif()
+ if(DEFINED CMAKE_LIBRARY_ARCHITECTURE)
+ set(_libdir "${_libdir}/${CMAKE_LIBRARY_ARCHITECTURE}")
+ if(IS_DIRECTORY "${_libdir}")
+ list(APPEND _sys_libdirs "${_libdir}")
+ endif()
+ endif()
+ endforeach()
+
+ foreach(_libdir IN LISTS CURL_LIBDIRS)
+ list(FIND _sys_libdirs "${_libdir}" _libdir_index)
+ if(_libdir_index LESS 0)
+ list(APPEND _ldflags "-L${_libdir}")
+ endif()
+ endforeach()
+
+ foreach(_lib IN LISTS CMAKE_C_IMPLICIT_LINK_LIBRARIES CURL_LIBS)
+ if(TARGET "${_lib}")
+ set(_libname "${_lib}")
+ get_target_property(_imported "${_libname}" IMPORTED)
+ if(NOT _imported)
+ # Reading the LOCATION property on non-imported target will error out.
+ # Assume the user will not need this information in the .pc file.
+ continue()
+ endif()
+ get_target_property(_lib "${_libname}" LOCATION)
+ if(NOT _lib)
+ message(WARNING "Bad lib in library list: ${_libname}")
+ continue()
+ endif()
+ endif()
+ if(_lib MATCHES "^-") # '-framework '
+ list(APPEND _ldflags "${_lib}")
+ elseif(_lib MATCHES ".*/.*")
+ # This gets a bit more complex, because we want to specify the
+ # directory separately, and only once per directory
+ get_filename_component(_libdir ${_lib} DIRECTORY)
+ get_filename_component(_libname ${_lib} NAME_WE)
+ if(_libname MATCHES "^lib")
+ list(FIND _sys_libdirs "${_libdir}" _libdir_index)
+ if(_libdir_index LESS 0)
+ list(APPEND _ldflags "-L${_libdir}")
+ endif()
+ string(REGEX REPLACE "^lib" "" _libname "${_libname}")
+ list(APPEND LIBCURL_PC_LIBS_PRIVATE "-l${_libname}")
+ else()
+ list(APPEND LIBCURL_PC_LIBS_PRIVATE "${_lib}")
+ endif()
+ else()
+ list(APPEND LIBCURL_PC_LIBS_PRIVATE "-l${_lib}")
+ endif()
+ endforeach()
+
+ if(LIBCURL_PC_REQUIRES_PRIVATE)
+ string(REPLACE ";" "," LIBCURL_PC_REQUIRES_PRIVATE "${LIBCURL_PC_REQUIRES_PRIVATE}")
+ endif()
+ if(LIBCURL_PC_LIBS_PRIVATE)
+ string(REPLACE ";" " " LIBCURL_PC_LIBS_PRIVATE "${LIBCURL_PC_LIBS_PRIVATE}")
endif()
- if(_lib MATCHES ".*/.*" OR _lib MATCHES "^-")
- set(LIBCURL_LIBS "${LIBCURL_LIBS} ${_lib}")
+ if(_ldflags)
+ list(REMOVE_DUPLICATES _ldflags)
+ string(REPLACE ";" " " _ldflags "${_ldflags}")
+ set(LIBCURL_PC_LIBS_PRIVATE "${_ldflags} ${LIBCURL_PC_LIBS_PRIVATE}")
+ string(STRIP "${LIBCURL_PC_LIBS_PRIVATE}" LIBCURL_PC_LIBS_PRIVATE)
+ endif()
+ set(LIBCURL_PC_CFLAGS_PRIVATE "-DCURL_STATICLIB")
+
+ # Merge pkg-config private fields into public ones when static-only
+ if(BUILD_SHARED_LIBS)
+ set(ENABLE_SHARED "yes")
+ set(LIBCURL_PC_REQUIRES "")
+ set(LIBCURL_PC_LIBS "")
+ set(LIBCURL_PC_CFLAGS "")
else()
- set(LIBCURL_LIBS "${LIBCURL_LIBS} -l${_lib}")
+ set(ENABLE_SHARED "no")
+ set(LIBCURL_PC_REQUIRES "${LIBCURL_PC_REQUIRES_PRIVATE}")
+ set(LIBCURL_PC_LIBS "${LIBCURL_PC_LIBS_PRIVATE}")
+ set(LIBCURL_PC_CFLAGS "${LIBCURL_PC_CFLAGS_PRIVATE}")
endif()
-endforeach()
-if(BUILD_SHARED_LIBS)
- set(ENABLE_SHARED "yes")
- set(LIBCURL_NO_SHARED "")
- set(CPPFLAG_CURL_STATICLIB "")
-else()
- set(ENABLE_SHARED "no")
- set(LIBCURL_NO_SHARED "${LIBCURL_LIBS}")
- set(CPPFLAG_CURL_STATICLIB "-DCURL_STATICLIB")
-endif()
-if(BUILD_STATIC_LIBS)
- set(ENABLE_STATIC "yes")
-else()
- set(ENABLE_STATIC "no")
-endif()
-# "a" (Linux) or "lib" (Windows)
-string(REPLACE "." "" libext "${CMAKE_STATIC_LIBRARY_SUFFIX}")
-set(prefix "${CMAKE_INSTALL_PREFIX}")
-# Set this to "yes" to append all libraries on which -lcurl is dependent
-set(REQUIRE_LIB_DEPS "no")
-# SUPPORT_FEATURES
-# SUPPORT_PROTOCOLS
-set(VERSIONNUM "${CURL_VERSION_NUM}")
-
-# Finally generate a "curl-config" matching this config
-# Use:
-# * ENABLE_SHARED
-# * ENABLE_STATIC
-configure_file("${CURL_SOURCE_DIR}/curl-config.in"
- "${CURL_BINARY_DIR}/curl-config" @ONLY)
-install(FILES "${CURL_BINARY_DIR}/curl-config"
- DESTINATION ${CMAKE_INSTALL_BINDIR}
- PERMISSIONS
- OWNER_READ OWNER_WRITE OWNER_EXECUTE
- GROUP_READ GROUP_EXECUTE
- WORLD_READ WORLD_EXECUTE)
-
-# Finally generate a pkg-config file matching this config
-configure_file("${CURL_SOURCE_DIR}/libcurl.pc.in"
- "${CURL_BINARY_DIR}/libcurl.pc" @ONLY)
-install(FILES "${CURL_BINARY_DIR}/libcurl.pc"
- DESTINATION ${CMAKE_INSTALL_LIBDIR}/pkgconfig)
-
-# install headers
-install(DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}/include/curl"
+ if(BUILD_STATIC_LIBS)
+ set(ENABLE_STATIC "yes")
+ else()
+ set(ENABLE_STATIC "no")
+ endif()
+
+ # Finally generate a "curl-config" matching this config.
+ # Consumed variables:
+ # CC
+ # CONFIGURE_OPTIONS
+ # CURLVERSION
+ # CURL_CA_BUNDLE
+ # ENABLE_SHARED
+ # ENABLE_STATIC
+ # exec_prefix
+ # includedir
+ # LDFLAGS
+ # LIBCURL_PC_CFLAGS
+ # LIBCURL_PC_LIBS_PRIVATE
+ # libdir
+ # libext
+ # prefix
+ # SSL_BACKENDS
+ # SUPPORT_FEATURES
+ # SUPPORT_PROTOCOLS
+ # VERSIONNUM
+ configure_file(
+ "${CURL_SOURCE_DIR}/curl-config.in"
+ "${CURL_BINARY_DIR}/curl-config" @ONLY)
+ install(FILES "${CURL_BINARY_DIR}/curl-config"
+ DESTINATION ${CMAKE_INSTALL_BINDIR}
+ PERMISSIONS
+ OWNER_READ OWNER_WRITE OWNER_EXECUTE
+ GROUP_READ GROUP_EXECUTE
+ WORLD_READ WORLD_EXECUTE)
+
+ # Finally generate a pkg-config file matching this config
+ # Consumed variables:
+ # CURLVERSION
+ # exec_prefix
+ # includedir
+ # LIBCURL_PC_CFLAGS
+ # LIBCURL_PC_CFLAGS_PRIVATE
+ # LIBCURL_PC_LIBS
+ # LIBCURL_PC_LIBS_PRIVATE
+ # LIBCURL_PC_REQUIRES
+ # LIBCURL_PC_REQUIRES_PRIVATE
+ # libdir
+ # prefix
+ # SUPPORT_FEATURES
+ # SUPPORT_PROTOCOLS
+ configure_file(
+ "${CURL_SOURCE_DIR}/libcurl.pc.in"
+ "${CURL_BINARY_DIR}/libcurl.pc" @ONLY)
+ install(FILES "${CURL_BINARY_DIR}/libcurl.pc"
+ DESTINATION "${CMAKE_INSTALL_LIBDIR}/pkgconfig")
+
+ # Install headers
+ install(DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}/include/curl"
DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}
FILES_MATCHING PATTERN "*.h")
-include(CMakePackageConfigHelpers)
-write_basic_package_version_file(
- "${version_config}"
+ include(CMakePackageConfigHelpers)
+ write_basic_package_version_file(
+ "${_version_config}"
VERSION ${CURL_VERSION}
- COMPATIBILITY SameMajorVersion
-)
-file(READ "${version_config}" generated_version_config)
-file(WRITE "${version_config}"
-"if(NOT PACKAGE_FIND_VERSION_RANGE AND PACKAGE_FIND_VERSION_MAJOR STREQUAL \"7\")
- # Version 8 satisfies version 7... requirements
- set(PACKAGE_FIND_VERSION_MAJOR 8)
- set(PACKAGE_FIND_VERSION_COUNT 1)
-endif()
-${generated_version_config}"
-)
-
-# Use:
-# * TARGETS_EXPORT_NAME
-# * PROJECT_NAME
-configure_package_config_file(CMake/curl-config.cmake.in
- "${project_config}"
- INSTALL_DESTINATION ${CURL_INSTALL_CMAKE_DIR}
-)
-
-if(CURL_ENABLE_EXPORT_TARGET)
- install(
- EXPORT "${TARGETS_EXPORT_NAME}"
- NAMESPACE "${PROJECT_NAME}::"
- DESTINATION ${CURL_INSTALL_CMAKE_DIR}
- )
-endif()
+ COMPATIBILITY SameMajorVersion)
+ file(READ "${_version_config}" _generated_version_config)
+ file(WRITE "${_version_config}" "
+ if(NOT PACKAGE_FIND_VERSION_RANGE AND PACKAGE_FIND_VERSION_MAJOR STREQUAL \"7\")
+ # Version 8 satisfies version 7... requirements
+ set(PACKAGE_FIND_VERSION_MAJOR 8)
+ set(PACKAGE_FIND_VERSION_COUNT 1)
+ endif()
+ ${_generated_version_config}")
+
+ # Consumed custom variables:
+ # LIB_SELECTED
+ # TARGETS_EXPORT_NAME
+ # USE_OPENSSL
+ # USE_ZLIB
+ configure_package_config_file("CMake/curl-config.cmake.in"
+ "${_project_config}"
+ INSTALL_DESTINATION ${CURL_INSTALL_CMAKE_DIR}
+ PATH_VARS CMAKE_INSTALL_INCLUDEDIR)
+
+ if(CURL_ENABLE_EXPORT_TARGET)
+ install(EXPORT "${TARGETS_EXPORT_NAME}"
+ NAMESPACE "${PROJECT_NAME}::"
+ DESTINATION ${CURL_INSTALL_CMAKE_DIR})
+ endif()
-install(
- FILES ${version_config} ${project_config}
- DESTINATION ${CURL_INSTALL_CMAKE_DIR}
-)
+ install(FILES ${_version_config} ${_project_config}
+ DESTINATION ${CURL_INSTALL_CMAKE_DIR})
-# Workaround for MSVS10 to avoid the Dialog Hell
-# FIXME: This could be removed with future version of CMake.
-if(MSVC_VERSION EQUAL 1600)
- set(CURL_SLN_FILENAME "${CMAKE_CURRENT_BINARY_DIR}/CURL.sln")
- if(EXISTS "${CURL_SLN_FILENAME}")
- file(APPEND "${CURL_SLN_FILENAME}" "\n# This should be regenerated!\n")
+ # Workaround for MSVS10 to avoid the Dialog Hell
+ # FIXME: This could be removed with future version of CMake.
+ if(MSVC_VERSION EQUAL 1600)
+ set(_curl_sln_filename "${CMAKE_CURRENT_BINARY_DIR}/CURL.sln")
+ if(EXISTS "${_curl_sln_filename}")
+ file(APPEND "${_curl_sln_filename}" "\n# This should be regenerated!\n")
+ endif()
endif()
-endif()
-if(NOT TARGET curl_uninstall)
- configure_file(
- ${CMAKE_CURRENT_SOURCE_DIR}/CMake/cmake_uninstall.cmake.in
- ${CMAKE_CURRENT_BINARY_DIR}/CMake/cmake_uninstall.cmake
+ if(NOT TARGET curl_uninstall)
+ configure_file(
+ "${CMAKE_CURRENT_SOURCE_DIR}/CMake/cmake_uninstall.cmake.in"
+ "${CMAKE_CURRENT_BINARY_DIR}/CMake/cmake_uninstall.cmake"
IMMEDIATE @ONLY)
- add_custom_target(curl_uninstall
- COMMAND ${CMAKE_COMMAND} -P
- ${CMAKE_CURRENT_BINARY_DIR}/CMake/cmake_uninstall.cmake)
+ add_custom_target(curl_uninstall
+ COMMAND ${CMAKE_COMMAND} -P "${CMAKE_CURRENT_BINARY_DIR}/CMake/cmake_uninstall.cmake")
+ endif()
+
+ install(FILES "${PROJECT_SOURCE_DIR}/scripts/mk-ca-bundle.pl"
+ DESTINATION ${CMAKE_INSTALL_BINDIR}
+ PERMISSIONS
+ OWNER_READ OWNER_WRITE OWNER_EXECUTE
+ GROUP_READ GROUP_EXECUTE
+ WORLD_READ WORLD_EXECUTE)
endif()
diff --git a/curl/COPYING b/curl/COPYING
index d1eab3eb..d9e7e0be 100644
--- a/curl/COPYING
+++ b/curl/COPYING
@@ -1,6 +1,6 @@
COPYRIGHT AND PERMISSION NOTICE
-Copyright (c) 1996 - 2023, Daniel Stenberg, , and many
+Copyright (c) 1996 - 2024, Daniel Stenberg, , and many
contributors, see the THANKS file.
All rights reserved.
diff --git a/curl/Dockerfile b/curl/Dockerfile
new file mode 100644
index 00000000..08944148
--- /dev/null
+++ b/curl/Dockerfile
@@ -0,0 +1,41 @@
+# Copyright (C) Daniel Stenberg, , et al.
+#
+# SPDX-License-Identifier: curl
+
+# Self-contained build environment to match the release environment.
+#
+# Build and set the timestamp for the date corresponding to the release
+#
+# docker build --build-arg SOURCE_DATE_EPOCH=1711526400 --build-arg UID=$(id -u) --build-arg GID=$(id -g) -t curl/curl .
+#
+# Then run commands from within the build environment, for example
+#
+# docker run --rm -it -u $(id -u):$(id -g) -v $(pwd):/usr/src -w /usr/src curl/curl autoreconf -fi
+# docker run --rm -it -u $(id -u):$(id -g) -v $(pwd):/usr/src -w /usr/src curl/curl ./configure --without-ssl --without-libpsl
+# docker run --rm -it -u $(id -u):$(id -g) -v $(pwd):/usr/src -w /usr/src curl/curl make
+# docker run --rm -it -u $(id -u):$(id -g) -v $(pwd):/usr/src -w /usr/src curl/curl ./scripts/maketgz 8.7.1
+#
+# or get into a shell in the build environment, for example
+#
+# docker run --rm -it -u $(id -u):$(id -g) -v (pwd):/usr/src -w /usr/src curl/curl bash
+# $ autoreconf -fi
+# $ ./configure --without-ssl --without-libpsl
+# $ make
+# $ ./scripts/maketgz 8.7.1
+
+# To update, get the latest digest e.g. from https://hub.docker.com/_/debian/tags
+FROM debian:bookworm-slim@sha256:903d3225acecaa272bbdd7273c6c312c2af8b73644058838d23a8c9e6e5c82cf
+
+RUN apt-get update -qq && apt-get install -qq -y --no-install-recommends \
+ build-essential make autoconf automake libtool git perl zip zlib1g-dev gawk && \
+ rm -rf /var/lib/apt/lists/*
+
+ARG UID=1000 GID=1000
+
+RUN groupadd --gid $UID dev && \
+ useradd --uid $UID --gid dev --shell /bin/bash --create-home dev
+
+USER dev:dev
+
+ARG SOURCE_DATE_EPOCH
+ENV SOURCE_DATE_EPOCH=${SOURCE_DATE_EPOCH:-1}
diff --git a/curl/GIT-INFO.md b/curl/GIT-INFO.md
new file mode 100644
index 00000000..71a8b037
--- /dev/null
+++ b/curl/GIT-INFO.md
@@ -0,0 +1,32 @@
+ _ _ ____ _
+ ___| | | | _ \| |
+ / __| | | | |_) | |
+ | (__| |_| | _ <| |___
+ \___|\___/|_| \_\_____|
+
+# GIT-INFO
+
+This file is only present in git - never in release archives. It contains
+information about other files and things that the git repository keeps in its
+inner sanctum.
+
+To build in environments that support configure, after having extracted
+everything from git, do this:
+
+ autoreconf -fi
+ ./configure --with-openssl
+ make
+
+Daniel uses a configure line similar to this for easier development:
+
+ ./configure --disable-shared --enable-debug --enable-maintainer-mode
+
+In environments that don't support configure (i.e. Windows), do this:
+
+ buildconf.bat
+
+## REQUIREMENTS
+
+See [docs/INTERNALS.md][0] for requirement details.
+
+[0]: docs/INTERNALS.md
diff --git a/curl/LICENSES/BSD-3-Clause.txt b/curl/LICENSES/BSD-3-Clause.txt
new file mode 100644
index 00000000..086d3992
--- /dev/null
+++ b/curl/LICENSES/BSD-3-Clause.txt
@@ -0,0 +1,11 @@
+Copyright (c) .
+
+Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
+
+1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
+
+2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
+
+3. Neither the name of the copyright holder nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
diff --git a/curl/LICENSES/BSD-4-Clause-UC.txt b/curl/LICENSES/BSD-4-Clause-UC.txt
new file mode 100644
index 00000000..69edbe32
--- /dev/null
+++ b/curl/LICENSES/BSD-4-Clause-UC.txt
@@ -0,0 +1,15 @@
+BSD-4-Clause (University of California-Specific)
+
+Copyright [various years] The Regents of the University of California. All rights reserved.
+
+Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
+
+1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
+
+2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
+
+3. All advertising materials mentioning features or use of this software must display the following acknowledgement: This product includes software developed by the University of California, Berkeley and its contributors.
+
+4. Neither the name of the University nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
diff --git a/curl/LICENSES/ISC.txt b/curl/LICENSES/ISC.txt
new file mode 100644
index 00000000..60f60bfb
--- /dev/null
+++ b/curl/LICENSES/ISC.txt
@@ -0,0 +1,12 @@
+Permission to use, copy, modify, and distribute this software for any
+purpose with or without fee is hereby granted, provided that the above
+copyright notice and this permission notice appear in all copies.
+
+THE SOFTWARE IS PROVIDED "AS IS" AND INTERNET SOFTWARE CONSORTIUM
+DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL
+IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL
+INTERNET SOFTWARE CONSORTIUM BE LIABLE FOR ANY SPECIAL, DIRECT,
+INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING
+FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
+NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
+WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
diff --git a/curl/LICENSES/curl.txt b/curl/LICENSES/curl.txt
new file mode 100644
index 00000000..3c1c1974
--- /dev/null
+++ b/curl/LICENSES/curl.txt
@@ -0,0 +1,22 @@
+COPYRIGHT AND PERMISSION NOTICE
+
+Copyright (C) Daniel Stenberg, , and many
+contributors, see the THANKS file.
+
+All rights reserved.
+
+Permission to use, copy, modify, and distribute this software for any purpose
+with or without fee is hereby granted, provided that the above copyright
+notice and this permission notice appear in all copies.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF THIRD PARTY RIGHTS. IN
+NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
+DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
+OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE
+OR OTHER DEALINGS IN THE SOFTWARE.
+
+Except as contained in this notice, the name of a copyright holder shall not
+be used in advertising or otherwise to promote the sale, use or other dealings
+in this Software without prior written authorization of the copyright holder.
diff --git a/curl/MacOSX-Framework b/curl/MacOSX-Framework
deleted file mode 100644
index 5ac53763..00000000
--- a/curl/MacOSX-Framework
+++ /dev/null
@@ -1,160 +0,0 @@
-#!/usr/bin/env bash
-#***************************************************************************
-# _ _ ____ _
-# Project ___| | | | _ \| |
-# / __| | | | |_) | |
-# | (__| |_| | _ <| |___
-# \___|\___/|_| \_\_____|
-#
-# Copyright (C) Daniel Stenberg, , et al.
-#
-# 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.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
-# furnished to do so, under the terms of the COPYING file.
-#
-# This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
-# KIND, either express or implied.
-#
-# SPDX-License-Identifier: curl
-#
-###########################################################################
-# This script performs all of the steps needed to build a
-# universal binary libcurl.framework for Mac OS X 10.4 or greater.
-#
-# Hendrik Visage:
-# Generalizations added since Snowleopard (10.6) do not include
-# the 10.4u SDK.
-#
-# Also note:
-# 10.5 is the *ONLY* SDK that support PPC64 :( -- 10.6 do not have ppc64 support
-#If you need to have PPC64 support then change below to 1
-PPC64_NEEDED=0
-# Apple does not support building for PPC anymore in Xcode 4 and later.
-# If you're using Xcode 3 or earlier and need PPC support, then change
-# the setting below to 1
-PPC_NEEDED=0
-
-# For me the default is to develop for the platform I am on, and if you
-#desire compatibility with older versions then change USE_OLD to 1 :)
-USE_OLD=0
-
-VERSION=`/usr/bin/sed -ne 's/^#define LIBCURL_VERSION "\(.*\)"/\1/p' include/curl/curlver.h`
-FRAMEWORK_VERSION=Versions/Release-$VERSION
-
-#I also wanted to "copy over" the system, and thus the reason I added the
-# version to Versions/Release-7.20.1 etc.
-# now a simple rsync -vaP libcurl.framework /Library/Frameworks will install it
-# and setup the right paths to this version, leaving the system version
-# "intact", so you can "fix" it later with the links to Versions/A/...
-
-DEVELOPER_PATH=`xcode-select --print-path`
-# Around Xcode 4.3, SDKs were moved from the Developer folder into the
-# MacOSX.platform folder
-if test -d "$DEVELOPER_PATH/Platforms/MacOSX.platform/Developer/SDKs"; then
- SDK_PATH="$DEVELOPER_PATH/Platforms/MacOSX.platform/Developer/SDKs"
-else
- SDK_PATH="$DEVELOPER_PATH/SDKs"
-fi
-OLD_SDK=`ls $SDK_PATH|head -1`
-NEW_SDK=`ls -r $SDK_PATH|head -1`
-
-if test "0"$USE_OLD -gt 0
-then
- SDK32=$OLD_SDK
-else
- SDK32=$NEW_SDK
-fi
-
-MACVER=`echo $SDK32|sed -e s/[a-zA-Z]//g -e s/.\$//`
-
-SDK32_DIR=$SDK_PATH/$SDK32
-MINVER32='-mmacosx-version-min='$MACVER
-if test $PPC_NEEDED -gt 0; then
- ARCHES32='-arch i386 -arch ppc'
-else
- ARCHES32='-arch i386'
-fi
-
-if test $PPC64_NEEDED -gt 0
-then
- SDK64=10.5
- ARCHES64='-arch x86_64 -arch ppc64'
- SDK64=`ls $SDK_PATH | grep "10\.5" | head -1`
-else
- ARCHES64='-arch x86_64'
- #We "know" that 10.4 and earlier do not support 64bit
- OLD_SDK64=`ls $SDK_PATH | grep -v "10\.[0-4]" | head -1`
- NEW_SDK64=`ls -r $SDK_PATH | grep -v "10\.[0-4][^0-9]" | head -1`
- if test $USE_OLD -gt 0
- then
- SDK64=$OLD_SDK64
- else
- SDK64=$NEW_SDK64
- fi
-fi
-
-SDK64_DIR=$SDK_PATH/$SDK64
-MACVER64=`echo $SDK64|sed -e s/[a-zA-Z]//g -e s/.\$//`
-
-MINVER64='-mmacosx-version-min='$MACVER64
-
-if test ! -z $SDK32; then
- echo "----Configuring libcurl for 32 bit universal framework..."
- make clean
- ./configure --disable-dependency-tracking --disable-static --with-gssapi --with-secure-transport \
- CFLAGS="-Os -isysroot $SDK32_DIR $ARCHES32" \
- LDFLAGS="-Wl,-syslibroot,$SDK32_DIR $ARCHES32 -Wl,-headerpad_max_install_names" \
- CC=$CC
-
- echo "----Building 32 bit libcurl..."
- make -j `sysctl -n hw.logicalcpu_max`
-
- echo "----Creating 32 bit framework..."
- rm -r libcurl.framework
- mkdir -p libcurl.framework/${FRAMEWORK_VERSION}/Resources
- cp lib/.libs/libcurl.dylib libcurl.framework/${FRAMEWORK_VERSION}/libcurl
- install_name_tool -id @rpath/libcurl.framework/${FRAMEWORK_VERSION}/libcurl libcurl.framework/${FRAMEWORK_VERSION}/libcurl
- cp lib/libcurl.plist libcurl.framework/${FRAMEWORK_VERSION}/Resources/Info.plist
- mkdir -p libcurl.framework/${FRAMEWORK_VERSION}/Headers/curl
- cp include/curl/*.h libcurl.framework/${FRAMEWORK_VERSION}/Headers/curl
- pushd libcurl.framework
- ln -fs ${FRAMEWORK_VERSION}/libcurl libcurl
- ln -fs ${FRAMEWORK_VERSION}/Resources Resources
- ln -fs ${FRAMEWORK_VERSION}/Headers Headers
- cd Versions
- ln -fs $(basename "${FRAMEWORK_VERSION}") Current
-
- echo Testing for SDK64
- if test -d $SDK64_DIR; then
- echo entering...
- popd
- make clean
- echo "----Configuring libcurl for 64 bit universal framework..."
- ./configure --disable-dependency-tracking --disable-static --with-gssapi --with-secure-transport \
- CFLAGS="-Os -isysroot $SDK64_DIR $ARCHES64" \
- LDFLAGS="-Wl,-syslibroot,$SDK64_DIR $ARCHES64 -Wl,-headerpad_max_install_names" \
- CC=$CC
-
- echo "----Building 64 bit libcurl..."
- make -j `sysctl -n hw.logicalcpu_max`
-
- echo "----Appending 64 bit framework to 32 bit framework..."
- cp lib/.libs/libcurl.dylib libcurl.framework/${FRAMEWORK_VERSION}/libcurl64
- install_name_tool -id @rpath/libcurl.framework/${FRAMEWORK_VERSION}/libcurl libcurl.framework/${FRAMEWORK_VERSION}/libcurl64
- cp libcurl.framework/${FRAMEWORK_VERSION}/libcurl libcurl.framework/${FRAMEWORK_VERSION}/libcurl32
- pwd
- lipo libcurl.framework/${FRAMEWORK_VERSION}/libcurl32 libcurl.framework/${FRAMEWORK_VERSION}/libcurl64 -create -output libcurl.framework/${FRAMEWORK_VERSION}/libcurl
- rm libcurl.framework/${FRAMEWORK_VERSION}/libcurl32 libcurl.framework/${FRAMEWORK_VERSION}/libcurl64
- fi
-
- pwd
- lipo -info libcurl.framework/${FRAMEWORK_VERSION}/libcurl
- echo "libcurl.framework is built and can now be included in other projects."
- echo "Copy libcurl.framework to your bundle's Contents/Frameworks folder, ~/Library/Frameworks or /Library/Frameworks."
-else
- echo "Building libcurl.framework requires Mac OS X 10.4 or later with the MacOSX10.4/5/6 SDK installed."
-fi
diff --git a/curl/Makefile b/curl/Makefile
index a5818e1d..e9132040 100644
--- a/curl/Makefile
+++ b/curl/Makefile
@@ -30,27 +30,6 @@ ssl:
./configure --with-openssl
make
-mingw32:
- $(MAKE) -C lib -f Makefile.mk
- $(MAKE) -C src -f Makefile.mk
-
-mingw32-clean:
- $(MAKE) -C lib -f Makefile.mk clean
- $(MAKE) -C src -f Makefile.mk clean
- $(MAKE) -C docs/examples -f Makefile.mk clean
-
-mingw32-vclean mingw32-distclean:
- $(MAKE) -C lib -f Makefile.mk vclean
- $(MAKE) -C src -f Makefile.mk vclean
- $(MAKE) -C docs/examples -f Makefile.mk vclean
-
-mingw32-examples%:
- $(MAKE) -C docs/examples -f Makefile.mk CFG=$@
-
-mingw32%:
- $(MAKE) -C lib -f Makefile.mk CFG=$@
- $(MAKE) -C src -f Makefile.mk CFG=$@
-
vc:
cd winbuild
nmake /f Makefile.vc MACHINE=x86
@@ -87,6 +66,6 @@ ca-bundle: scripts/mk-ca-bundle.pl
@echo "generate a fresh ca-bundle.crt"
@perl $< -b -l -u lib/ca-bundle.crt
-ca-firefox: lib/firefox-db2pem.sh
+ca-firefox: scripts/firefox-db2pem.sh
@echo "generate a fresh ca-bundle.crt"
- ./lib/firefox-db2pem.sh lib/ca-bundle.crt
+ ./scripts/firefox-db2pem.sh lib/ca-bundle.crt
diff --git a/curl/Makefile.am b/curl/Makefile.am
index 6c780a84..968825ee 100644
--- a/curl/Makefile.am
+++ b/curl/Makefile.am
@@ -34,16 +34,24 @@ CMAKE_DIST = \
CMake/CurlTests.c \
CMake/FindBearSSL.cmake \
CMake/FindBrotli.cmake \
- CMake/FindCARES.cmake \
+ CMake/FindCares.cmake \
CMake/FindGSS.cmake \
- CMake/FindLibPSL.cmake \
- CMake/FindLibSSH2.cmake \
+ CMake/FindLibgsasl.cmake \
+ CMake/FindLibidn2.cmake \
+ CMake/FindLibpsl.cmake \
+ CMake/FindLibssh.cmake \
+ CMake/FindLibssh2.cmake \
+ CMake/FindLibuv.cmake \
CMake/FindMbedTLS.cmake \
CMake/FindMSH3.cmake \
+ CMake/FindMbedTLS.cmake \
CMake/FindNGHTTP2.cmake \
CMake/FindNGHTTP3.cmake \
CMake/FindNGTCP2.cmake \
- CMake/FindQUICHE.cmake \
+ CMake/FindNettle.cmake \
+ CMake/FindQuiche.cmake \
+ CMake/FindRustls.cmake \
+ CMake/FindWolfSSH.cmake \
CMake/FindWolfSSL.cmake \
CMake/FindZstd.cmake \
CMake/Macros.cmake \
@@ -53,88 +61,16 @@ CMAKE_DIST = \
CMake/Utilities.cmake \
CMakeLists.txt
-VC10_LIBTMPL = projects/Windows/VC10/lib/libcurl.tmpl
-VC10_LIBVCXPROJ = projects/Windows/VC10/lib/libcurl.vcxproj.dist
-VC10_LIBVCXPROJ_DEPS = $(VC10_LIBTMPL) Makefile.am lib/Makefile.inc
-VC10_SRCTMPL = projects/Windows/VC10/src/curl.tmpl
-VC10_SRCVCXPROJ = projects/Windows/VC10/src/curl.vcxproj.dist
-VC10_SRCVCXPROJ_DEPS = $(VC10_SRCTMPL) Makefile.am src/Makefile.inc
-
-VC11_LIBTMPL = projects/Windows/VC11/lib/libcurl.tmpl
-VC11_LIBVCXPROJ = projects/Windows/VC11/lib/libcurl.vcxproj.dist
-VC11_LIBVCXPROJ_DEPS = $(VC11_LIBTMPL) Makefile.am lib/Makefile.inc
-VC11_SRCTMPL = projects/Windows/VC11/src/curl.tmpl
-VC11_SRCVCXPROJ = projects/Windows/VC11/src/curl.vcxproj.dist
-VC11_SRCVCXPROJ_DEPS = $(VC11_SRCTMPL) Makefile.am src/Makefile.inc
-
-VC12_LIBTMPL = projects/Windows/VC12/lib/libcurl.tmpl
-VC12_LIBVCXPROJ = projects/Windows/VC12/lib/libcurl.vcxproj.dist
-VC12_LIBVCXPROJ_DEPS = $(VC12_LIBTMPL) Makefile.am lib/Makefile.inc
-VC12_SRCTMPL = projects/Windows/VC12/src/curl.tmpl
-VC12_SRCVCXPROJ = projects/Windows/VC12/src/curl.vcxproj.dist
-VC12_SRCVCXPROJ_DEPS = $(VC12_SRCTMPL) Makefile.am src/Makefile.inc
-
-VC14_LIBTMPL = projects/Windows/VC14/lib/libcurl.tmpl
-VC14_LIBVCXPROJ = projects/Windows/VC14/lib/libcurl.vcxproj.dist
-VC14_LIBVCXPROJ_DEPS = $(VC14_LIBTMPL) Makefile.am lib/Makefile.inc
-VC14_SRCTMPL = projects/Windows/VC14/src/curl.tmpl
-VC14_SRCVCXPROJ = projects/Windows/VC14/src/curl.vcxproj.dist
-VC14_SRCVCXPROJ_DEPS = $(VC14_SRCTMPL) Makefile.am src/Makefile.inc
-
-VC14_10_LIBTMPL = projects/Windows/VC14.10/lib/libcurl.tmpl
-VC14_10_LIBVCXPROJ = projects/Windows/VC14.10/lib/libcurl.vcxproj.dist
-VC14_10_LIBVCXPROJ_DEPS = $(VC14_10_LIBTMPL) Makefile.am lib/Makefile.inc
-VC14_10_SRCTMPL = projects/Windows/VC14.10/src/curl.tmpl
-VC14_10_SRCVCXPROJ = projects/Windows/VC14.10/src/curl.vcxproj.dist
-VC14_10_SRCVCXPROJ_DEPS = $(VC14_10_SRCTMPL) Makefile.am src/Makefile.inc
-
-VC14_30_LIBTMPL = projects/Windows/VC14.30/lib/libcurl.tmpl
-VC14_30_LIBVCXPROJ = projects/Windows/VC14.30/lib/libcurl.vcxproj.dist
-VC14_30_LIBVCXPROJ_DEPS = $(VC14_30_LIBTMPL) Makefile.am lib/Makefile.inc
-VC14_30_SRCTMPL = projects/Windows/VC14.30/src/curl.tmpl
-VC14_30_SRCVCXPROJ = projects/Windows/VC14.30/src/curl.vcxproj.dist
-VC14_30_SRCVCXPROJ_DEPS = $(VC14_30_SRCTMPL) Makefile.am src/Makefile.inc
-
VC_DIST = projects/README.md \
projects/build-openssl.bat \
projects/build-wolfssl.bat \
projects/checksrc.bat \
- projects/Windows/VC10/curl-all.sln \
- projects/Windows/VC10/lib/libcurl.sln \
- projects/Windows/VC10/lib/libcurl.vcxproj.filters \
- projects/Windows/VC10/src/curl.sln \
- projects/Windows/VC10/src/curl.vcxproj.filters \
- projects/Windows/VC11/curl-all.sln \
- projects/Windows/VC11/lib/libcurl.sln \
- projects/Windows/VC11/lib/libcurl.vcxproj.filters \
- projects/Windows/VC11/src/curl.sln \
- projects/Windows/VC11/src/curl.vcxproj.filters \
- projects/Windows/VC12/curl-all.sln \
- projects/Windows/VC12/lib/libcurl.sln \
- projects/Windows/VC12/lib/libcurl.vcxproj.filters \
- projects/Windows/VC12/src/curl.sln \
- projects/Windows/VC12/src/curl.vcxproj.filters \
- projects/Windows/VC14/curl-all.sln \
- projects/Windows/VC14/lib/libcurl.sln \
- projects/Windows/VC14/lib/libcurl.vcxproj.filters \
- projects/Windows/VC14/src/curl.sln \
- projects/Windows/VC14/src/curl.vcxproj.filters \
- projects/Windows/VC14.10/curl-all.sln \
- projects/Windows/VC14.10/lib/libcurl.sln \
- projects/Windows/VC14.10/lib/libcurl.vcxproj.filters \
- projects/Windows/VC14.10/src/curl.sln \
- projects/Windows/VC14.10/src/curl.vcxproj.filters \
- projects/Windows/VC14.30/curl-all.sln \
- projects/Windows/VC14.30/lib/libcurl.sln \
- projects/Windows/VC14.30/lib/libcurl.vcxproj.filters \
- projects/Windows/VC14.30/src/curl.sln \
- projects/Windows/VC14.30/src/curl.vcxproj.filters \
projects/generate.bat \
projects/wolfssl_options.h \
projects/wolfssl_override.props
WINBUILD_DIST = winbuild/README.md winbuild/gen_resp_file.bat \
- winbuild/MakefileBuild.vc winbuild/Makefile.vc
+ winbuild/MakefileBuild.vc winbuild/Makefile.vc winbuild/makedebug.bat
PLAN9_DIST = plan9/include/mkfile \
plan9/include/mkfile \
@@ -146,20 +82,19 @@ PLAN9_DIST = plan9/include/mkfile \
plan9/src/mkfile.inc \
plan9/src/mkfile
-EXTRA_DIST = CHANGES COPYING maketgz Makefile.dist curl-config.in \
- RELEASE-NOTES buildconf libcurl.pc.in MacOSX-Framework $(CMAKE_DIST) \
- $(VC_DIST) $(WINBUILD_DIST) $(PLAN9_DIST) lib/libcurl.vers.in buildconf.bat \
- libcurl.def
+EXTRA_DIST = CHANGES.md COPYING Makefile.dist curl-config.in \
+ RELEASE-NOTES libcurl.pc.in $(CMAKE_DIST) $(VC_DIST) $(WINBUILD_DIST) \
+ $(PLAN9_DIST) lib/libcurl.vers.in buildconf.bat Dockerfile
-CLEANFILES = $(VC10_LIBVCXPROJ) $(VC10_SRCVCXPROJ) $(VC11_LIBVCXPROJ) \
- $(VC11_SRCVCXPROJ) $(VC12_LIBVCXPROJ) $(VC12_SRCVCXPROJ) $(VC14_LIBVCXPROJ) \
- $(VC14_SRCVCXPROJ) $(VC14_10_LIBVCXPROJ) $(VC14_10_SRCVCXPROJ) \
+CLEANFILES = $(VC14_LIBVCXPROJ) $(VC14_SRCVCXPROJ) \
+ $(VC14_10_LIBVCXPROJ) $(VC14_10_SRCVCXPROJ) \
+ $(VC14_20_LIBVCXPROJ) $(VC14_20_SRCVCXPROJ) \
$(VC14_30_LIBVCXPROJ) $(VC14_30_SRCVCXPROJ)
bin_SCRIPTS = curl-config
-SUBDIRS = lib src
-DIST_SUBDIRS = $(SUBDIRS) tests packages scripts include docs
+SUBDIRS = lib docs src scripts
+DIST_SUBDIRS = $(SUBDIRS) tests packages include docs
pkgconfigdir = $(libdir)/pkgconfig
pkgconfig_DATA = libcurl.pc
@@ -170,19 +105,13 @@ include src/Makefile.inc
dist-hook:
rm -rf $(top_builddir)/tests/log
- find $(distdir) -name "*.dist" -exec rm {} \;
- (distit=`find $(srcdir) -name "*.dist" | grep -v ./ares/`; \
+ find $(distdir) -name "*.dist" -a \! -name Makefile.dist -exec rm {} \;
+ (distit=`find $(srcdir) -name "*.dist" | grep -v Makefile`; \
for file in $$distit; do \
strip=`echo $$file | sed -e s/^$(srcdir)// -e s/\.dist//`; \
cp -p $$file $(distdir)$$strip; \
done)
-html:
- cd docs && $(MAKE) html
-
-pdf:
- cd docs && $(MAKE) pdf
-
check: test examples check-docs
if CROSSCOMPILING
@@ -265,16 +194,22 @@ pkgadd:
cd $(srcdir)/packages/Solaris && $(MAKE) package
#
-# Build a cygwin binary tarball installation file
+# Build a Cygwin binary tarball installation file
# resulting .tar.bz2 file will end up at packages/Win32/cygwin
cygwinbin:
$(MAKE) -C packages/Win32/cygwin cygwinbin
# We extend the standard install with a custom hook:
+if BUILD_DOCS
install-data-hook:
(cd include && $(MAKE) install)
(cd docs && $(MAKE) install)
(cd docs/libcurl && $(MAKE) install)
+else
+install-data-hook:
+ (cd include && $(MAKE) install)
+ (cd docs && $(MAKE) install)
+endif
# We extend the standard uninstall with a custom hook:
uninstall-hook:
@@ -298,317 +233,6 @@ checksrc:
(cd docs/examples && $(MAKE) checksrc)
(cd packages && $(MAKE) checksrc)
-.PHONY: vc-ide
-
-vc-ide: $(VC10_LIBVCXPROJ_DEPS) $(VC10_SRCVCXPROJ_DEPS) \
- $(VC11_LIBVCXPROJ_DEPS) $(VC11_SRCVCXPROJ_DEPS) $(VC12_LIBVCXPROJ_DEPS) \
- $(VC12_SRCVCXPROJ_DEPS) $(VC14_LIBVCXPROJ_DEPS) $(VC14_SRCVCXPROJ_DEPS) \
- $(VC14_10_LIBVCXPROJ_DEPS) $(VC14_10_SRCVCXPROJ_DEPS) \
- $(VC14_30_LIBVCXPROJ_DEPS) $(VC14_30_SRCVCXPROJ_DEPS)
- @(win32_lib_srcs='$(LIB_CFILES)'; \
- win32_lib_hdrs='$(LIB_HFILES) config-win32.h'; \
- win32_lib_rc='$(LIB_RCFILES)'; \
- win32_lib_vauth_srcs='$(LIB_VAUTH_CFILES)'; \
- win32_lib_vauth_hdrs='$(LIB_VAUTH_HFILES)'; \
- win32_lib_vquic_srcs='$(LIB_VQUIC_CFILES)'; \
- win32_lib_vquic_hdrs='$(LIB_VQUIC_HFILES)'; \
- win32_lib_vssh_srcs='$(LIB_VSSH_CFILES)'; \
- win32_lib_vssh_hdrs='$(LIB_VSSH_HFILES)'; \
- win32_lib_vtls_srcs='$(LIB_VTLS_CFILES)'; \
- win32_lib_vtls_hdrs='$(LIB_VTLS_HFILES)'; \
- win32_src_srcs='$(CURL_CFILES)'; \
- win32_src_hdrs='$(CURL_HFILES)'; \
- win32_src_rc='$(CURL_RCFILES)'; \
- win32_src_x_srcs='$(CURLX_CFILES)'; \
- win32_src_x_hdrs='$(CURLX_HFILES) ../lib/config-win32.h'; \
- \
- sorted_lib_srcs=`for file in $$win32_lib_srcs; do echo $$file; done | sort`; \
- sorted_lib_hdrs=`for file in $$win32_lib_hdrs; do echo $$file; done | sort`; \
- sorted_lib_vauth_srcs=`for file in $$win32_lib_vauth_srcs; do echo $$file; done | sort`; \
- sorted_lib_vauth_hdrs=`for file in $$win32_lib_vauth_hdrs; do echo $$file; done | sort`; \
- sorted_lib_vquic_srcs=`for file in $$win32_lib_vquic_srcs; do echo $$file; done | sort`; \
- sorted_lib_vquic_hdrs=`for file in $$win32_lib_vquic_hdrs; do echo $$file; done | sort`; \
- sorted_lib_vssh_srcs=`for file in $$win32_lib_vssh_srcs; do echo $$file; done | sort`; \
- sorted_lib_vssh_hdrs=`for file in $$win32_lib_vssh_hdrs; do echo $$file; done | sort`; \
- sorted_lib_vtls_srcs=`for file in $$win32_lib_vtls_srcs; do echo $$file; done | sort`; \
- sorted_lib_vtls_hdrs=`for file in $$win32_lib_vtls_hdrs; do echo $$file; done | sort`; \
- sorted_src_srcs=`for file in $$win32_src_srcs; do echo $$file; done | sort`; \
- sorted_src_hdrs=`for file in $$win32_src_hdrs; do echo $$file; done | sort`; \
- sorted_src_x_srcs=`for file in $$win32_src_x_srcs; do echo $$file; done | sort`; \
- sorted_src_x_hdrs=`for file in $$win32_src_x_hdrs; do echo $$file; done | sort`; \
- \
- awk_code='\
-function gen_element(type, dir, file)\
-{\
- sub(/vauth\//, "", file);\
- sub(/vquic\//, "", file);\
- sub(/vssh\//, "", file);\
- sub(/vtls\//, "", file);\
-\
- spaces=" ";\
- if(dir == "lib\\vauth" ||\
- dir == "lib\\vquic" ||\
- dir == "lib\\vssh" ||\
- dir == "lib\\vtls")\
- tabs=" ";\
- else\
- tabs=" ";\
-\
- if(type == "dsp") {\
- printf("# Begin Source File\r\n");\
- printf("\r\n");\
- printf("SOURCE=..\\..\\..\\..\\%s\\%s\r\n", dir, file);\
- printf("# End Source File\r\n");\
- }\
- else if(type == "vcproj1") {\
- printf("%s\r\n",\
- tabs, dir, file);\
- printf("%s\r\n", tabs);\
- }\
- else if(type == "vcproj2") {\
- printf("%s\r\n", tabs);\
- printf("%s\r\n", tabs);\
- }\
- else if(type == "vcxproj") {\
- i = index(file, ".");\
- ext = substr(file, i == 0 ? 0 : i + 1);\
-\
- if(ext == "c")\
- printf("%s\r\n",\
- spaces, dir, file);\
- else if(ext == "h")\
- printf("%s\r\n",\
- spaces, dir, file);\
- else if(ext == "rc")\
- printf("%s\r\n",\
- spaces, dir, file);\
- }\
-}\
-\
-{\
-\
- if($$0 == "CURL_LIB_C_FILES") {\
- split(lib_srcs, arr);\
- for(val in arr) gen_element(proj_type, "lib", arr[val]);\
- }\
- else if($$0 == "CURL_LIB_H_FILES") {\
- split(lib_hdrs, arr);\
- for(val in arr) gen_element(proj_type, "lib", arr[val]);\
- }\
- else if($$0 == "CURL_LIB_RC_FILES") {\
- split(lib_rc, arr);\
- for(val in arr) gen_element(proj_type, "lib", arr[val]);\
- }\
- else if($$0 == "CURL_LIB_VAUTH_C_FILES") {\
- split(lib_vauth_srcs, arr);\
- for(val in arr) gen_element(proj_type, "lib\\vauth", arr[val]);\
- }\
- else if($$0 == "CURL_LIB_VAUTH_H_FILES") {\
- split(lib_vauth_hdrs, arr);\
- for(val in arr) gen_element(proj_type, "lib\\vauth", arr[val]);\
- }\
- else if($$0 == "CURL_LIB_VQUIC_C_FILES") {\
- split(lib_vquic_srcs, arr);\
- for(val in arr) gen_element(proj_type, "lib\\vquic", arr[val]);\
- }\
- else if($$0 == "CURL_LIB_VQUIC_H_FILES") {\
- split(lib_vquic_hdrs, arr);\
- for(val in arr) gen_element(proj_type, "lib\\vquic", arr[val]);\
- }\
- else if($$0 == "CURL_LIB_VSSH_C_FILES") {\
- split(lib_vssh_srcs, arr);\
- for(val in arr) gen_element(proj_type, "lib\\vssh", arr[val]);\
- }\
- else if($$0 == "CURL_LIB_VSSH_H_FILES") {\
- split(lib_vssh_hdrs, arr);\
- for(val in arr) gen_element(proj_type, "lib\\vssh", arr[val]);\
- }\
- else if($$0 == "CURL_LIB_VTLS_C_FILES") {\
- split(lib_vtls_srcs, arr);\
- for(val in arr) gen_element(proj_type, "lib\\vtls", arr[val]);\
- }\
- else if($$0 == "CURL_LIB_VTLS_H_FILES") {\
- split(lib_vtls_hdrs, arr);\
- for(val in arr) gen_element(proj_type, "lib\\vtls", arr[val]);\
- }\
- else if($$0 == "CURL_SRC_C_FILES") {\
- split(src_srcs, arr);\
- for(val in arr) gen_element(proj_type, "src", arr[val]);\
- }\
- else if($$0 == "CURL_SRC_H_FILES") {\
- split(src_hdrs, arr);\
- for(val in arr) gen_element(proj_type, "src", arr[val]);\
- }\
- else if($$0 == "CURL_SRC_RC_FILES") {\
- split(src_rc, arr);\
- for(val in arr) gen_element(proj_type, "src", arr[val]);\
- }\
- else if($$0 == "CURL_SRC_X_C_FILES") {\
- split(src_x_srcs, arr);\
- for(val in arr) {\
- sub(/..\/lib\//, "", arr[val]);\
- gen_element(proj_type, "lib", arr[val]);\
- }\
- }\
- else if($$0 == "CURL_SRC_X_H_FILES") {\
- split(src_x_hdrs, arr);\
- for(val in arr) {\
- sub(/..\/lib\//, "", arr[val]);\
- gen_element(proj_type, "lib", arr[val]);\
- }\
- }\
- else\
- printf("%s\r\n", $$0);\
-}';\
- \
- echo "generating '$(VC10_LIBVCXPROJ)'"; \
- awk -v proj_type=vcxproj \
- -v lib_srcs="$$sorted_lib_srcs" \
- -v lib_hdrs="$$sorted_lib_hdrs" \
- -v lib_rc="$$win32_lib_rc" \
- -v lib_vauth_srcs="$$sorted_lib_vauth_srcs" \
- -v lib_vauth_hdrs="$$sorted_lib_vauth_hdrs" \
- -v lib_vquic_srcs="$$sorted_lib_vquic_srcs" \
- -v lib_vquic_hdrs="$$sorted_lib_vquic_hdrs" \
- -v lib_vssh_srcs="$$sorted_lib_vssh_srcs" \
- -v lib_vssh_hdrs="$$sorted_lib_vssh_hdrs" \
- -v lib_vtls_srcs="$$sorted_lib_vtls_srcs" \
- -v lib_vtls_hdrs="$$sorted_lib_vtls_hdrs" \
- "$$awk_code" $(srcdir)/$(VC10_LIBTMPL) > $(VC10_LIBVCXPROJ) || { exit 1; }; \
- \
- echo "generating '$(VC10_SRCVCXPROJ)'"; \
- awk -v proj_type=vcxproj \
- -v src_srcs="$$sorted_src_srcs" \
- -v src_hdrs="$$sorted_src_hdrs" \
- -v src_rc="$$win32_src_rc" \
- -v src_x_srcs="$$sorted_src_x_srcs" \
- -v src_x_hdrs="$$sorted_src_x_hdrs" \
- "$$awk_code" $(srcdir)/$(VC10_SRCTMPL) > $(VC10_SRCVCXPROJ) || { exit 1; }; \
- \
- echo "generating '$(VC11_LIBVCXPROJ)'"; \
- awk -v proj_type=vcxproj \
- -v lib_srcs="$$sorted_lib_srcs" \
- -v lib_hdrs="$$sorted_lib_hdrs" \
- -v lib_rc="$$win32_lib_rc" \
- -v lib_vauth_srcs="$$sorted_lib_vauth_srcs" \
- -v lib_vauth_hdrs="$$sorted_lib_vauth_hdrs" \
- -v lib_vquic_srcs="$$sorted_lib_vquic_srcs" \
- -v lib_vquic_hdrs="$$sorted_lib_vquic_hdrs" \
- -v lib_vssh_srcs="$$sorted_lib_vssh_srcs" \
- -v lib_vssh_hdrs="$$sorted_lib_vssh_hdrs" \
- -v lib_vtls_srcs="$$sorted_lib_vtls_srcs" \
- -v lib_vtls_hdrs="$$sorted_lib_vtls_hdrs" \
- "$$awk_code" $(srcdir)/$(VC11_LIBTMPL) > $(VC11_LIBVCXPROJ) || { exit 1; }; \
- \
- echo "generating '$(VC11_SRCVCXPROJ)'"; \
- awk -v proj_type=vcxproj \
- -v src_srcs="$$sorted_src_srcs" \
- -v src_hdrs="$$sorted_src_hdrs" \
- -v src_rc="$$win32_src_rc" \
- -v src_x_srcs="$$sorted_src_x_srcs" \
- -v src_x_hdrs="$$sorted_src_x_hdrs" \
- "$$awk_code" $(srcdir)/$(VC11_SRCTMPL) > $(VC11_SRCVCXPROJ) || { exit 1; }; \
- \
- echo "generating '$(VC12_LIBVCXPROJ)'"; \
- awk -v proj_type=vcxproj \
- -v lib_srcs="$$sorted_lib_srcs" \
- -v lib_hdrs="$$sorted_lib_hdrs" \
- -v lib_rc="$$win32_lib_rc" \
- -v lib_vauth_srcs="$$sorted_lib_vauth_srcs" \
- -v lib_vauth_hdrs="$$sorted_lib_vauth_hdrs" \
- -v lib_vquic_srcs="$$sorted_lib_vquic_srcs" \
- -v lib_vquic_hdrs="$$sorted_lib_vquic_hdrs" \
- -v lib_vssh_srcs="$$sorted_lib_vssh_srcs" \
- -v lib_vssh_hdrs="$$sorted_lib_vssh_hdrs" \
- -v lib_vtls_srcs="$$sorted_lib_vtls_srcs" \
- -v lib_vtls_hdrs="$$sorted_lib_vtls_hdrs" \
- "$$awk_code" $(srcdir)/$(VC12_LIBTMPL) > $(VC12_LIBVCXPROJ) || { exit 1; }; \
- \
- echo "generating '$(VC12_SRCVCXPROJ)'"; \
- awk -v proj_type=vcxproj \
- -v src_srcs="$$sorted_src_srcs" \
- -v src_hdrs="$$sorted_src_hdrs" \
- -v src_rc="$$win32_src_rc" \
- -v src_x_srcs="$$sorted_src_x_srcs" \
- -v src_x_hdrs="$$sorted_src_x_hdrs" \
- "$$awk_code" $(srcdir)/$(VC12_SRCTMPL) > $(VC12_SRCVCXPROJ) || { exit 1; }; \
- \
- echo "generating '$(VC14_LIBVCXPROJ)'"; \
- awk -v proj_type=vcxproj \
- -v lib_srcs="$$sorted_lib_srcs" \
- -v lib_hdrs="$$sorted_lib_hdrs" \
- -v lib_rc="$$win32_lib_rc" \
- -v lib_vauth_srcs="$$sorted_lib_vauth_srcs" \
- -v lib_vauth_hdrs="$$sorted_lib_vauth_hdrs" \
- -v lib_vquic_srcs="$$sorted_lib_vquic_srcs" \
- -v lib_vquic_hdrs="$$sorted_lib_vquic_hdrs" \
- -v lib_vssh_srcs="$$sorted_lib_vssh_srcs" \
- -v lib_vssh_hdrs="$$sorted_lib_vssh_hdrs" \
- -v lib_vtls_srcs="$$sorted_lib_vtls_srcs" \
- -v lib_vtls_hdrs="$$sorted_lib_vtls_hdrs" \
- "$$awk_code" $(srcdir)/$(VC14_LIBTMPL) > $(VC14_LIBVCXPROJ) || { exit 1; }; \
- \
- echo "generating '$(VC14_SRCVCXPROJ)'"; \
- awk -v proj_type=vcxproj \
- -v src_srcs="$$sorted_src_srcs" \
- -v src_hdrs="$$sorted_src_hdrs" \
- -v src_rc="$$win32_src_rc" \
- -v src_x_srcs="$$sorted_src_x_srcs" \
- -v src_x_hdrs="$$sorted_src_x_hdrs" \
- "$$awk_code" $(srcdir)/$(VC14_SRCTMPL) > $(VC14_SRCVCXPROJ) || { exit 1; }; \
- \
- echo "generating '$(VC14_10_LIBVCXPROJ)'"; \
- awk -v proj_type=vcxproj \
- -v lib_srcs="$$sorted_lib_srcs" \
- -v lib_hdrs="$$sorted_lib_hdrs" \
- -v lib_rc="$$win32_lib_rc" \
- -v lib_vauth_srcs="$$sorted_lib_vauth_srcs" \
- -v lib_vauth_hdrs="$$sorted_lib_vauth_hdrs" \
- -v lib_vquic_srcs="$$sorted_lib_vquic_srcs" \
- -v lib_vquic_hdrs="$$sorted_lib_vquic_hdrs" \
- -v lib_vssh_srcs="$$sorted_lib_vssh_srcs" \
- -v lib_vssh_hdrs="$$sorted_lib_vssh_hdrs" \
- -v lib_vtls_srcs="$$sorted_lib_vtls_srcs" \
- -v lib_vtls_hdrs="$$sorted_lib_vtls_hdrs" \
- "$$awk_code" $(srcdir)/$(VC14_10_LIBTMPL) > $(VC14_10_LIBVCXPROJ) || { exit 1; }; \
- \
- echo "generating '$(VC14_10_SRCVCXPROJ)'"; \
- awk -v proj_type=vcxproj \
- -v src_srcs="$$sorted_src_srcs" \
- -v src_hdrs="$$sorted_src_hdrs" \
- -v src_rc="$$win32_src_rc" \
- -v src_x_srcs="$$sorted_src_x_srcs" \
- -v src_x_hdrs="$$sorted_src_x_hdrs" \
- "$$awk_code" $(srcdir)/$(VC14_10_SRCTMPL) > $(VC14_10_SRCVCXPROJ) || { exit 1; }; \
- \
- echo "generating '$(VC14_30_LIBVCXPROJ)'"; \
- awk -v proj_type=vcxproj \
- -v lib_srcs="$$sorted_lib_srcs" \
- -v lib_hdrs="$$sorted_lib_hdrs" \
- -v lib_rc="$$win32_lib_rc" \
- -v lib_vauth_srcs="$$sorted_lib_vauth_srcs" \
- -v lib_vauth_hdrs="$$sorted_lib_vauth_hdrs" \
- -v lib_vquic_srcs="$$sorted_lib_vquic_srcs" \
- -v lib_vquic_hdrs="$$sorted_lib_vquic_hdrs" \
- -v lib_vssh_srcs="$$sorted_lib_vssh_srcs" \
- -v lib_vssh_hdrs="$$sorted_lib_vssh_hdrs" \
- -v lib_vtls_srcs="$$sorted_lib_vtls_srcs" \
- -v lib_vtls_hdrs="$$sorted_lib_vtls_hdrs" \
- "$$awk_code" $(srcdir)/$(VC14_30_LIBTMPL) > $(VC14_30_LIBVCXPROJ) || { exit 1; }; \
- \
- echo "generating '$(VC14_30_SRCVCXPROJ)'"; \
- awk -v proj_type=vcxproj \
- -v src_srcs="$$sorted_src_srcs" \
- -v src_hdrs="$$sorted_src_hdrs" \
- -v src_rc="$$win32_src_rc" \
- -v src_x_srcs="$$sorted_src_x_srcs" \
- -v src_x_hdrs="$$sorted_src_x_hdrs" \
- "$$awk_code" $(srcdir)/$(VC14_30_SRCTMPL) > $(VC14_30_SRCVCXPROJ) || { exit 1; };)
-
tidy:
(cd src && $(MAKE) tidy)
(cd lib && $(MAKE) tidy)
diff --git a/curl/Makefile.dist b/curl/Makefile.dist
new file mode 100644
index 00000000..e9132040
--- /dev/null
+++ b/curl/Makefile.dist
@@ -0,0 +1,71 @@
+#***************************************************************************
+# _ _ ____ _
+# Project ___| | | | _ \| |
+# / __| | | | |_) | |
+# | (__| |_| | _ <| |___
+# \___|\___/|_| \_\_____|
+#
+# Copyright (C) Daniel Stenberg, , et al.
+#
+# 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.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
+# furnished to do so, under the terms of the COPYING file.
+#
+# This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
+# KIND, either express or implied.
+#
+# SPDX-License-Identifier: curl
+#
+###########################################################################
+
+all:
+ ./configure
+ make
+
+ssl:
+ ./configure --with-openssl
+ make
+
+vc:
+ cd winbuild
+ nmake /f Makefile.vc MACHINE=x86
+
+vc-x64:
+ cd winbuild
+ nmake /f Makefile.vc MACHINE=x64
+
+djgpp%:
+ $(MAKE) -C lib -f Makefile.mk CFG=$@ CROSSPREFIX=i586-pc-msdosdjgpp-
+ $(MAKE) -C src -f Makefile.mk CFG=$@ CROSSPREFIX=i586-pc-msdosdjgpp-
+
+cygwin:
+ ./configure
+ make
+
+cygwin-ssl:
+ ./configure --with-openssl
+ make
+
+amiga%:
+ $(MAKE) -C lib -f Makefile.mk CFG=$@ CROSSPREFIX=m68k-amigaos-
+ $(MAKE) -C src -f Makefile.mk CFG=$@ CROSSPREFIX=m68k-amigaos-
+
+unix: all
+
+unix-ssl: ssl
+
+linux: all
+
+linux-ssl: ssl
+
+ca-bundle: scripts/mk-ca-bundle.pl
+ @echo "generate a fresh ca-bundle.crt"
+ @perl $< -b -l -u lib/ca-bundle.crt
+
+ca-firefox: scripts/firefox-db2pem.sh
+ @echo "generate a fresh ca-bundle.crt"
+ ./scripts/firefox-db2pem.sh lib/ca-bundle.crt
diff --git a/curl/Makefile.in b/curl/Makefile.in
deleted file mode 100644
index 4d84af5f..00000000
--- a/curl/Makefile.in
+++ /dev/null
@@ -1,2147 +0,0 @@
-# Makefile.in generated by automake 1.16.5 from Makefile.am.
-# @configure_input@
-
-# Copyright (C) 1994-2021 Free Software Foundation, Inc.
-
-# This Makefile.in is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
-# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
-# PARTICULAR PURPOSE.
-
-@SET_MAKE@
-
-#***************************************************************************
-# _ _ ____ _
-# Project ___| | | | _ \| |
-# / __| | | | |_) | |
-# | (__| |_| | _ <| |___
-# \___|\___/|_| \_\_____|
-#
-# Copyright (C) Daniel Stenberg, , et al.
-#
-# 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.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
-# furnished to do so, under the terms of the COPYING file.
-#
-# This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
-# KIND, either express or implied.
-#
-# SPDX-License-Identifier: curl
-#
-###########################################################################
-
-#***************************************************************************
-# _ _ ____ _
-# Project ___| | | | _ \| |
-# / __| | | | |_) | |
-# | (__| |_| | _ <| |___
-# \___|\___/|_| \_\_____|
-#
-# Copyright (C) Daniel Stenberg, , et al.
-#
-# 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.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
-# furnished to do so, under the terms of the COPYING file.
-#
-# This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
-# KIND, either express or implied.
-#
-# SPDX-License-Identifier: curl
-#
-###########################################################################
-
-#***************************************************************************
-# _ _ ____ _
-# Project ___| | | | _ \| |
-# / __| | | | |_) | |
-# | (__| |_| | _ <| |___
-# \___|\___/|_| \_\_____|
-#
-# Copyright (C) Daniel Stenberg, , et al.
-#
-# 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.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
-# furnished to do so, under the terms of the COPYING file.
-#
-# This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
-# KIND, either express or implied.
-#
-# SPDX-License-Identifier: curl
-#
-###########################################################################
-# ./src/Makefile.inc
-# Using the backslash as line continuation character might be problematic with
-# some make flavours. If we ever want to change this in a portable manner then
-# we should consider this idea :
-# CSRC1 = file1.c file2.c file3.c
-# CSRC2 = file4.c file5.c file6.c
-# CSOURCES = $(CSRC1) $(CSRC2)
-
-
-VPATH = @srcdir@
-am__is_gnu_make = { \
- if test -z '$(MAKELEVEL)'; then \
- false; \
- elif test -n '$(MAKE_HOST)'; then \
- true; \
- elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
- true; \
- else \
- false; \
- fi; \
-}
-am__make_running_with_option = \
- case $${target_option-} in \
- ?) ;; \
- *) echo "am__make_running_with_option: internal error: invalid" \
- "target option '$${target_option-}' specified" >&2; \
- exit 1;; \
- esac; \
- has_opt=no; \
- sane_makeflags=$$MAKEFLAGS; \
- if $(am__is_gnu_make); then \
- sane_makeflags=$$MFLAGS; \
- else \
- case $$MAKEFLAGS in \
- *\\[\ \ ]*) \
- bs=\\; \
- sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \
- | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \
- esac; \
- fi; \
- skip_next=no; \
- strip_trailopt () \
- { \
- flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \
- }; \
- for flg in $$sane_makeflags; do \
- test $$skip_next = yes && { skip_next=no; continue; }; \
- case $$flg in \
- *=*|--*) continue;; \
- -*I) strip_trailopt 'I'; skip_next=yes;; \
- -*I?*) strip_trailopt 'I';; \
- -*O) strip_trailopt 'O'; skip_next=yes;; \
- -*O?*) strip_trailopt 'O';; \
- -*l) strip_trailopt 'l'; skip_next=yes;; \
- -*l?*) strip_trailopt 'l';; \
- -[dEDm]) skip_next=yes;; \
- -[JT]) skip_next=yes;; \
- esac; \
- case $$flg in \
- *$$target_option*) has_opt=yes; break;; \
- esac; \
- done; \
- test $$has_opt = yes
-am__make_dryrun = (target_option=n; $(am__make_running_with_option))
-am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
-pkgdatadir = $(datadir)/@PACKAGE@
-pkgincludedir = $(includedir)/@PACKAGE@
-pkglibdir = $(libdir)/@PACKAGE@
-pkglibexecdir = $(libexecdir)/@PACKAGE@
-am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
-install_sh_DATA = $(install_sh) -c -m 644
-install_sh_PROGRAM = $(install_sh) -c
-install_sh_SCRIPT = $(install_sh) -c
-INSTALL_HEADER = $(INSTALL_DATA)
-transform = $(program_transform_name)
-NORMAL_INSTALL = :
-PRE_INSTALL = :
-POST_INSTALL = :
-NORMAL_UNINSTALL = :
-PRE_UNINSTALL = :
-POST_UNINSTALL = :
-build_triplet = @build@
-host_triplet = @host@
-subdir = .
-ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/m4/curl-amissl.m4 \
- $(top_srcdir)/m4/curl-bearssl.m4 \
- $(top_srcdir)/m4/curl-compilers.m4 \
- $(top_srcdir)/m4/curl-confopts.m4 \
- $(top_srcdir)/m4/curl-functions.m4 \
- $(top_srcdir)/m4/curl-gnutls.m4 \
- $(top_srcdir)/m4/curl-mbedtls.m4 \
- $(top_srcdir)/m4/curl-openssl.m4 \
- $(top_srcdir)/m4/curl-override.m4 \
- $(top_srcdir)/m4/curl-reentrant.m4 \
- $(top_srcdir)/m4/curl-rustls.m4 \
- $(top_srcdir)/m4/curl-schannel.m4 \
- $(top_srcdir)/m4/curl-sectransp.m4 \
- $(top_srcdir)/m4/curl-sysconfig.m4 \
- $(top_srcdir)/m4/curl-wolfssl.m4 $(top_srcdir)/m4/libtool.m4 \
- $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
- $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
- $(top_srcdir)/m4/xc-am-iface.m4 \
- $(top_srcdir)/m4/xc-cc-check.m4 \
- $(top_srcdir)/m4/xc-lt-iface.m4 \
- $(top_srcdir)/m4/xc-translit.m4 \
- $(top_srcdir)/m4/xc-val-flgs.m4 \
- $(top_srcdir)/m4/zz40-xc-ovr.m4 \
- $(top_srcdir)/m4/zz50-xc-ovr.m4 \
- $(top_srcdir)/m4/zz60-xc-ovr.m4 $(top_srcdir)/acinclude.m4 \
- $(top_srcdir)/configure.ac
-am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
- $(ACLOCAL_M4)
-DIST_COMMON = $(srcdir)/Makefile.am $(top_srcdir)/configure \
- $(am__configure_deps) $(am__DIST_COMMON)
-am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \
- configure.lineno config.status.lineno
-mkinstalldirs = $(install_sh) -d
-CONFIG_HEADER = $(top_builddir)/lib/curl_config.h
-CONFIG_CLEAN_FILES = curl-config libcurl.pc
-CONFIG_CLEAN_VPATH_FILES =
-am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
-am__vpath_adj = case $$p in \
- $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
- *) f=$$p;; \
- esac;
-am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`;
-am__install_max = 40
-am__nobase_strip_setup = \
- srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'`
-am__nobase_strip = \
- for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||"
-am__nobase_list = $(am__nobase_strip_setup); \
- for p in $$list; do echo "$$p $$p"; done | \
- sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \
- $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \
- if (++n[$$2] == $(am__install_max)) \
- { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \
- END { for (dir in files) print dir, files[dir] }'
-am__base_list = \
- sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
- sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
-am__uninstall_files_from_dir = { \
- test -z "$$files" \
- || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \
- || { echo " ( cd '$$dir' && rm -f" $$files ")"; \
- $(am__cd) "$$dir" && rm -f $$files; }; \
- }
-am__installdirs = "$(DESTDIR)$(bindir)" "$(DESTDIR)$(pkgconfigdir)"
-SCRIPTS = $(bin_SCRIPTS)
-AM_V_P = $(am__v_P_@AM_V@)
-am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
-am__v_P_0 = false
-am__v_P_1 = :
-AM_V_GEN = $(am__v_GEN_@AM_V@)
-am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
-am__v_GEN_0 = @echo " GEN " $@;
-am__v_GEN_1 =
-AM_V_at = $(am__v_at_@AM_V@)
-am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
-am__v_at_0 = @
-am__v_at_1 =
-SOURCES =
-DIST_SOURCES =
-RECURSIVE_TARGETS = all-recursive check-recursive cscopelist-recursive \
- ctags-recursive dvi-recursive html-recursive info-recursive \
- install-data-recursive install-dvi-recursive \
- install-exec-recursive install-html-recursive \
- install-info-recursive install-pdf-recursive \
- install-ps-recursive install-recursive installcheck-recursive \
- installdirs-recursive pdf-recursive ps-recursive \
- tags-recursive uninstall-recursive
-am__can_run_installinfo = \
- case $$AM_UPDATE_INFO_DIR in \
- n|no|NO) false;; \
- *) (install-info --version) >/dev/null 2>&1;; \
- esac
-DATA = $(pkgconfig_DATA)
-RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \
- distclean-recursive maintainer-clean-recursive
-am__recursive_targets = \
- $(RECURSIVE_TARGETS) \
- $(RECURSIVE_CLEAN_TARGETS) \
- $(am__extra_recursive_targets)
-AM_RECURSIVE_TARGETS = $(am__recursive_targets:-recursive=) TAGS CTAGS \
- cscope distdir distdir-am dist dist-all distcheck
-am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
-# Read a list of newline-separated strings from the standard input,
-# and print each of them once, without duplicates. Input order is
-# *not* preserved.
-am__uniquify_input = $(AWK) '\
- BEGIN { nonempty = 0; } \
- { items[$$0] = 1; nonempty = 1; } \
- END { if (nonempty) { for (i in items) print i; }; } \
-'
-# Make sure the list of sources is unique. This is necessary because,
-# e.g., the same source file might be shared among _SOURCES variables
-# for different programs/libraries.
-am__define_uniq_tagged_files = \
- list='$(am__tagged_files)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | $(am__uniquify_input)`
-am__DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/curl-config.in \
- $(srcdir)/lib/Makefile.inc $(srcdir)/libcurl.pc.in \
- $(srcdir)/src/Makefile.inc COPYING README compile config.guess \
- config.sub depcomp install-sh ltmain.sh missing
-DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
-distdir = $(PACKAGE)-$(VERSION)
-top_distdir = $(distdir)
-am__remove_distdir = \
- if test -d "$(distdir)"; then \
- find "$(distdir)" -type d ! -perm -200 -exec chmod u+w {} ';' \
- && rm -rf "$(distdir)" \
- || { sleep 5 && rm -rf "$(distdir)"; }; \
- else :; fi
-am__post_remove_distdir = $(am__remove_distdir)
-am__relativize = \
- dir0=`pwd`; \
- sed_first='s,^\([^/]*\)/.*$$,\1,'; \
- sed_rest='s,^[^/]*/*,,'; \
- sed_last='s,^.*/\([^/]*\)$$,\1,'; \
- sed_butlast='s,/*[^/]*$$,,'; \
- while test -n "$$dir1"; do \
- first=`echo "$$dir1" | sed -e "$$sed_first"`; \
- if test "$$first" != "."; then \
- if test "$$first" = ".."; then \
- dir2=`echo "$$dir0" | sed -e "$$sed_last"`/"$$dir2"; \
- dir0=`echo "$$dir0" | sed -e "$$sed_butlast"`; \
- else \
- first2=`echo "$$dir2" | sed -e "$$sed_first"`; \
- if test "$$first2" = "$$first"; then \
- dir2=`echo "$$dir2" | sed -e "$$sed_rest"`; \
- else \
- dir2="../$$dir2"; \
- fi; \
- dir0="$$dir0"/"$$first"; \
- fi; \
- fi; \
- dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \
- done; \
- reldir="$$dir2"
-DIST_ARCHIVES = $(distdir).tar.gz
-GZIP_ENV = --best
-DIST_TARGETS = dist-gzip
-# Exists only to be overridden by the user if desired.
-AM_DISTCHECK_DVI_TARGET = dvi
-distuninstallcheck_listfiles = find . -type f -print
-am__distuninstallcheck_listfiles = $(distuninstallcheck_listfiles) \
- | sed 's|^\./|$(prefix)/|' | grep -v '$(infodir)/dir$$'
-distcleancheck_listfiles = find . -type f -print
-ACLOCAL = @ACLOCAL@
-AMTAR = @AMTAR@
-AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
-APACHECTL = @APACHECTL@
-APXS = @APXS@
-AR = @AR@
-AR_FLAGS = @AR_FLAGS@
-AS = @AS@
-AUTOCONF = @AUTOCONF@
-AUTOHEADER = @AUTOHEADER@
-AUTOMAKE = @AUTOMAKE@
-AWK = @AWK@
-BLANK_AT_MAKETIME = @BLANK_AT_MAKETIME@
-CADDY = @CADDY@
-CC = @CC@
-CCDEPMODE = @CCDEPMODE@
-CFLAGS = @CFLAGS@
-CFLAG_CURL_SYMBOL_HIDING = @CFLAG_CURL_SYMBOL_HIDING@
-CONFIGURE_OPTIONS = @CONFIGURE_OPTIONS@
-CPP = @CPP@
-CPPFLAGS = @CPPFLAGS@
-CPPFLAG_CURL_STATICLIB = @CPPFLAG_CURL_STATICLIB@
-CSCOPE = @CSCOPE@
-CTAGS = @CTAGS@
-CURLVERSION = @CURLVERSION@
-CURL_CA_BUNDLE = @CURL_CA_BUNDLE@
-CURL_CFLAG_EXTRAS = @CURL_CFLAG_EXTRAS@
-CURL_DISABLE_DICT = @CURL_DISABLE_DICT@
-CURL_DISABLE_FILE = @CURL_DISABLE_FILE@
-CURL_DISABLE_FTP = @CURL_DISABLE_FTP@
-CURL_DISABLE_GOPHER = @CURL_DISABLE_GOPHER@
-CURL_DISABLE_HTTP = @CURL_DISABLE_HTTP@
-CURL_DISABLE_IMAP = @CURL_DISABLE_IMAP@
-CURL_DISABLE_LDAP = @CURL_DISABLE_LDAP@
-CURL_DISABLE_LDAPS = @CURL_DISABLE_LDAPS@
-CURL_DISABLE_MQTT = @CURL_DISABLE_MQTT@
-CURL_DISABLE_POP3 = @CURL_DISABLE_POP3@
-CURL_DISABLE_PROXY = @CURL_DISABLE_PROXY@
-CURL_DISABLE_RTSP = @CURL_DISABLE_RTSP@
-CURL_DISABLE_SMB = @CURL_DISABLE_SMB@
-CURL_DISABLE_SMTP = @CURL_DISABLE_SMTP@
-CURL_DISABLE_TELNET = @CURL_DISABLE_TELNET@
-CURL_DISABLE_TFTP = @CURL_DISABLE_TFTP@
-CURL_LT_SHLIB_VERSIONED_FLAVOUR = @CURL_LT_SHLIB_VERSIONED_FLAVOUR@
-CURL_NETWORK_AND_TIME_LIBS = @CURL_NETWORK_AND_TIME_LIBS@
-CURL_NETWORK_LIBS = @CURL_NETWORK_LIBS@
-CURL_PLIST_VERSION = @CURL_PLIST_VERSION@
-CURL_WITH_MULTI_SSL = @CURL_WITH_MULTI_SSL@
-CYGPATH_W = @CYGPATH_W@
-DEFAULT_SSL_BACKEND = @DEFAULT_SSL_BACKEND@
-DEFS = @DEFS@
-DEPDIR = @DEPDIR@
-DLLTOOL = @DLLTOOL@
-DSYMUTIL = @DSYMUTIL@
-DUMPBIN = @DUMPBIN@
-ECHO_C = @ECHO_C@
-ECHO_N = @ECHO_N@
-ECHO_T = @ECHO_T@
-EGREP = @EGREP@
-ENABLE_SHARED = @ENABLE_SHARED@
-ENABLE_STATIC = @ENABLE_STATIC@
-ETAGS = @ETAGS@
-EXEEXT = @EXEEXT@
-FGREP = @FGREP@
-FILECMD = @FILECMD@
-FISH_FUNCTIONS_DIR = @FISH_FUNCTIONS_DIR@
-GCOV = @GCOV@
-GREP = @GREP@
-HAVE_BROTLI = @HAVE_BROTLI@
-HAVE_GNUTLS_SRP = @HAVE_GNUTLS_SRP@
-HAVE_LDAP_SSL = @HAVE_LDAP_SSL@
-HAVE_LIBZ = @HAVE_LIBZ@
-HAVE_OPENSSL_SRP = @HAVE_OPENSSL_SRP@
-HAVE_PROTO_BSDSOCKET_H = @HAVE_PROTO_BSDSOCKET_H@
-HAVE_ZSTD = @HAVE_ZSTD@
-HTTPD = @HTTPD@
-HTTPD_NGHTTPX = @HTTPD_NGHTTPX@
-IDN_ENABLED = @IDN_ENABLED@
-INSTALL = @INSTALL@
-INSTALL_DATA = @INSTALL_DATA@
-INSTALL_PROGRAM = @INSTALL_PROGRAM@
-INSTALL_SCRIPT = @INSTALL_SCRIPT@
-INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
-IPV6_ENABLED = @IPV6_ENABLED@
-LCOV = @LCOV@
-LD = @LD@
-LDFLAGS = @LDFLAGS@
-LIBCURL_LIBS = @LIBCURL_LIBS@
-LIBCURL_NO_SHARED = @LIBCURL_NO_SHARED@
-LIBOBJS = @LIBOBJS@
-LIBS = @LIBS@
-LIBTOOL = @LIBTOOL@
-LIPO = @LIPO@
-LN_S = @LN_S@
-LTLIBOBJS = @LTLIBOBJS@
-LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
-MAINT = @MAINT@
-MAKEINFO = @MAKEINFO@
-MANIFEST_TOOL = @MANIFEST_TOOL@
-MANOPT = @MANOPT@
-MKDIR_P = @MKDIR_P@
-NM = @NM@
-NMEDIT = @NMEDIT@
-NROFF = @NROFF@
-OBJDUMP = @OBJDUMP@
-OBJEXT = @OBJEXT@
-OTOOL = @OTOOL@
-OTOOL64 = @OTOOL64@
-PACKAGE = @PACKAGE@
-PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
-PACKAGE_NAME = @PACKAGE_NAME@
-PACKAGE_STRING = @PACKAGE_STRING@
-PACKAGE_TARNAME = @PACKAGE_TARNAME@
-PACKAGE_URL = @PACKAGE_URL@
-PACKAGE_VERSION = @PACKAGE_VERSION@
-PATH_SEPARATOR = @PATH_SEPARATOR@
-PERL = @PERL@
-PKGADD_NAME = @PKGADD_NAME@
-PKGADD_PKG = @PKGADD_PKG@
-PKGADD_VENDOR = @PKGADD_VENDOR@
-PKGCONFIG = @PKGCONFIG@
-RANDOM_FILE = @RANDOM_FILE@
-RANLIB = @RANLIB@
-RC = @RC@
-REQUIRE_LIB_DEPS = @REQUIRE_LIB_DEPS@
-SED = @SED@
-SET_MAKE = @SET_MAKE@
-SHELL = @SHELL@
-SSL_BACKENDS = @SSL_BACKENDS@
-SSL_ENABLED = @SSL_ENABLED@
-SSL_LIBS = @SSL_LIBS@
-STRIP = @STRIP@
-SUPPORT_FEATURES = @SUPPORT_FEATURES@
-SUPPORT_PROTOCOLS = @SUPPORT_PROTOCOLS@
-TEST_NGHTTPX = @TEST_NGHTTPX@
-USE_ARES = @USE_ARES@
-USE_BEARSSL = @USE_BEARSSL@
-USE_GNUTLS = @USE_GNUTLS@
-USE_HYPER = @USE_HYPER@
-USE_LIBRTMP = @USE_LIBRTMP@
-USE_LIBSSH = @USE_LIBSSH@
-USE_LIBSSH2 = @USE_LIBSSH2@
-USE_MBEDTLS = @USE_MBEDTLS@
-USE_MSH3 = @USE_MSH3@
-USE_NGHTTP2 = @USE_NGHTTP2@
-USE_NGHTTP3 = @USE_NGHTTP3@
-USE_NGTCP2 = @USE_NGTCP2@
-USE_NGTCP2_CRYPTO_GNUTLS = @USE_NGTCP2_CRYPTO_GNUTLS@
-USE_NGTCP2_CRYPTO_QUICTLS = @USE_NGTCP2_CRYPTO_QUICTLS@
-USE_NGTCP2_CRYPTO_WOLFSSL = @USE_NGTCP2_CRYPTO_WOLFSSL@
-USE_OPENLDAP = @USE_OPENLDAP@
-USE_QUICHE = @USE_QUICHE@
-USE_RUSTLS = @USE_RUSTLS@
-USE_SCHANNEL = @USE_SCHANNEL@
-USE_SECTRANSP = @USE_SECTRANSP@
-USE_UNIX_SOCKETS = @USE_UNIX_SOCKETS@
-USE_WIN32_CRYPTO = @USE_WIN32_CRYPTO@
-USE_WIN32_LARGE_FILES = @USE_WIN32_LARGE_FILES@
-USE_WIN32_SMALL_FILES = @USE_WIN32_SMALL_FILES@
-USE_WINDOWS_SSPI = @USE_WINDOWS_SSPI@
-USE_WOLFSSH = @USE_WOLFSSH@
-USE_WOLFSSL = @USE_WOLFSSL@
-VERSION = @VERSION@
-VERSIONNUM = @VERSIONNUM@
-ZLIB_LIBS = @ZLIB_LIBS@
-ZSH_FUNCTIONS_DIR = @ZSH_FUNCTIONS_DIR@
-abs_builddir = @abs_builddir@
-abs_srcdir = @abs_srcdir@
-abs_top_builddir = @abs_top_builddir@
-abs_top_srcdir = @abs_top_srcdir@
-ac_ct_AR = @ac_ct_AR@
-ac_ct_CC = @ac_ct_CC@
-ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
-am__include = @am__include@
-am__leading_dot = @am__leading_dot@
-am__quote = @am__quote@
-am__tar = @am__tar@
-am__untar = @am__untar@
-bindir = @bindir@
-build = @build@
-build_alias = @build_alias@
-build_cpu = @build_cpu@
-build_os = @build_os@
-build_vendor = @build_vendor@
-builddir = @builddir@
-datadir = @datadir@
-datarootdir = @datarootdir@
-docdir = @docdir@
-dvidir = @dvidir@
-exec_prefix = @exec_prefix@
-host = @host@
-host_alias = @host_alias@
-host_cpu = @host_cpu@
-host_os = @host_os@
-host_vendor = @host_vendor@
-htmldir = @htmldir@
-includedir = @includedir@
-infodir = @infodir@
-install_sh = @install_sh@
-libdir = @libdir@
-libexecdir = @libexecdir@
-libext = @libext@
-localedir = @localedir@
-localstatedir = @localstatedir@
-mandir = @mandir@
-mkdir_p = @mkdir_p@
-oldincludedir = @oldincludedir@
-pdfdir = @pdfdir@
-prefix = @prefix@
-program_transform_name = @program_transform_name@
-psdir = @psdir@
-runstatedir = @runstatedir@
-sbindir = @sbindir@
-sharedstatedir = @sharedstatedir@
-srcdir = @srcdir@
-sysconfdir = @sysconfdir@
-target_alias = @target_alias@
-top_build_prefix = @top_build_prefix@
-top_builddir = @top_builddir@
-top_srcdir = @top_srcdir@
-AUTOMAKE_OPTIONS = foreign
-ACLOCAL_AMFLAGS = -I m4
-CMAKE_DIST = \
- CMake/cmake_uninstall.cmake.in \
- CMake/CMakeConfigurableFile.in \
- CMake/curl-config.cmake.in \
- CMake/CurlSymbolHiding.cmake \
- CMake/CurlTests.c \
- CMake/FindBearSSL.cmake \
- CMake/FindBrotli.cmake \
- CMake/FindCARES.cmake \
- CMake/FindGSS.cmake \
- CMake/FindLibPSL.cmake \
- CMake/FindLibSSH2.cmake \
- CMake/FindMbedTLS.cmake \
- CMake/FindMSH3.cmake \
- CMake/FindNGHTTP2.cmake \
- CMake/FindNGHTTP3.cmake \
- CMake/FindNGTCP2.cmake \
- CMake/FindQUICHE.cmake \
- CMake/FindWolfSSL.cmake \
- CMake/FindZstd.cmake \
- CMake/Macros.cmake \
- CMake/OtherTests.cmake \
- CMake/PickyWarnings.cmake \
- CMake/Platforms/WindowsCache.cmake \
- CMake/Utilities.cmake \
- CMakeLists.txt
-
-VC10_LIBTMPL = projects/Windows/VC10/lib/libcurl.tmpl
-VC10_LIBVCXPROJ = projects/Windows/VC10/lib/libcurl.vcxproj.dist
-VC10_LIBVCXPROJ_DEPS = $(VC10_LIBTMPL) Makefile.am lib/Makefile.inc
-VC10_SRCTMPL = projects/Windows/VC10/src/curl.tmpl
-VC10_SRCVCXPROJ = projects/Windows/VC10/src/curl.vcxproj.dist
-VC10_SRCVCXPROJ_DEPS = $(VC10_SRCTMPL) Makefile.am src/Makefile.inc
-VC11_LIBTMPL = projects/Windows/VC11/lib/libcurl.tmpl
-VC11_LIBVCXPROJ = projects/Windows/VC11/lib/libcurl.vcxproj.dist
-VC11_LIBVCXPROJ_DEPS = $(VC11_LIBTMPL) Makefile.am lib/Makefile.inc
-VC11_SRCTMPL = projects/Windows/VC11/src/curl.tmpl
-VC11_SRCVCXPROJ = projects/Windows/VC11/src/curl.vcxproj.dist
-VC11_SRCVCXPROJ_DEPS = $(VC11_SRCTMPL) Makefile.am src/Makefile.inc
-VC12_LIBTMPL = projects/Windows/VC12/lib/libcurl.tmpl
-VC12_LIBVCXPROJ = projects/Windows/VC12/lib/libcurl.vcxproj.dist
-VC12_LIBVCXPROJ_DEPS = $(VC12_LIBTMPL) Makefile.am lib/Makefile.inc
-VC12_SRCTMPL = projects/Windows/VC12/src/curl.tmpl
-VC12_SRCVCXPROJ = projects/Windows/VC12/src/curl.vcxproj.dist
-VC12_SRCVCXPROJ_DEPS = $(VC12_SRCTMPL) Makefile.am src/Makefile.inc
-VC14_LIBTMPL = projects/Windows/VC14/lib/libcurl.tmpl
-VC14_LIBVCXPROJ = projects/Windows/VC14/lib/libcurl.vcxproj.dist
-VC14_LIBVCXPROJ_DEPS = $(VC14_LIBTMPL) Makefile.am lib/Makefile.inc
-VC14_SRCTMPL = projects/Windows/VC14/src/curl.tmpl
-VC14_SRCVCXPROJ = projects/Windows/VC14/src/curl.vcxproj.dist
-VC14_SRCVCXPROJ_DEPS = $(VC14_SRCTMPL) Makefile.am src/Makefile.inc
-VC14_10_LIBTMPL = projects/Windows/VC14.10/lib/libcurl.tmpl
-VC14_10_LIBVCXPROJ = projects/Windows/VC14.10/lib/libcurl.vcxproj.dist
-VC14_10_LIBVCXPROJ_DEPS = $(VC14_10_LIBTMPL) Makefile.am lib/Makefile.inc
-VC14_10_SRCTMPL = projects/Windows/VC14.10/src/curl.tmpl
-VC14_10_SRCVCXPROJ = projects/Windows/VC14.10/src/curl.vcxproj.dist
-VC14_10_SRCVCXPROJ_DEPS = $(VC14_10_SRCTMPL) Makefile.am src/Makefile.inc
-VC14_30_LIBTMPL = projects/Windows/VC14.30/lib/libcurl.tmpl
-VC14_30_LIBVCXPROJ = projects/Windows/VC14.30/lib/libcurl.vcxproj.dist
-VC14_30_LIBVCXPROJ_DEPS = $(VC14_30_LIBTMPL) Makefile.am lib/Makefile.inc
-VC14_30_SRCTMPL = projects/Windows/VC14.30/src/curl.tmpl
-VC14_30_SRCVCXPROJ = projects/Windows/VC14.30/src/curl.vcxproj.dist
-VC14_30_SRCVCXPROJ_DEPS = $(VC14_30_SRCTMPL) Makefile.am src/Makefile.inc
-VC_DIST = projects/README.md \
- projects/build-openssl.bat \
- projects/build-wolfssl.bat \
- projects/checksrc.bat \
- projects/Windows/VC10/curl-all.sln \
- projects/Windows/VC10/lib/libcurl.sln \
- projects/Windows/VC10/lib/libcurl.vcxproj.filters \
- projects/Windows/VC10/src/curl.sln \
- projects/Windows/VC10/src/curl.vcxproj.filters \
- projects/Windows/VC11/curl-all.sln \
- projects/Windows/VC11/lib/libcurl.sln \
- projects/Windows/VC11/lib/libcurl.vcxproj.filters \
- projects/Windows/VC11/src/curl.sln \
- projects/Windows/VC11/src/curl.vcxproj.filters \
- projects/Windows/VC12/curl-all.sln \
- projects/Windows/VC12/lib/libcurl.sln \
- projects/Windows/VC12/lib/libcurl.vcxproj.filters \
- projects/Windows/VC12/src/curl.sln \
- projects/Windows/VC12/src/curl.vcxproj.filters \
- projects/Windows/VC14/curl-all.sln \
- projects/Windows/VC14/lib/libcurl.sln \
- projects/Windows/VC14/lib/libcurl.vcxproj.filters \
- projects/Windows/VC14/src/curl.sln \
- projects/Windows/VC14/src/curl.vcxproj.filters \
- projects/Windows/VC14.10/curl-all.sln \
- projects/Windows/VC14.10/lib/libcurl.sln \
- projects/Windows/VC14.10/lib/libcurl.vcxproj.filters \
- projects/Windows/VC14.10/src/curl.sln \
- projects/Windows/VC14.10/src/curl.vcxproj.filters \
- projects/Windows/VC14.30/curl-all.sln \
- projects/Windows/VC14.30/lib/libcurl.sln \
- projects/Windows/VC14.30/lib/libcurl.vcxproj.filters \
- projects/Windows/VC14.30/src/curl.sln \
- projects/Windows/VC14.30/src/curl.vcxproj.filters \
- projects/generate.bat \
- projects/wolfssl_options.h \
- projects/wolfssl_override.props
-
-WINBUILD_DIST = winbuild/README.md winbuild/gen_resp_file.bat \
- winbuild/MakefileBuild.vc winbuild/Makefile.vc
-
-PLAN9_DIST = plan9/include/mkfile \
- plan9/include/mkfile \
- plan9/mkfile.proto \
- plan9/mkfile \
- plan9/README \
- plan9/lib/mkfile.inc \
- plan9/lib/mkfile \
- plan9/src/mkfile.inc \
- plan9/src/mkfile
-
-EXTRA_DIST = CHANGES COPYING maketgz Makefile.dist curl-config.in \
- RELEASE-NOTES buildconf libcurl.pc.in MacOSX-Framework $(CMAKE_DIST) \
- $(VC_DIST) $(WINBUILD_DIST) $(PLAN9_DIST) lib/libcurl.vers.in buildconf.bat \
- libcurl.def
-
-CLEANFILES = $(VC10_LIBVCXPROJ) $(VC10_SRCVCXPROJ) $(VC11_LIBVCXPROJ) \
- $(VC11_SRCVCXPROJ) $(VC12_LIBVCXPROJ) $(VC12_SRCVCXPROJ) $(VC14_LIBVCXPROJ) \
- $(VC14_SRCVCXPROJ) $(VC14_10_LIBVCXPROJ) $(VC14_10_SRCVCXPROJ) \
- $(VC14_30_LIBVCXPROJ) $(VC14_30_SRCVCXPROJ)
-
-bin_SCRIPTS = curl-config
-SUBDIRS = lib src
-DIST_SUBDIRS = $(SUBDIRS) tests packages scripts include docs
-pkgconfigdir = $(libdir)/pkgconfig
-pkgconfig_DATA = libcurl.pc
-LIB_VAUTH_CFILES = \
- vauth/cleartext.c \
- vauth/cram.c \
- vauth/digest.c \
- vauth/digest_sspi.c \
- vauth/gsasl.c \
- vauth/krb5_gssapi.c \
- vauth/krb5_sspi.c \
- vauth/ntlm.c \
- vauth/ntlm_sspi.c \
- vauth/oauth2.c \
- vauth/spnego_gssapi.c \
- vauth/spnego_sspi.c \
- vauth/vauth.c
-
-LIB_VAUTH_HFILES = \
- vauth/digest.h \
- vauth/ntlm.h \
- vauth/vauth.h
-
-LIB_VTLS_CFILES = \
- vtls/bearssl.c \
- vtls/gtls.c \
- vtls/hostcheck.c \
- vtls/keylog.c \
- vtls/mbedtls.c \
- vtls/mbedtls_threadlock.c \
- vtls/openssl.c \
- vtls/rustls.c \
- vtls/schannel.c \
- vtls/schannel_verify.c \
- vtls/sectransp.c \
- vtls/vtls.c \
- vtls/wolfssl.c \
- vtls/x509asn1.c
-
-LIB_VTLS_HFILES = \
- vtls/bearssl.h \
- vtls/gtls.h \
- vtls/hostcheck.h \
- vtls/keylog.h \
- vtls/mbedtls.h \
- vtls/mbedtls_threadlock.h \
- vtls/openssl.h \
- vtls/rustls.h \
- vtls/schannel.h \
- vtls/schannel_int.h \
- vtls/sectransp.h \
- vtls/vtls.h \
- vtls/vtls_int.h \
- vtls/wolfssl.h \
- vtls/x509asn1.h
-
-LIB_VQUIC_CFILES = \
- vquic/curl_msh3.c \
- vquic/curl_ngtcp2.c \
- vquic/curl_quiche.c \
- vquic/vquic.c
-
-LIB_VQUIC_HFILES = \
- vquic/curl_msh3.h \
- vquic/curl_ngtcp2.h \
- vquic/curl_quiche.h \
- vquic/vquic.h \
- vquic/vquic_int.h
-
-LIB_VSSH_CFILES = \
- vssh/libssh.c \
- vssh/libssh2.c \
- vssh/wolfssh.c
-
-LIB_VSSH_HFILES = \
- vssh/ssh.h
-
-LIB_CFILES = \
- altsvc.c \
- amigaos.c \
- asyn-ares.c \
- asyn-thread.c \
- base64.c \
- bufq.c \
- bufref.c \
- c-hyper.c \
- cf-h1-proxy.c \
- cf-h2-proxy.c \
- cf-haproxy.c \
- cf-https-connect.c \
- cf-socket.c \
- cfilters.c \
- conncache.c \
- connect.c \
- content_encoding.c \
- cookie.c \
- curl_addrinfo.c \
- curl_des.c \
- curl_endian.c \
- curl_fnmatch.c \
- curl_get_line.c \
- curl_gethostname.c \
- curl_gssapi.c \
- curl_memrchr.c \
- curl_multibyte.c \
- curl_ntlm_core.c \
- curl_ntlm_wb.c \
- curl_path.c \
- curl_range.c \
- curl_rtmp.c \
- curl_sasl.c \
- curl_sspi.c \
- curl_threads.c \
- curl_trc.c \
- dict.c \
- doh.c \
- dynbuf.c \
- dynhds.c \
- easy.c \
- easygetopt.c \
- easyoptions.c \
- escape.c \
- file.c \
- fileinfo.c \
- fopen.c \
- formdata.c \
- ftp.c \
- ftplistparser.c \
- getenv.c \
- getinfo.c \
- gopher.c \
- hash.c \
- headers.c \
- hmac.c \
- hostasyn.c \
- hostip.c \
- hostip4.c \
- hostip6.c \
- hostsyn.c \
- hsts.c \
- http.c \
- http1.c \
- http2.c \
- http_aws_sigv4.c \
- http_chunks.c \
- http_digest.c \
- http_negotiate.c \
- http_ntlm.c \
- http_proxy.c \
- idn.c \
- if2ip.c \
- imap.c \
- inet_ntop.c \
- inet_pton.c \
- krb5.c \
- ldap.c \
- llist.c \
- macos.c \
- md4.c \
- md5.c \
- memdebug.c \
- mime.c \
- mprintf.c \
- mqtt.c \
- multi.c \
- netrc.c \
- nonblock.c \
- noproxy.c \
- openldap.c \
- parsedate.c \
- pingpong.c \
- pop3.c \
- progress.c \
- psl.c \
- rand.c \
- rename.c \
- rtsp.c \
- select.c \
- sendf.c \
- setopt.c \
- sha256.c \
- share.c \
- slist.c \
- smb.c \
- smtp.c \
- socketpair.c \
- socks.c \
- socks_gssapi.c \
- socks_sspi.c \
- speedcheck.c \
- splay.c \
- strcase.c \
- strdup.c \
- strerror.c \
- strtok.c \
- strtoofft.c \
- system_win32.c \
- telnet.c \
- tftp.c \
- timediff.c \
- timeval.c \
- transfer.c \
- url.c \
- urlapi.c \
- version.c \
- version_win32.c \
- warnless.c \
- ws.c
-
-LIB_HFILES = \
- altsvc.h \
- amigaos.h \
- arpa_telnet.h \
- asyn.h \
- bufq.h \
- bufref.h \
- c-hyper.h \
- cf-h1-proxy.h \
- cf-h2-proxy.h \
- cf-haproxy.h \
- cf-https-connect.h \
- cf-socket.h \
- cfilters.h \
- conncache.h \
- connect.h \
- content_encoding.h \
- cookie.h \
- curl_addrinfo.h \
- curl_base64.h \
- curl_ctype.h \
- curl_des.h \
- curl_endian.h \
- curl_fnmatch.h \
- curl_get_line.h \
- curl_gethostname.h \
- curl_gssapi.h \
- curl_hmac.h \
- curl_krb5.h \
- curl_ldap.h \
- curl_md4.h \
- curl_md5.h \
- curl_memory.h \
- curl_memrchr.h \
- curl_multibyte.h \
- curl_ntlm_core.h \
- curl_ntlm_wb.h \
- curl_path.h \
- curl_printf.h \
- curl_range.h \
- curl_rtmp.h \
- curl_sasl.h \
- curl_setup.h \
- curl_setup_once.h \
- curl_sha256.h \
- curl_sspi.h \
- curl_threads.h \
- curl_trc.h \
- curlx.h \
- dict.h \
- doh.h \
- dynbuf.h \
- dynhds.h \
- easy_lock.h \
- easyif.h \
- easyoptions.h \
- escape.h \
- file.h \
- fileinfo.h \
- fopen.h \
- formdata.h \
- ftp.h \
- ftplistparser.h \
- functypes.h \
- getinfo.h \
- gopher.h \
- hash.h \
- headers.h \
- hostip.h \
- hsts.h \
- http.h \
- http1.h \
- http2.h \
- http_aws_sigv4.h \
- http_chunks.h \
- http_digest.h \
- http_negotiate.h \
- http_ntlm.h \
- http_proxy.h \
- idn.h \
- if2ip.h \
- imap.h \
- inet_ntop.h \
- inet_pton.h \
- llist.h \
- macos.h \
- memdebug.h \
- mime.h \
- mqtt.h \
- multihandle.h \
- multiif.h \
- netrc.h \
- nonblock.h \
- noproxy.h \
- parsedate.h \
- pingpong.h \
- pop3.h \
- progress.h \
- psl.h \
- rand.h \
- rename.h \
- rtsp.h \
- select.h \
- sendf.h \
- setopt.h \
- setup-vms.h \
- share.h \
- sigpipe.h \
- slist.h \
- smb.h \
- smtp.h \
- sockaddr.h \
- socketpair.h \
- socks.h \
- speedcheck.h \
- splay.h \
- strcase.h \
- strdup.h \
- strerror.h \
- strtok.h \
- strtoofft.h \
- system_win32.h \
- telnet.h \
- tftp.h \
- timediff.h \
- timeval.h \
- transfer.h \
- url.h \
- urlapi-int.h \
- urldata.h \
- version_win32.h \
- warnless.h \
- ws.h
-
-LIB_RCFILES = libcurl.rc
-CSOURCES = $(LIB_CFILES) $(LIB_VAUTH_CFILES) $(LIB_VTLS_CFILES) \
- $(LIB_VQUIC_CFILES) $(LIB_VSSH_CFILES)
-
-HHEADERS = $(LIB_HFILES) $(LIB_VAUTH_HFILES) $(LIB_VTLS_HFILES) \
- $(LIB_VQUIC_HFILES) $(LIB_VSSH_HFILES)
-
-
-# libcurl sources to include in curltool lib we use for test binaries
-CURLTOOL_LIBCURL_CFILES = \
- ../lib/base64.c \
- ../lib/dynbuf.c
-
-
-# libcurl has sources that provide functions named curlx_* that aren't part of
-# the official API, but we reuse the code here to avoid duplication.
-CURLX_CFILES = \
- ../lib/base64.c \
- ../lib/curl_multibyte.c \
- ../lib/dynbuf.c \
- ../lib/nonblock.c \
- ../lib/strtoofft.c \
- ../lib/timediff.c \
- ../lib/version_win32.c \
- ../lib/warnless.c
-
-CURLX_HFILES = \
- ../lib/curl_ctype.h \
- ../lib/curl_multibyte.h \
- ../lib/curl_setup.h \
- ../lib/dynbuf.h \
- ../lib/nonblock.h \
- ../lib/strtoofft.h \
- ../lib/timediff.h \
- ../lib/version_win32.h \
- ../lib/warnless.h
-
-CURL_CFILES = \
- slist_wc.c \
- tool_binmode.c \
- tool_bname.c \
- tool_cb_dbg.c \
- tool_cb_hdr.c \
- tool_cb_prg.c \
- tool_cb_rea.c \
- tool_cb_see.c \
- tool_cb_wrt.c \
- tool_cfgable.c \
- tool_dirhie.c \
- tool_doswin.c \
- tool_easysrc.c \
- tool_filetime.c \
- tool_findfile.c \
- tool_formparse.c \
- tool_getparam.c \
- tool_getpass.c \
- tool_help.c \
- tool_helpers.c \
- tool_hugehelp.c \
- tool_libinfo.c \
- tool_listhelp.c \
- tool_main.c \
- tool_msgs.c \
- tool_operate.c \
- tool_operhlp.c \
- tool_paramhlp.c \
- tool_parsecfg.c \
- tool_progress.c \
- tool_setopt.c \
- tool_sleep.c \
- tool_stderr.c \
- tool_strdup.c \
- tool_urlglob.c \
- tool_util.c \
- tool_vms.c \
- tool_writeout.c \
- tool_writeout_json.c \
- tool_xattr.c \
- var.c
-
-CURL_HFILES = \
- slist_wc.h \
- tool_binmode.h \
- tool_bname.h \
- tool_cb_dbg.h \
- tool_cb_hdr.h \
- tool_cb_prg.h \
- tool_cb_rea.h \
- tool_cb_see.h \
- tool_cb_wrt.h \
- tool_cfgable.h \
- tool_dirhie.h \
- tool_doswin.h \
- tool_easysrc.h \
- tool_filetime.h \
- tool_findfile.h \
- tool_formparse.h \
- tool_getparam.h \
- tool_getpass.h \
- tool_help.h \
- tool_helpers.h \
- tool_hugehelp.h \
- tool_libinfo.h \
- tool_main.h \
- tool_msgs.h \
- tool_operate.h \
- tool_operhlp.h \
- tool_paramhlp.h \
- tool_parsecfg.h \
- tool_progress.h \
- tool_sdecls.h \
- tool_setopt.h \
- tool_setup.h \
- tool_sleep.h \
- tool_stderr.h \
- tool_strdup.h \
- tool_urlglob.h \
- tool_util.h \
- tool_version.h \
- tool_vms.h \
- tool_writeout.h \
- tool_writeout_json.h \
- tool_xattr.h \
- var.h
-
-CURL_RCFILES = curl.rc
-
-# curl_SOURCES is special and gets assigned in src/Makefile.am
-CURL_FILES = $(CURL_CFILES) $(CURLX_CFILES) $(CURL_HFILES)
-all: all-recursive
-
-.SUFFIXES:
-am--refresh: Makefile
- @:
-$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(srcdir)/lib/Makefile.inc $(srcdir)/src/Makefile.inc $(am__configure_deps)
- @for dep in $?; do \
- case '$(am__configure_deps)' in \
- *$$dep*) \
- echo ' cd $(srcdir) && $(AUTOMAKE) --foreign'; \
- $(am__cd) $(srcdir) && $(AUTOMAKE) --foreign \
- && exit 0; \
- exit 1;; \
- esac; \
- done; \
- echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign Makefile'; \
- $(am__cd) $(top_srcdir) && \
- $(AUTOMAKE) --foreign Makefile
-Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
- @case '$?' in \
- *config.status*) \
- echo ' $(SHELL) ./config.status'; \
- $(SHELL) ./config.status;; \
- *) \
- echo ' cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__maybe_remake_depfiles)'; \
- cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__maybe_remake_depfiles);; \
- esac;
-$(srcdir)/lib/Makefile.inc $(srcdir)/src/Makefile.inc $(am__empty):
-
-$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
- $(SHELL) ./config.status --recheck
-
-$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
- $(am__cd) $(srcdir) && $(AUTOCONF)
-$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
- $(am__cd) $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS)
-$(am__aclocal_m4_deps):
-curl-config: $(top_builddir)/config.status $(srcdir)/curl-config.in
- cd $(top_builddir) && $(SHELL) ./config.status $@
-libcurl.pc: $(top_builddir)/config.status $(srcdir)/libcurl.pc.in
- cd $(top_builddir) && $(SHELL) ./config.status $@
-install-binSCRIPTS: $(bin_SCRIPTS)
- @$(NORMAL_INSTALL)
- @list='$(bin_SCRIPTS)'; test -n "$(bindir)" || list=; \
- if test -n "$$list"; then \
- echo " $(MKDIR_P) '$(DESTDIR)$(bindir)'"; \
- $(MKDIR_P) "$(DESTDIR)$(bindir)" || exit 1; \
- fi; \
- for p in $$list; do \
- if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
- if test -f "$$d$$p"; then echo "$$d$$p"; echo "$$p"; else :; fi; \
- done | \
- sed -e 'p;s,.*/,,;n' \
- -e 'h;s|.*|.|' \
- -e 'p;x;s,.*/,,;$(transform)' | sed 'N;N;N;s,\n, ,g' | \
- $(AWK) 'BEGIN { files["."] = ""; dirs["."] = 1; } \
- { d=$$3; if (dirs[d] != 1) { print "d", d; dirs[d] = 1 } \
- if ($$2 == $$4) { files[d] = files[d] " " $$1; \
- if (++n[d] == $(am__install_max)) { \
- print "f", d, files[d]; n[d] = 0; files[d] = "" } } \
- else { print "f", d "/" $$4, $$1 } } \
- END { for (d in files) print "f", d, files[d] }' | \
- while read type dir files; do \
- if test "$$dir" = .; then dir=; else dir=/$$dir; fi; \
- test -z "$$files" || { \
- echo " $(INSTALL_SCRIPT) $$files '$(DESTDIR)$(bindir)$$dir'"; \
- $(INSTALL_SCRIPT) $$files "$(DESTDIR)$(bindir)$$dir" || exit $$?; \
- } \
- ; done
-
-uninstall-binSCRIPTS:
- @$(NORMAL_UNINSTALL)
- @list='$(bin_SCRIPTS)'; test -n "$(bindir)" || exit 0; \
- files=`for p in $$list; do echo "$$p"; done | \
- sed -e 's,.*/,,;$(transform)'`; \
- dir='$(DESTDIR)$(bindir)'; $(am__uninstall_files_from_dir)
-
-mostlyclean-libtool:
- -rm -f *.lo
-
-clean-libtool:
- -rm -rf .libs _libs
-
-distclean-libtool:
- -rm -f libtool config.lt
-install-pkgconfigDATA: $(pkgconfig_DATA)
- @$(NORMAL_INSTALL)
- @list='$(pkgconfig_DATA)'; test -n "$(pkgconfigdir)" || list=; \
- if test -n "$$list"; then \
- echo " $(MKDIR_P) '$(DESTDIR)$(pkgconfigdir)'"; \
- $(MKDIR_P) "$(DESTDIR)$(pkgconfigdir)" || exit 1; \
- fi; \
- for p in $$list; do \
- if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
- echo "$$d$$p"; \
- done | $(am__base_list) | \
- while read files; do \
- echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(pkgconfigdir)'"; \
- $(INSTALL_DATA) $$files "$(DESTDIR)$(pkgconfigdir)" || exit $$?; \
- done
-
-uninstall-pkgconfigDATA:
- @$(NORMAL_UNINSTALL)
- @list='$(pkgconfig_DATA)'; test -n "$(pkgconfigdir)" || list=; \
- files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
- dir='$(DESTDIR)$(pkgconfigdir)'; $(am__uninstall_files_from_dir)
-
-# This directory's subdirectories are mostly independent; you can cd
-# into them and run 'make' without going through this Makefile.
-# To change the values of 'make' variables: instead of editing Makefiles,
-# (1) if the variable is set in 'config.status', edit 'config.status'
-# (which will cause the Makefiles to be regenerated when you run 'make');
-# (2) otherwise, pass the desired values on the 'make' command line.
-$(am__recursive_targets):
- @fail=; \
- if $(am__make_keepgoing); then \
- failcom='fail=yes'; \
- else \
- failcom='exit 1'; \
- fi; \
- dot_seen=no; \
- target=`echo $@ | sed s/-recursive//`; \
- case "$@" in \
- distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \
- *) list='$(SUBDIRS)' ;; \
- esac; \
- for subdir in $$list; do \
- echo "Making $$target in $$subdir"; \
- if test "$$subdir" = "."; then \
- dot_seen=yes; \
- local_target="$$target-am"; \
- else \
- local_target="$$target"; \
- fi; \
- ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
- || eval $$failcom; \
- done; \
- if test "$$dot_seen" = "no"; then \
- $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \
- fi; test -z "$$fail"
-
-ID: $(am__tagged_files)
- $(am__define_uniq_tagged_files); mkid -fID $$unique
-tags: tags-recursive
-TAGS: tags
-
-tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
- set x; \
- here=`pwd`; \
- if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \
- include_option=--etags-include; \
- empty_fix=.; \
- else \
- include_option=--include; \
- empty_fix=; \
- fi; \
- list='$(SUBDIRS)'; for subdir in $$list; do \
- if test "$$subdir" = .; then :; else \
- test ! -f $$subdir/TAGS || \
- set "$$@" "$$include_option=$$here/$$subdir/TAGS"; \
- fi; \
- done; \
- $(am__define_uniq_tagged_files); \
- shift; \
- if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
- test -n "$$unique" || unique=$$empty_fix; \
- if test $$# -gt 0; then \
- $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
- "$$@" $$unique; \
- else \
- $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
- $$unique; \
- fi; \
- fi
-ctags: ctags-recursive
-
-CTAGS: ctags
-ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
- $(am__define_uniq_tagged_files); \
- test -z "$(CTAGS_ARGS)$$unique" \
- || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
- $$unique
-
-GTAGS:
- here=`$(am__cd) $(top_builddir) && pwd` \
- && $(am__cd) $(top_srcdir) \
- && gtags -i $(GTAGS_ARGS) "$$here"
-cscope: cscope.files
- test ! -s cscope.files \
- || $(CSCOPE) -b -q $(AM_CSCOPEFLAGS) $(CSCOPEFLAGS) -i cscope.files $(CSCOPE_ARGS)
-clean-cscope:
- -rm -f cscope.files
-cscope.files: clean-cscope cscopelist
-cscopelist: cscopelist-recursive
-
-cscopelist-am: $(am__tagged_files)
- list='$(am__tagged_files)'; \
- case "$(srcdir)" in \
- [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \
- *) sdir=$(subdir)/$(srcdir) ;; \
- esac; \
- for i in $$list; do \
- if test -f "$$i"; then \
- echo "$(subdir)/$$i"; \
- else \
- echo "$$sdir/$$i"; \
- fi; \
- done >> $(top_builddir)/cscope.files
-
-distclean-tags:
- -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
- -rm -f cscope.out cscope.in.out cscope.po.out cscope.files
-distdir: $(BUILT_SOURCES)
- $(MAKE) $(AM_MAKEFLAGS) distdir-am
-
-distdir-am: $(DISTFILES)
- $(am__remove_distdir)
- test -d "$(distdir)" || mkdir "$(distdir)"
- @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
- topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
- list='$(DISTFILES)'; \
- dist_files=`for file in $$list; do echo $$file; done | \
- sed -e "s|^$$srcdirstrip/||;t" \
- -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
- case $$dist_files in \
- */*) $(MKDIR_P) `echo "$$dist_files" | \
- sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
- sort -u` ;; \
- esac; \
- for file in $$dist_files; do \
- if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
- if test -d $$d/$$file; then \
- dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
- if test -d "$(distdir)/$$file"; then \
- find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
- fi; \
- if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
- cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
- find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
- fi; \
- cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
- else \
- test -f "$(distdir)/$$file" \
- || cp -p $$d/$$file "$(distdir)/$$file" \
- || exit 1; \
- fi; \
- done
- @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
- if test "$$subdir" = .; then :; else \
- $(am__make_dryrun) \
- || test -d "$(distdir)/$$subdir" \
- || $(MKDIR_P) "$(distdir)/$$subdir" \
- || exit 1; \
- dir1=$$subdir; dir2="$(distdir)/$$subdir"; \
- $(am__relativize); \
- new_distdir=$$reldir; \
- dir1=$$subdir; dir2="$(top_distdir)"; \
- $(am__relativize); \
- new_top_distdir=$$reldir; \
- echo " (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir="$$new_top_distdir" distdir="$$new_distdir" \\"; \
- echo " am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir)"; \
- ($(am__cd) $$subdir && \
- $(MAKE) $(AM_MAKEFLAGS) \
- top_distdir="$$new_top_distdir" \
- distdir="$$new_distdir" \
- am__remove_distdir=: \
- am__skip_length_check=: \
- am__skip_mode_fix=: \
- distdir) \
- || exit 1; \
- fi; \
- done
- $(MAKE) $(AM_MAKEFLAGS) \
- top_distdir="$(top_distdir)" distdir="$(distdir)" \
- dist-hook
- -test -n "$(am__skip_mode_fix)" \
- || find "$(distdir)" -type d ! -perm -755 \
- -exec chmod u+rwx,go+rx {} \; -o \
- ! -type d ! -perm -444 -links 1 -exec chmod a+r {} \; -o \
- ! -type d ! -perm -400 -exec chmod a+r {} \; -o \
- ! -type d ! -perm -444 -exec $(install_sh) -c -m a+r {} {} \; \
- || chmod -R a+r "$(distdir)"
-dist-gzip: distdir
- tardir=$(distdir) && $(am__tar) | eval GZIP= gzip $(GZIP_ENV) -c >$(distdir).tar.gz
- $(am__post_remove_distdir)
-
-dist-bzip2: distdir
- tardir=$(distdir) && $(am__tar) | BZIP2=$${BZIP2--9} bzip2 -c >$(distdir).tar.bz2
- $(am__post_remove_distdir)
-
-dist-lzip: distdir
- tardir=$(distdir) && $(am__tar) | lzip -c $${LZIP_OPT--9} >$(distdir).tar.lz
- $(am__post_remove_distdir)
-
-dist-xz: distdir
- tardir=$(distdir) && $(am__tar) | XZ_OPT=$${XZ_OPT--e} xz -c >$(distdir).tar.xz
- $(am__post_remove_distdir)
-
-dist-zstd: distdir
- tardir=$(distdir) && $(am__tar) | zstd -c $${ZSTD_CLEVEL-$${ZSTD_OPT--19}} >$(distdir).tar.zst
- $(am__post_remove_distdir)
-
-dist-tarZ: distdir
- @echo WARNING: "Support for distribution archives compressed with" \
- "legacy program 'compress' is deprecated." >&2
- @echo WARNING: "It will be removed altogether in Automake 2.0" >&2
- tardir=$(distdir) && $(am__tar) | compress -c >$(distdir).tar.Z
- $(am__post_remove_distdir)
-
-dist-shar: distdir
- @echo WARNING: "Support for shar distribution archives is" \
- "deprecated." >&2
- @echo WARNING: "It will be removed altogether in Automake 2.0" >&2
- shar $(distdir) | eval GZIP= gzip $(GZIP_ENV) -c >$(distdir).shar.gz
- $(am__post_remove_distdir)
-
-dist-zip: distdir
- -rm -f $(distdir).zip
- zip -rq $(distdir).zip $(distdir)
- $(am__post_remove_distdir)
-
-dist dist-all:
- $(MAKE) $(AM_MAKEFLAGS) $(DIST_TARGETS) am__post_remove_distdir='@:'
- $(am__post_remove_distdir)
-
-# This target untars the dist file and tries a VPATH configuration. Then
-# it guarantees that the distribution is self-contained by making another
-# tarfile.
-distcheck: dist
- case '$(DIST_ARCHIVES)' in \
- *.tar.gz*) \
- eval GZIP= gzip $(GZIP_ENV) -dc $(distdir).tar.gz | $(am__untar) ;;\
- *.tar.bz2*) \
- bzip2 -dc $(distdir).tar.bz2 | $(am__untar) ;;\
- *.tar.lz*) \
- lzip -dc $(distdir).tar.lz | $(am__untar) ;;\
- *.tar.xz*) \
- xz -dc $(distdir).tar.xz | $(am__untar) ;;\
- *.tar.Z*) \
- uncompress -c $(distdir).tar.Z | $(am__untar) ;;\
- *.shar.gz*) \
- eval GZIP= gzip $(GZIP_ENV) -dc $(distdir).shar.gz | unshar ;;\
- *.zip*) \
- unzip $(distdir).zip ;;\
- *.tar.zst*) \
- zstd -dc $(distdir).tar.zst | $(am__untar) ;;\
- esac
- chmod -R a-w $(distdir)
- chmod u+w $(distdir)
- mkdir $(distdir)/_build $(distdir)/_build/sub $(distdir)/_inst
- chmod a-w $(distdir)
- test -d $(distdir)/_build || exit 0; \
- dc_install_base=`$(am__cd) $(distdir)/_inst && pwd | sed -e 's,^[^:\\/]:[\\/],/,'` \
- && dc_destdir="$${TMPDIR-/tmp}/am-dc-$$$$/" \
- && am__cwd=`pwd` \
- && $(am__cd) $(distdir)/_build/sub \
- && ../../configure \
- $(AM_DISTCHECK_CONFIGURE_FLAGS) \
- $(DISTCHECK_CONFIGURE_FLAGS) \
- --srcdir=../.. --prefix="$$dc_install_base" \
- && $(MAKE) $(AM_MAKEFLAGS) \
- && $(MAKE) $(AM_MAKEFLAGS) $(AM_DISTCHECK_DVI_TARGET) \
- && $(MAKE) $(AM_MAKEFLAGS) check \
- && $(MAKE) $(AM_MAKEFLAGS) install \
- && $(MAKE) $(AM_MAKEFLAGS) installcheck \
- && $(MAKE) $(AM_MAKEFLAGS) uninstall \
- && $(MAKE) $(AM_MAKEFLAGS) distuninstallcheck_dir="$$dc_install_base" \
- distuninstallcheck \
- && chmod -R a-w "$$dc_install_base" \
- && ({ \
- (cd ../.. && umask 077 && mkdir "$$dc_destdir") \
- && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" install \
- && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" uninstall \
- && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" \
- distuninstallcheck_dir="$$dc_destdir" distuninstallcheck; \
- } || { rm -rf "$$dc_destdir"; exit 1; }) \
- && rm -rf "$$dc_destdir" \
- && $(MAKE) $(AM_MAKEFLAGS) dist \
- && rm -rf $(DIST_ARCHIVES) \
- && $(MAKE) $(AM_MAKEFLAGS) distcleancheck \
- && cd "$$am__cwd" \
- || exit 1
- $(am__post_remove_distdir)
- @(echo "$(distdir) archives ready for distribution: "; \
- list='$(DIST_ARCHIVES)'; for i in $$list; do echo $$i; done) | \
- sed -e 1h -e 1s/./=/g -e 1p -e 1x -e '$$p' -e '$$x'
-distuninstallcheck:
- @test -n '$(distuninstallcheck_dir)' || { \
- echo 'ERROR: trying to run $@ with an empty' \
- '$$(distuninstallcheck_dir)' >&2; \
- exit 1; \
- }; \
- $(am__cd) '$(distuninstallcheck_dir)' || { \
- echo 'ERROR: cannot chdir into $(distuninstallcheck_dir)' >&2; \
- exit 1; \
- }; \
- test `$(am__distuninstallcheck_listfiles) | wc -l` -eq 0 \
- || { echo "ERROR: files left after uninstall:" ; \
- if test -n "$(DESTDIR)"; then \
- echo " (check DESTDIR support)"; \
- fi ; \
- $(distuninstallcheck_listfiles) ; \
- exit 1; } >&2
-distcleancheck: distclean
- @if test '$(srcdir)' = . ; then \
- echo "ERROR: distcleancheck can only run from a VPATH build" ; \
- exit 1 ; \
- fi
- @test `$(distcleancheck_listfiles) | wc -l` -eq 0 \
- || { echo "ERROR: files left in build directory after distclean:" ; \
- $(distcleancheck_listfiles) ; \
- exit 1; } >&2
-check-am: all-am
-check: check-recursive
-all-am: Makefile $(SCRIPTS) $(DATA)
-installdirs: installdirs-recursive
-installdirs-am:
- for dir in "$(DESTDIR)$(bindir)" "$(DESTDIR)$(pkgconfigdir)"; do \
- test -z "$$dir" || $(MKDIR_P) "$$dir"; \
- done
-install: install-recursive
-install-exec: install-exec-recursive
-install-data: install-data-recursive
-uninstall: uninstall-recursive
-
-install-am: all-am
- @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
-
-installcheck: installcheck-recursive
-install-strip:
- if test -z '$(STRIP)'; then \
- $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
- install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
- install; \
- else \
- $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
- install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
- "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
- fi
-mostlyclean-generic:
-
-clean-generic:
- -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES)
-
-distclean-generic:
- -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
- -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
-
-maintainer-clean-generic:
- @echo "This command is intended for maintainers to use"
- @echo "it deletes files that may require special tools to rebuild."
-clean: clean-recursive
-
-clean-am: clean-generic clean-libtool mostlyclean-am
-
-distclean: distclean-recursive
- -rm -f $(am__CONFIG_DISTCLEAN_FILES)
- -rm -f Makefile
-distclean-am: clean-am distclean-generic distclean-libtool \
- distclean-tags
-
-dvi: dvi-recursive
-
-dvi-am:
-
-html-am:
-
-info: info-recursive
-
-info-am:
-
-install-data-am: install-pkgconfigDATA
- @$(NORMAL_INSTALL)
- $(MAKE) $(AM_MAKEFLAGS) install-data-hook
-install-dvi: install-dvi-recursive
-
-install-dvi-am:
-
-install-exec-am: install-binSCRIPTS
-
-install-html: install-html-recursive
-
-install-html-am:
-
-install-info: install-info-recursive
-
-install-info-am:
-
-install-man:
-
-install-pdf: install-pdf-recursive
-
-install-pdf-am:
-
-install-ps: install-ps-recursive
-
-install-ps-am:
-
-installcheck-am:
-
-maintainer-clean: maintainer-clean-recursive
- -rm -f $(am__CONFIG_DISTCLEAN_FILES)
- -rm -rf $(top_srcdir)/autom4te.cache
- -rm -f Makefile
-maintainer-clean-am: distclean-am maintainer-clean-generic
-
-mostlyclean: mostlyclean-recursive
-
-mostlyclean-am: mostlyclean-generic mostlyclean-libtool
-
-pdf-am:
-
-ps: ps-recursive
-
-ps-am:
-
-uninstall-am: uninstall-binSCRIPTS uninstall-pkgconfigDATA
- @$(NORMAL_INSTALL)
- $(MAKE) $(AM_MAKEFLAGS) uninstall-hook
-.MAKE: $(am__recursive_targets) install-am install-data-am \
- install-strip uninstall-am
-
-.PHONY: $(am__recursive_targets) CTAGS GTAGS TAGS all all-am \
- am--refresh check check-am clean clean-cscope clean-generic \
- clean-libtool cscope cscopelist-am ctags ctags-am dist \
- dist-all dist-bzip2 dist-gzip dist-hook dist-lzip dist-shar \
- dist-tarZ dist-xz dist-zip dist-zstd distcheck distclean \
- distclean-generic distclean-libtool distclean-tags \
- distcleancheck distdir distuninstallcheck dvi dvi-am html \
- html-am info info-am install install-am install-binSCRIPTS \
- install-data install-data-am install-data-hook install-dvi \
- install-dvi-am install-exec install-exec-am install-html \
- install-html-am install-info install-info-am install-man \
- install-pdf install-pdf-am install-pkgconfigDATA install-ps \
- install-ps-am install-strip installcheck installcheck-am \
- installdirs installdirs-am maintainer-clean \
- maintainer-clean-generic mostlyclean mostlyclean-generic \
- mostlyclean-libtool pdf pdf-am ps ps-am tags tags-am uninstall \
- uninstall-am uninstall-binSCRIPTS uninstall-hook \
- uninstall-pkgconfigDATA
-
-.PRECIOUS: Makefile
-
-
-# List of files required to generate VC IDE .dsp, .vcproj and .vcxproj files
-
-dist-hook:
- rm -rf $(top_builddir)/tests/log
- find $(distdir) -name "*.dist" -exec rm {} \;
- (distit=`find $(srcdir) -name "*.dist" | grep -v ./ares/`; \
- for file in $$distit; do \
- strip=`echo $$file | sed -e s/^$(srcdir)// -e s/\.dist//`; \
- cp -p $$file $(distdir)$$strip; \
- done)
-
-html:
- cd docs && $(MAKE) html
-
-pdf:
- cd docs && $(MAKE) pdf
-
-check: test examples check-docs
-
-@CROSSCOMPILING_TRUE@test-full: test
-@CROSSCOMPILING_TRUE@test-torture: test
-
-@CROSSCOMPILING_TRUE@test:
-@CROSSCOMPILING_TRUE@ @echo "NOTICE: we can't run the tests when cross-compiling!"
-
-@CROSSCOMPILING_FALSE@test:
-@CROSSCOMPILING_FALSE@ @(cd tests; $(MAKE) all quiet-test)
-
-@CROSSCOMPILING_FALSE@test-full:
-@CROSSCOMPILING_FALSE@ @(cd tests; $(MAKE) all full-test)
-
-@CROSSCOMPILING_FALSE@test-nonflaky:
-@CROSSCOMPILING_FALSE@ @(cd tests; $(MAKE) all nonflaky-test)
-
-@CROSSCOMPILING_FALSE@test-torture:
-@CROSSCOMPILING_FALSE@ @(cd tests; $(MAKE) all torture-test)
-
-@CROSSCOMPILING_FALSE@test-event:
-@CROSSCOMPILING_FALSE@ @(cd tests; $(MAKE) all event-test)
-
-@CROSSCOMPILING_FALSE@test-am:
-@CROSSCOMPILING_FALSE@ @(cd tests; $(MAKE) all am-test)
-
-@CROSSCOMPILING_FALSE@test-ci:
-@CROSSCOMPILING_FALSE@ @(cd tests; $(MAKE) all ci-test)
-
-examples:
- @(cd docs/examples; $(MAKE) check)
-
-check-docs:
- @(cd docs/libcurl; $(MAKE) check)
-
-# Build source and binary rpms. For rpm-3.0 and above, the ~/.rpmmacros
-# must contain the following line:
-# %_topdir /home/loic/local/rpm
-# and that /home/loic/local/rpm contains the directory SOURCES, BUILD etc.
-#
-# cd /home/loic/local/rpm ; mkdir -p SOURCES BUILD RPMS/i386 SPECS SRPMS
-#
-# If additional configure flags are needed to build the package, add the
-# following in ~/.rpmmacros
-# %configure CFLAGS="%{optflags}" ./configure %{_target_platform} --prefix=%{_prefix} ${AM_CONFIGFLAGS}
-# and run make rpm in the following way:
-# AM_CONFIGFLAGS='--with-uri=/home/users/loic/local/RedHat-6.2' make rpm
-#
-
-rpms:
- $(MAKE) RPMDIST=curl rpm
- $(MAKE) RPMDIST=curl-ssl rpm
-
-rpm:
- RPM_TOPDIR=`rpm --showrc | $(PERL) -n -e 'print if(s/.*_topdir\s+(.*)/$$1/)'` ; \
- cp $(srcdir)/packages/Linux/RPM/$(RPMDIST).spec $$RPM_TOPDIR/SPECS ; \
- cp $(PACKAGE)-$(VERSION).tar.gz $$RPM_TOPDIR/SOURCES ; \
- rpm -ba --clean --rmsource $$RPM_TOPDIR/SPECS/$(RPMDIST).spec ; \
- mv $$RPM_TOPDIR/RPMS/i386/$(RPMDIST)-*.rpm . ; \
- mv $$RPM_TOPDIR/SRPMS/$(RPMDIST)-*.src.rpm .
-
-#
-# Build a Solaris pkgadd format file
-# run 'make pkgadd' once you've done './configure' and 'make' to make a Solaris pkgadd format
-# file (which ends up back in this directory).
-# The pkgadd file is in 'pkgtrans' format, so to install on Solaris, do
-# pkgadd -d ./HAXXcurl-*
-#
-
-# gak - libtool requires an absolute directory, hence the pwd below...
-pkgadd:
- umask 022 ; \
- $(MAKE) install DESTDIR=`/bin/pwd`/packages/Solaris/root ; \
- cat COPYING > $(srcdir)/packages/Solaris/copyright ; \
- cd $(srcdir)/packages/Solaris && $(MAKE) package
-
-#
-# Build a cygwin binary tarball installation file
-# resulting .tar.bz2 file will end up at packages/Win32/cygwin
-cygwinbin:
- $(MAKE) -C packages/Win32/cygwin cygwinbin
-
-# We extend the standard install with a custom hook:
-install-data-hook:
- (cd include && $(MAKE) install)
- (cd docs && $(MAKE) install)
- (cd docs/libcurl && $(MAKE) install)
-
-# We extend the standard uninstall with a custom hook:
-uninstall-hook:
- (cd include && $(MAKE) uninstall)
- (cd docs && $(MAKE) uninstall)
- (cd docs/libcurl && $(MAKE) uninstall)
-
-ca-bundle: $(srcdir)/scripts/mk-ca-bundle.pl
- @echo "generating a fresh ca-bundle.crt"
- @perl $(srcdir)/scripts/mk-ca-bundle.pl -b -l -u lib/ca-bundle.crt
-
-ca-firefox: $(srcdir)/scripts/firefox-db2pem.sh
- @echo "generating a fresh ca-bundle.crt"
- $(srcdir)/scripts/firefox-db2pem.sh lib/ca-bundle.crt
-
-checksrc:
- (cd lib && $(MAKE) checksrc)
- (cd src && $(MAKE) checksrc)
- (cd tests && $(MAKE) checksrc)
- (cd include/curl && $(MAKE) checksrc)
- (cd docs/examples && $(MAKE) checksrc)
- (cd packages && $(MAKE) checksrc)
-
-.PHONY: vc-ide
-
-vc-ide: $(VC10_LIBVCXPROJ_DEPS) $(VC10_SRCVCXPROJ_DEPS) \
- $(VC11_LIBVCXPROJ_DEPS) $(VC11_SRCVCXPROJ_DEPS) $(VC12_LIBVCXPROJ_DEPS) \
- $(VC12_SRCVCXPROJ_DEPS) $(VC14_LIBVCXPROJ_DEPS) $(VC14_SRCVCXPROJ_DEPS) \
- $(VC14_10_LIBVCXPROJ_DEPS) $(VC14_10_SRCVCXPROJ_DEPS) \
- $(VC14_30_LIBVCXPROJ_DEPS) $(VC14_30_SRCVCXPROJ_DEPS)
- @(win32_lib_srcs='$(LIB_CFILES)'; \
- win32_lib_hdrs='$(LIB_HFILES) config-win32.h'; \
- win32_lib_rc='$(LIB_RCFILES)'; \
- win32_lib_vauth_srcs='$(LIB_VAUTH_CFILES)'; \
- win32_lib_vauth_hdrs='$(LIB_VAUTH_HFILES)'; \
- win32_lib_vquic_srcs='$(LIB_VQUIC_CFILES)'; \
- win32_lib_vquic_hdrs='$(LIB_VQUIC_HFILES)'; \
- win32_lib_vssh_srcs='$(LIB_VSSH_CFILES)'; \
- win32_lib_vssh_hdrs='$(LIB_VSSH_HFILES)'; \
- win32_lib_vtls_srcs='$(LIB_VTLS_CFILES)'; \
- win32_lib_vtls_hdrs='$(LIB_VTLS_HFILES)'; \
- win32_src_srcs='$(CURL_CFILES)'; \
- win32_src_hdrs='$(CURL_HFILES)'; \
- win32_src_rc='$(CURL_RCFILES)'; \
- win32_src_x_srcs='$(CURLX_CFILES)'; \
- win32_src_x_hdrs='$(CURLX_HFILES) ../lib/config-win32.h'; \
- \
- sorted_lib_srcs=`for file in $$win32_lib_srcs; do echo $$file; done | sort`; \
- sorted_lib_hdrs=`for file in $$win32_lib_hdrs; do echo $$file; done | sort`; \
- sorted_lib_vauth_srcs=`for file in $$win32_lib_vauth_srcs; do echo $$file; done | sort`; \
- sorted_lib_vauth_hdrs=`for file in $$win32_lib_vauth_hdrs; do echo $$file; done | sort`; \
- sorted_lib_vquic_srcs=`for file in $$win32_lib_vquic_srcs; do echo $$file; done | sort`; \
- sorted_lib_vquic_hdrs=`for file in $$win32_lib_vquic_hdrs; do echo $$file; done | sort`; \
- sorted_lib_vssh_srcs=`for file in $$win32_lib_vssh_srcs; do echo $$file; done | sort`; \
- sorted_lib_vssh_hdrs=`for file in $$win32_lib_vssh_hdrs; do echo $$file; done | sort`; \
- sorted_lib_vtls_srcs=`for file in $$win32_lib_vtls_srcs; do echo $$file; done | sort`; \
- sorted_lib_vtls_hdrs=`for file in $$win32_lib_vtls_hdrs; do echo $$file; done | sort`; \
- sorted_src_srcs=`for file in $$win32_src_srcs; do echo $$file; done | sort`; \
- sorted_src_hdrs=`for file in $$win32_src_hdrs; do echo $$file; done | sort`; \
- sorted_src_x_srcs=`for file in $$win32_src_x_srcs; do echo $$file; done | sort`; \
- sorted_src_x_hdrs=`for file in $$win32_src_x_hdrs; do echo $$file; done | sort`; \
- \
- awk_code='\
-function gen_element(type, dir, file)\
-{\
- sub(/vauth\//, "", file);\
- sub(/vquic\//, "", file);\
- sub(/vssh\//, "", file);\
- sub(/vtls\//, "", file);\
-\
- spaces=" ";\
- if(dir == "lib\\vauth" ||\
- dir == "lib\\vquic" ||\
- dir == "lib\\vssh" ||\
- dir == "lib\\vtls")\
- tabs=" ";\
- else\
- tabs=" ";\
-\
- if(type == "dsp") {\
- printf("# Begin Source File\r\n");\
- printf("\r\n");\
- printf("SOURCE=..\\..\\..\\..\\%s\\%s\r\n", dir, file);\
- printf("# End Source File\r\n");\
- }\
- else if(type == "vcproj1") {\
- printf("%s\r\n",\
- tabs, dir, file);\
- printf("%s\r\n", tabs);\
- }\
- else if(type == "vcproj2") {\
- printf("%s\r\n", tabs);\
- printf("%s\r\n", tabs);\
- }\
- else if(type == "vcxproj") {\
- i = index(file, ".");\
- ext = substr(file, i == 0 ? 0 : i + 1);\
-\
- if(ext == "c")\
- printf("%s\r\n",\
- spaces, dir, file);\
- else if(ext == "h")\
- printf("%s\r\n",\
- spaces, dir, file);\
- else if(ext == "rc")\
- printf("%s\r\n",\
- spaces, dir, file);\
- }\
-}\
-\
-{\
-\
- if($$0 == "CURL_LIB_C_FILES") {\
- split(lib_srcs, arr);\
- for(val in arr) gen_element(proj_type, "lib", arr[val]);\
- }\
- else if($$0 == "CURL_LIB_H_FILES") {\
- split(lib_hdrs, arr);\
- for(val in arr) gen_element(proj_type, "lib", arr[val]);\
- }\
- else if($$0 == "CURL_LIB_RC_FILES") {\
- split(lib_rc, arr);\
- for(val in arr) gen_element(proj_type, "lib", arr[val]);\
- }\
- else if($$0 == "CURL_LIB_VAUTH_C_FILES") {\
- split(lib_vauth_srcs, arr);\
- for(val in arr) gen_element(proj_type, "lib\\vauth", arr[val]);\
- }\
- else if($$0 == "CURL_LIB_VAUTH_H_FILES") {\
- split(lib_vauth_hdrs, arr);\
- for(val in arr) gen_element(proj_type, "lib\\vauth", arr[val]);\
- }\
- else if($$0 == "CURL_LIB_VQUIC_C_FILES") {\
- split(lib_vquic_srcs, arr);\
- for(val in arr) gen_element(proj_type, "lib\\vquic", arr[val]);\
- }\
- else if($$0 == "CURL_LIB_VQUIC_H_FILES") {\
- split(lib_vquic_hdrs, arr);\
- for(val in arr) gen_element(proj_type, "lib\\vquic", arr[val]);\
- }\
- else if($$0 == "CURL_LIB_VSSH_C_FILES") {\
- split(lib_vssh_srcs, arr);\
- for(val in arr) gen_element(proj_type, "lib\\vssh", arr[val]);\
- }\
- else if($$0 == "CURL_LIB_VSSH_H_FILES") {\
- split(lib_vssh_hdrs, arr);\
- for(val in arr) gen_element(proj_type, "lib\\vssh", arr[val]);\
- }\
- else if($$0 == "CURL_LIB_VTLS_C_FILES") {\
- split(lib_vtls_srcs, arr);\
- for(val in arr) gen_element(proj_type, "lib\\vtls", arr[val]);\
- }\
- else if($$0 == "CURL_LIB_VTLS_H_FILES") {\
- split(lib_vtls_hdrs, arr);\
- for(val in arr) gen_element(proj_type, "lib\\vtls", arr[val]);\
- }\
- else if($$0 == "CURL_SRC_C_FILES") {\
- split(src_srcs, arr);\
- for(val in arr) gen_element(proj_type, "src", arr[val]);\
- }\
- else if($$0 == "CURL_SRC_H_FILES") {\
- split(src_hdrs, arr);\
- for(val in arr) gen_element(proj_type, "src", arr[val]);\
- }\
- else if($$0 == "CURL_SRC_RC_FILES") {\
- split(src_rc, arr);\
- for(val in arr) gen_element(proj_type, "src", arr[val]);\
- }\
- else if($$0 == "CURL_SRC_X_C_FILES") {\
- split(src_x_srcs, arr);\
- for(val in arr) {\
- sub(/..\/lib\//, "", arr[val]);\
- gen_element(proj_type, "lib", arr[val]);\
- }\
- }\
- else if($$0 == "CURL_SRC_X_H_FILES") {\
- split(src_x_hdrs, arr);\
- for(val in arr) {\
- sub(/..\/lib\//, "", arr[val]);\
- gen_element(proj_type, "lib", arr[val]);\
- }\
- }\
- else\
- printf("%s\r\n", $$0);\
-}';\
- \
- echo "generating '$(VC10_LIBVCXPROJ)'"; \
- awk -v proj_type=vcxproj \
- -v lib_srcs="$$sorted_lib_srcs" \
- -v lib_hdrs="$$sorted_lib_hdrs" \
- -v lib_rc="$$win32_lib_rc" \
- -v lib_vauth_srcs="$$sorted_lib_vauth_srcs" \
- -v lib_vauth_hdrs="$$sorted_lib_vauth_hdrs" \
- -v lib_vquic_srcs="$$sorted_lib_vquic_srcs" \
- -v lib_vquic_hdrs="$$sorted_lib_vquic_hdrs" \
- -v lib_vssh_srcs="$$sorted_lib_vssh_srcs" \
- -v lib_vssh_hdrs="$$sorted_lib_vssh_hdrs" \
- -v lib_vtls_srcs="$$sorted_lib_vtls_srcs" \
- -v lib_vtls_hdrs="$$sorted_lib_vtls_hdrs" \
- "$$awk_code" $(srcdir)/$(VC10_LIBTMPL) > $(VC10_LIBVCXPROJ) || { exit 1; }; \
- \
- echo "generating '$(VC10_SRCVCXPROJ)'"; \
- awk -v proj_type=vcxproj \
- -v src_srcs="$$sorted_src_srcs" \
- -v src_hdrs="$$sorted_src_hdrs" \
- -v src_rc="$$win32_src_rc" \
- -v src_x_srcs="$$sorted_src_x_srcs" \
- -v src_x_hdrs="$$sorted_src_x_hdrs" \
- "$$awk_code" $(srcdir)/$(VC10_SRCTMPL) > $(VC10_SRCVCXPROJ) || { exit 1; }; \
- \
- echo "generating '$(VC11_LIBVCXPROJ)'"; \
- awk -v proj_type=vcxproj \
- -v lib_srcs="$$sorted_lib_srcs" \
- -v lib_hdrs="$$sorted_lib_hdrs" \
- -v lib_rc="$$win32_lib_rc" \
- -v lib_vauth_srcs="$$sorted_lib_vauth_srcs" \
- -v lib_vauth_hdrs="$$sorted_lib_vauth_hdrs" \
- -v lib_vquic_srcs="$$sorted_lib_vquic_srcs" \
- -v lib_vquic_hdrs="$$sorted_lib_vquic_hdrs" \
- -v lib_vssh_srcs="$$sorted_lib_vssh_srcs" \
- -v lib_vssh_hdrs="$$sorted_lib_vssh_hdrs" \
- -v lib_vtls_srcs="$$sorted_lib_vtls_srcs" \
- -v lib_vtls_hdrs="$$sorted_lib_vtls_hdrs" \
- "$$awk_code" $(srcdir)/$(VC11_LIBTMPL) > $(VC11_LIBVCXPROJ) || { exit 1; }; \
- \
- echo "generating '$(VC11_SRCVCXPROJ)'"; \
- awk -v proj_type=vcxproj \
- -v src_srcs="$$sorted_src_srcs" \
- -v src_hdrs="$$sorted_src_hdrs" \
- -v src_rc="$$win32_src_rc" \
- -v src_x_srcs="$$sorted_src_x_srcs" \
- -v src_x_hdrs="$$sorted_src_x_hdrs" \
- "$$awk_code" $(srcdir)/$(VC11_SRCTMPL) > $(VC11_SRCVCXPROJ) || { exit 1; }; \
- \
- echo "generating '$(VC12_LIBVCXPROJ)'"; \
- awk -v proj_type=vcxproj \
- -v lib_srcs="$$sorted_lib_srcs" \
- -v lib_hdrs="$$sorted_lib_hdrs" \
- -v lib_rc="$$win32_lib_rc" \
- -v lib_vauth_srcs="$$sorted_lib_vauth_srcs" \
- -v lib_vauth_hdrs="$$sorted_lib_vauth_hdrs" \
- -v lib_vquic_srcs="$$sorted_lib_vquic_srcs" \
- -v lib_vquic_hdrs="$$sorted_lib_vquic_hdrs" \
- -v lib_vssh_srcs="$$sorted_lib_vssh_srcs" \
- -v lib_vssh_hdrs="$$sorted_lib_vssh_hdrs" \
- -v lib_vtls_srcs="$$sorted_lib_vtls_srcs" \
- -v lib_vtls_hdrs="$$sorted_lib_vtls_hdrs" \
- "$$awk_code" $(srcdir)/$(VC12_LIBTMPL) > $(VC12_LIBVCXPROJ) || { exit 1; }; \
- \
- echo "generating '$(VC12_SRCVCXPROJ)'"; \
- awk -v proj_type=vcxproj \
- -v src_srcs="$$sorted_src_srcs" \
- -v src_hdrs="$$sorted_src_hdrs" \
- -v src_rc="$$win32_src_rc" \
- -v src_x_srcs="$$sorted_src_x_srcs" \
- -v src_x_hdrs="$$sorted_src_x_hdrs" \
- "$$awk_code" $(srcdir)/$(VC12_SRCTMPL) > $(VC12_SRCVCXPROJ) || { exit 1; }; \
- \
- echo "generating '$(VC14_LIBVCXPROJ)'"; \
- awk -v proj_type=vcxproj \
- -v lib_srcs="$$sorted_lib_srcs" \
- -v lib_hdrs="$$sorted_lib_hdrs" \
- -v lib_rc="$$win32_lib_rc" \
- -v lib_vauth_srcs="$$sorted_lib_vauth_srcs" \
- -v lib_vauth_hdrs="$$sorted_lib_vauth_hdrs" \
- -v lib_vquic_srcs="$$sorted_lib_vquic_srcs" \
- -v lib_vquic_hdrs="$$sorted_lib_vquic_hdrs" \
- -v lib_vssh_srcs="$$sorted_lib_vssh_srcs" \
- -v lib_vssh_hdrs="$$sorted_lib_vssh_hdrs" \
- -v lib_vtls_srcs="$$sorted_lib_vtls_srcs" \
- -v lib_vtls_hdrs="$$sorted_lib_vtls_hdrs" \
- "$$awk_code" $(srcdir)/$(VC14_LIBTMPL) > $(VC14_LIBVCXPROJ) || { exit 1; }; \
- \
- echo "generating '$(VC14_SRCVCXPROJ)'"; \
- awk -v proj_type=vcxproj \
- -v src_srcs="$$sorted_src_srcs" \
- -v src_hdrs="$$sorted_src_hdrs" \
- -v src_rc="$$win32_src_rc" \
- -v src_x_srcs="$$sorted_src_x_srcs" \
- -v src_x_hdrs="$$sorted_src_x_hdrs" \
- "$$awk_code" $(srcdir)/$(VC14_SRCTMPL) > $(VC14_SRCVCXPROJ) || { exit 1; }; \
- \
- echo "generating '$(VC14_10_LIBVCXPROJ)'"; \
- awk -v proj_type=vcxproj \
- -v lib_srcs="$$sorted_lib_srcs" \
- -v lib_hdrs="$$sorted_lib_hdrs" \
- -v lib_rc="$$win32_lib_rc" \
- -v lib_vauth_srcs="$$sorted_lib_vauth_srcs" \
- -v lib_vauth_hdrs="$$sorted_lib_vauth_hdrs" \
- -v lib_vquic_srcs="$$sorted_lib_vquic_srcs" \
- -v lib_vquic_hdrs="$$sorted_lib_vquic_hdrs" \
- -v lib_vssh_srcs="$$sorted_lib_vssh_srcs" \
- -v lib_vssh_hdrs="$$sorted_lib_vssh_hdrs" \
- -v lib_vtls_srcs="$$sorted_lib_vtls_srcs" \
- -v lib_vtls_hdrs="$$sorted_lib_vtls_hdrs" \
- "$$awk_code" $(srcdir)/$(VC14_10_LIBTMPL) > $(VC14_10_LIBVCXPROJ) || { exit 1; }; \
- \
- echo "generating '$(VC14_10_SRCVCXPROJ)'"; \
- awk -v proj_type=vcxproj \
- -v src_srcs="$$sorted_src_srcs" \
- -v src_hdrs="$$sorted_src_hdrs" \
- -v src_rc="$$win32_src_rc" \
- -v src_x_srcs="$$sorted_src_x_srcs" \
- -v src_x_hdrs="$$sorted_src_x_hdrs" \
- "$$awk_code" $(srcdir)/$(VC14_10_SRCTMPL) > $(VC14_10_SRCVCXPROJ) || { exit 1; }; \
- \
- echo "generating '$(VC14_30_LIBVCXPROJ)'"; \
- awk -v proj_type=vcxproj \
- -v lib_srcs="$$sorted_lib_srcs" \
- -v lib_hdrs="$$sorted_lib_hdrs" \
- -v lib_rc="$$win32_lib_rc" \
- -v lib_vauth_srcs="$$sorted_lib_vauth_srcs" \
- -v lib_vauth_hdrs="$$sorted_lib_vauth_hdrs" \
- -v lib_vquic_srcs="$$sorted_lib_vquic_srcs" \
- -v lib_vquic_hdrs="$$sorted_lib_vquic_hdrs" \
- -v lib_vssh_srcs="$$sorted_lib_vssh_srcs" \
- -v lib_vssh_hdrs="$$sorted_lib_vssh_hdrs" \
- -v lib_vtls_srcs="$$sorted_lib_vtls_srcs" \
- -v lib_vtls_hdrs="$$sorted_lib_vtls_hdrs" \
- "$$awk_code" $(srcdir)/$(VC14_30_LIBTMPL) > $(VC14_30_LIBVCXPROJ) || { exit 1; }; \
- \
- echo "generating '$(VC14_30_SRCVCXPROJ)'"; \
- awk -v proj_type=vcxproj \
- -v src_srcs="$$sorted_src_srcs" \
- -v src_hdrs="$$sorted_src_hdrs" \
- -v src_rc="$$win32_src_rc" \
- -v src_x_srcs="$$sorted_src_x_srcs" \
- -v src_x_hdrs="$$sorted_src_x_hdrs" \
- "$$awk_code" $(srcdir)/$(VC14_30_SRCTMPL) > $(VC14_30_SRCVCXPROJ) || { exit 1; };)
-
-tidy:
- (cd src && $(MAKE) tidy)
- (cd lib && $(MAKE) tidy)
-
-# Tell versions [3.59,3.63) of GNU make to not export all variables.
-# Otherwise a system limit (for SysV at least) may be exceeded.
-.NOEXPORT:
diff --git a/curl/README.md b/curl/README.md
new file mode 100644
index 00000000..7ade2d11
--- /dev/null
+++ b/curl/README.md
@@ -0,0 +1,68 @@
+
+
+# [![curl logo](https://curl.se/logo/curl-logo.svg)](https://curl.se/)
+
+Curl is a command-line tool for transferring data specified with URL syntax.
+Learn how to use curl by reading [the
+manpage](https://curl.se/docs/manpage.html) or [everything
+curl](https://everything.curl.dev/).
+
+Find out how to install curl by reading [the INSTALL
+document](https://curl.se/docs/install.html).
+
+libcurl is the library curl is using to do its job. It is readily available to
+be used by your software. Read [the libcurl
+manpage](https://curl.se/libcurl/c/libcurl.html) to learn how.
+
+## Open Source
+
+curl is Open Source and is distributed under an MIT-like
+[license](https://curl.se/docs/copyright.html).
+
+## Contact
+
+Contact us on a suitable [mailing list](https://curl.se/mail/) or
+use GitHub [issues](https://github.com/curl/curl/issues)/
+[pull requests](https://github.com/curl/curl/pulls)/
+[discussions](https://github.com/curl/curl/discussions).
+
+All contributors to the project are listed in [the THANKS
+document](https://curl.se/docs/thanks.html).
+
+## Commercial support
+
+For commercial support, maybe private and dedicated help with your problems or
+applications using (lib)curl visit [the support page](https://curl.se/support.html).
+
+## Website
+
+Visit the [curl website](https://curl.se/) for the latest news and downloads.
+
+## Source code
+
+Download the latest source from the Git server:
+
+ git clone https://github.com/curl/curl.git
+
+## Security problems
+
+Report suspected security problems via [our HackerOne
+page](https://hackerone.com/curl) and not in public.
+
+## Notice
+
+Curl contains pieces of source code that is Copyright (c) 1998, 1999 Kungliga
+Tekniska Högskolan. This notice is included here to comply with the
+distribution terms.
+
+## Backers
+
+Thank you to all our backers! 🙏 [Become a backer](https://opencollective.com/curl#section-contribute).
+
+## Sponsors
+
+Support this project by becoming a [sponsor](https://curl.se/sponsors.html).
diff --git a/curl/RELEASE-NOTES b/curl/RELEASE-NOTES
index 0b331a48..9b282e3d 100644
--- a/curl/RELEASE-NOTES
+++ b/curl/RELEASE-NOTES
@@ -1,306 +1,89 @@
-curl and libcurl 8.4.0
+curl and libcurl 8.10.1
- Public curl releases: 252
- Command line options: 258
- curl_easy_setopt() options: 303
- Public functions in libcurl: 93
- Contributors: 2995
+ Public curl releases: 261
+ Command line options: 265
+ curl_easy_setopt() options: 306
+ Public functions in libcurl: 94
+ Contributors: 3246
This release includes the following changes:
- o curl: add support for the IPFS protocols via HTTP gateway [46]
- o curl_multi_get_handles: get easy handles from a multi handle [20]
- o mingw: delete support for legacy mingw.org toolchain [45]
This release includes the following bugfixes:
- o acinclude.m4: Document proper system truststore on FreeBSD [83]
- o appveyor: fix yamlint issues, indent [67]
- o appveyor: rewrite batch in PowerShell + CI improvements [109]
- o autotools: adjust `CURL_CA_PATH` value to CMake [53]
- o autotools: restore `HAVE_IOCTL_*` detections [111]
- o base64: also build for curl [78]
- o bufq: remove Curl_bufq_skip_and_shift (unused) [47]
- o build: delete checks for C89 standard headers [65]
- o build: do not publish `HAVE_BORINGSSL`, `HAVE_AWSLC` macros [114]
- o cf-socket: simulate slow/blocked receives in debug [120]
- o cmake, configure: also link with CoreServices [32]
- o cmake: add check for suseconds_t [91]
- o cmake: add feature checks for `memrchr` and `getifaddrs` [57]
- o cmake: add missing checks [86]
- o cmake: delete old `HAVE_LDAP_URL_PARSE` logic [105]
- o cmake: detect `HAVE_CLOCK_GETTIME_MONOTONIC_RAW` [75]
- o cmake: detect `HAVE_GETADDRINFO_THREADSAFE` [76]
- o cmake: detect `sys/wait.h` and `netinet/udp.h` [61]
- o cmake: detect TLS-SRP in OpenSSL/wolfSSL/GnuTLS [93]
- o cmake: disable unity mode with Windows Unicode + TrackMemory [108]
- o cmake: fix `HAVE_LDAP_SSL`, `HAVE_LDAP_URL_PARSE` on non-Windows [110]
- o cmake: fix `HAVE_WRITABLE_ARGV` detection [77]
- o cmake: fix duplicate symbols when linking tests [73]
- o cmake: fix missing `zlib.h` when compiling `libcurltool` [72]
- o cmake: fix stderr initialization in unity builds [71]
- o cmake: fix the help text to the static build option in CMakeLists.txt [10]
- o cmake: fix unity builds for more build combinations [96]
- o cmake: fix unity symbol collisions in h2 builds [48]
- o cmake: fix unity with Windows Unicode + TrackMemory [107]
- o cmake: improve OpenLDAP builds [92]
- o cmake: lib `CURL_STATICLIB` fixes (Windows) [74]
- o cmake: move global headers to specific checks [58]
- o cmake: pre-cache `HAVE_BASENAME` for mingw-w64 and MSVC [85]
- o cmake: pre-cache `HAVE_POLL_FINE` on Windows [36]
- o cmake: tidy-up `NOT_NEED_LBER_H` detection
- o cmake: validate `CURL_DEFAULT_SSL_BACKEND` config value [50]
- o configure: check for the capath by default [63]
- o configure: remove unused checks [87]
- o configure: replace adhoc domain with `localhost` in tests [79]
- o configure: sort AC_CHECK_FUNCS
- o connect: expire the timeout when trying next [54]
- o connect: only start the happy eyeballs timer when needed [95]
- o cookie: do not store the expire or max-age strings [16]
- o cookie: remove unnecessary struct fields [17]
- o cookie: set ->running in cookie_init even if data is NULL [5]
- o create-dirs.d: clarify it also uses --output-dirs [66]
- o curl.h: mark CURLSSLBACKEND_NSS as deprecated since 8.3.0 [18]
- o curl_easy_pause.3: mention h2/h3 buffering [113]
- o curl_easy_pause.3: mention it works within callbacks [112]
- o curl_easy_pause: set "in callback" true on exit if true [100]
- o CURLOPT_DEBUGFUNCTION.3: warn about internal handles [122]
- o docs/libcurl/opts/Makefile.inc: add missing manpage files
- o docs: adapt SEE ALSO sections to new requirements [52]
- o docs: explain how PINNEDPUBLICKEY is independent of VERIFYPEER [68]
- o docs: replace made up domains with example.com [82]
- o docs: update curl man page references [89]
- o docs: use CURLSSLBACKEND_NONE [19]
- o doh: inherit DEBUGFUNCTION/DATA [12]
- o escape: replace Curl_isunreserved with ISUNRESERVED [2]
- o FAQ: How do I upgrade curl.exe in Windows? [84]
- o GHA/linux: run singleuse to detect single-use global functions [35]
- o GHA: add workflow to compare configure vs cmake outputs [102]
- o h2-proxy: remove left-over mistake in drain_tunnel() [7]
- o h2: testcase and fix for pausing h2 streams [49]
- o h3: add support for ngtcp2 with AWS-LC builds [103]
- o http2: refused stream handling for retry [121]
- o http: fix CURL_DISABLE_BEARER_AUTH breakage [28]
- o http: h1/h2 proxy unification [21]
- o http: remove wrong comment for http_should_fail [55]
- o http: use per-request counter to check too large headers [6]
- o http_aws_sigv4: fix sorting with empty parts [13]
- o idn: fix WinIDN null ptr deref on bad host [90]
- o idn: if idn2_check_version returns NULL, return error [27]
- o inet_ntop: add typecast to silence Coverity [51]
- o lib: disambiguate Curl_client_write flag semantics [24]
- o lib: enable hmac for digest as well [26]
- o lib: failf/infof compiler warnings [8]
- o lib: let the max filesize option stop too big transfers too [44]
- o lib: move handling of `data->req.writer_stack` into Curl_client_write() [97]
- o lib: provide and use Curl_hexencode [62]
- o lib: remove TIME_WITH_SYS_TIME [88]
- o lib: use wrapper for curl_mime_data fseek callback [30]
- o libssh2: fix error message on failed pubkey-from-file [22]
- o libssh: cap SFTP packet size sent [14]
- o Makefile.mk: always set `CURL_STATICLIB` for lib (Windows) [42]
- o MANUAL.md: change domain to example.com [11]
- o misc: better random strings [15]
- o MQTT: improve receive of ACKs [125]
- o multi: do CURLM_CALL_MULTI_PERFORM at two more places [99]
- o multi: fix small timeouts [70]
- o multi: remove Curl_multi_dump [37]
- o multi: round the timeout up to prevent early wakeups [98]
- o multi: set CURLM_CALL_MULTI_PERFORM after switch to DOING_MORE [115]
- o openssl: improve ssl shutdown handling [69]
- o openssl: use X509_ALGOR_get0 instead of reaching into X509_ALGOR [104]
- o pytest: exclude test_03_goaway in CI runs due to timing dependency [23]
- o quic: set ciphers/curves the same way regular TLS does [43]
- o quiche: fix build error with --with-ca-fallback [1]
- o RELEASE-PROCEDURE.md: updated coming release dates
- o runtests: display the test status if tests appear hung [81]
- o runtests: eliminate a warning on old perl versions
- o socks: return error if hostname too long for remote resolve [118]
- o src/mkhelp: make generated code pass `checksrc` [59]
- o test1056: disable on Windows
- o test1474: disable test on NetBSD, OpenBSD and Solaris 10 [31]
- o test1592: greatly increase the maximum test timeout
- o test1903: actually verify the cookies after the test [116]
- o test1906: set a lower timeout since it's hit on Windows [117]
- o test2600: remove special case handling for USE_ALARM_TIMEOUT [3]
- o test650: fix an end tag typo
- o test661: return from test early in case of curl error
- o test: add missing s
- o tests: close the shell used to start sshd [41]
- o tests: fix a race condition in ftp server disconnect [101]
- o tests: fix compiler warnings [38]
- o tests: Fix zombie processes left behind by FTP tests. [80]
- o tests: improve SLOWDOWN test reliability by reducing sent data
- o tests: increase lib571 timeout from 3s to 30s [106]
- o tests: log the test result code after each libtest
- o tests: propagate errors in libtests
- o tests: set --expect100-timeout to improve test reliability
- o tests: show which curl tool `runtests.pl` is using [60]
- o tests: stop overriding the lock timeout
- o tftpd: always use curl's own tftp.h [25]
- o tool: use our own stderr variable [94]
- o tool_cb_wrt: fix debug assertion [4]
- o tool_getparam: accept variable expansion on file names too [123]
- o tool_setopt: remove unused function tool_setopt_flags [56]
- o upload-file.d: describe the file name slash/backslash handling [9]
- o url: fall back to http/https proxy env-variable if ws/wss not set [119]
- o url: fix netrc info message [39]
- o warnless: remove unused functions [33]
- o wolfssh: do cleanup in Curl_ssh_cleanup [40]
- o wolfssl: allow capath with CURLOPT_CAINFO_BLOB [29]
- o wolfssl: if CURLOPT_CAINFO_BLOB is set, ignore the CA files [34]
- o wolfssl: ignore errors in CA path [64]
+ o autotools: fix `--with-ca-embed` build rule [3]
+ o cmake: ensure `CURL_USE_OPENSSL`/`USE_OPENSSL_QUIC` are set in sync [8]
+ o cmake: fix MSH3 to appear on the feature list [20]
+ o connect: store connection info when really done [9]
+ o CURLMOPT_TIMERFUNCTION.md: emphasize that only a single timer should run [5]
+ o FTP: partly revert eeb7c1280742f5c8fa48a4340fc1e1a1a2c7075a [34]
+ o http2: when uploading data from stdin, fix eos forwarding [7]
+ o http: make max-filesize check not count ignored bodies [33]
+ o lib: fix AF_INET6 use outside of USE_IPV6 [13]
+ o libcurl-docs: CURLINFO_LOCAL_* work for QUIC as well as TCP [1]
+ o multi: check that the multi handle is valid in curl_multi_assign [14]
+ o QUIC: on connect, keep on trying on draining server [11]
+ o request: correctly reset the eos_sent flag [21]
+ o runtests: accecpt 'quictls' as OpenSSL compatible [2]
+ o rustls: fixed minor logic bug in default cipher selection [12]
+ o rustls: rustls-ffi 0.14.0 update [18]
+ o rustls: support strong CSRNG data [16]
+ o setopt: remove superfluous use of ternary expressions [4]
+ o singleuse: drop `Curl_memrchr()` for no-HTTP builds [24]
+ o test537: cap the rlimit max this test runs [10]
+ o tests: tweak lock file handling and timers [22]
+ o tool_cb_wrt: use "curl_response" if no file name in URL [19]
+ o transfer: fix sendrecv() without interim poll [15]
+ o vtls: fix `Curl_ssl_conn_config_match` doc param [6]
This release includes the following known bugs:
- o see docs/KNOWN_BUGS (https://curl.se/docs/knownbugs.html)
+ See docs/KNOWN_BUGS (https://curl.se/docs/knownbugs.html)
+
+For all changes ever done in curl:
+
+ See https://curl.se/changes.html
Planned upcoming removals include:
- o support for space-separated NOPROXY patterns
+ o Hyper support after February 2025 [89]
+ o TLS libraries not supporting TLS 1.3
See https://curl.se/dev/deprecate.html for details
This release would not have looked like this without help, code, reports and
advice from friends like these:
- Aleksander Mazur, black-desk on github, calvin2021y on github,
- Christian Schmitz, Christian Weisgerber, claudiusaiz on github,
- consulion on github, Craig Andrews, Dan Fandrich, Daniel Stenberg,
- David Benjamin, Douglas R. Reno, Eduard Strehlau, Elliot Killick,
- Gisle Vanem, Hakan Sunay Halil, Harry Sintonen, Jakub Jelen, John Haugabook,
- Joshix-1 on github, Juliusz Sosinowicz, Junho Choi,
- Karthikdasari0423 on github, Lars Francke, Loïc Yhuel, Marc Hörsken,
- Mark Gaiser, Mathias Fuchs, Maxim Dzhura, Michael Osipov, Natanael Copa,
- Patrick Monnerat, PBudmark on github, Peter Wang, Philip Heiduck, Ray Satiro,
- Robert Simpson, Ryan Schmidt, s0urc3_ on hackerone, Samuel Henrique,
- Stefan Eissing, Ted Lyngmo, Viktor Szakats, vvb2060, w0x42 on hackerone,
- 南宫雪珊
- (46 contributors)
+ Brian Inglis, Carlo Cabrera, Daniel McCarney, Daniel Stenberg,
+ dependabot[bot], finkjsc on github, Gabriel Marin, Harry Sintonen,
+ Jan Venekamp, Julian K., MasterInQuestion on github, Michael Osipov,
+ nekopsykose on github, Patrick Steinhardt, rampageX on github,
+ Stefan Eissing, Tal Regev, Victor Kislov, Viktor Szakats
+ (19 contributors)
References to bug reports and discussions on issues:
- [1] = https://curl.se/bug/?i=11850
- [2] = https://curl.se/bug/?i=11846
- [3] = https://curl.se/bug/?i=11767
- [4] = https://github.com/curl/curl/commit/af3f4e41#r127212213
- [5] = https://curl.se/bug/?i=11875
- [6] = https://curl.se/bug/?i=11871
- [7] = https://curl.se/bug/?i=11877
- [8] = https://curl.se/bug/?i=11874
- [9] = https://curl.se/bug/?i=11911
- [10] = https://curl.se/bug/?i=11843
- [11] = https://curl.se/bug/?i=11866
- [12] = https://curl.se/bug/?i=11864
- [13] = https://curl.se/bug/?i=11855
- [14] = https://curl.se/bug/?i=11804
- [15] = https://curl.se/bug/?i=11838
- [16] = https://curl.se/bug/?i=11862
- [17] = https://curl.se/bug/?i=11862
- [18] = https://curl.se/bug/?i=11905
- [19] = https://curl.se/bug/?i=11909
- [20] = https://curl.se/bug/?i=11750
- [21] = https://curl.se/bug/?i=11808
- [22] = https://curl.se/bug/?i=11837
- [23] = https://curl.se/bug/?i=11860
- [24] = https://curl.se/bug/?i=11885
- [25] = https://curl.se/bug/?i=11897
- [26] = https://curl.se/bug/?i=11890
- [27] = https://curl.se/bug/?i=11898
- [28] = https://curl.se/bug/?i=11892
- [29] = https://curl.se/bug/?i=11886
- [30] = https://curl.se/bug/?i=11882
- [31] = https://curl.se/bug/?i=11888
- [32] = https://curl.se/bug/?i=11893
- [33] = https://curl.se/bug/?i=11932
- [34] = https://curl.se/bug/?i=11884
- [35] = https://curl.se/bug/?i=11932
- [36] = https://curl.se/bug/?i=12003
- [37] = https://curl.se/bug/?i=11931
- [38] = https://curl.se/bug/?i=11925
- [39] = https://curl.se/bug/?i=11904
- [40] = https://curl.se/bug/?i=11921
- [41] = https://curl.se/bug/?i=12032
- [42] = https://curl.se/bug/?i=11924
- [43] = https://curl.se/bug/?i=11796
- [44] = https://curl.se/bug/?i=11810
- [45] = https://curl.se/bug/?i=11625
- [46] = https://curl.se/bug/?i=8805
- [47] = https://curl.se/bug/?i=11915
- [48] = https://curl.se/bug/?i=11912
- [49] = https://curl.se/bug/?i=11982
- [50] = https://curl.se/bug/?i=11998
- [51] = https://curl.se/bug/?i=11960
- [52] = https://curl.se/bug/?i=11957
- [53] = https://curl.se/bug/?i=11997
- [54] = https://curl.se/bug/?i=11920
- [55] = https://curl.se/bug/?i=11941
- [56] = https://curl.se/bug/?i=11943
- [57] = https://curl.se/bug/?i=11954
- [58] = https://curl.se/bug/?i=11951
- [59] = https://curl.se/bug/?i=11955
- [60] = https://curl.se/bug/?i=11953
- [61] = https://curl.se/bug/?i=11996
- [62] = https://curl.se/bug/?i=11990
- [63] = https://curl.se/bug/?i=11987
- [64] = https://curl.se/bug/?i=11987
- [65] = https://curl.se/bug/?i=11940
- [66] = https://curl.se/bug/?i=11991
- [67] = https://curl.se/bug/?i=11994
- [68] = https://curl.se/bug/?i=2935
- [69] = https://curl.se/bug/?i=11858
- [70] = https://curl.se/bug/?i=11937
- [71] = https://curl.se/bug/?i=11929
- [72] = https://curl.se/bug/?i=11927
- [73] = https://curl.se/bug/?i=11926
- [74] = https://curl.se/bug/?i=11914
- [75] = https://curl.se/bug/?i=11981
- [76] = https://curl.se/bug/?i=11979
- [77] = https://curl.se/bug/?i=11978
- [78] = https://curl.se/bug/?i=12010
- [79] = https://curl.se/bug/?i=11988
- [80] = https://curl.se/bug/?i=12018
- [81] = https://curl.se/bug/?i=11980
- [82] = https://curl.se/bug/?i=11986
- [83] = https://curl.se/bug/?i=11985
- [84] = https://curl.se/bug/?i=11984
- [85] = https://curl.se/bug/?i=11974
- [86] = https://curl.se/bug/?i=11973
- [87] = https://curl.se/bug/?i=11973
- [88] = https://curl.se/bug/?i=11975
- [89] = https://curl.se/bug/?i=11963
- [90] = https://curl.se/bug/?i=11983
- [91] = https://curl.se/bug/?i=11977
- [92] = https://curl.se/bug/?i=12024
- [93] = https://curl.se/bug/?i=11967
- [94] = https://curl.se/bug/?i=11958
- [95] = https://curl.se/bug/?i=11939
- [96] = https://curl.se/bug/?i=12027
- [97] = https://curl.se/bug/?i=11908
- [98] = https://curl.se/bug/?i=11938
- [99] = https://curl.se/bug/?i=12033
- [100] = https://curl.se/bug/?i=12059
- [101] = https://curl.se/bug/?i=12002
- [102] = https://curl.se/bug/?i=11964
- [103] = https://curl.se/bug/?i=12066
- [104] = https://curl.se/bug/?i=12038
- [105] = https://curl.se/bug/?i=12015
- [106] = https://curl.se/bug/?i=12013
- [107] = https://curl.se/bug/?i=11928
- [108] = https://curl.se/bug/?i=12005
- [109] = https://curl.se/bug/?i=11999
- [110] = https://curl.se/bug/?i=12006
- [111] = https://curl.se/bug/?i=12008
- [112] = https://curl.se/mail/lib-2023-10/0010.html
- [113] = https://curl.se/bug/?i=12045
- [114] = https://curl.se/bug/?i=12065
- [115] = https://curl.se/bug/?i=12042
- [116] = https://curl.se/bug/?i=12041
- [117] = https://curl.se/bug/?i=12036
- [118] = https://curl.se/docs/CVE-2023-38545.html
- [119] = https://curl.se/bug/?i=12031
- [120] = https://curl.se/bug/?i=12035
- [121] = https://curl.se/bug/?i=12054
- [122] = https://curl.se/bug/?i=12034
- [123] = https://curl.se/bug/?i=12048
- [125] = https://curl.se/bug/?i=12071
+ [1] = https://curl.se/bug/?i=14852
+ [2] = https://curl.se/bug/?i=14850
+ [3] = https://curl.se/bug/?i=14879
+ [4] = https://curl.se/bug/?i=14884
+ [5] = https://curl.se/bug/?i=14886
+ [6] = https://curl.se/bug/?i=14887
+ [7] = https://curl.se/bug/?i=14870
+ [8] = https://curl.se/bug/?i=14872
+ [9] = https://curl.se/bug/?i=14897
+ [10] = https://curl.se/bug/?i=14857
+ [11] = https://curl.se/bug/?i=14863
+ [12] = https://curl.se/bug/?i=14840
+ [13] = https://curl.se/bug/?i=14858
+ [14] = https://curl.se/bug/?i=14860
+ [15] = https://curl.se/bug/?i=14898
+ [16] = https://curl.se/bug/?i=14889
+ [18] = https://curl.se/bug/?i=14889
+ [19] = https://curl.se/bug/?i=14939
+ [20] = https://curl.se/bug/?i=14927
+ [21] = https://marc.info/?l=git&m=172620452502747&w=2
+ [22] = https://curl.se/bug/?i=14835
+ [24] = https://curl.se/bug/?i=14919
+ [33] = https://curl.se/bug/?i=14899
+ [34] = https://curl.se/bug/?i=14873
diff --git a/curl/REUSE.toml b/curl/REUSE.toml
new file mode 100644
index 00000000..431cbb59
--- /dev/null
+++ b/curl/REUSE.toml
@@ -0,0 +1,56 @@
+# SPDX-License-Identifier: curl
+# SPDX-FileCopyrightText: Daniel Stenberg, , et al.
+
+# This file describes the licensing and copyright situation for files that
+# cannot be annotated directly, for example because of being simply
+# uncommentable. Unless this is the case, a file should be annotated directly.
+#
+# This follows the REUSE specification: https://reuse.software/spec-3.2/#reusetoml
+
+version = 1
+SPDX-PackageName = "curl"
+SPDX-PackageDownloadLocation = "https://curl.se/"
+
+[[annotations]]
+path = [
+ ".mailmap",
+ "docs/FAQ",
+ "docs/INSTALL",
+ "docs/KNOWN_BUGS",
+ "docs/libcurl/symbols-in-versions",
+ "docs/MAIL-ETIQUETTE",
+ "docs/options-in-versions",
+ "docs/THANKS",
+ "docs/TODO",
+ "GIT-INFO.md",
+ "lib/libcurl.vers.in",
+ "lib/libcurl.def",
+ "packages/OS400/README.OS400",
+ "packages/vms/build_vms.com",
+ "packages/vms/curl_release_note_start.txt",
+ "packages/vms/curlmsg.sdl",
+ "packages/vms/macro32_exactcase.patch",
+ "packages/vms/readme",
+ "plan9/README",
+ "projects/Windows/**", "projects/wolfssl_override.props",
+ "README",
+ "RELEASE-NOTES",
+ "renovate.json",
+ "tests/certs/**",
+ "tests/data/test**",
+ "tests/stunnel.pem",
+ "tests/valgrind.supp",
+ # checksrc control files
+ "docs/examples/.checksrc",
+ "lib/.checksrc",
+ "lib/vauth/.checksrc",
+ "lib/vquic/.checksrc",
+ "lib/vssh/.checksrc",
+ "lib/vtls/.checksrc",
+ "src/.checksrc",
+ "tests/libtest/.checksrc",
+]
+SPDX-FileCopyrightText = "Daniel Stenberg, , et al."
+SPDX-License-Identifier = "curl"
+# If there is licensing/copyright information in or next to these files, prefer that
+precedence = "closest"
diff --git a/curl/SECURITY.md b/curl/SECURITY.md
new file mode 100644
index 00000000..64e0d2fe
--- /dev/null
+++ b/curl/SECURITY.md
@@ -0,0 +1,29 @@
+
+
+# Security Policy
+
+Read our [Vulnerability Disclosure Policy](docs/VULN-DISCLOSURE-POLICY.md).
+
+## Reporting a Vulnerability
+
+If you have found or just suspect a security problem somewhere in curl or
+libcurl, report it on [HackerOne](https://hackerone.com/curl).
+
+We treat security issues with confidentiality until controlled and disclosed responsibly.
+
+## OpenSSF Best Practices
+
+curl has achieved Gold status on the Open Source Security Foundation (OpenSSF)
+[Best Practices](https://bestpractices.dev/) (formerly Core Infrastructure
+Initiative Best Practices), reflecting its adherence to rigorous
+security and best practice standards. This achievement highlights curl's
+comprehensive documentation, secure development processes, effective change
+control mechanisms, and strong maintenance routines. Meeting these criteria
+demonstrates curl's commitment to security and reliability, ensuring the
+project's sustainability and trustworthiness. This underscores curl's role as
+a leader in open-source software practices. More information can be found on
+[curl's OpenSSF Best Practices project page](https://www.bestpractices.dev/projects/63).
diff --git a/curl/acinclude.m4 b/curl/acinclude.m4
index 5fdd51e5..d0f492bd 100644
--- a/curl/acinclude.m4
+++ b/curl/acinclude.m4
@@ -94,7 +94,7 @@ int main (void)
#ifdef $1
return 0;
#else
- force compilation error
+ #error force compilation error
#endif
}
]])
@@ -130,7 +130,7 @@ int main (void)
#elif defined(__hpux) && defined(_XOPEN_SOURCE_EXTENDED)
return 0;
#else
- force compilation error
+ #error force compilation error
#endif
}
]])
@@ -156,7 +156,6 @@ AC_DEFUN([CURL_CHECK_AIX_ALL_SOURCE], [
#endif])
AC_BEFORE([$0], [AC_SYS_LARGEFILE])dnl
AC_BEFORE([$0], [CURL_CONFIGURE_REENTRANT])dnl
- AC_BEFORE([$0], [CURL_CONFIGURE_PULL_SYS_POLL])dnl
AC_MSG_CHECKING([if OS is AIX (to define _ALL_SOURCE)])
AC_EGREP_CPP([yes_this_is_aix],[
#ifdef _AIX
@@ -171,144 +170,28 @@ AC_DEFUN([CURL_CHECK_AIX_ALL_SOURCE], [
])
-dnl CURL_CHECK_HEADER_WINDOWS
-dnl -------------------------------------------------
-dnl Check for compilable and valid windows.h header
-
-AC_DEFUN([CURL_CHECK_HEADER_WINDOWS], [
- AC_CACHE_CHECK([for windows.h], [curl_cv_header_windows_h], [
- AC_COMPILE_IFELSE([
- AC_LANG_PROGRAM([[
-#undef inline
-#ifndef WIN32_LEAN_AND_MEAN
-#define WIN32_LEAN_AND_MEAN
-#endif
-#include
- ]],[[
-#if defined(__CYGWIN__) || defined(__CEGCC__)
- HAVE_WINDOWS_H shall not be defined.
-#else
- int dummy=2*WINVER;
-#endif
- ]])
- ],[
- curl_cv_header_windows_h="yes"
- ],[
- curl_cv_header_windows_h="no"
- ])
- ])
- case "$curl_cv_header_windows_h" in
- yes)
- AC_DEFINE_UNQUOTED(HAVE_WINDOWS_H, 1,
- [Define to 1 if you have the windows.h header file.])
- ;;
- esac
-])
-
-
dnl CURL_CHECK_NATIVE_WINDOWS
dnl -------------------------------------------------
dnl Check if building a native Windows target
AC_DEFUN([CURL_CHECK_NATIVE_WINDOWS], [
- AC_REQUIRE([CURL_CHECK_HEADER_WINDOWS])dnl
AC_CACHE_CHECK([whether build target is a native Windows one], [curl_cv_native_windows], [
- if test "$curl_cv_header_windows_h" = "no"; then
- curl_cv_native_windows="no"
- else
- AC_COMPILE_IFELSE([
- AC_LANG_PROGRAM([[
- ]],[[
-#if defined(__MINGW32__) || defined(__MINGW32CE__) || \
- (defined(_MSC_VER) && (defined(_WIN32) || defined(_WIN64)))
- int dummy=1;
-#else
- Not a native Windows build target.
-#endif
- ]])
- ],[
- curl_cv_native_windows="yes"
- ],[
- curl_cv_native_windows="no"
- ])
- fi
- ])
- AM_CONDITIONAL(DOING_NATIVE_WINDOWS, test "x$curl_cv_native_windows" = xyes)
-])
-
-
-dnl CURL_CHECK_HEADER_WINSOCK2
-dnl -------------------------------------------------
-dnl Check for compilable and valid winsock2.h header
-
-AC_DEFUN([CURL_CHECK_HEADER_WINSOCK2], [
- AC_REQUIRE([CURL_CHECK_HEADER_WINDOWS])dnl
- AC_CACHE_CHECK([for winsock2.h], [curl_cv_header_winsock2_h], [
AC_COMPILE_IFELSE([
AC_LANG_PROGRAM([[
-#undef inline
-#ifndef WIN32_LEAN_AND_MEAN
-#define WIN32_LEAN_AND_MEAN
-#endif
-#include
-#include
]],[[
-#if defined(__CYGWIN__) || defined(__CEGCC__) || defined(__MINGW32CE__)
- HAVE_WINSOCK2_H shall not be defined.
+#ifdef _WIN32
+ int dummy=1;
#else
- int dummy=2*IPPROTO_ESP;
+ Not a native Windows build target.
#endif
]])
],[
- curl_cv_header_winsock2_h="yes"
+ curl_cv_native_windows="yes"
],[
- curl_cv_header_winsock2_h="no"
- ])
- ])
- case "$curl_cv_header_winsock2_h" in
- yes)
- AC_DEFINE_UNQUOTED(HAVE_WINSOCK2_H, 1,
- [Define to 1 if you have the winsock2.h header file.])
- ;;
- esac
-])
-
-
-dnl CURL_CHECK_HEADER_WS2TCPIP
-dnl -------------------------------------------------
-dnl Check for compilable and valid ws2tcpip.h header
-
-AC_DEFUN([CURL_CHECK_HEADER_WS2TCPIP], [
- AC_REQUIRE([CURL_CHECK_HEADER_WINSOCK2])dnl
- AC_CACHE_CHECK([for ws2tcpip.h], [curl_cv_header_ws2tcpip_h], [
- AC_COMPILE_IFELSE([
- AC_LANG_PROGRAM([[
-#undef inline
-#ifndef WIN32_LEAN_AND_MEAN
-#define WIN32_LEAN_AND_MEAN
-#endif
-#include
-#include
-#include
- ]],[[
-#if defined(__CYGWIN__) || defined(__CEGCC__) || defined(__MINGW32CE__)
- HAVE_WS2TCPIP_H shall not be defined.
-#else
- int dummy=2*IP_PKTINFO;
-#endif
- ]])
- ],[
- curl_cv_header_ws2tcpip_h="yes"
- ],[
- curl_cv_header_ws2tcpip_h="no"
+ curl_cv_native_windows="no"
])
])
- case "$curl_cv_header_ws2tcpip_h" in
- yes)
- AC_DEFINE_UNQUOTED(HAVE_WS2TCPIP_H, 1,
- [Define to 1 if you have the ws2tcpip.h header file.])
- ;;
- esac
+ AM_CONDITIONAL(DOING_NATIVE_WINDOWS, test "x$curl_cv_native_windows" = xyes)
])
@@ -318,12 +201,12 @@ dnl Check for compilable and valid lber.h header,
dnl and check if it is needed even with ldap.h
AC_DEFUN([CURL_CHECK_HEADER_LBER], [
- AC_REQUIRE([CURL_CHECK_HEADER_WINDOWS])dnl
+ AC_REQUIRE([CURL_CHECK_NATIVE_WINDOWS])dnl
AC_CACHE_CHECK([for lber.h], [curl_cv_header_lber_h], [
AC_COMPILE_IFELSE([
AC_LANG_PROGRAM([[
#undef inline
-#ifdef HAVE_WINDOWS_H
+#ifdef _WIN32
#ifndef WIN32_LEAN_AND_MEAN
#define WIN32_LEAN_AND_MEAN
#endif
@@ -355,7 +238,7 @@ AC_DEFUN([CURL_CHECK_HEADER_LBER], [
AC_COMPILE_IFELSE([
AC_LANG_PROGRAM([[
#undef inline
-#ifdef HAVE_WINDOWS_H
+#ifdef _WIN32
#ifndef WIN32_LEAN_AND_MEAN
#define WIN32_LEAN_AND_MEAN
#endif
@@ -403,7 +286,7 @@ AC_DEFUN([CURL_CHECK_HEADER_LDAP], [
AC_COMPILE_IFELSE([
AC_LANG_PROGRAM([[
#undef inline
-#ifdef HAVE_WINDOWS_H
+#ifdef _WIN32
#ifndef WIN32_LEAN_AND_MEAN
#define WIN32_LEAN_AND_MEAN
#endif
@@ -449,7 +332,7 @@ AC_DEFUN([CURL_CHECK_HEADER_LDAP_SSL], [
AC_COMPILE_IFELSE([
AC_LANG_PROGRAM([[
#undef inline
-#ifdef HAVE_WINDOWS_H
+#ifdef _WIN32
#ifndef WIN32_LEAN_AND_MEAN
#define WIN32_LEAN_AND_MEAN
#endif
@@ -534,7 +417,7 @@ AC_DEFUN([CURL_CHECK_LIBS_WINLDAP], [
AC_LINK_IFELSE([
AC_LANG_PROGRAM([[
#undef inline
-#ifdef HAVE_WINDOWS_H
+#ifdef _WIN32
#ifndef WIN32_LEAN_AND_MEAN
#define WIN32_LEAN_AND_MEAN
#endif
@@ -632,7 +515,7 @@ AC_DEFUN([CURL_CHECK_LIBS_LDAP], [
AC_LINK_IFELSE([
AC_LANG_PROGRAM([[
#undef inline
-#ifdef HAVE_WINDOWS_H
+#ifdef _WIN32
#ifndef WIN32_LEAN_AND_MEAN
#define WIN32_LEAN_AND_MEAN
#endif
@@ -697,18 +580,15 @@ dnl hosts have it, but AIX 4.3 is one known exception.
AC_DEFUN([TYPE_SOCKADDR_STORAGE],
[
AC_CHECK_TYPE([struct sockaddr_storage],
- AC_DEFINE(HAVE_STRUCT_SOCKADDR_STORAGE, 1,
- [if struct sockaddr_storage is defined]), ,
+ AC_DEFINE(HAVE_STRUCT_SOCKADDR_STORAGE, 1,
+ [if struct sockaddr_storage is defined]), ,
[
#undef inline
-#ifdef HAVE_WINDOWS_H
+#ifdef _WIN32
#ifndef WIN32_LEAN_AND_MEAN
#define WIN32_LEAN_AND_MEAN
#endif
-#include
-#ifdef HAVE_WINSOCK2_H
#include
-#endif
#else
#ifdef HAVE_SYS_TYPES_H
#include
@@ -731,7 +611,7 @@ dnl -------------------------------------------------
dnl Test if the socket recv() function is available,
AC_DEFUN([CURL_CHECK_FUNC_RECV], [
- AC_REQUIRE([CURL_CHECK_HEADER_WINSOCK2])dnl
+ AC_REQUIRE([CURL_CHECK_NATIVE_WINDOWS])dnl
AC_REQUIRE([CURL_INCLUDES_BSDSOCKET])dnl
AC_CHECK_HEADERS(sys/types.h sys/socket.h)
#
@@ -739,14 +619,11 @@ AC_DEFUN([CURL_CHECK_FUNC_RECV], [
AC_LINK_IFELSE([
AC_LANG_PROGRAM([[
#undef inline
-#ifdef HAVE_WINDOWS_H
+#ifdef _WIN32
#ifndef WIN32_LEAN_AND_MEAN
#define WIN32_LEAN_AND_MEAN
#endif
-#include
-#ifdef HAVE_WINSOCK2_H
#include
-#endif
#else
$curl_includes_bsdsocket
#ifdef HAVE_SYS_TYPES_H
@@ -768,9 +645,9 @@ $curl_includes_bsdsocket
])
#
if test "$curl_cv_recv" = "yes"; then
- AC_DEFINE_UNQUOTED(HAVE_RECV, 1,
- [Define to 1 if you have the recv function.])
- curl_cv_func_recv="yes"
+ AC_DEFINE_UNQUOTED(HAVE_RECV, 1,
+ [Define to 1 if you have the recv function.])
+ curl_cv_func_recv="yes"
else
AC_MSG_ERROR([Unable to link function recv])
fi
@@ -782,7 +659,7 @@ dnl -------------------------------------------------
dnl Test if the socket send() function is available,
AC_DEFUN([CURL_CHECK_FUNC_SEND], [
- AC_REQUIRE([CURL_CHECK_HEADER_WINSOCK2])dnl
+ AC_REQUIRE([CURL_CHECK_NATIVE_WINDOWS])dnl
AC_REQUIRE([CURL_INCLUDES_BSDSOCKET])dnl
AC_CHECK_HEADERS(sys/types.h sys/socket.h)
#
@@ -790,14 +667,11 @@ AC_DEFUN([CURL_CHECK_FUNC_SEND], [
AC_LINK_IFELSE([
AC_LANG_PROGRAM([[
#undef inline
-#ifdef HAVE_WINDOWS_H
+#ifdef _WIN32
#ifndef WIN32_LEAN_AND_MEAN
#define WIN32_LEAN_AND_MEAN
#endif
-#include
-#ifdef HAVE_WINSOCK2_H
#include
-#endif
#else
$curl_includes_bsdsocket
#ifdef HAVE_SYS_TYPES_H
@@ -837,14 +711,11 @@ AC_DEFUN([CURL_CHECK_MSG_NOSIGNAL], [
AC_COMPILE_IFELSE([
AC_LANG_PROGRAM([[
#undef inline
-#ifdef HAVE_WINDOWS_H
+#ifdef _WIN32
#ifndef WIN32_LEAN_AND_MEAN
#define WIN32_LEAN_AND_MEAN
#endif
-#include
-#ifdef HAVE_WINSOCK2_H
#include
-#endif
#else
#ifdef HAVE_SYS_TYPES_H
#include
@@ -876,21 +747,18 @@ dnl -------------------------------------------------
dnl Check for timeval struct
AC_DEFUN([CURL_CHECK_STRUCT_TIMEVAL], [
- AC_REQUIRE([CURL_CHECK_HEADER_WINSOCK2])dnl
+ AC_REQUIRE([CURL_CHECK_NATIVE_WINDOWS])dnl
AC_CHECK_HEADERS(sys/types.h sys/time.h sys/socket.h)
AC_CACHE_CHECK([for struct timeval], [curl_cv_struct_timeval], [
AC_COMPILE_IFELSE([
AC_LANG_PROGRAM([[
#undef inline
-#ifdef HAVE_WINDOWS_H
+#ifdef _WIN32
#ifndef WIN32_LEAN_AND_MEAN
#define WIN32_LEAN_AND_MEAN
#endif
-#include
-#ifdef HAVE_WINSOCK2_H
#include
#endif
-#endif
#ifdef HAVE_SYS_TYPES_H
#include
#endif
@@ -937,14 +805,11 @@ AC_DEFUN([TYPE_IN_ADDR_T], [
AC_LINK_IFELSE([
AC_LANG_PROGRAM([[
#undef inline
-#ifdef HAVE_WINDOWS_H
+#ifdef _WIN32
#ifndef WIN32_LEAN_AND_MEAN
#define WIN32_LEAN_AND_MEAN
#endif
-#include
-#ifdef HAVE_WINSOCK2_H
#include
-#endif
#else
#ifdef HAVE_SYS_TYPES_H
#include
@@ -979,14 +844,11 @@ AC_DEFUN([TYPE_IN_ADDR_T], [
esac
],[
#undef inline
-#ifdef HAVE_WINDOWS_H
+#ifdef _WIN32
#ifndef WIN32_LEAN_AND_MEAN
#define WIN32_LEAN_AND_MEAN
#endif
-#include
-#ifdef HAVE_WINSOCK2_H
#include
-#endif
#else
#ifdef HAVE_SYS_TYPES_H
#include
@@ -1197,7 +1059,7 @@ AC_DEFUN([CURL_CHECK_LIBS_CONNECT], [
AC_LANG_PROGRAM([[
$curl_includes_winsock2
$curl_includes_bsdsocket
- #if !defined(HAVE_WINDOWS_H) && !defined(HAVE_PROTO_BSDSOCKET_H)
+ #if !defined(_WIN32) && !defined(HAVE_PROTO_BSDSOCKET_H)
int connect(int, void*, int);
#endif
]],[[
@@ -1227,60 +1089,6 @@ AC_DEFUN([CURL_CHECK_LIBS_CONNECT], [
])
-dnl CURL_DEFINE_UNQUOTED (VARIABLE, [VALUE])
-dnl -------------------------------------------------
-dnl Like AC_DEFINE_UNQUOTED this macro will define a C preprocessor
-dnl symbol that can be further used in custom template configuration
-dnl files. This macro, unlike AC_DEFINE_UNQUOTED, does not use a third
-dnl argument for the description. Symbol definitions done with this
-dnl macro are intended to be exclusively used in handcrafted *.h.in
-dnl template files. Contrary to what AC_DEFINE_UNQUOTED does, this one
-dnl prevents autoheader generation and insertion of symbol template
-dnl stub and definition into the first configuration header file. Do
-dnl not use this macro as a replacement for AC_DEFINE_UNQUOTED, each
-dnl one serves different functional needs.
-
-AC_DEFUN([CURL_DEFINE_UNQUOTED], [
-cat >>confdefs.h <<_EOF
-[@%:@define] $1 ifelse($#, 2, [$2], 1)
-_EOF
-])
-
-dnl CURL_CONFIGURE_PULL_SYS_POLL
-dnl -------------------------------------------------
-dnl The need for the sys/poll.h inclusion arises mainly to properly
-dnl interface AIX systems which define macros 'events' and 'revents'.
-
-AC_DEFUN([CURL_CONFIGURE_PULL_SYS_POLL], [
- AC_REQUIRE([CURL_INCLUDES_POLL])dnl
- #
- tst_poll_events_macro_defined="unknown"
- #
- AC_COMPILE_IFELSE([
- AC_LANG_PROGRAM([[
- $curl_includes_poll
- ]],[[
-#if defined(events) || defined(revents)
- return 0;
-#else
- force compilation error
-#endif
- ]])
- ],[
- tst_poll_events_macro_defined="yes"
- ],[
- tst_poll_events_macro_defined="no"
- ])
- #
- if test "$tst_poll_events_macro_defined" = "yes"; then
- if test "x$ac_cv_header_sys_poll_h" = "xyes"; then
- CURL_DEFINE_UNQUOTED([CURL_PULL_SYS_POLL_H])
- fi
- fi
- #
-])
-
-
dnl CURL_CHECK_FUNC_SELECT
dnl -------------------------------------------------
dnl Test if the socket select() function is available.
@@ -1294,15 +1102,12 @@ AC_DEFUN([CURL_CHECK_FUNC_SELECT], [
AC_LINK_IFELSE([
AC_LANG_PROGRAM([[
#undef inline
-#ifdef HAVE_WINDOWS_H
+#ifdef _WIN32
#ifndef WIN32_LEAN_AND_MEAN
#define WIN32_LEAN_AND_MEAN
#endif
-#include
-#ifdef HAVE_WINSOCK2_H
#include
#endif
-#endif
#ifdef HAVE_SYS_TYPES_H
#include
#endif
@@ -1310,7 +1115,7 @@ AC_DEFUN([CURL_CHECK_FUNC_SELECT], [
#include
#endif
#include
-#ifndef HAVE_WINDOWS_H
+#ifndef _WIN32
#ifdef HAVE_SYS_SELECT_H
#include
#elif defined(HAVE_UNISTD_H)
@@ -1374,70 +1179,6 @@ int main()
])
-dnl CURL_CHECK_VARIADIC_MACROS
-dnl -------------------------------------------------
-dnl Check compiler support of variadic macros
-
-AC_DEFUN([CURL_CHECK_VARIADIC_MACROS], [
- AC_CACHE_CHECK([for compiler support of C99 variadic macro style],
- [curl_cv_variadic_macros_c99], [
- AC_COMPILE_IFELSE([
- AC_LANG_PROGRAM([[
-#define c99_vmacro3(first, ...) fun3(first, __VA_ARGS__)
-#define c99_vmacro2(first, ...) fun2(first, __VA_ARGS__)
- int fun3(int arg1, int arg2, int arg3);
- int fun2(int arg1, int arg2);
- int fun3(int arg1, int arg2, int arg3)
- { return arg1 + arg2 + arg3; }
- int fun2(int arg1, int arg2)
- { return arg1 + arg2; }
- ]],[[
- int res3 = c99_vmacro3(1, 2, 3);
- int res2 = c99_vmacro2(1, 2);
- ]])
- ],[
- curl_cv_variadic_macros_c99="yes"
- ],[
- curl_cv_variadic_macros_c99="no"
- ])
- ])
- case "$curl_cv_variadic_macros_c99" in
- yes)
- AC_DEFINE_UNQUOTED(HAVE_VARIADIC_MACROS_C99, 1,
- [Define to 1 if compiler supports C99 variadic macro style.])
- ;;
- esac
- AC_CACHE_CHECK([for compiler support of old gcc variadic macro style],
- [curl_cv_variadic_macros_gcc], [
- AC_COMPILE_IFELSE([
- AC_LANG_PROGRAM([[
-#define gcc_vmacro3(first, args...) fun3(first, args)
-#define gcc_vmacro2(first, args...) fun2(first, args)
- int fun3(int arg1, int arg2, int arg3);
- int fun2(int arg1, int arg2);
- int fun3(int arg1, int arg2, int arg3)
- { return arg1 + arg2 + arg3; }
- int fun2(int arg1, int arg2)
- { return arg1 + arg2; }
- ]],[[
- int res3 = gcc_vmacro3(1, 2, 3);
- int res2 = gcc_vmacro2(1, 2);
- ]])
- ],[
- curl_cv_variadic_macros_gcc="yes"
- ],[
- curl_cv_variadic_macros_gcc="no"
- ])
- ])
- case "$curl_cv_variadic_macros_gcc" in
- yes)
- AC_DEFINE_UNQUOTED(HAVE_VARIADIC_MACROS_GCC, 1,
- [Define to 1 if compiler supports old gcc variadic macro style.])
- ;;
- esac
-])
-
-
dnl CURL_CHECK_CA_BUNDLE
dnl -------------------------------------------------
dnl Check if a default ca-bundle should be used
@@ -1456,7 +1197,7 @@ AC_DEFUN([CURL_CHECK_CA_BUNDLE], [
AC_ARG_WITH(ca-bundle,
AS_HELP_STRING([--with-ca-bundle=FILE],
-[Path to a file containing CA certificates (example: /etc/ca-bundle.crt)])
+ [Path to a file containing CA certificates (example: /etc/ca-bundle.crt)])
AS_HELP_STRING([--without-ca-bundle], [Don't use a default CA bundle]),
[
want_ca="$withval"
@@ -1467,7 +1208,7 @@ AS_HELP_STRING([--without-ca-bundle], [Don't use a default CA bundle]),
[ want_ca="unset" ])
AC_ARG_WITH(ca-path,
AS_HELP_STRING([--with-ca-path=DIRECTORY],
-[Path to a directory containing CA certificates stored individually, with \
+ [Path to a directory containing CA certificates stored individually, with \
their filenames in a hash format. This option can be used with the OpenSSL, \
GnuTLS, mbedTLS and wolfSSL backends. Refer to OpenSSL c_rehash for details. \
(example: /etc/certificates)])
@@ -1495,24 +1236,19 @@ AS_HELP_STRING([--without-ca-path], [Don't use a default CA path]),
capath="no"
elif test "x$want_capath" != "xno" -a "x$want_capath" != "xunset"; then
dnl --with-ca-path given
- if test "x$OPENSSL_ENABLED" != "x1" -a \
- "x$GNUTLS_ENABLED" != "x1" -a \
- "x$MBEDTLS_ENABLED" != "x1" -a \
- "x$WOLFSSL_ENABLED" != "x1"; then
- AC_MSG_ERROR([--with-ca-path only works with OpenSSL, GnuTLS, mbedTLS or wolfSSL])
- fi
capath="$want_capath"
ca="no"
else
- dnl first try autodetecting a CA bundle , then a CA path
- dnl both autodetections can be skipped by --without-ca-*
+ dnl First try auto-detecting a CA bundle, then a CA path.
+ dnl Both auto-detections can be skipped by --without-ca-*
ca="no"
capath="no"
- if test "x$cross_compiling" != "xyes"; then
+ if test "x$cross_compiling" != "xyes" -a \
+ "x$curl_cv_native_windows" != "xyes"; then
dnl NOT cross-compiling and...
dnl neither of the --with-ca-* options are provided
if test "x$want_ca" = "xunset"; then
- dnl the path we previously would have installed the curl ca bundle
+ dnl the path we previously would have installed the curl CA bundle
dnl to, and thus we now check for an already existing cert in that
dnl place in case we find no other
if test "x$prefix" != xNONE; then
@@ -1535,12 +1271,7 @@ AS_HELP_STRING([--without-ca-path], [Don't use a default CA path]),
fi
AC_MSG_NOTICE([want $want_capath ca $ca])
if test "x$want_capath" = "xunset"; then
- if test "x$OPENSSL_ENABLED" = "x1" -o \
- "x$GNUTLS_ENABLED" = "x1" -o \
- "x$MBEDTLS_ENABLED" = "x1" -o \
- "x$WOLFSSL_ENABLED" = "x1"; then
- check_capath="/etc/ssl/certs"
- fi
+ check_capath="/etc/ssl/certs"
fi
else
dnl no option given and cross-compiling
@@ -1587,10 +1318,10 @@ AS_HELP_STRING([--without-ca-path], [Don't use a default CA path]),
AC_MSG_RESULT([no])
fi
- AC_MSG_CHECKING([whether to use builtin CA store of SSL library])
+ AC_MSG_CHECKING([whether to use built-in CA store of SSL library])
AC_ARG_WITH(ca-fallback,
-AS_HELP_STRING([--with-ca-fallback], [Use the built in CA store of the SSL library])
-AS_HELP_STRING([--without-ca-fallback], [Don't use the built in CA store of the SSL library]),
+AS_HELP_STRING([--with-ca-fallback], [Use the built-in CA store of the SSL library])
+AS_HELP_STRING([--without-ca-fallback], [Don't use the built-in CA store of the SSL library]),
[
if test "x$with_ca_fallback" != "xyes" -a "x$with_ca_fallback" != "xno"; then
AC_MSG_ERROR([--with-ca-fallback only allows yes or no as parameter])
@@ -1602,29 +1333,58 @@ AS_HELP_STRING([--without-ca-fallback], [Don't use the built in CA store of the
if test "x$OPENSSL_ENABLED" != "x1" -a "x$GNUTLS_ENABLED" != "x1"; then
AC_MSG_ERROR([--with-ca-fallback only works with OpenSSL or GnuTLS])
fi
- AC_DEFINE_UNQUOTED(CURL_CA_FALLBACK, 1, [define "1" to use built in CA store of SSL library ])
+ AC_DEFINE_UNQUOTED(CURL_CA_FALLBACK, 1, [define "1" to use built-in CA store of SSL library ])
+ fi
+])
+
+
+dnl CURL_CHECK_CA_EMBED
+dnl -------------------------------------------------
+dnl Check if a ca-bundle should be embedded
+
+AC_DEFUN([CURL_CHECK_CA_EMBED], [
+
+ AC_MSG_CHECKING([CA cert bundle path to embed])
+
+ AC_ARG_WITH(ca-embed,
+AS_HELP_STRING([--with-ca-embed=FILE],
+ [Path to a file containing CA certificates (example: /etc/ca-bundle.crt)])
+AS_HELP_STRING([--without-ca-embed], [Don't embed a default CA bundle]),
+ [
+ want_ca_embed="$withval"
+ if test "x$want_ca_embed" = "xyes"; then
+ AC_MSG_ERROR([--with-ca-embed=FILE requires a path to the CA bundle])
+ fi
+ ],
+ [ want_ca_embed="unset" ])
+
+ CURL_CA_EMBED=''
+ if test "x$want_ca_embed" != "xno" -a "x$want_ca_embed" != "xunset" -a -f "$want_ca_embed"; then
+ CURL_CA_EMBED="$want_ca_embed"
+ AC_SUBST(CURL_CA_EMBED)
+ AC_MSG_RESULT([$want_ca_embed])
+ else
+ AC_MSG_RESULT([no])
fi
])
dnl CURL_CHECK_WIN32_LARGEFILE
dnl -------------------------------------------------
-dnl Check if curl's WIN32 large file will be used
+dnl Check if curl's Win32 large file will be used
AC_DEFUN([CURL_CHECK_WIN32_LARGEFILE], [
- AC_REQUIRE([CURL_CHECK_HEADER_WINDOWS])dnl
- AC_MSG_CHECKING([whether build target supports WIN32 file API])
+ AC_REQUIRE([CURL_CHECK_NATIVE_WINDOWS])dnl
+ AC_MSG_CHECKING([whether build target supports Win32 file API])
curl_win32_file_api="no"
- if test "$curl_cv_header_windows_h" = "yes"; then
+ if test "$curl_cv_native_windows" = "yes"; then
if test x"$enable_largefile" != "xno"; then
AC_COMPILE_IFELSE([
AC_LANG_PROGRAM([[
]],[[
-#if !defined(_WIN32_WCE) && \
- (defined(__MINGW32__) || \
- (defined(_MSC_VER) && (defined(_WIN32) || defined(_WIN64))))
+#if !defined(_WIN32_WCE) && (defined(__MINGW32__) || defined(_MSC_VER))
int dummy=1;
#else
- WIN32 large file API not supported.
+ Win32 large file API not supported.
#endif
]])
],[
@@ -1638,7 +1398,7 @@ AC_DEFUN([CURL_CHECK_WIN32_LARGEFILE], [
#if defined(_WIN32_WCE) || defined(__MINGW32__) || defined(_MSC_VER)
int dummy=1;
#else
- WIN32 small file API not supported.
+ Win32 small file API not supported.
#endif
]])
],[
@@ -1667,13 +1427,13 @@ AC_DEFUN([CURL_CHECK_WIN32_LARGEFILE], [
dnl CURL_CHECK_WIN32_CRYPTO
dnl -------------------------------------------------
-dnl Check if curl's WIN32 crypto lib can be used
+dnl Check if curl's Win32 crypto lib can be used
AC_DEFUN([CURL_CHECK_WIN32_CRYPTO], [
- AC_REQUIRE([CURL_CHECK_HEADER_WINDOWS])dnl
- AC_MSG_CHECKING([whether build target supports WIN32 crypto API])
+ AC_REQUIRE([CURL_CHECK_NATIVE_WINDOWS])dnl
+ AC_MSG_CHECKING([whether build target supports Win32 crypto API])
curl_win32_crypto_api="no"
- if test "$curl_cv_header_windows_h" = "yes"; then
+ if test "$curl_cv_native_windows" = "yes"; then
AC_COMPILE_IFELSE([
AC_LANG_PROGRAM([[
#undef inline
@@ -1715,10 +1475,10 @@ dnl variable while checking PKG_CONFIG_LIBDIR
dnl
AC_DEFUN([CURL_EXPORT_PCDIR], [
- if test -n "$1"; then
- PKG_CONFIG_LIBDIR="$1"
- export PKG_CONFIG_LIBDIR
- fi
+ if test -n "$1"; then
+ PKG_CONFIG_LIBDIR="$1"
+ export PKG_CONFIG_LIBDIR
+ fi
])
dnl CURL_CHECK_PKGCONFIG ($module, [$pcdir])
@@ -1733,28 +1493,28 @@ dnl Optionally PKG_CONFIG_LIBDIR may be given as $pcdir.
dnl
AC_DEFUN([CURL_CHECK_PKGCONFIG], [
- if test -n "$PKG_CONFIG"; then
- PKGCONFIG="$PKG_CONFIG"
- else
- AC_PATH_TOOL([PKGCONFIG], [pkg-config], [no],
- [$PATH:/usr/bin:/usr/local/bin])
- fi
+ if test -n "$PKG_CONFIG"; then
+ PKGCONFIG="$PKG_CONFIG"
+ else
+ AC_PATH_TOOL([PKGCONFIG], [pkg-config], [no],
+ [$PATH:/usr/bin:/usr/local/bin])
+ fi
- if test "x$PKGCONFIG" != "xno"; then
- AC_MSG_CHECKING([for $1 options with pkg-config])
- dnl ask pkg-config about $1
- itexists=`CURL_EXPORT_PCDIR([$2]) dnl
- $PKGCONFIG --exists $1 >/dev/null 2>&1 && echo 1`
+ if test "x$PKGCONFIG" != "xno"; then
+ AC_MSG_CHECKING([for $1 options with pkg-config])
+ dnl ask pkg-config about $1
+ itexists=`CURL_EXPORT_PCDIR([$2]) dnl
+ $PKGCONFIG --exists $1 >/dev/null 2>&1 && echo 1`
- if test -z "$itexists"; then
- dnl pkg-config does not have info about the given module! set the
- dnl variable to 'no'
- PKGCONFIG="no"
- AC_MSG_RESULT([no])
- else
- AC_MSG_RESULT([found])
- fi
+ if test -z "$itexists"; then
+ dnl pkg-config does not have info about the given module! set the
+ dnl variable to 'no'
+ PKGCONFIG="no"
+ AC_MSG_RESULT([no])
+ else
+ AC_MSG_RESULT([found])
fi
+ fi
])
@@ -1798,6 +1558,59 @@ use vars qw(
_EOF
])
+
+dnl CURL_GENERATE_BUILDINFO_TXT
+dnl -------------------------------------------------
+dnl Save build info for test runner to pick up and log
+
+AC_DEFUN([CURL_GENERATE_BUILDINFO_TXT], [
+ curl_pflags=""
+ case $host in
+ *-apple-*) curl_pflags="${curl_pflags} APPLE";;
+ esac
+ if test "$curl_cv_native_windows" = 'yes'; then
+ curl_pflags="${curl_pflags} WIN32"
+ else
+ case $host in
+ *-*-*bsd*|*-*-aix*|*-*-hpux*|*-*-interix*|*-*-irix*|*-*-linux*|*-*-solaris*|*-*-sunos*|*-apple-*|*-*-cygwin*|*-*-msys*)
+ curl_pflags="${curl_pflags} UNIX";;
+ esac
+ fi
+ case $host_os in
+ cygwin*|msys*) curl_pflags="${curl_pflags} CYGWIN";;
+ esac
+ case $host_os in
+ msys*) curl_pflags="${curl_pflags} MSYS";;
+ esac
+ if test "x$compiler_id" = 'xGNU_C'; then
+ curl_pflags="${curl_pflags} GCC"
+ fi
+ case $host_os in
+ mingw*) curl_pflags="${curl_pflags} MINGW";;
+ esac
+ if test "x$cross_compiling" = 'xyes'; then
+ curl_pflags="${curl_pflags} CROSS"
+ fi
+ squeeze curl_pflags
+ cat >./tests/buildinfo.txt <<_EOF
+[@%:@] This is a generated file. Do not edit.
+configure.tool: configure
+configure.args: $ac_configure_args
+host: $build
+host.os: $build_os
+host.cpu: $build_cpu
+host.vendor: $build_vendor
+target: $host
+target.os: $host_os
+target.cpu: $host_cpu
+target.vendor: $host_vendor
+target.flags: $curl_pflags
+compiler: $compiler_id
+compiler.version: $compiler_num
+_EOF
+])
+
+
dnl CURL_CPP_P
dnl
dnl Check if $cpp -P should be used for extract define values due to gcc 5
@@ -1890,14 +1703,13 @@ AC_DEFUN([CURL_SUPPORTS_BUILTIN_AVAILABLE], [
AC_MSG_CHECKING([to see if the compiler supports __builtin_available()])
AC_COMPILE_IFELSE([
AC_LANG_PROGRAM([[
-#include
]],[[
- if (__builtin_available(macOS 10.8, iOS 5.0, *)) {}
+ if(__builtin_available(macOS 10.12, iOS 5.0, *)) {}
]])
],[
AC_MSG_RESULT([yes])
AC_DEFINE_UNQUOTED(HAVE_BUILTIN_AVAILABLE, 1,
- [Define to 1 if you have the __builtin_available function.])
+ [Define to 1 if you have the __builtin_available function.])
],[
AC_MSG_RESULT([no])
])
diff --git a/curl/aclocal.m4 b/curl/aclocal.m4
deleted file mode 100644
index a1af02ca..00000000
--- a/curl/aclocal.m4
+++ /dev/null
@@ -1,1252 +0,0 @@
-# generated automatically by aclocal 1.16.5 -*- Autoconf -*-
-
-# Copyright (C) 1996-2021 Free Software Foundation, Inc.
-
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
-# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
-# PARTICULAR PURPOSE.
-
-m4_ifndef([AC_CONFIG_MACRO_DIRS], [m4_defun([_AM_CONFIG_MACRO_DIRS], [])m4_defun([AC_CONFIG_MACRO_DIRS], [_AM_CONFIG_MACRO_DIRS($@)])])
-m4_ifndef([AC_AUTOCONF_VERSION],
- [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl
-m4_if(m4_defn([AC_AUTOCONF_VERSION]), [2.71],,
-[m4_warning([this file was generated for autoconf 2.71.
-You have another version of autoconf. It may work, but is not guaranteed to.
-If you have problems, you may need to regenerate the build system entirely.
-To do so, use the procedure documented by the package, typically 'autoreconf'.])])
-
-# Copyright (C) 2002-2021 Free Software Foundation, Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# AM_AUTOMAKE_VERSION(VERSION)
-# ----------------------------
-# Automake X.Y traces this macro to ensure aclocal.m4 has been
-# generated from the m4 files accompanying Automake X.Y.
-# (This private macro should not be called outside this file.)
-AC_DEFUN([AM_AUTOMAKE_VERSION],
-[am__api_version='1.16'
-dnl Some users find AM_AUTOMAKE_VERSION and mistake it for a way to
-dnl require some minimum version. Point them to the right macro.
-m4_if([$1], [1.16.5], [],
- [AC_FATAL([Do not call $0, use AM_INIT_AUTOMAKE([$1]).])])dnl
-])
-
-# _AM_AUTOCONF_VERSION(VERSION)
-# -----------------------------
-# aclocal traces this macro to find the Autoconf version.
-# This is a private macro too. Using m4_define simplifies
-# the logic in aclocal, which can simply ignore this definition.
-m4_define([_AM_AUTOCONF_VERSION], [])
-
-# AM_SET_CURRENT_AUTOMAKE_VERSION
-# -------------------------------
-# Call AM_AUTOMAKE_VERSION and AM_AUTOMAKE_VERSION so they can be traced.
-# This function is AC_REQUIREd by AM_INIT_AUTOMAKE.
-AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION],
-[AM_AUTOMAKE_VERSION([1.16.5])dnl
-m4_ifndef([AC_AUTOCONF_VERSION],
- [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl
-_AM_AUTOCONF_VERSION(m4_defn([AC_AUTOCONF_VERSION]))])
-
-# AM_AUX_DIR_EXPAND -*- Autoconf -*-
-
-# Copyright (C) 2001-2021 Free Software Foundation, Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# For projects using AC_CONFIG_AUX_DIR([foo]), Autoconf sets
-# $ac_aux_dir to '$srcdir/foo'. In other projects, it is set to
-# '$srcdir', '$srcdir/..', or '$srcdir/../..'.
-#
-# Of course, Automake must honor this variable whenever it calls a
-# tool from the auxiliary directory. The problem is that $srcdir (and
-# therefore $ac_aux_dir as well) can be either absolute or relative,
-# depending on how configure is run. This is pretty annoying, since
-# it makes $ac_aux_dir quite unusable in subdirectories: in the top
-# source directory, any form will work fine, but in subdirectories a
-# relative path needs to be adjusted first.
-#
-# $ac_aux_dir/missing
-# fails when called from a subdirectory if $ac_aux_dir is relative
-# $top_srcdir/$ac_aux_dir/missing
-# fails if $ac_aux_dir is absolute,
-# fails when called from a subdirectory in a VPATH build with
-# a relative $ac_aux_dir
-#
-# The reason of the latter failure is that $top_srcdir and $ac_aux_dir
-# are both prefixed by $srcdir. In an in-source build this is usually
-# harmless because $srcdir is '.', but things will broke when you
-# start a VPATH build or use an absolute $srcdir.
-#
-# So we could use something similar to $top_srcdir/$ac_aux_dir/missing,
-# iff we strip the leading $srcdir from $ac_aux_dir. That would be:
-# am_aux_dir='\$(top_srcdir)/'`expr "$ac_aux_dir" : "$srcdir//*\(.*\)"`
-# and then we would define $MISSING as
-# MISSING="\${SHELL} $am_aux_dir/missing"
-# This will work as long as MISSING is not called from configure, because
-# unfortunately $(top_srcdir) has no meaning in configure.
-# However there are other variables, like CC, which are often used in
-# configure, and could therefore not use this "fixed" $ac_aux_dir.
-#
-# Another solution, used here, is to always expand $ac_aux_dir to an
-# absolute PATH. The drawback is that using absolute paths prevent a
-# configured tree to be moved without reconfiguration.
-
-AC_DEFUN([AM_AUX_DIR_EXPAND],
-[AC_REQUIRE([AC_CONFIG_AUX_DIR_DEFAULT])dnl
-# Expand $ac_aux_dir to an absolute path.
-am_aux_dir=`cd "$ac_aux_dir" && pwd`
-])
-
-# AM_COND_IF -*- Autoconf -*-
-
-# Copyright (C) 2008-2021 Free Software Foundation, Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# _AM_COND_IF
-# _AM_COND_ELSE
-# _AM_COND_ENDIF
-# --------------
-# These macros are only used for tracing.
-m4_define([_AM_COND_IF])
-m4_define([_AM_COND_ELSE])
-m4_define([_AM_COND_ENDIF])
-
-# AM_COND_IF(COND, [IF-TRUE], [IF-FALSE])
-# ---------------------------------------
-# If the shell condition COND is true, execute IF-TRUE, otherwise execute
-# IF-FALSE. Allow automake to learn about conditional instantiating macros
-# (the AC_CONFIG_FOOS).
-AC_DEFUN([AM_COND_IF],
-[m4_ifndef([_AM_COND_VALUE_$1],
- [m4_fatal([$0: no such condition "$1"])])dnl
-_AM_COND_IF([$1])dnl
-if test -z "$$1_TRUE"; then :
- m4_n([$2])[]dnl
-m4_ifval([$3],
-[_AM_COND_ELSE([$1])dnl
-else
- $3
-])dnl
-_AM_COND_ENDIF([$1])dnl
-fi[]dnl
-])
-
-# AM_CONDITIONAL -*- Autoconf -*-
-
-# Copyright (C) 1997-2021 Free Software Foundation, Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# AM_CONDITIONAL(NAME, SHELL-CONDITION)
-# -------------------------------------
-# Define a conditional.
-AC_DEFUN([AM_CONDITIONAL],
-[AC_PREREQ([2.52])dnl
- m4_if([$1], [TRUE], [AC_FATAL([$0: invalid condition: $1])],
- [$1], [FALSE], [AC_FATAL([$0: invalid condition: $1])])dnl
-AC_SUBST([$1_TRUE])dnl
-AC_SUBST([$1_FALSE])dnl
-_AM_SUBST_NOTMAKE([$1_TRUE])dnl
-_AM_SUBST_NOTMAKE([$1_FALSE])dnl
-m4_define([_AM_COND_VALUE_$1], [$2])dnl
-if $2; then
- $1_TRUE=
- $1_FALSE='#'
-else
- $1_TRUE='#'
- $1_FALSE=
-fi
-AC_CONFIG_COMMANDS_PRE(
-[if test -z "${$1_TRUE}" && test -z "${$1_FALSE}"; then
- AC_MSG_ERROR([[conditional "$1" was never defined.
-Usually this means the macro was only invoked conditionally.]])
-fi])])
-
-# Copyright (C) 1999-2021 Free Software Foundation, Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-
-# There are a few dirty hacks below to avoid letting 'AC_PROG_CC' be
-# written in clear, in which case automake, when reading aclocal.m4,
-# will think it sees a *use*, and therefore will trigger all it's
-# C support machinery. Also note that it means that autoscan, seeing
-# CC etc. in the Makefile, will ask for an AC_PROG_CC use...
-
-
-# _AM_DEPENDENCIES(NAME)
-# ----------------------
-# See how the compiler implements dependency checking.
-# NAME is "CC", "CXX", "OBJC", "OBJCXX", "UPC", or "GJC".
-# We try a few techniques and use that to set a single cache variable.
-#
-# We don't AC_REQUIRE the corresponding AC_PROG_CC since the latter was
-# modified to invoke _AM_DEPENDENCIES(CC); we would have a circular
-# dependency, and given that the user is not expected to run this macro,
-# just rely on AC_PROG_CC.
-AC_DEFUN([_AM_DEPENDENCIES],
-[AC_REQUIRE([AM_SET_DEPDIR])dnl
-AC_REQUIRE([AM_OUTPUT_DEPENDENCY_COMMANDS])dnl
-AC_REQUIRE([AM_MAKE_INCLUDE])dnl
-AC_REQUIRE([AM_DEP_TRACK])dnl
-
-m4_if([$1], [CC], [depcc="$CC" am_compiler_list=],
- [$1], [CXX], [depcc="$CXX" am_compiler_list=],
- [$1], [OBJC], [depcc="$OBJC" am_compiler_list='gcc3 gcc'],
- [$1], [OBJCXX], [depcc="$OBJCXX" am_compiler_list='gcc3 gcc'],
- [$1], [UPC], [depcc="$UPC" am_compiler_list=],
- [$1], [GCJ], [depcc="$GCJ" am_compiler_list='gcc3 gcc'],
- [depcc="$$1" am_compiler_list=])
-
-AC_CACHE_CHECK([dependency style of $depcc],
- [am_cv_$1_dependencies_compiler_type],
-[if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then
- # We make a subdir and do the tests there. Otherwise we can end up
- # making bogus files that we don't know about and never remove. For
- # instance it was reported that on HP-UX the gcc test will end up
- # making a dummy file named 'D' -- because '-MD' means "put the output
- # in D".
- rm -rf conftest.dir
- mkdir conftest.dir
- # Copy depcomp to subdir because otherwise we won't find it if we're
- # using a relative directory.
- cp "$am_depcomp" conftest.dir
- cd conftest.dir
- # We will build objects and dependencies in a subdirectory because
- # it helps to detect inapplicable dependency modes. For instance
- # both Tru64's cc and ICC support -MD to output dependencies as a
- # side effect of compilation, but ICC will put the dependencies in
- # the current directory while Tru64 will put them in the object
- # directory.
- mkdir sub
-
- am_cv_$1_dependencies_compiler_type=none
- if test "$am_compiler_list" = ""; then
- am_compiler_list=`sed -n ['s/^#*\([a-zA-Z0-9]*\))$/\1/p'] < ./depcomp`
- fi
- am__universal=false
- m4_case([$1], [CC],
- [case " $depcc " in #(
- *\ -arch\ *\ -arch\ *) am__universal=true ;;
- esac],
- [CXX],
- [case " $depcc " in #(
- *\ -arch\ *\ -arch\ *) am__universal=true ;;
- esac])
-
- for depmode in $am_compiler_list; do
- # Setup a source with many dependencies, because some compilers
- # like to wrap large dependency lists on column 80 (with \), and
- # we should not choose a depcomp mode which is confused by this.
- #
- # We need to recreate these files for each test, as the compiler may
- # overwrite some of them when testing with obscure command lines.
- # This happens at least with the AIX C compiler.
- : > sub/conftest.c
- for i in 1 2 3 4 5 6; do
- echo '#include "conftst'$i'.h"' >> sub/conftest.c
- # Using ": > sub/conftst$i.h" creates only sub/conftst1.h with
- # Solaris 10 /bin/sh.
- echo '/* dummy */' > sub/conftst$i.h
- done
- echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf
-
- # We check with '-c' and '-o' for the sake of the "dashmstdout"
- # mode. It turns out that the SunPro C++ compiler does not properly
- # handle '-M -o', and we need to detect this. Also, some Intel
- # versions had trouble with output in subdirs.
- am__obj=sub/conftest.${OBJEXT-o}
- am__minus_obj="-o $am__obj"
- case $depmode in
- gcc)
- # This depmode causes a compiler race in universal mode.
- test "$am__universal" = false || continue
- ;;
- nosideeffect)
- # After this tag, mechanisms are not by side-effect, so they'll
- # only be used when explicitly requested.
- if test "x$enable_dependency_tracking" = xyes; then
- continue
- else
- break
- fi
- ;;
- msvc7 | msvc7msys | msvisualcpp | msvcmsys)
- # This compiler won't grok '-c -o', but also, the minuso test has
- # not run yet. These depmodes are late enough in the game, and
- # so weak that their functioning should not be impacted.
- am__obj=conftest.${OBJEXT-o}
- am__minus_obj=
- ;;
- none) break ;;
- esac
- if depmode=$depmode \
- source=sub/conftest.c object=$am__obj \
- depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \
- $SHELL ./depcomp $depcc -c $am__minus_obj sub/conftest.c \
- >/dev/null 2>conftest.err &&
- grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 &&
- grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 &&
- grep $am__obj sub/conftest.Po > /dev/null 2>&1 &&
- ${MAKE-make} -s -f confmf > /dev/null 2>&1; then
- # icc doesn't choke on unknown options, it will just issue warnings
- # or remarks (even with -Werror). So we grep stderr for any message
- # that says an option was ignored or not supported.
- # When given -MP, icc 7.0 and 7.1 complain thusly:
- # icc: Command line warning: ignoring option '-M'; no argument required
- # The diagnosis changed in icc 8.0:
- # icc: Command line remark: option '-MP' not supported
- if (grep 'ignoring option' conftest.err ||
- grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else
- am_cv_$1_dependencies_compiler_type=$depmode
- break
- fi
- fi
- done
-
- cd ..
- rm -rf conftest.dir
-else
- am_cv_$1_dependencies_compiler_type=none
-fi
-])
-AC_SUBST([$1DEPMODE], [depmode=$am_cv_$1_dependencies_compiler_type])
-AM_CONDITIONAL([am__fastdep$1], [
- test "x$enable_dependency_tracking" != xno \
- && test "$am_cv_$1_dependencies_compiler_type" = gcc3])
-])
-
-
-# AM_SET_DEPDIR
-# -------------
-# Choose a directory name for dependency files.
-# This macro is AC_REQUIREd in _AM_DEPENDENCIES.
-AC_DEFUN([AM_SET_DEPDIR],
-[AC_REQUIRE([AM_SET_LEADING_DOT])dnl
-AC_SUBST([DEPDIR], ["${am__leading_dot}deps"])dnl
-])
-
-
-# AM_DEP_TRACK
-# ------------
-AC_DEFUN([AM_DEP_TRACK],
-[AC_ARG_ENABLE([dependency-tracking], [dnl
-AS_HELP_STRING(
- [--enable-dependency-tracking],
- [do not reject slow dependency extractors])
-AS_HELP_STRING(
- [--disable-dependency-tracking],
- [speeds up one-time build])])
-if test "x$enable_dependency_tracking" != xno; then
- am_depcomp="$ac_aux_dir/depcomp"
- AMDEPBACKSLASH='\'
- am__nodep='_no'
-fi
-AM_CONDITIONAL([AMDEP], [test "x$enable_dependency_tracking" != xno])
-AC_SUBST([AMDEPBACKSLASH])dnl
-_AM_SUBST_NOTMAKE([AMDEPBACKSLASH])dnl
-AC_SUBST([am__nodep])dnl
-_AM_SUBST_NOTMAKE([am__nodep])dnl
-])
-
-# Generate code to set up dependency tracking. -*- Autoconf -*-
-
-# Copyright (C) 1999-2021 Free Software Foundation, Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# _AM_OUTPUT_DEPENDENCY_COMMANDS
-# ------------------------------
-AC_DEFUN([_AM_OUTPUT_DEPENDENCY_COMMANDS],
-[{
- # Older Autoconf quotes --file arguments for eval, but not when files
- # are listed without --file. Let's play safe and only enable the eval
- # if we detect the quoting.
- # TODO: see whether this extra hack can be removed once we start
- # requiring Autoconf 2.70 or later.
- AS_CASE([$CONFIG_FILES],
- [*\'*], [eval set x "$CONFIG_FILES"],
- [*], [set x $CONFIG_FILES])
- shift
- # Used to flag and report bootstrapping failures.
- am_rc=0
- for am_mf
- do
- # Strip MF so we end up with the name of the file.
- am_mf=`AS_ECHO(["$am_mf"]) | sed -e 's/:.*$//'`
- # Check whether this is an Automake generated Makefile which includes
- # dependency-tracking related rules and includes.
- # Grep'ing the whole file directly is not great: AIX grep has a line
- # limit of 2048, but all sed's we know have understand at least 4000.
- sed -n 's,^am--depfiles:.*,X,p' "$am_mf" | grep X >/dev/null 2>&1 \
- || continue
- am_dirpart=`AS_DIRNAME(["$am_mf"])`
- am_filepart=`AS_BASENAME(["$am_mf"])`
- AM_RUN_LOG([cd "$am_dirpart" \
- && sed -e '/# am--include-marker/d' "$am_filepart" \
- | $MAKE -f - am--depfiles]) || am_rc=$?
- done
- if test $am_rc -ne 0; then
- AC_MSG_FAILURE([Something went wrong bootstrapping makefile fragments
- for automatic dependency tracking. If GNU make was not used, consider
- re-running the configure script with MAKE="gmake" (or whatever is
- necessary). You can also try re-running configure with the
- '--disable-dependency-tracking' option to at least be able to build
- the package (albeit without support for automatic dependency tracking).])
- fi
- AS_UNSET([am_dirpart])
- AS_UNSET([am_filepart])
- AS_UNSET([am_mf])
- AS_UNSET([am_rc])
- rm -f conftest-deps.mk
-}
-])# _AM_OUTPUT_DEPENDENCY_COMMANDS
-
-
-# AM_OUTPUT_DEPENDENCY_COMMANDS
-# -----------------------------
-# This macro should only be invoked once -- use via AC_REQUIRE.
-#
-# This code is only required when automatic dependency tracking is enabled.
-# This creates each '.Po' and '.Plo' makefile fragment that we'll need in
-# order to bootstrap the dependency handling code.
-AC_DEFUN([AM_OUTPUT_DEPENDENCY_COMMANDS],
-[AC_CONFIG_COMMANDS([depfiles],
- [test x"$AMDEP_TRUE" != x"" || _AM_OUTPUT_DEPENDENCY_COMMANDS],
- [AMDEP_TRUE="$AMDEP_TRUE" MAKE="${MAKE-make}"])])
-
-# Do all the work for Automake. -*- Autoconf -*-
-
-# Copyright (C) 1996-2021 Free Software Foundation, Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# This macro actually does too much. Some checks are only needed if
-# your package does certain things. But this isn't really a big deal.
-
-dnl Redefine AC_PROG_CC to automatically invoke _AM_PROG_CC_C_O.
-m4_define([AC_PROG_CC],
-m4_defn([AC_PROG_CC])
-[_AM_PROG_CC_C_O
-])
-
-# AM_INIT_AUTOMAKE(PACKAGE, VERSION, [NO-DEFINE])
-# AM_INIT_AUTOMAKE([OPTIONS])
-# -----------------------------------------------
-# The call with PACKAGE and VERSION arguments is the old style
-# call (pre autoconf-2.50), which is being phased out. PACKAGE
-# and VERSION should now be passed to AC_INIT and removed from
-# the call to AM_INIT_AUTOMAKE.
-# We support both call styles for the transition. After
-# the next Automake release, Autoconf can make the AC_INIT
-# arguments mandatory, and then we can depend on a new Autoconf
-# release and drop the old call support.
-AC_DEFUN([AM_INIT_AUTOMAKE],
-[AC_PREREQ([2.65])dnl
-m4_ifdef([_$0_ALREADY_INIT],
- [m4_fatal([$0 expanded multiple times
-]m4_defn([_$0_ALREADY_INIT]))],
- [m4_define([_$0_ALREADY_INIT], m4_expansion_stack)])dnl
-dnl Autoconf wants to disallow AM_ names. We explicitly allow
-dnl the ones we care about.
-m4_pattern_allow([^AM_[A-Z]+FLAGS$])dnl
-AC_REQUIRE([AM_SET_CURRENT_AUTOMAKE_VERSION])dnl
-AC_REQUIRE([AC_PROG_INSTALL])dnl
-if test "`cd $srcdir && pwd`" != "`pwd`"; then
- # Use -I$(srcdir) only when $(srcdir) != ., so that make's output
- # is not polluted with repeated "-I."
- AC_SUBST([am__isrc], [' -I$(srcdir)'])_AM_SUBST_NOTMAKE([am__isrc])dnl
- # test to see if srcdir already configured
- if test -f $srcdir/config.status; then
- AC_MSG_ERROR([source directory already configured; run "make distclean" there first])
- fi
-fi
-
-# test whether we have cygpath
-if test -z "$CYGPATH_W"; then
- if (cygpath --version) >/dev/null 2>/dev/null; then
- CYGPATH_W='cygpath -w'
- else
- CYGPATH_W=echo
- fi
-fi
-AC_SUBST([CYGPATH_W])
-
-# Define the identity of the package.
-dnl Distinguish between old-style and new-style calls.
-m4_ifval([$2],
-[AC_DIAGNOSE([obsolete],
- [$0: two- and three-arguments forms are deprecated.])
-m4_ifval([$3], [_AM_SET_OPTION([no-define])])dnl
- AC_SUBST([PACKAGE], [$1])dnl
- AC_SUBST([VERSION], [$2])],
-[_AM_SET_OPTIONS([$1])dnl
-dnl Diagnose old-style AC_INIT with new-style AM_AUTOMAKE_INIT.
-m4_if(
- m4_ifset([AC_PACKAGE_NAME], [ok]):m4_ifset([AC_PACKAGE_VERSION], [ok]),
- [ok:ok],,
- [m4_fatal([AC_INIT should be called with package and version arguments])])dnl
- AC_SUBST([PACKAGE], ['AC_PACKAGE_TARNAME'])dnl
- AC_SUBST([VERSION], ['AC_PACKAGE_VERSION'])])dnl
-
-_AM_IF_OPTION([no-define],,
-[AC_DEFINE_UNQUOTED([PACKAGE], ["$PACKAGE"], [Name of package])
- AC_DEFINE_UNQUOTED([VERSION], ["$VERSION"], [Version number of package])])dnl
-
-# Some tools Automake needs.
-AC_REQUIRE([AM_SANITY_CHECK])dnl
-AC_REQUIRE([AC_ARG_PROGRAM])dnl
-AM_MISSING_PROG([ACLOCAL], [aclocal-${am__api_version}])
-AM_MISSING_PROG([AUTOCONF], [autoconf])
-AM_MISSING_PROG([AUTOMAKE], [automake-${am__api_version}])
-AM_MISSING_PROG([AUTOHEADER], [autoheader])
-AM_MISSING_PROG([MAKEINFO], [makeinfo])
-AC_REQUIRE([AM_PROG_INSTALL_SH])dnl
-AC_REQUIRE([AM_PROG_INSTALL_STRIP])dnl
-AC_REQUIRE([AC_PROG_MKDIR_P])dnl
-# For better backward compatibility. To be removed once Automake 1.9.x
-# dies out for good. For more background, see:
-#
-#
-AC_SUBST([mkdir_p], ['$(MKDIR_P)'])
-# We need awk for the "check" target (and possibly the TAP driver). The
-# system "awk" is bad on some platforms.
-AC_REQUIRE([AC_PROG_AWK])dnl
-AC_REQUIRE([AC_PROG_MAKE_SET])dnl
-AC_REQUIRE([AM_SET_LEADING_DOT])dnl
-_AM_IF_OPTION([tar-ustar], [_AM_PROG_TAR([ustar])],
- [_AM_IF_OPTION([tar-pax], [_AM_PROG_TAR([pax])],
- [_AM_PROG_TAR([v7])])])
-_AM_IF_OPTION([no-dependencies],,
-[AC_PROVIDE_IFELSE([AC_PROG_CC],
- [_AM_DEPENDENCIES([CC])],
- [m4_define([AC_PROG_CC],
- m4_defn([AC_PROG_CC])[_AM_DEPENDENCIES([CC])])])dnl
-AC_PROVIDE_IFELSE([AC_PROG_CXX],
- [_AM_DEPENDENCIES([CXX])],
- [m4_define([AC_PROG_CXX],
- m4_defn([AC_PROG_CXX])[_AM_DEPENDENCIES([CXX])])])dnl
-AC_PROVIDE_IFELSE([AC_PROG_OBJC],
- [_AM_DEPENDENCIES([OBJC])],
- [m4_define([AC_PROG_OBJC],
- m4_defn([AC_PROG_OBJC])[_AM_DEPENDENCIES([OBJC])])])dnl
-AC_PROVIDE_IFELSE([AC_PROG_OBJCXX],
- [_AM_DEPENDENCIES([OBJCXX])],
- [m4_define([AC_PROG_OBJCXX],
- m4_defn([AC_PROG_OBJCXX])[_AM_DEPENDENCIES([OBJCXX])])])dnl
-])
-# Variables for tags utilities; see am/tags.am
-if test -z "$CTAGS"; then
- CTAGS=ctags
-fi
-AC_SUBST([CTAGS])
-if test -z "$ETAGS"; then
- ETAGS=etags
-fi
-AC_SUBST([ETAGS])
-if test -z "$CSCOPE"; then
- CSCOPE=cscope
-fi
-AC_SUBST([CSCOPE])
-
-AC_REQUIRE([AM_SILENT_RULES])dnl
-dnl The testsuite driver may need to know about EXEEXT, so add the
-dnl 'am__EXEEXT' conditional if _AM_COMPILER_EXEEXT was seen. This
-dnl macro is hooked onto _AC_COMPILER_EXEEXT early, see below.
-AC_CONFIG_COMMANDS_PRE(dnl
-[m4_provide_if([_AM_COMPILER_EXEEXT],
- [AM_CONDITIONAL([am__EXEEXT], [test -n "$EXEEXT"])])])dnl
-
-# POSIX will say in a future version that running "rm -f" with no argument
-# is OK; and we want to be able to make that assumption in our Makefile
-# recipes. So use an aggressive probe to check that the usage we want is
-# actually supported "in the wild" to an acceptable degree.
-# See automake bug#10828.
-# To make any issue more visible, cause the running configure to be aborted
-# by default if the 'rm' program in use doesn't match our expectations; the
-# user can still override this though.
-if rm -f && rm -fr && rm -rf; then : OK; else
- cat >&2 <<'END'
-Oops!
-
-Your 'rm' program seems unable to run without file operands specified
-on the command line, even when the '-f' option is present. This is contrary
-to the behaviour of most rm programs out there, and not conforming with
-the upcoming POSIX standard:
-
-Please tell bug-automake@gnu.org about your system, including the value
-of your $PATH and any error possibly output before this message. This
-can help us improve future automake versions.
-
-END
- if test x"$ACCEPT_INFERIOR_RM_PROGRAM" = x"yes"; then
- echo 'Configuration will proceed anyway, since you have set the' >&2
- echo 'ACCEPT_INFERIOR_RM_PROGRAM variable to "yes"' >&2
- echo >&2
- else
- cat >&2 <<'END'
-Aborting the configuration process, to ensure you take notice of the issue.
-
-You can download and install GNU coreutils to get an 'rm' implementation
-that behaves properly: .
-
-If you want to complete the configuration process using your problematic
-'rm' anyway, export the environment variable ACCEPT_INFERIOR_RM_PROGRAM
-to "yes", and re-run configure.
-
-END
- AC_MSG_ERROR([Your 'rm' program is bad, sorry.])
- fi
-fi
-dnl The trailing newline in this macro's definition is deliberate, for
-dnl backward compatibility and to allow trailing 'dnl'-style comments
-dnl after the AM_INIT_AUTOMAKE invocation. See automake bug#16841.
-])
-
-dnl Hook into '_AC_COMPILER_EXEEXT' early to learn its expansion. Do not
-dnl add the conditional right here, as _AC_COMPILER_EXEEXT may be further
-dnl mangled by Autoconf and run in a shell conditional statement.
-m4_define([_AC_COMPILER_EXEEXT],
-m4_defn([_AC_COMPILER_EXEEXT])[m4_provide([_AM_COMPILER_EXEEXT])])
-
-# When config.status generates a header, we must update the stamp-h file.
-# This file resides in the same directory as the config header
-# that is generated. The stamp files are numbered to have different names.
-
-# Autoconf calls _AC_AM_CONFIG_HEADER_HOOK (when defined) in the
-# loop where config.status creates the headers, so we can generate
-# our stamp files there.
-AC_DEFUN([_AC_AM_CONFIG_HEADER_HOOK],
-[# Compute $1's index in $config_headers.
-_am_arg=$1
-_am_stamp_count=1
-for _am_header in $config_headers :; do
- case $_am_header in
- $_am_arg | $_am_arg:* )
- break ;;
- * )
- _am_stamp_count=`expr $_am_stamp_count + 1` ;;
- esac
-done
-echo "timestamp for $_am_arg" >`AS_DIRNAME(["$_am_arg"])`/stamp-h[]$_am_stamp_count])
-
-# Copyright (C) 2001-2021 Free Software Foundation, Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# AM_PROG_INSTALL_SH
-# ------------------
-# Define $install_sh.
-AC_DEFUN([AM_PROG_INSTALL_SH],
-[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl
-if test x"${install_sh+set}" != xset; then
- case $am_aux_dir in
- *\ * | *\ *)
- install_sh="\${SHELL} '$am_aux_dir/install-sh'" ;;
- *)
- install_sh="\${SHELL} $am_aux_dir/install-sh"
- esac
-fi
-AC_SUBST([install_sh])])
-
-# Copyright (C) 2003-2021 Free Software Foundation, Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# Check whether the underlying file-system supports filenames
-# with a leading dot. For instance MS-DOS doesn't.
-AC_DEFUN([AM_SET_LEADING_DOT],
-[rm -rf .tst 2>/dev/null
-mkdir .tst 2>/dev/null
-if test -d .tst; then
- am__leading_dot=.
-else
- am__leading_dot=_
-fi
-rmdir .tst 2>/dev/null
-AC_SUBST([am__leading_dot])])
-
-# Add --enable-maintainer-mode option to configure. -*- Autoconf -*-
-# From Jim Meyering
-
-# Copyright (C) 1996-2021 Free Software Foundation, Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# AM_MAINTAINER_MODE([DEFAULT-MODE])
-# ----------------------------------
-# Control maintainer-specific portions of Makefiles.
-# Default is to disable them, unless 'enable' is passed literally.
-# For symmetry, 'disable' may be passed as well. Anyway, the user
-# can override the default with the --enable/--disable switch.
-AC_DEFUN([AM_MAINTAINER_MODE],
-[m4_case(m4_default([$1], [disable]),
- [enable], [m4_define([am_maintainer_other], [disable])],
- [disable], [m4_define([am_maintainer_other], [enable])],
- [m4_define([am_maintainer_other], [enable])
- m4_warn([syntax], [unexpected argument to AM@&t@_MAINTAINER_MODE: $1])])
-AC_MSG_CHECKING([whether to enable maintainer-specific portions of Makefiles])
- dnl maintainer-mode's default is 'disable' unless 'enable' is passed
- AC_ARG_ENABLE([maintainer-mode],
- [AS_HELP_STRING([--]am_maintainer_other[-maintainer-mode],
- am_maintainer_other[ make rules and dependencies not useful
- (and sometimes confusing) to the casual installer])],
- [USE_MAINTAINER_MODE=$enableval],
- [USE_MAINTAINER_MODE=]m4_if(am_maintainer_other, [enable], [no], [yes]))
- AC_MSG_RESULT([$USE_MAINTAINER_MODE])
- AM_CONDITIONAL([MAINTAINER_MODE], [test $USE_MAINTAINER_MODE = yes])
- MAINT=$MAINTAINER_MODE_TRUE
- AC_SUBST([MAINT])dnl
-]
-)
-
-# Check to see how 'make' treats includes. -*- Autoconf -*-
-
-# Copyright (C) 2001-2021 Free Software Foundation, Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# AM_MAKE_INCLUDE()
-# -----------------
-# Check whether make has an 'include' directive that can support all
-# the idioms we need for our automatic dependency tracking code.
-AC_DEFUN([AM_MAKE_INCLUDE],
-[AC_MSG_CHECKING([whether ${MAKE-make} supports the include directive])
-cat > confinc.mk << 'END'
-am__doit:
- @echo this is the am__doit target >confinc.out
-.PHONY: am__doit
-END
-am__include="#"
-am__quote=
-# BSD make does it like this.
-echo '.include "confinc.mk" # ignored' > confmf.BSD
-# Other make implementations (GNU, Solaris 10, AIX) do it like this.
-echo 'include confinc.mk # ignored' > confmf.GNU
-_am_result=no
-for s in GNU BSD; do
- AM_RUN_LOG([${MAKE-make} -f confmf.$s && cat confinc.out])
- AS_CASE([$?:`cat confinc.out 2>/dev/null`],
- ['0:this is the am__doit target'],
- [AS_CASE([$s],
- [BSD], [am__include='.include' am__quote='"'],
- [am__include='include' am__quote=''])])
- if test "$am__include" != "#"; then
- _am_result="yes ($s style)"
- break
- fi
-done
-rm -f confinc.* confmf.*
-AC_MSG_RESULT([${_am_result}])
-AC_SUBST([am__include])])
-AC_SUBST([am__quote])])
-
-# Fake the existence of programs that GNU maintainers use. -*- Autoconf -*-
-
-# Copyright (C) 1997-2021 Free Software Foundation, Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# AM_MISSING_PROG(NAME, PROGRAM)
-# ------------------------------
-AC_DEFUN([AM_MISSING_PROG],
-[AC_REQUIRE([AM_MISSING_HAS_RUN])
-$1=${$1-"${am_missing_run}$2"}
-AC_SUBST($1)])
-
-# AM_MISSING_HAS_RUN
-# ------------------
-# Define MISSING if not defined so far and test if it is modern enough.
-# If it is, set am_missing_run to use it, otherwise, to nothing.
-AC_DEFUN([AM_MISSING_HAS_RUN],
-[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl
-AC_REQUIRE_AUX_FILE([missing])dnl
-if test x"${MISSING+set}" != xset; then
- MISSING="\${SHELL} '$am_aux_dir/missing'"
-fi
-# Use eval to expand $SHELL
-if eval "$MISSING --is-lightweight"; then
- am_missing_run="$MISSING "
-else
- am_missing_run=
- AC_MSG_WARN(['missing' script is too old or missing])
-fi
-])
-
-# Helper functions for option handling. -*- Autoconf -*-
-
-# Copyright (C) 2001-2021 Free Software Foundation, Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# _AM_MANGLE_OPTION(NAME)
-# -----------------------
-AC_DEFUN([_AM_MANGLE_OPTION],
-[[_AM_OPTION_]m4_bpatsubst($1, [[^a-zA-Z0-9_]], [_])])
-
-# _AM_SET_OPTION(NAME)
-# --------------------
-# Set option NAME. Presently that only means defining a flag for this option.
-AC_DEFUN([_AM_SET_OPTION],
-[m4_define(_AM_MANGLE_OPTION([$1]), [1])])
-
-# _AM_SET_OPTIONS(OPTIONS)
-# ------------------------
-# OPTIONS is a space-separated list of Automake options.
-AC_DEFUN([_AM_SET_OPTIONS],
-[m4_foreach_w([_AM_Option], [$1], [_AM_SET_OPTION(_AM_Option)])])
-
-# _AM_IF_OPTION(OPTION, IF-SET, [IF-NOT-SET])
-# -------------------------------------------
-# Execute IF-SET if OPTION is set, IF-NOT-SET otherwise.
-AC_DEFUN([_AM_IF_OPTION],
-[m4_ifset(_AM_MANGLE_OPTION([$1]), [$2], [$3])])
-
-# Copyright (C) 1999-2021 Free Software Foundation, Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# _AM_PROG_CC_C_O
-# ---------------
-# Like AC_PROG_CC_C_O, but changed for automake. We rewrite AC_PROG_CC
-# to automatically call this.
-AC_DEFUN([_AM_PROG_CC_C_O],
-[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl
-AC_REQUIRE_AUX_FILE([compile])dnl
-AC_LANG_PUSH([C])dnl
-AC_CACHE_CHECK(
- [whether $CC understands -c and -o together],
- [am_cv_prog_cc_c_o],
- [AC_LANG_CONFTEST([AC_LANG_PROGRAM([])])
- # Make sure it works both with $CC and with simple cc.
- # Following AC_PROG_CC_C_O, we do the test twice because some
- # compilers refuse to overwrite an existing .o file with -o,
- # though they will create one.
- am_cv_prog_cc_c_o=yes
- for am_i in 1 2; do
- if AM_RUN_LOG([$CC -c conftest.$ac_ext -o conftest2.$ac_objext]) \
- && test -f conftest2.$ac_objext; then
- : OK
- else
- am_cv_prog_cc_c_o=no
- break
- fi
- done
- rm -f core conftest*
- unset am_i])
-if test "$am_cv_prog_cc_c_o" != yes; then
- # Losing compiler, so override with the script.
- # FIXME: It is wrong to rewrite CC.
- # But if we don't then we get into trouble of one sort or another.
- # A longer-term fix would be to have automake use am__CC in this case,
- # and then we could set am__CC="\$(top_srcdir)/compile \$(CC)"
- CC="$am_aux_dir/compile $CC"
-fi
-AC_LANG_POP([C])])
-
-# For backward compatibility.
-AC_DEFUN_ONCE([AM_PROG_CC_C_O], [AC_REQUIRE([AC_PROG_CC])])
-
-# Copyright (C) 2001-2021 Free Software Foundation, Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# AM_RUN_LOG(COMMAND)
-# -------------------
-# Run COMMAND, save the exit status in ac_status, and log it.
-# (This has been adapted from Autoconf's _AC_RUN_LOG macro.)
-AC_DEFUN([AM_RUN_LOG],
-[{ echo "$as_me:$LINENO: $1" >&AS_MESSAGE_LOG_FD
- ($1) >&AS_MESSAGE_LOG_FD 2>&AS_MESSAGE_LOG_FD
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&AS_MESSAGE_LOG_FD
- (exit $ac_status); }])
-
-# Check to make sure that the build environment is sane. -*- Autoconf -*-
-
-# Copyright (C) 1996-2021 Free Software Foundation, Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# AM_SANITY_CHECK
-# ---------------
-AC_DEFUN([AM_SANITY_CHECK],
-[AC_MSG_CHECKING([whether build environment is sane])
-# Reject unsafe characters in $srcdir or the absolute working directory
-# name. Accept space and tab only in the latter.
-am_lf='
-'
-case `pwd` in
- *[[\\\"\#\$\&\'\`$am_lf]]*)
- AC_MSG_ERROR([unsafe absolute working directory name]);;
-esac
-case $srcdir in
- *[[\\\"\#\$\&\'\`$am_lf\ \ ]]*)
- AC_MSG_ERROR([unsafe srcdir value: '$srcdir']);;
-esac
-
-# Do 'set' in a subshell so we don't clobber the current shell's
-# arguments. Must try -L first in case configure is actually a
-# symlink; some systems play weird games with the mod time of symlinks
-# (eg FreeBSD returns the mod time of the symlink's containing
-# directory).
-if (
- am_has_slept=no
- for am_try in 1 2; do
- echo "timestamp, slept: $am_has_slept" > conftest.file
- set X `ls -Lt "$srcdir/configure" conftest.file 2> /dev/null`
- if test "$[*]" = "X"; then
- # -L didn't work.
- set X `ls -t "$srcdir/configure" conftest.file`
- fi
- if test "$[*]" != "X $srcdir/configure conftest.file" \
- && test "$[*]" != "X conftest.file $srcdir/configure"; then
-
- # If neither matched, then we have a broken ls. This can happen
- # if, for instance, CONFIG_SHELL is bash and it inherits a
- # broken ls alias from the environment. This has actually
- # happened. Such a system could not be considered "sane".
- AC_MSG_ERROR([ls -t appears to fail. Make sure there is not a broken
- alias in your environment])
- fi
- if test "$[2]" = conftest.file || test $am_try -eq 2; then
- break
- fi
- # Just in case.
- sleep 1
- am_has_slept=yes
- done
- test "$[2]" = conftest.file
- )
-then
- # Ok.
- :
-else
- AC_MSG_ERROR([newly created file is older than distributed files!
-Check your system clock])
-fi
-AC_MSG_RESULT([yes])
-# If we didn't sleep, we still need to ensure time stamps of config.status and
-# generated files are strictly newer.
-am_sleep_pid=
-if grep 'slept: no' conftest.file >/dev/null 2>&1; then
- ( sleep 1 ) &
- am_sleep_pid=$!
-fi
-AC_CONFIG_COMMANDS_PRE(
- [AC_MSG_CHECKING([that generated files are newer than configure])
- if test -n "$am_sleep_pid"; then
- # Hide warnings about reused PIDs.
- wait $am_sleep_pid 2>/dev/null
- fi
- AC_MSG_RESULT([done])])
-rm -f conftest.file
-])
-
-# Copyright (C) 2009-2021 Free Software Foundation, Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# AM_SILENT_RULES([DEFAULT])
-# --------------------------
-# Enable less verbose build rules; with the default set to DEFAULT
-# ("yes" being less verbose, "no" or empty being verbose).
-AC_DEFUN([AM_SILENT_RULES],
-[AC_ARG_ENABLE([silent-rules], [dnl
-AS_HELP_STRING(
- [--enable-silent-rules],
- [less verbose build output (undo: "make V=1")])
-AS_HELP_STRING(
- [--disable-silent-rules],
- [verbose build output (undo: "make V=0")])dnl
-])
-case $enable_silent_rules in @%:@ (((
- yes) AM_DEFAULT_VERBOSITY=0;;
- no) AM_DEFAULT_VERBOSITY=1;;
- *) AM_DEFAULT_VERBOSITY=m4_if([$1], [yes], [0], [1]);;
-esac
-dnl
-dnl A few 'make' implementations (e.g., NonStop OS and NextStep)
-dnl do not support nested variable expansions.
-dnl See automake bug#9928 and bug#10237.
-am_make=${MAKE-make}
-AC_CACHE_CHECK([whether $am_make supports nested variables],
- [am_cv_make_support_nested_variables],
- [if AS_ECHO([['TRUE=$(BAR$(V))
-BAR0=false
-BAR1=true
-V=1
-am__doit:
- @$(TRUE)
-.PHONY: am__doit']]) | $am_make -f - >/dev/null 2>&1; then
- am_cv_make_support_nested_variables=yes
-else
- am_cv_make_support_nested_variables=no
-fi])
-if test $am_cv_make_support_nested_variables = yes; then
- dnl Using '$V' instead of '$(V)' breaks IRIX make.
- AM_V='$(V)'
- AM_DEFAULT_V='$(AM_DEFAULT_VERBOSITY)'
-else
- AM_V=$AM_DEFAULT_VERBOSITY
- AM_DEFAULT_V=$AM_DEFAULT_VERBOSITY
-fi
-AC_SUBST([AM_V])dnl
-AM_SUBST_NOTMAKE([AM_V])dnl
-AC_SUBST([AM_DEFAULT_V])dnl
-AM_SUBST_NOTMAKE([AM_DEFAULT_V])dnl
-AC_SUBST([AM_DEFAULT_VERBOSITY])dnl
-AM_BACKSLASH='\'
-AC_SUBST([AM_BACKSLASH])dnl
-_AM_SUBST_NOTMAKE([AM_BACKSLASH])dnl
-])
-
-# Copyright (C) 2001-2021 Free Software Foundation, Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# AM_PROG_INSTALL_STRIP
-# ---------------------
-# One issue with vendor 'install' (even GNU) is that you can't
-# specify the program used to strip binaries. This is especially
-# annoying in cross-compiling environments, where the build's strip
-# is unlikely to handle the host's binaries.
-# Fortunately install-sh will honor a STRIPPROG variable, so we
-# always use install-sh in "make install-strip", and initialize
-# STRIPPROG with the value of the STRIP variable (set by the user).
-AC_DEFUN([AM_PROG_INSTALL_STRIP],
-[AC_REQUIRE([AM_PROG_INSTALL_SH])dnl
-# Installed binaries are usually stripped using 'strip' when the user
-# run "make install-strip". However 'strip' might not be the right
-# tool to use in cross-compilation environments, therefore Automake
-# will honor the 'STRIP' environment variable to overrule this program.
-dnl Don't test for $cross_compiling = yes, because it might be 'maybe'.
-if test "$cross_compiling" != no; then
- AC_CHECK_TOOL([STRIP], [strip], :)
-fi
-INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s"
-AC_SUBST([INSTALL_STRIP_PROGRAM])])
-
-# Copyright (C) 2006-2021 Free Software Foundation, Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# _AM_SUBST_NOTMAKE(VARIABLE)
-# ---------------------------
-# Prevent Automake from outputting VARIABLE = @VARIABLE@ in Makefile.in.
-# This macro is traced by Automake.
-AC_DEFUN([_AM_SUBST_NOTMAKE])
-
-# AM_SUBST_NOTMAKE(VARIABLE)
-# --------------------------
-# Public sister of _AM_SUBST_NOTMAKE.
-AC_DEFUN([AM_SUBST_NOTMAKE], [_AM_SUBST_NOTMAKE($@)])
-
-# Check how to create a tarball. -*- Autoconf -*-
-
-# Copyright (C) 2004-2021 Free Software Foundation, Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# _AM_PROG_TAR(FORMAT)
-# --------------------
-# Check how to create a tarball in format FORMAT.
-# FORMAT should be one of 'v7', 'ustar', or 'pax'.
-#
-# Substitute a variable $(am__tar) that is a command
-# writing to stdout a FORMAT-tarball containing the directory
-# $tardir.
-# tardir=directory && $(am__tar) > result.tar
-#
-# Substitute a variable $(am__untar) that extract such
-# a tarball read from stdin.
-# $(am__untar) < result.tar
-#
-AC_DEFUN([_AM_PROG_TAR],
-[# Always define AMTAR for backward compatibility. Yes, it's still used
-# in the wild :-( We should find a proper way to deprecate it ...
-AC_SUBST([AMTAR], ['$${TAR-tar}'])
-
-# We'll loop over all known methods to create a tar archive until one works.
-_am_tools='gnutar m4_if([$1], [ustar], [plaintar]) pax cpio none'
-
-m4_if([$1], [v7],
- [am__tar='$${TAR-tar} chof - "$$tardir"' am__untar='$${TAR-tar} xf -'],
-
- [m4_case([$1],
- [ustar],
- [# The POSIX 1988 'ustar' format is defined with fixed-size fields.
- # There is notably a 21 bits limit for the UID and the GID. In fact,
- # the 'pax' utility can hang on bigger UID/GID (see automake bug#8343
- # and bug#13588).
- am_max_uid=2097151 # 2^21 - 1
- am_max_gid=$am_max_uid
- # The $UID and $GID variables are not portable, so we need to resort
- # to the POSIX-mandated id(1) utility. Errors in the 'id' calls
- # below are definitely unexpected, so allow the users to see them
- # (that is, avoid stderr redirection).
- am_uid=`id -u || echo unknown`
- am_gid=`id -g || echo unknown`
- AC_MSG_CHECKING([whether UID '$am_uid' is supported by ustar format])
- if test $am_uid -le $am_max_uid; then
- AC_MSG_RESULT([yes])
- else
- AC_MSG_RESULT([no])
- _am_tools=none
- fi
- AC_MSG_CHECKING([whether GID '$am_gid' is supported by ustar format])
- if test $am_gid -le $am_max_gid; then
- AC_MSG_RESULT([yes])
- else
- AC_MSG_RESULT([no])
- _am_tools=none
- fi],
-
- [pax],
- [],
-
- [m4_fatal([Unknown tar format])])
-
- AC_MSG_CHECKING([how to create a $1 tar archive])
-
- # Go ahead even if we have the value already cached. We do so because we
- # need to set the values for the 'am__tar' and 'am__untar' variables.
- _am_tools=${am_cv_prog_tar_$1-$_am_tools}
-
- for _am_tool in $_am_tools; do
- case $_am_tool in
- gnutar)
- for _am_tar in tar gnutar gtar; do
- AM_RUN_LOG([$_am_tar --version]) && break
- done
- am__tar="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$$tardir"'
- am__tar_="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$tardir"'
- am__untar="$_am_tar -xf -"
- ;;
- plaintar)
- # Must skip GNU tar: if it does not support --format= it doesn't create
- # ustar tarball either.
- (tar --version) >/dev/null 2>&1 && continue
- am__tar='tar chf - "$$tardir"'
- am__tar_='tar chf - "$tardir"'
- am__untar='tar xf -'
- ;;
- pax)
- am__tar='pax -L -x $1 -w "$$tardir"'
- am__tar_='pax -L -x $1 -w "$tardir"'
- am__untar='pax -r'
- ;;
- cpio)
- am__tar='find "$$tardir" -print | cpio -o -H $1 -L'
- am__tar_='find "$tardir" -print | cpio -o -H $1 -L'
- am__untar='cpio -i -H $1 -d'
- ;;
- none)
- am__tar=false
- am__tar_=false
- am__untar=false
- ;;
- esac
-
- # If the value was cached, stop now. We just wanted to have am__tar
- # and am__untar set.
- test -n "${am_cv_prog_tar_$1}" && break
-
- # tar/untar a dummy directory, and stop if the command works.
- rm -rf conftest.dir
- mkdir conftest.dir
- echo GrepMe > conftest.dir/file
- AM_RUN_LOG([tardir=conftest.dir && eval $am__tar_ >conftest.tar])
- rm -rf conftest.dir
- if test -s conftest.tar; then
- AM_RUN_LOG([$am__untar /dev/null 2>&1 && break
- fi
- done
- rm -rf conftest.dir
-
- AC_CACHE_VAL([am_cv_prog_tar_$1], [am_cv_prog_tar_$1=$_am_tool])
- AC_MSG_RESULT([$am_cv_prog_tar_$1])])
-
-AC_SUBST([am__tar])
-AC_SUBST([am__untar])
-]) # _AM_PROG_TAR
-
-m4_include([m4/curl-amissl.m4])
-m4_include([m4/curl-bearssl.m4])
-m4_include([m4/curl-compilers.m4])
-m4_include([m4/curl-confopts.m4])
-m4_include([m4/curl-functions.m4])
-m4_include([m4/curl-gnutls.m4])
-m4_include([m4/curl-mbedtls.m4])
-m4_include([m4/curl-openssl.m4])
-m4_include([m4/curl-override.m4])
-m4_include([m4/curl-reentrant.m4])
-m4_include([m4/curl-rustls.m4])
-m4_include([m4/curl-schannel.m4])
-m4_include([m4/curl-sectransp.m4])
-m4_include([m4/curl-sysconfig.m4])
-m4_include([m4/curl-wolfssl.m4])
-m4_include([m4/libtool.m4])
-m4_include([m4/ltoptions.m4])
-m4_include([m4/ltsugar.m4])
-m4_include([m4/ltversion.m4])
-m4_include([m4/lt~obsolete.m4])
-m4_include([m4/xc-am-iface.m4])
-m4_include([m4/xc-cc-check.m4])
-m4_include([m4/xc-lt-iface.m4])
-m4_include([m4/xc-translit.m4])
-m4_include([m4/xc-val-flgs.m4])
-m4_include([m4/zz40-xc-ovr.m4])
-m4_include([m4/zz50-xc-ovr.m4])
-m4_include([m4/zz60-xc-ovr.m4])
-m4_include([acinclude.m4])
diff --git a/curl/appveyor.sh b/curl/appveyor.sh
new file mode 100644
index 00000000..692084b1
--- /dev/null
+++ b/curl/appveyor.sh
@@ -0,0 +1,151 @@
+#!/usr/bin/env bash
+#***************************************************************************
+# _ _ ____ _
+# Project ___| | | | _ \| |
+# / __| | | | |_) | |
+# | (__| |_| | _ <| |___
+# \___|\___/|_| \_\_____|
+#
+# Copyright (C) Daniel Stenberg, , et al.
+#
+# 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.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
+# furnished to do so, under the terms of the COPYING file.
+#
+# This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
+# KIND, either express or implied.
+#
+# SPDX-License-Identifier: curl
+#
+###########################################################################
+
+# shellcheck disable=SC3040,SC2039
+set -eux; [ -n "${BASH:-}${ZSH_NAME:-}" ] && set -o pipefail
+
+# build
+
+if [ "${APPVEYOR_BUILD_WORKER_IMAGE}" = 'Visual Studio 2022' ]; then
+ openssl_root_win='C:/OpenSSL-v32-Win64'
+else
+ openssl_root_win='C:/OpenSSL-v111-Win64'
+fi
+openssl_root="$(cygpath "${openssl_root_win}")"
+
+if [ "${BUILD_SYSTEM}" = 'CMake' ]; then
+ options=''
+ [[ "${TARGET:-}" = *'ARM64'* ]] && SKIP_RUN='ARM64 architecture'
+ [ "${OPENSSL}" = 'ON' ] && options+=" -DOPENSSL_ROOT_DIR=${openssl_root_win}"
+ [ -n "${CURLDEBUG:-}" ] && options+=" -DENABLE_CURLDEBUG=${CURLDEBUG}"
+ [ "${PRJ_CFG}" = 'Debug' ] && options+=' -DCMAKE_RUNTIME_OUTPUT_DIRECTORY_DEBUG='
+ [ "${PRJ_CFG}" = 'Release' ] && options+=' -DCMAKE_RUNTIME_OUTPUT_DIRECTORY_RELEASE='
+ [[ "${PRJ_GEN}" = *'Visual Studio'* ]] && options+=' -DCMAKE_VS_GLOBALS=TrackFileAccess=false'
+ if [ "${PRJ_GEN}" = 'Visual Studio 9 2008' ]; then
+ [ "${DEBUG}" = 'ON' ] && [ "${SHARED}" = 'ON' ] && SKIP_RUN='Crash on startup in ENABLE_DEBUG=ON shared builds'
+ # Fails to run without this due to missing MSVCR90.dll / MSVCR90D.dll
+ options+=' -DCURL_STATIC_CRT=ON'
+ fi
+ # shellcheck disable=SC2086
+ cmake -B _bld "-G${PRJ_GEN}" ${TARGET:-} ${options} \
+ "-DCURL_USE_OPENSSL=${OPENSSL}" \
+ "-DCURL_USE_SCHANNEL=${SCHANNEL}" \
+ "-DHTTP_ONLY=${HTTP_ONLY}" \
+ "-DBUILD_SHARED_LIBS=${SHARED}" \
+ "-DENABLE_WEBSOCKETS=${WEBSOCKETS:-}" \
+ "-DCMAKE_UNITY_BUILD=${UNITY}" \
+ '-DCURL_WERROR=ON' \
+ "-DENABLE_DEBUG=${DEBUG}" \
+ "-DENABLE_UNICODE=${ENABLE_UNICODE}" \
+ '-DCMAKE_INSTALL_PREFIX=C:/curl' \
+ "-DCMAKE_BUILD_TYPE=${PRJ_CFG}" \
+ '-DCURL_USE_LIBPSL=OFF'
+ # shellcheck disable=SC2086
+ if ! cmake --build _bld --config "${PRJ_CFG}" --parallel 2 -- ${BUILD_OPT:-}; then
+ if [ "${PRJ_GEN}" = 'Visual Studio 9 2008' ]; then
+ find . -name BuildLog.htm -exec dos2unix '{}' +
+ find . -name BuildLog.htm -exec cat '{}' +
+ fi
+ false
+ fi
+ if [ "${SHARED}" = 'ON' ]; then
+ PATH="$PWD/_bld/lib:$PATH"
+ fi
+ if [ "${OPENSSL}" = 'ON' ]; then
+ PATH="$PWD/_bld/lib:${openssl_root}:$PATH"
+ fi
+ curl='_bld/src/curl.exe'
+elif [ "${BUILD_SYSTEM}" = 'VisualStudioSolution' ]; then
+ (
+ cd projects
+ ./generate.bat "${VC_VERSION}"
+ msbuild.exe -maxcpucount "-property:Configuration=${PRJ_CFG}" "Windows/${VC_VERSION}/curl-all.sln"
+ )
+ curl="build/Win32/${VC_VERSION}/${PRJ_CFG}/curld.exe"
+elif [ "${BUILD_SYSTEM}" = 'winbuild_vs2015' ]; then
+ ./buildconf.bat
+ (
+ cd winbuild
+ cat << EOF > _make.bat
+ call "C:/Program Files/Microsoft SDKs/Windows/v7.1/Bin/SetEnv.cmd" /x64
+ call "C:/Program Files (x86)/Microsoft Visual Studio 14.0/VC/vcvarsall.bat" x86_amd64
+ nmake -f Makefile.vc mode=dll VC=14 "SSL_PATH=${openssl_root_win}" WITH_SSL=dll MACHINE=x64 DEBUG=${DEBUG} ENABLE_UNICODE=${ENABLE_UNICODE}
+EOF
+ ./_make.bat
+ rm _make.bat
+ )
+ curl="builds/libcurl-vc14-x64-${PATHPART}-dll-ssl-dll-ipv6-sspi/bin/curl.exe"
+elif [ "${BUILD_SYSTEM}" = 'winbuild_vs2017' ]; then
+ ./buildconf.bat
+ (
+ cd winbuild
+ cat << EOF > _make.bat
+ call "C:/Program Files (x86)/Microsoft Visual Studio/2017/Community/VC/Auxiliary/Build/vcvars64.bat"
+ nmake -f Makefile.vc mode=dll VC=14.10 "SSL_PATH=${openssl_root_win}" WITH_SSL=dll MACHINE=x64 DEBUG=${DEBUG} ENABLE_UNICODE=${ENABLE_UNICODE} ENABLE_WEBSOCKETS=yes
+EOF
+ ./_make.bat
+ rm _make.bat
+ )
+ curl="builds/libcurl-vc14.10-x64-${PATHPART}-dll-ssl-dll-ipv6-sspi/bin/curl.exe"
+fi
+
+find . -name '*.exe' -o -name '*.dll'
+if [ -z "${SKIP_RUN:-}" ]; then
+ "${curl}" --disable --version
+else
+ echo "Skip running curl.exe. Reason: ${SKIP_RUN}"
+fi
+
+if false; then
+ cat CMakeFiles/CMakeConfigureLog.yaml 2>/dev/null || true
+fi
+
+# build tests
+
+if [[ "${TFLAGS}" != 'skipall' ]] && \
+ [ "${BUILD_SYSTEM}" = 'CMake' ]; then
+ cmake --build _bld --config "${PRJ_CFG}" --parallel 2 --target testdeps
+fi
+
+# run tests
+
+if [[ "${TFLAGS}" != 'skipall' ]] && \
+ [[ "${TFLAGS}" != 'skiprun' ]]; then
+ if [ -x "$(cygpath "${SYSTEMROOT}/System32/curl.exe")" ]; then
+ TFLAGS+=" -ac $(cygpath "${SYSTEMROOT}/System32/curl.exe")"
+ elif [ -x "$(cygpath 'C:/msys64/usr/bin/curl.exe')" ]; then
+ TFLAGS+=" -ac $(cygpath 'C:/msys64/usr/bin/curl.exe')"
+ fi
+ TFLAGS+=' -j0'
+ if [ "${BUILD_SYSTEM}" = 'CMake' ]; then
+ cmake --build _bld --config "${PRJ_CFG}" --target test-ci
+ else
+ (
+ TFLAGS="-a -p !flaky -r -rm ${TFLAGS}"
+ cd _bld/tests
+ ./runtests.pl
+ )
+ fi
+fi
diff --git a/curl/appveyor.yml b/curl/appveyor.yml
new file mode 100644
index 00000000..8410ceb0
--- /dev/null
+++ b/curl/appveyor.yml
@@ -0,0 +1,219 @@
+#***************************************************************************
+# _ _ ____ _
+# Project ___| | | | _ \| |
+# / __| | | | |_) | |
+# | (__| |_| | _ <| |___
+# \___|\___/|_| \_\_____|
+#
+# Copyright (C) Daniel Stenberg, , et al.
+#
+# 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.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
+# furnished to do so, under the terms of the COPYING file.
+#
+# This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
+# KIND, either express or implied.
+#
+# SPDX-License-Identifier: curl
+#
+###########################################################################
+
+# https://ci.appveyor.com/project/curlorg/curl/history
+# AppVeyor configuration:
+# https://www.appveyor.com/docs/appveyor-yml/
+# AppVeyor worker images:
+# https://www.appveyor.com/docs/windows-images-software/
+
+version: 7.50.0.{build}
+
+environment:
+ UNITY: 'ON'
+ OPENSSL: 'OFF'
+ DEBUG: 'ON'
+ SHARED: 'OFF'
+ TFLAGS: 'skipall'
+ matrix:
+
+ # generated CMake-based Visual Studio builds
+
+ - job_name: 'CMake, VS2008, Release, x86, Schannel, Build-only'
+ APPVEYOR_BUILD_WORKER_IMAGE: 'Visual Studio 2015'
+ BUILD_SYSTEM: CMake
+ PRJ_GEN: 'Visual Studio 9 2008'
+ PRJ_CFG: Release
+ DEBUG: 'OFF'
+ SCHANNEL: 'ON'
+ ENABLE_UNICODE: 'OFF'
+ HTTP_ONLY: 'OFF'
+ SHARED: 'ON'
+ - job_name: 'CMake, VS2008, Debug, x86, Schannel, Build-tests'
+ APPVEYOR_BUILD_WORKER_IMAGE: 'Visual Studio 2015'
+ BUILD_SYSTEM: CMake
+ PRJ_GEN: 'Visual Studio 9 2008'
+ PRJ_CFG: Debug
+ SCHANNEL: 'ON'
+ ENABLE_UNICODE: 'OFF'
+ HTTP_ONLY: 'OFF'
+ SHARED: 'ON'
+ TFLAGS: 'skiprun'
+ - job_name: 'CMake, VS2022, Release, x64, OpenSSL 3.2, WebSockets, Build-only'
+ APPVEYOR_BUILD_WORKER_IMAGE: 'Visual Studio 2022'
+ BUILD_SYSTEM: CMake
+ PRJ_GEN: 'Visual Studio 17 2022'
+ TARGET: '-A x64'
+ PRJ_CFG: Release
+ OPENSSL: 'ON'
+ SCHANNEL: 'OFF'
+ ENABLE_UNICODE: 'OFF'
+ HTTP_ONLY: 'OFF'
+ SHARED: 'ON'
+ WEBSOCKETS: 'ON'
+ - job_name: 'CMake, VS2022, Release, arm64, Schannel, Static, Build-tests'
+ APPVEYOR_BUILD_WORKER_IMAGE: 'Visual Studio 2022'
+ BUILD_SYSTEM: CMake
+ PRJ_GEN: 'Visual Studio 17 2022'
+ TARGET: '-A ARM64'
+ PRJ_CFG: Release
+ SCHANNEL: 'ON'
+ ENABLE_UNICODE: 'OFF'
+ HTTP_ONLY: 'OFF'
+ DEBUG: 'OFF'
+ CURLDEBUG: 'ON'
+ TFLAGS: 'skiprun'
+ - job_name: 'CMake, VS2010, Debug, x64, Schannel, Static, Build-tests'
+ APPVEYOR_BUILD_WORKER_IMAGE: 'Visual Studio 2015'
+ BUILD_SYSTEM: CMake
+ PRJ_GEN: 'Visual Studio 10 2010 Win64'
+ PRJ_CFG: Debug
+ SCHANNEL: 'ON'
+ ENABLE_UNICODE: 'OFF'
+ HTTP_ONLY: 'OFF'
+ TFLAGS: 'skiprun'
+ - job_name: 'CMake, VS2022, Debug, x64, Schannel, Static, Unicode, Build-only'
+ APPVEYOR_BUILD_WORKER_IMAGE: 'Visual Studio 2022'
+ BUILD_SYSTEM: CMake
+ PRJ_GEN: 'Visual Studio 17 2022'
+ TARGET: '-A x64'
+ PRJ_CFG: Debug
+ SCHANNEL: 'ON'
+ ENABLE_UNICODE: 'ON'
+ HTTP_ONLY: 'OFF'
+ - job_name: 'CMake, VS2022, Release, x64, Schannel, Shared, Unicode, DEBUGBULID, no-CURLDEBUG, Build-only'
+ APPVEYOR_BUILD_WORKER_IMAGE: 'Visual Studio 2022'
+ BUILD_SYSTEM: CMake
+ PRJ_GEN: 'Visual Studio 17 2022'
+ TARGET: '-A x64'
+ PRJ_CFG: Release
+ SCHANNEL: 'ON'
+ ENABLE_UNICODE: 'ON'
+ HTTP_ONLY: 'OFF'
+ SHARED: 'ON'
+ CURLDEBUG: 'OFF'
+ - job_name: 'CMake, VS2022, Debug, x64, no SSL, Static, Build-only'
+ APPVEYOR_BUILD_WORKER_IMAGE: 'Visual Studio 2022'
+ BUILD_SYSTEM: CMake
+ PRJ_GEN: 'Visual Studio 17 2022'
+ TARGET: '-A x64'
+ PRJ_CFG: Debug
+ SCHANNEL: 'OFF'
+ ENABLE_UNICODE: 'OFF'
+ HTTP_ONLY: 'OFF'
+ - job_name: 'CMake, VS2022, Debug, x64, no SSL, Static, HTTP only, Build-only'
+ APPVEYOR_BUILD_WORKER_IMAGE: 'Visual Studio 2022'
+ BUILD_SYSTEM: CMake
+ PRJ_GEN: 'Visual Studio 17 2022'
+ TARGET: '-A x64'
+ PRJ_CFG: Debug
+ SCHANNEL: 'OFF'
+ ENABLE_UNICODE: 'OFF'
+ HTTP_ONLY: 'ON'
+
+ # winbuild-based builds
+
+ - job_name: 'winbuild, VS2015, Debug, x64, OpenSSL 1.1.1, Build-only'
+ APPVEYOR_BUILD_WORKER_IMAGE: 'Visual Studio 2015'
+ BUILD_SYSTEM: winbuild_vs2015
+ DEBUG: 'yes'
+ PATHPART: debug
+ ENABLE_UNICODE: 'no'
+ - job_name: 'winbuild, VS2015, Release, x64, OpenSSL 1.1.1, Build-only'
+ APPVEYOR_BUILD_WORKER_IMAGE: 'Visual Studio 2015'
+ BUILD_SYSTEM: winbuild_vs2015
+ DEBUG: 'no'
+ PATHPART: release
+ ENABLE_UNICODE: 'no'
+ - job_name: 'winbuild, VS2017, Debug, x64, OpenSSL 1.1.1, Build-only'
+ APPVEYOR_BUILD_WORKER_IMAGE: 'Visual Studio 2017'
+ BUILD_SYSTEM: winbuild_vs2017
+ DEBUG: 'yes'
+ PATHPART: debug
+ ENABLE_UNICODE: 'no'
+ - job_name: 'winbuild, VS2017, Release, x64, OpenSSL 1.1.1, Build-only'
+ APPVEYOR_BUILD_WORKER_IMAGE: 'Visual Studio 2017'
+ BUILD_SYSTEM: winbuild_vs2017
+ DEBUG: 'no'
+ PATHPART: release
+ ENABLE_UNICODE: 'no'
+ - job_name: 'winbuild, VS2015, Debug, x64, OpenSSL 1.1.1, Unicode, Build-only'
+ APPVEYOR_BUILD_WORKER_IMAGE: 'Visual Studio 2015'
+ BUILD_SYSTEM: winbuild_vs2015
+ DEBUG: 'yes'
+ PATHPART: debug
+ ENABLE_UNICODE: 'yes'
+ - job_name: 'winbuild, VS2015, Release, x64, OpenSSL 1.1.1, Unicode, Build-only'
+ APPVEYOR_BUILD_WORKER_IMAGE: 'Visual Studio 2015'
+ BUILD_SYSTEM: winbuild_vs2015
+ DEBUG: 'no'
+ PATHPART: release
+ ENABLE_UNICODE: 'yes'
+ - job_name: 'winbuild, VS2017, Debug, x64, OpenSSL 1.1.1, Unicode, Build-only'
+ APPVEYOR_BUILD_WORKER_IMAGE: 'Visual Studio 2017'
+ BUILD_SYSTEM: winbuild_vs2017
+ DEBUG: 'yes'
+ PATHPART: debug
+ ENABLE_UNICODE: 'yes'
+ - job_name: 'winbuild, VS2017, Release, x64, OpenSSL 1.1.1, Unicode, Build-only'
+ APPVEYOR_BUILD_WORKER_IMAGE: 'Visual Studio 2017'
+ BUILD_SYSTEM: winbuild_vs2017
+ DEBUG: 'no'
+ PATHPART: release
+ ENABLE_UNICODE: 'yes'
+
+ # generated VisualStudioSolution-based builds
+
+ - job_name: 'VisualStudioSolution, VS2013, Debug, x86, Schannel, Build-only'
+ APPVEYOR_BUILD_WORKER_IMAGE: 'Visual Studio 2015'
+ BUILD_SYSTEM: VisualStudioSolution
+ PRJ_CFG: 'DLL Debug - DLL Windows SSPI - DLL WinIDN'
+ VC_VERSION: VC12
+
+install:
+ - ps: $env:PATH = "C:/msys64/usr/bin;$env:PATH"
+
+build_script:
+ - cmd: sh -c ./appveyor.sh
+
+clone_depth: 10
+
+# select branches to avoid testing feature branches twice (as branch and as pull request)
+branches:
+ only:
+ - master
+ - /\/ci$/
+
+skip_commits:
+ files:
+ - '.circleci/*'
+ - '.github/**/*'
+ - 'packages/**/*'
+ - 'plan9/**/*'
+
+#artifacts:
+# - path: '**/curl.exe'
+# name: curl
+# - path: '**/*curl*.dll'
+# name: libcurl dll
diff --git a/curl/buildconf.bat b/curl/buildconf.bat
index 61536611..532c9848 100644
--- a/curl/buildconf.bat
+++ b/curl/buildconf.bat
@@ -38,19 +38,7 @@ rem
cd /d "%~0\.." 1>NUL 2>&1
rem Check we are running from a curl git repository
- if not exist GIT-INFO goto norepo
-
- rem Detect programs. HAVE_
- rem When not found the variable is set undefined. The undefined pattern
- rem allows for statements like "if not defined HAVE_PERL (command)"
- groff --version NUL 2>&1
- if errorlevel 1 (set HAVE_GROFF=) else (set HAVE_GROFF=Y)
- nroff --version NUL 2>&1
- if errorlevel 1 (set HAVE_NROFF=) else (set HAVE_NROFF=Y)
- perl --version NUL 2>&1
- if errorlevel 1 (set HAVE_PERL=) else (set HAVE_PERL=Y)
- gzip --version NUL 2>&1
- if errorlevel 1 (set HAVE_GZIP=) else (set HAVE_GZIP=Y)
+ if not exist GIT-INFO.md goto norepo
:parseArgs
if "%~1" == "" goto start
@@ -125,15 +113,6 @@ rem
)
cmd /c exit 0
- rem Setup c-ares git tree
- if exist ares\buildconf.bat (
- echo.
- echo Configuring c-ares build environment
- cd ares
- call buildconf.bat
- cd ..
- )
-
if "%BASIC_HUGEHELP%" == "1" (
if "%OS%" == "Windows_NT" endlocal
exit /B 1
@@ -182,47 +161,20 @@ rem
:genHugeHelp
if "%OS%" == "Windows_NT" setlocal
set LC_ALL=C
- set ROFFCMD=
set BASIC=1
- if defined HAVE_PERL (
- if defined HAVE_GROFF (
- set ROFFCMD=groff -mtty-char -Tascii -P-c -man
- ) else if defined HAVE_NROFF (
- set ROFFCMD=nroff -c -Tascii -man
- )
- )
-
- if defined ROFFCMD (
+ if exist src\tool_hugehelp.c.cvs (
+ copy /Y src\tool_hugehelp.c.cvs src\tool_hugehelp.c 1>NUL 2>&1
+ ) else (
echo #include "tool_setup.h"> src\tool_hugehelp.c
echo #include "tool_hugehelp.h">> src\tool_hugehelp.c
-
- if defined HAVE_GZIP (
- echo #ifndef HAVE_LIBZ>> src\tool_hugehelp.c
- )
-
- %ROFFCMD% docs\curl.1 2>NUL | perl src\mkhelp.pl docs\MANUAL >> src\tool_hugehelp.c
- if defined HAVE_GZIP (
- echo #else>> src\tool_hugehelp.c
- %ROFFCMD% docs\curl.1 2>NUL | perl src\mkhelp.pl -c docs\MANUAL >> src\tool_hugehelp.c
- echo #endif /^* HAVE_LIBZ ^*/>> src\tool_hugehelp.c
- )
-
- set BASIC=0
- ) else (
- if exist src\tool_hugehelp.c.cvs (
- copy /Y src\tool_hugehelp.c.cvs src\tool_hugehelp.c 1>NUL 2>&1
- ) else (
- echo #include "tool_setup.h"> src\tool_hugehelp.c
- echo #include "tool_hugehelp.h">> src\tool_hugehelp.c
- echo.>> src\tool_hugehelp.c
- echo void hugehelp(void^)>> src\tool_hugehelp.c
- echo {>> src\tool_hugehelp.c
- echo #ifdef USE_MANUAL>> src\tool_hugehelp.c
- echo fputs("Built-in manual not included\n", stdout^);>> src\tool_hugehelp.c
- echo #endif>> src\tool_hugehelp.c
- echo }>> src\tool_hugehelp.c
- )
+ echo.>> src\tool_hugehelp.c
+ echo void hugehelp(void^)>> src\tool_hugehelp.c
+ echo {>> src\tool_hugehelp.c
+ echo #ifdef USE_MANUAL>> src\tool_hugehelp.c
+ echo fputs("Built-in manual not included\n", stdout^);>> src\tool_hugehelp.c
+ echo #endif>> src\tool_hugehelp.c
+ echo }>> src\tool_hugehelp.c
)
findstr "/C:void hugehelp(void)" src\tool_hugehelp.c 1>NUL 2>&1
@@ -244,13 +196,8 @@ rem Windows 9x as setlocal isn't available until Windows NT
rem
:dosCleanup
set MODE=
- set HAVE_GROFF=
- set HAVE_NROFF=
- set HAVE_PERL=
- set HAVE_GZIP=
set BASIC_HUGEHELP=
set LC_ALL
- set ROFFCMD=
set BASIC=
exit /B
@@ -296,10 +243,9 @@ rem
:warning
echo.
echo Warning: The curl manual could not be integrated in the source. This means when
- echo you build curl the manual will not be available (curl --man^). Integration of
+ echo you build curl the manual will not be available (curl --manual^). Integration of
echo the manual is not required and a summary of the options will still be available
- echo (curl --help^). To integrate the manual your PATH is required to have
- echo groff/nroff, perl and optionally gzip for compression.
+ echo (curl --help^). To integrate the manual build with configure or cmake.
goto success
:error
diff --git a/curl/compile b/curl/compile
deleted file mode 100644
index df363c8f..00000000
--- a/curl/compile
+++ /dev/null
@@ -1,348 +0,0 @@
-#! /bin/sh
-# Wrapper for compilers which do not understand '-c -o'.
-
-scriptversion=2018-03-07.03; # UTC
-
-# Copyright (C) 1999-2021 Free Software Foundation, Inc.
-# Written by Tom Tromey .
-#
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2, or (at your option)
-# any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program. If not, see .
-
-# As a special exception to the GNU General Public License, if you
-# distribute this file as part of a program that contains a
-# configuration script generated by Autoconf, you may include it under
-# the same distribution terms that you use for the rest of that program.
-
-# This file is maintained in Automake, please report
-# bugs to or send patches to
-# .
-
-nl='
-'
-
-# We need space, tab and new line, in precisely that order. Quoting is
-# there to prevent tools from complaining about whitespace usage.
-IFS=" "" $nl"
-
-file_conv=
-
-# func_file_conv build_file lazy
-# Convert a $build file to $host form and store it in $file
-# Currently only supports Windows hosts. If the determined conversion
-# type is listed in (the comma separated) LAZY, no conversion will
-# take place.
-func_file_conv ()
-{
- file=$1
- case $file in
- / | /[!/]*) # absolute file, and not a UNC file
- if test -z "$file_conv"; then
- # lazily determine how to convert abs files
- case `uname -s` in
- MINGW*)
- file_conv=mingw
- ;;
- CYGWIN* | MSYS*)
- file_conv=cygwin
- ;;
- *)
- file_conv=wine
- ;;
- esac
- fi
- case $file_conv/,$2, in
- *,$file_conv,*)
- ;;
- mingw/*)
- file=`cmd //C echo "$file " | sed -e 's/"\(.*\) " *$/\1/'`
- ;;
- cygwin/* | msys/*)
- file=`cygpath -m "$file" || echo "$file"`
- ;;
- wine/*)
- file=`winepath -w "$file" || echo "$file"`
- ;;
- esac
- ;;
- esac
-}
-
-# func_cl_dashL linkdir
-# Make cl look for libraries in LINKDIR
-func_cl_dashL ()
-{
- func_file_conv "$1"
- if test -z "$lib_path"; then
- lib_path=$file
- else
- lib_path="$lib_path;$file"
- fi
- linker_opts="$linker_opts -LIBPATH:$file"
-}
-
-# func_cl_dashl library
-# Do a library search-path lookup for cl
-func_cl_dashl ()
-{
- lib=$1
- found=no
- save_IFS=$IFS
- IFS=';'
- for dir in $lib_path $LIB
- do
- IFS=$save_IFS
- if $shared && test -f "$dir/$lib.dll.lib"; then
- found=yes
- lib=$dir/$lib.dll.lib
- break
- fi
- if test -f "$dir/$lib.lib"; then
- found=yes
- lib=$dir/$lib.lib
- break
- fi
- if test -f "$dir/lib$lib.a"; then
- found=yes
- lib=$dir/lib$lib.a
- break
- fi
- done
- IFS=$save_IFS
-
- if test "$found" != yes; then
- lib=$lib.lib
- fi
-}
-
-# func_cl_wrapper cl arg...
-# Adjust compile command to suit cl
-func_cl_wrapper ()
-{
- # Assume a capable shell
- lib_path=
- shared=:
- linker_opts=
- for arg
- do
- if test -n "$eat"; then
- eat=
- else
- case $1 in
- -o)
- # configure might choose to run compile as 'compile cc -o foo foo.c'.
- eat=1
- case $2 in
- *.o | *.[oO][bB][jJ])
- func_file_conv "$2"
- set x "$@" -Fo"$file"
- shift
- ;;
- *)
- func_file_conv "$2"
- set x "$@" -Fe"$file"
- shift
- ;;
- esac
- ;;
- -I)
- eat=1
- func_file_conv "$2" mingw
- set x "$@" -I"$file"
- shift
- ;;
- -I*)
- func_file_conv "${1#-I}" mingw
- set x "$@" -I"$file"
- shift
- ;;
- -l)
- eat=1
- func_cl_dashl "$2"
- set x "$@" "$lib"
- shift
- ;;
- -l*)
- func_cl_dashl "${1#-l}"
- set x "$@" "$lib"
- shift
- ;;
- -L)
- eat=1
- func_cl_dashL "$2"
- ;;
- -L*)
- func_cl_dashL "${1#-L}"
- ;;
- -static)
- shared=false
- ;;
- -Wl,*)
- arg=${1#-Wl,}
- save_ifs="$IFS"; IFS=','
- for flag in $arg; do
- IFS="$save_ifs"
- linker_opts="$linker_opts $flag"
- done
- IFS="$save_ifs"
- ;;
- -Xlinker)
- eat=1
- linker_opts="$linker_opts $2"
- ;;
- -*)
- set x "$@" "$1"
- shift
- ;;
- *.cc | *.CC | *.cxx | *.CXX | *.[cC]++)
- func_file_conv "$1"
- set x "$@" -Tp"$file"
- shift
- ;;
- *.c | *.cpp | *.CPP | *.lib | *.LIB | *.Lib | *.OBJ | *.obj | *.[oO])
- func_file_conv "$1" mingw
- set x "$@" "$file"
- shift
- ;;
- *)
- set x "$@" "$1"
- shift
- ;;
- esac
- fi
- shift
- done
- if test -n "$linker_opts"; then
- linker_opts="-link$linker_opts"
- fi
- exec "$@" $linker_opts
- exit 1
-}
-
-eat=
-
-case $1 in
- '')
- echo "$0: No command. Try '$0 --help' for more information." 1>&2
- exit 1;
- ;;
- -h | --h*)
- cat <<\EOF
-Usage: compile [--help] [--version] PROGRAM [ARGS]
-
-Wrapper for compilers which do not understand '-c -o'.
-Remove '-o dest.o' from ARGS, run PROGRAM with the remaining
-arguments, and rename the output as expected.
-
-If you are trying to build a whole package this is not the
-right script to run: please start by reading the file 'INSTALL'.
-
-Report bugs to .
-EOF
- exit $?
- ;;
- -v | --v*)
- echo "compile $scriptversion"
- exit $?
- ;;
- cl | *[/\\]cl | cl.exe | *[/\\]cl.exe | \
- icl | *[/\\]icl | icl.exe | *[/\\]icl.exe )
- func_cl_wrapper "$@" # Doesn't return...
- ;;
-esac
-
-ofile=
-cfile=
-
-for arg
-do
- if test -n "$eat"; then
- eat=
- else
- case $1 in
- -o)
- # configure might choose to run compile as 'compile cc -o foo foo.c'.
- # So we strip '-o arg' only if arg is an object.
- eat=1
- case $2 in
- *.o | *.obj)
- ofile=$2
- ;;
- *)
- set x "$@" -o "$2"
- shift
- ;;
- esac
- ;;
- *.c)
- cfile=$1
- set x "$@" "$1"
- shift
- ;;
- *)
- set x "$@" "$1"
- shift
- ;;
- esac
- fi
- shift
-done
-
-if test -z "$ofile" || test -z "$cfile"; then
- # If no '-o' option was seen then we might have been invoked from a
- # pattern rule where we don't need one. That is ok -- this is a
- # normal compilation that the losing compiler can handle. If no
- # '.c' file was seen then we are probably linking. That is also
- # ok.
- exec "$@"
-fi
-
-# Name of file we expect compiler to create.
-cofile=`echo "$cfile" | sed 's|^.*[\\/]||; s|^[a-zA-Z]:||; s/\.c$/.o/'`
-
-# Create the lock directory.
-# Note: use '[/\\:.-]' here to ensure that we don't use the same name
-# that we are using for the .o file. Also, base the name on the expected
-# object file name, since that is what matters with a parallel build.
-lockdir=`echo "$cofile" | sed -e 's|[/\\:.-]|_|g'`.d
-while true; do
- if mkdir "$lockdir" >/dev/null 2>&1; then
- break
- fi
- sleep 1
-done
-# FIXME: race condition here if user kills between mkdir and trap.
-trap "rmdir '$lockdir'; exit 1" 1 2 15
-
-# Run the compile.
-"$@"
-ret=$?
-
-if test -f "$cofile"; then
- test "$cofile" = "$ofile" || mv "$cofile" "$ofile"
-elif test -f "${cofile}bj"; then
- test "${cofile}bj" = "$ofile" || mv "${cofile}bj" "$ofile"
-fi
-
-rmdir "$lockdir"
-exit $ret
-
-# Local Variables:
-# mode: shell-script
-# sh-indentation: 2
-# eval: (add-hook 'before-save-hook 'time-stamp)
-# time-stamp-start: "scriptversion="
-# time-stamp-format: "%:y-%02m-%02d.%02H"
-# time-stamp-time-zone: "UTC0"
-# time-stamp-end: "; # UTC"
-# End:
diff --git a/curl/config.guess b/curl/config.guess
deleted file mode 100644
index 7f76b622..00000000
--- a/curl/config.guess
+++ /dev/null
@@ -1,1754 +0,0 @@
-#! /bin/sh
-# Attempt to guess a canonical system name.
-# Copyright 1992-2022 Free Software Foundation, Inc.
-
-# shellcheck disable=SC2006,SC2268 # see below for rationale
-
-timestamp='2022-01-09'
-
-# This file is free software; you can redistribute it and/or modify it
-# under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful, but
-# WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-# General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, see .
-#
-# As a special exception to the GNU General Public License, if you
-# distribute this file as part of a program that contains a
-# configuration script generated by Autoconf, you may include it under
-# the same distribution terms that you use for the rest of that
-# program. This Exception is an additional permission under section 7
-# of the GNU General Public License, version 3 ("GPLv3").
-#
-# Originally written by Per Bothner; maintained since 2000 by Ben Elliston.
-#
-# You can get the latest version of this script from:
-# https://git.savannah.gnu.org/cgit/config.git/plain/config.guess
-#
-# Please send patches to .
-
-
-# The "shellcheck disable" line above the timestamp inhibits complaints
-# about features and limitations of the classic Bourne shell that were
-# superseded or lifted in POSIX. However, this script identifies a wide
-# variety of pre-POSIX systems that do not have POSIX shells at all, and
-# even some reasonably current systems (Solaris 10 as case-in-point) still
-# have a pre-POSIX /bin/sh.
-
-
-me=`echo "$0" | sed -e 's,.*/,,'`
-
-usage="\
-Usage: $0 [OPTION]
-
-Output the configuration name of the system \`$me' is run on.
-
-Options:
- -h, --help print this help, then exit
- -t, --time-stamp print date of last modification, then exit
- -v, --version print version number, then exit
-
-Report bugs and patches to ."
-
-version="\
-GNU config.guess ($timestamp)
-
-Originally written by Per Bothner.
-Copyright 1992-2022 Free Software Foundation, Inc.
-
-This is free software; see the source for copying conditions. There is NO
-warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
-
-help="
-Try \`$me --help' for more information."
-
-# Parse command line
-while test $# -gt 0 ; do
- case $1 in
- --time-stamp | --time* | -t )
- echo "$timestamp" ; exit ;;
- --version | -v )
- echo "$version" ; exit ;;
- --help | --h* | -h )
- echo "$usage"; exit ;;
- -- ) # Stop option processing
- shift; break ;;
- - ) # Use stdin as input.
- break ;;
- -* )
- echo "$me: invalid option $1$help" >&2
- exit 1 ;;
- * )
- break ;;
- esac
-done
-
-if test $# != 0; then
- echo "$me: too many arguments$help" >&2
- exit 1
-fi
-
-# Just in case it came from the environment.
-GUESS=
-
-# CC_FOR_BUILD -- compiler used by this script. Note that the use of a
-# compiler to aid in system detection is discouraged as it requires
-# temporary files to be created and, as you can see below, it is a
-# headache to deal with in a portable fashion.
-
-# Historically, `CC_FOR_BUILD' used to be named `HOST_CC'. We still
-# use `HOST_CC' if defined, but it is deprecated.
-
-# Portable tmp directory creation inspired by the Autoconf team.
-
-tmp=
-# shellcheck disable=SC2172
-trap 'test -z "$tmp" || rm -fr "$tmp"' 0 1 2 13 15
-
-set_cc_for_build() {
- # prevent multiple calls if $tmp is already set
- test "$tmp" && return 0
- : "${TMPDIR=/tmp}"
- # shellcheck disable=SC2039,SC3028
- { tmp=`(umask 077 && mktemp -d "$TMPDIR/cgXXXXXX") 2>/dev/null` && test -n "$tmp" && test -d "$tmp" ; } ||
- { test -n "$RANDOM" && tmp=$TMPDIR/cg$$-$RANDOM && (umask 077 && mkdir "$tmp" 2>/dev/null) ; } ||
- { tmp=$TMPDIR/cg-$$ && (umask 077 && mkdir "$tmp" 2>/dev/null) && echo "Warning: creating insecure temp directory" >&2 ; } ||
- { echo "$me: cannot create a temporary directory in $TMPDIR" >&2 ; exit 1 ; }
- dummy=$tmp/dummy
- case ${CC_FOR_BUILD-},${HOST_CC-},${CC-} in
- ,,) echo "int x;" > "$dummy.c"
- for driver in cc gcc c89 c99 ; do
- if ($driver -c -o "$dummy.o" "$dummy.c") >/dev/null 2>&1 ; then
- CC_FOR_BUILD=$driver
- break
- fi
- done
- if test x"$CC_FOR_BUILD" = x ; then
- CC_FOR_BUILD=no_compiler_found
- fi
- ;;
- ,,*) CC_FOR_BUILD=$CC ;;
- ,*,*) CC_FOR_BUILD=$HOST_CC ;;
- esac
-}
-
-# This is needed to find uname on a Pyramid OSx when run in the BSD universe.
-# (ghazi@noc.rutgers.edu 1994-08-24)
-if test -f /.attbin/uname ; then
- PATH=$PATH:/.attbin ; export PATH
-fi
-
-UNAME_MACHINE=`(uname -m) 2>/dev/null` || UNAME_MACHINE=unknown
-UNAME_RELEASE=`(uname -r) 2>/dev/null` || UNAME_RELEASE=unknown
-UNAME_SYSTEM=`(uname -s) 2>/dev/null` || UNAME_SYSTEM=unknown
-UNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown
-
-case $UNAME_SYSTEM in
-Linux|GNU|GNU/*)
- LIBC=unknown
-
- set_cc_for_build
- cat <<-EOF > "$dummy.c"
- #include
- #if defined(__UCLIBC__)
- LIBC=uclibc
- #elif defined(__dietlibc__)
- LIBC=dietlibc
- #elif defined(__GLIBC__)
- LIBC=gnu
- #else
- #include
- /* First heuristic to detect musl libc. */
- #ifdef __DEFINED_va_list
- LIBC=musl
- #endif
- #endif
- EOF
- cc_set_libc=`$CC_FOR_BUILD -E "$dummy.c" 2>/dev/null | grep '^LIBC' | sed 's, ,,g'`
- eval "$cc_set_libc"
-
- # Second heuristic to detect musl libc.
- if [ "$LIBC" = unknown ] &&
- command -v ldd >/dev/null &&
- ldd --version 2>&1 | grep -q ^musl; then
- LIBC=musl
- fi
-
- # If the system lacks a compiler, then just pick glibc.
- # We could probably try harder.
- if [ "$LIBC" = unknown ]; then
- LIBC=gnu
- fi
- ;;
-esac
-
-# Note: order is significant - the case branches are not exclusive.
-
-case $UNAME_MACHINE:$UNAME_SYSTEM:$UNAME_RELEASE:$UNAME_VERSION in
- *:NetBSD:*:*)
- # NetBSD (nbsd) targets should (where applicable) match one or
- # more of the tuples: *-*-netbsdelf*, *-*-netbsdaout*,
- # *-*-netbsdecoff* and *-*-netbsd*. For targets that recently
- # switched to ELF, *-*-netbsd* would select the old
- # object file format. This provides both forward
- # compatibility and a consistent mechanism for selecting the
- # object file format.
- #
- # Note: NetBSD doesn't particularly care about the vendor
- # portion of the name. We always set it to "unknown".
- UNAME_MACHINE_ARCH=`(uname -p 2>/dev/null || \
- /sbin/sysctl -n hw.machine_arch 2>/dev/null || \
- /usr/sbin/sysctl -n hw.machine_arch 2>/dev/null || \
- echo unknown)`
- case $UNAME_MACHINE_ARCH in
- aarch64eb) machine=aarch64_be-unknown ;;
- armeb) machine=armeb-unknown ;;
- arm*) machine=arm-unknown ;;
- sh3el) machine=shl-unknown ;;
- sh3eb) machine=sh-unknown ;;
- sh5el) machine=sh5le-unknown ;;
- earmv*)
- arch=`echo "$UNAME_MACHINE_ARCH" | sed -e 's,^e\(armv[0-9]\).*$,\1,'`
- endian=`echo "$UNAME_MACHINE_ARCH" | sed -ne 's,^.*\(eb\)$,\1,p'`
- machine=${arch}${endian}-unknown
- ;;
- *) machine=$UNAME_MACHINE_ARCH-unknown ;;
- esac
- # The Operating System including object format, if it has switched
- # to ELF recently (or will in the future) and ABI.
- case $UNAME_MACHINE_ARCH in
- earm*)
- os=netbsdelf
- ;;
- arm*|i386|m68k|ns32k|sh3*|sparc|vax)
- set_cc_for_build
- if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \
- | grep -q __ELF__
- then
- # Once all utilities can be ECOFF (netbsdecoff) or a.out (netbsdaout).
- # Return netbsd for either. FIX?
- os=netbsd
- else
- os=netbsdelf
- fi
- ;;
- *)
- os=netbsd
- ;;
- esac
- # Determine ABI tags.
- case $UNAME_MACHINE_ARCH in
- earm*)
- expr='s/^earmv[0-9]/-eabi/;s/eb$//'
- abi=`echo "$UNAME_MACHINE_ARCH" | sed -e "$expr"`
- ;;
- esac
- # The OS release
- # Debian GNU/NetBSD machines have a different userland, and
- # thus, need a distinct triplet. However, they do not need
- # kernel version information, so it can be replaced with a
- # suitable tag, in the style of linux-gnu.
- case $UNAME_VERSION in
- Debian*)
- release='-gnu'
- ;;
- *)
- release=`echo "$UNAME_RELEASE" | sed -e 's/[-_].*//' | cut -d. -f1,2`
- ;;
- esac
- # Since CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM:
- # contains redundant information, the shorter form:
- # CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used.
- GUESS=$machine-${os}${release}${abi-}
- ;;
- *:Bitrig:*:*)
- UNAME_MACHINE_ARCH=`arch | sed 's/Bitrig.//'`
- GUESS=$UNAME_MACHINE_ARCH-unknown-bitrig$UNAME_RELEASE
- ;;
- *:OpenBSD:*:*)
- UNAME_MACHINE_ARCH=`arch | sed 's/OpenBSD.//'`
- GUESS=$UNAME_MACHINE_ARCH-unknown-openbsd$UNAME_RELEASE
- ;;
- *:SecBSD:*:*)
- UNAME_MACHINE_ARCH=`arch | sed 's/SecBSD.//'`
- GUESS=$UNAME_MACHINE_ARCH-unknown-secbsd$UNAME_RELEASE
- ;;
- *:LibertyBSD:*:*)
- UNAME_MACHINE_ARCH=`arch | sed 's/^.*BSD\.//'`
- GUESS=$UNAME_MACHINE_ARCH-unknown-libertybsd$UNAME_RELEASE
- ;;
- *:MidnightBSD:*:*)
- GUESS=$UNAME_MACHINE-unknown-midnightbsd$UNAME_RELEASE
- ;;
- *:ekkoBSD:*:*)
- GUESS=$UNAME_MACHINE-unknown-ekkobsd$UNAME_RELEASE
- ;;
- *:SolidBSD:*:*)
- GUESS=$UNAME_MACHINE-unknown-solidbsd$UNAME_RELEASE
- ;;
- *:OS108:*:*)
- GUESS=$UNAME_MACHINE-unknown-os108_$UNAME_RELEASE
- ;;
- macppc:MirBSD:*:*)
- GUESS=powerpc-unknown-mirbsd$UNAME_RELEASE
- ;;
- *:MirBSD:*:*)
- GUESS=$UNAME_MACHINE-unknown-mirbsd$UNAME_RELEASE
- ;;
- *:Sortix:*:*)
- GUESS=$UNAME_MACHINE-unknown-sortix
- ;;
- *:Twizzler:*:*)
- GUESS=$UNAME_MACHINE-unknown-twizzler
- ;;
- *:Redox:*:*)
- GUESS=$UNAME_MACHINE-unknown-redox
- ;;
- mips:OSF1:*.*)
- GUESS=mips-dec-osf1
- ;;
- alpha:OSF1:*:*)
- # Reset EXIT trap before exiting to avoid spurious non-zero exit code.
- trap '' 0
- case $UNAME_RELEASE in
- *4.0)
- UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $3}'`
- ;;
- *5.*)
- UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $4}'`
- ;;
- esac
- # According to Compaq, /usr/sbin/psrinfo has been available on
- # OSF/1 and Tru64 systems produced since 1995. I hope that
- # covers most systems running today. This code pipes the CPU
- # types through head -n 1, so we only detect the type of CPU 0.
- ALPHA_CPU_TYPE=`/usr/sbin/psrinfo -v | sed -n -e 's/^ The alpha \(.*\) processor.*$/\1/p' | head -n 1`
- case $ALPHA_CPU_TYPE in
- "EV4 (21064)")
- UNAME_MACHINE=alpha ;;
- "EV4.5 (21064)")
- UNAME_MACHINE=alpha ;;
- "LCA4 (21066/21068)")
- UNAME_MACHINE=alpha ;;
- "EV5 (21164)")
- UNAME_MACHINE=alphaev5 ;;
- "EV5.6 (21164A)")
- UNAME_MACHINE=alphaev56 ;;
- "EV5.6 (21164PC)")
- UNAME_MACHINE=alphapca56 ;;
- "EV5.7 (21164PC)")
- UNAME_MACHINE=alphapca57 ;;
- "EV6 (21264)")
- UNAME_MACHINE=alphaev6 ;;
- "EV6.7 (21264A)")
- UNAME_MACHINE=alphaev67 ;;
- "EV6.8CB (21264C)")
- UNAME_MACHINE=alphaev68 ;;
- "EV6.8AL (21264B)")
- UNAME_MACHINE=alphaev68 ;;
- "EV6.8CX (21264D)")
- UNAME_MACHINE=alphaev68 ;;
- "EV6.9A (21264/EV69A)")
- UNAME_MACHINE=alphaev69 ;;
- "EV7 (21364)")
- UNAME_MACHINE=alphaev7 ;;
- "EV7.9 (21364A)")
- UNAME_MACHINE=alphaev79 ;;
- esac
- # A Pn.n version is a patched version.
- # A Vn.n version is a released version.
- # A Tn.n version is a released field test version.
- # A Xn.n version is an unreleased experimental baselevel.
- # 1.2 uses "1.2" for uname -r.
- OSF_REL=`echo "$UNAME_RELEASE" | sed -e 's/^[PVTX]//' | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz`
- GUESS=$UNAME_MACHINE-dec-osf$OSF_REL
- ;;
- Amiga*:UNIX_System_V:4.0:*)
- GUESS=m68k-unknown-sysv4
- ;;
- *:[Aa]miga[Oo][Ss]:*:*)
- GUESS=$UNAME_MACHINE-unknown-amigaos
- ;;
- *:[Mm]orph[Oo][Ss]:*:*)
- GUESS=$UNAME_MACHINE-unknown-morphos
- ;;
- *:OS/390:*:*)
- GUESS=i370-ibm-openedition
- ;;
- *:z/VM:*:*)
- GUESS=s390-ibm-zvmoe
- ;;
- *:OS400:*:*)
- GUESS=powerpc-ibm-os400
- ;;
- arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*)
- GUESS=arm-acorn-riscix$UNAME_RELEASE
- ;;
- arm*:riscos:*:*|arm*:RISCOS:*:*)
- GUESS=arm-unknown-riscos
- ;;
- SR2?01:HI-UX/MPP:*:* | SR8000:HI-UX/MPP:*:*)
- GUESS=hppa1.1-hitachi-hiuxmpp
- ;;
- Pyramid*:OSx*:*:* | MIS*:OSx*:*:* | MIS*:SMP_DC-OSx*:*:*)
- # akee@wpdis03.wpafb.af.mil (Earle F. Ake) contributed MIS and NILE.
- case `(/bin/universe) 2>/dev/null` in
- att) GUESS=pyramid-pyramid-sysv3 ;;
- *) GUESS=pyramid-pyramid-bsd ;;
- esac
- ;;
- NILE*:*:*:dcosx)
- GUESS=pyramid-pyramid-svr4
- ;;
- DRS?6000:unix:4.0:6*)
- GUESS=sparc-icl-nx6
- ;;
- DRS?6000:UNIX_SV:4.2*:7* | DRS?6000:isis:4.2*:7*)
- case `/usr/bin/uname -p` in
- sparc) GUESS=sparc-icl-nx7 ;;
- esac
- ;;
- s390x:SunOS:*:*)
- SUN_REL=`echo "$UNAME_RELEASE" | sed -e 's/[^.]*//'`
- GUESS=$UNAME_MACHINE-ibm-solaris2$SUN_REL
- ;;
- sun4H:SunOS:5.*:*)
- SUN_REL=`echo "$UNAME_RELEASE" | sed -e 's/[^.]*//'`
- GUESS=sparc-hal-solaris2$SUN_REL
- ;;
- sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*)
- SUN_REL=`echo "$UNAME_RELEASE" | sed -e 's/[^.]*//'`
- GUESS=sparc-sun-solaris2$SUN_REL
- ;;
- i86pc:AuroraUX:5.*:* | i86xen:AuroraUX:5.*:*)
- GUESS=i386-pc-auroraux$UNAME_RELEASE
- ;;
- i86pc:SunOS:5.*:* | i86xen:SunOS:5.*:*)
- set_cc_for_build
- SUN_ARCH=i386
- # If there is a compiler, see if it is configured for 64-bit objects.
- # Note that the Sun cc does not turn __LP64__ into 1 like gcc does.
- # This test works for both compilers.
- if test "$CC_FOR_BUILD" != no_compiler_found; then
- if (echo '#ifdef __amd64'; echo IS_64BIT_ARCH; echo '#endif') | \
- (CCOPTS="" $CC_FOR_BUILD -m64 -E - 2>/dev/null) | \
- grep IS_64BIT_ARCH >/dev/null
- then
- SUN_ARCH=x86_64
- fi
- fi
- SUN_REL=`echo "$UNAME_RELEASE" | sed -e 's/[^.]*//'`
- GUESS=$SUN_ARCH-pc-solaris2$SUN_REL
- ;;
- sun4*:SunOS:6*:*)
- # According to config.sub, this is the proper way to canonicalize
- # SunOS6. Hard to guess exactly what SunOS6 will be like, but
- # it's likely to be more like Solaris than SunOS4.
- SUN_REL=`echo "$UNAME_RELEASE" | sed -e 's/[^.]*//'`
- GUESS=sparc-sun-solaris3$SUN_REL
- ;;
- sun4*:SunOS:*:*)
- case `/usr/bin/arch -k` in
- Series*|S4*)
- UNAME_RELEASE=`uname -v`
- ;;
- esac
- # Japanese Language versions have a version number like `4.1.3-JL'.
- SUN_REL=`echo "$UNAME_RELEASE" | sed -e 's/-/_/'`
- GUESS=sparc-sun-sunos$SUN_REL
- ;;
- sun3*:SunOS:*:*)
- GUESS=m68k-sun-sunos$UNAME_RELEASE
- ;;
- sun*:*:4.2BSD:*)
- UNAME_RELEASE=`(sed 1q /etc/motd | awk '{print substr($5,1,3)}') 2>/dev/null`
- test "x$UNAME_RELEASE" = x && UNAME_RELEASE=3
- case `/bin/arch` in
- sun3)
- GUESS=m68k-sun-sunos$UNAME_RELEASE
- ;;
- sun4)
- GUESS=sparc-sun-sunos$UNAME_RELEASE
- ;;
- esac
- ;;
- aushp:SunOS:*:*)
- GUESS=sparc-auspex-sunos$UNAME_RELEASE
- ;;
- # The situation for MiNT is a little confusing. The machine name
- # can be virtually everything (everything which is not
- # "atarist" or "atariste" at least should have a processor
- # > m68000). The system name ranges from "MiNT" over "FreeMiNT"
- # to the lowercase version "mint" (or "freemint"). Finally
- # the system name "TOS" denotes a system which is actually not
- # MiNT. But MiNT is downward compatible to TOS, so this should
- # be no problem.
- atarist[e]:*MiNT:*:* | atarist[e]:*mint:*:* | atarist[e]:*TOS:*:*)
- GUESS=m68k-atari-mint$UNAME_RELEASE
- ;;
- atari*:*MiNT:*:* | atari*:*mint:*:* | atarist[e]:*TOS:*:*)
- GUESS=m68k-atari-mint$UNAME_RELEASE
- ;;
- *falcon*:*MiNT:*:* | *falcon*:*mint:*:* | *falcon*:*TOS:*:*)
- GUESS=m68k-atari-mint$UNAME_RELEASE
- ;;
- milan*:*MiNT:*:* | milan*:*mint:*:* | *milan*:*TOS:*:*)
- GUESS=m68k-milan-mint$UNAME_RELEASE
- ;;
- hades*:*MiNT:*:* | hades*:*mint:*:* | *hades*:*TOS:*:*)
- GUESS=m68k-hades-mint$UNAME_RELEASE
- ;;
- *:*MiNT:*:* | *:*mint:*:* | *:*TOS:*:*)
- GUESS=m68k-unknown-mint$UNAME_RELEASE
- ;;
- m68k:machten:*:*)
- GUESS=m68k-apple-machten$UNAME_RELEASE
- ;;
- powerpc:machten:*:*)
- GUESS=powerpc-apple-machten$UNAME_RELEASE
- ;;
- RISC*:Mach:*:*)
- GUESS=mips-dec-mach_bsd4.3
- ;;
- RISC*:ULTRIX:*:*)
- GUESS=mips-dec-ultrix$UNAME_RELEASE
- ;;
- VAX*:ULTRIX*:*:*)
- GUESS=vax-dec-ultrix$UNAME_RELEASE
- ;;
- 2020:CLIX:*:* | 2430:CLIX:*:*)
- GUESS=clipper-intergraph-clix$UNAME_RELEASE
- ;;
- mips:*:*:UMIPS | mips:*:*:RISCos)
- set_cc_for_build
- sed 's/^ //' << EOF > "$dummy.c"
-#ifdef __cplusplus
-#include /* for printf() prototype */
- int main (int argc, char *argv[]) {
-#else
- int main (argc, argv) int argc; char *argv[]; {
-#endif
- #if defined (host_mips) && defined (MIPSEB)
- #if defined (SYSTYPE_SYSV)
- printf ("mips-mips-riscos%ssysv\\n", argv[1]); exit (0);
- #endif
- #if defined (SYSTYPE_SVR4)
- printf ("mips-mips-riscos%ssvr4\\n", argv[1]); exit (0);
- #endif
- #if defined (SYSTYPE_BSD43) || defined(SYSTYPE_BSD)
- printf ("mips-mips-riscos%sbsd\\n", argv[1]); exit (0);
- #endif
- #endif
- exit (-1);
- }
-EOF
- $CC_FOR_BUILD -o "$dummy" "$dummy.c" &&
- dummyarg=`echo "$UNAME_RELEASE" | sed -n 's/\([0-9]*\).*/\1/p'` &&
- SYSTEM_NAME=`"$dummy" "$dummyarg"` &&
- { echo "$SYSTEM_NAME"; exit; }
- GUESS=mips-mips-riscos$UNAME_RELEASE
- ;;
- Motorola:PowerMAX_OS:*:*)
- GUESS=powerpc-motorola-powermax
- ;;
- Motorola:*:4.3:PL8-*)
- GUESS=powerpc-harris-powermax
- ;;
- Night_Hawk:*:*:PowerMAX_OS | Synergy:PowerMAX_OS:*:*)
- GUESS=powerpc-harris-powermax
- ;;
- Night_Hawk:Power_UNIX:*:*)
- GUESS=powerpc-harris-powerunix
- ;;
- m88k:CX/UX:7*:*)
- GUESS=m88k-harris-cxux7
- ;;
- m88k:*:4*:R4*)
- GUESS=m88k-motorola-sysv4
- ;;
- m88k:*:3*:R3*)
- GUESS=m88k-motorola-sysv3
- ;;
- AViiON:dgux:*:*)
- # DG/UX returns AViiON for all architectures
- UNAME_PROCESSOR=`/usr/bin/uname -p`
- if test "$UNAME_PROCESSOR" = mc88100 || test "$UNAME_PROCESSOR" = mc88110
- then
- if test "$TARGET_BINARY_INTERFACE"x = m88kdguxelfx || \
- test "$TARGET_BINARY_INTERFACE"x = x
- then
- GUESS=m88k-dg-dgux$UNAME_RELEASE
- else
- GUESS=m88k-dg-dguxbcs$UNAME_RELEASE
- fi
- else
- GUESS=i586-dg-dgux$UNAME_RELEASE
- fi
- ;;
- M88*:DolphinOS:*:*) # DolphinOS (SVR3)
- GUESS=m88k-dolphin-sysv3
- ;;
- M88*:*:R3*:*)
- # Delta 88k system running SVR3
- GUESS=m88k-motorola-sysv3
- ;;
- XD88*:*:*:*) # Tektronix XD88 system running UTekV (SVR3)
- GUESS=m88k-tektronix-sysv3
- ;;
- Tek43[0-9][0-9]:UTek:*:*) # Tektronix 4300 system running UTek (BSD)
- GUESS=m68k-tektronix-bsd
- ;;
- *:IRIX*:*:*)
- IRIX_REL=`echo "$UNAME_RELEASE" | sed -e 's/-/_/g'`
- GUESS=mips-sgi-irix$IRIX_REL
- ;;
- ????????:AIX?:[12].1:2) # AIX 2.2.1 or AIX 2.1.1 is RT/PC AIX.
- GUESS=romp-ibm-aix # uname -m gives an 8 hex-code CPU id
- ;; # Note that: echo "'`uname -s`'" gives 'AIX '
- i*86:AIX:*:*)
- GUESS=i386-ibm-aix
- ;;
- ia64:AIX:*:*)
- if test -x /usr/bin/oslevel ; then
- IBM_REV=`/usr/bin/oslevel`
- else
- IBM_REV=$UNAME_VERSION.$UNAME_RELEASE
- fi
- GUESS=$UNAME_MACHINE-ibm-aix$IBM_REV
- ;;
- *:AIX:2:3)
- if grep bos325 /usr/include/stdio.h >/dev/null 2>&1; then
- set_cc_for_build
- sed 's/^ //' << EOF > "$dummy.c"
- #include
-
- main()
- {
- if (!__power_pc())
- exit(1);
- puts("powerpc-ibm-aix3.2.5");
- exit(0);
- }
-EOF
- if $CC_FOR_BUILD -o "$dummy" "$dummy.c" && SYSTEM_NAME=`"$dummy"`
- then
- GUESS=$SYSTEM_NAME
- else
- GUESS=rs6000-ibm-aix3.2.5
- fi
- elif grep bos324 /usr/include/stdio.h >/dev/null 2>&1; then
- GUESS=rs6000-ibm-aix3.2.4
- else
- GUESS=rs6000-ibm-aix3.2
- fi
- ;;
- *:AIX:*:[4567])
- IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | sed 1q | awk '{ print $1 }'`
- if /usr/sbin/lsattr -El "$IBM_CPU_ID" | grep ' POWER' >/dev/null 2>&1; then
- IBM_ARCH=rs6000
- else
- IBM_ARCH=powerpc
- fi
- if test -x /usr/bin/lslpp ; then
- IBM_REV=`/usr/bin/lslpp -Lqc bos.rte.libc | \
- awk -F: '{ print $3 }' | sed s/[0-9]*$/0/`
- else
- IBM_REV=$UNAME_VERSION.$UNAME_RELEASE
- fi
- GUESS=$IBM_ARCH-ibm-aix$IBM_REV
- ;;
- *:AIX:*:*)
- GUESS=rs6000-ibm-aix
- ;;
- ibmrt:4.4BSD:*|romp-ibm:4.4BSD:*)
- GUESS=romp-ibm-bsd4.4
- ;;
- ibmrt:*BSD:*|romp-ibm:BSD:*) # covers RT/PC BSD and
- GUESS=romp-ibm-bsd$UNAME_RELEASE # 4.3 with uname added to
- ;; # report: romp-ibm BSD 4.3
- *:BOSX:*:*)
- GUESS=rs6000-bull-bosx
- ;;
- DPX/2?00:B.O.S.:*:*)
- GUESS=m68k-bull-sysv3
- ;;
- 9000/[34]??:4.3bsd:1.*:*)
- GUESS=m68k-hp-bsd
- ;;
- hp300:4.4BSD:*:* | 9000/[34]??:4.3bsd:2.*:*)
- GUESS=m68k-hp-bsd4.4
- ;;
- 9000/[34678]??:HP-UX:*:*)
- HPUX_REV=`echo "$UNAME_RELEASE" | sed -e 's/[^.]*.[0B]*//'`
- case $UNAME_MACHINE in
- 9000/31?) HP_ARCH=m68000 ;;
- 9000/[34]??) HP_ARCH=m68k ;;
- 9000/[678][0-9][0-9])
- if test -x /usr/bin/getconf; then
- sc_cpu_version=`/usr/bin/getconf SC_CPU_VERSION 2>/dev/null`
- sc_kernel_bits=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null`
- case $sc_cpu_version in
- 523) HP_ARCH=hppa1.0 ;; # CPU_PA_RISC1_0
- 528) HP_ARCH=hppa1.1 ;; # CPU_PA_RISC1_1
- 532) # CPU_PA_RISC2_0
- case $sc_kernel_bits in
- 32) HP_ARCH=hppa2.0n ;;
- 64) HP_ARCH=hppa2.0w ;;
- '') HP_ARCH=hppa2.0 ;; # HP-UX 10.20
- esac ;;
- esac
- fi
- if test "$HP_ARCH" = ""; then
- set_cc_for_build
- sed 's/^ //' << EOF > "$dummy.c"
-
- #define _HPUX_SOURCE
- #include
- #include
-
- int main ()
- {
- #if defined(_SC_KERNEL_BITS)
- long bits = sysconf(_SC_KERNEL_BITS);
- #endif
- long cpu = sysconf (_SC_CPU_VERSION);
-
- switch (cpu)
- {
- case CPU_PA_RISC1_0: puts ("hppa1.0"); break;
- case CPU_PA_RISC1_1: puts ("hppa1.1"); break;
- case CPU_PA_RISC2_0:
- #if defined(_SC_KERNEL_BITS)
- switch (bits)
- {
- case 64: puts ("hppa2.0w"); break;
- case 32: puts ("hppa2.0n"); break;
- default: puts ("hppa2.0"); break;
- } break;
- #else /* !defined(_SC_KERNEL_BITS) */
- puts ("hppa2.0"); break;
- #endif
- default: puts ("hppa1.0"); break;
- }
- exit (0);
- }
-EOF
- (CCOPTS="" $CC_FOR_BUILD -o "$dummy" "$dummy.c" 2>/dev/null) && HP_ARCH=`"$dummy"`
- test -z "$HP_ARCH" && HP_ARCH=hppa
- fi ;;
- esac
- if test "$HP_ARCH" = hppa2.0w
- then
- set_cc_for_build
-
- # hppa2.0w-hp-hpux* has a 64-bit kernel and a compiler generating
- # 32-bit code. hppa64-hp-hpux* has the same kernel and a compiler
- # generating 64-bit code. GNU and HP use different nomenclature:
- #
- # $ CC_FOR_BUILD=cc ./config.guess
- # => hppa2.0w-hp-hpux11.23
- # $ CC_FOR_BUILD="cc +DA2.0w" ./config.guess
- # => hppa64-hp-hpux11.23
-
- if echo __LP64__ | (CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) |
- grep -q __LP64__
- then
- HP_ARCH=hppa2.0w
- else
- HP_ARCH=hppa64
- fi
- fi
- GUESS=$HP_ARCH-hp-hpux$HPUX_REV
- ;;
- ia64:HP-UX:*:*)
- HPUX_REV=`echo "$UNAME_RELEASE" | sed -e 's/[^.]*.[0B]*//'`
- GUESS=ia64-hp-hpux$HPUX_REV
- ;;
- 3050*:HI-UX:*:*)
- set_cc_for_build
- sed 's/^ //' << EOF > "$dummy.c"
- #include
- int
- main ()
- {
- long cpu = sysconf (_SC_CPU_VERSION);
- /* The order matters, because CPU_IS_HP_MC68K erroneously returns
- true for CPU_PA_RISC1_0. CPU_IS_PA_RISC returns correct
- results, however. */
- if (CPU_IS_PA_RISC (cpu))
- {
- switch (cpu)
- {
- case CPU_PA_RISC1_0: puts ("hppa1.0-hitachi-hiuxwe2"); break;
- case CPU_PA_RISC1_1: puts ("hppa1.1-hitachi-hiuxwe2"); break;
- case CPU_PA_RISC2_0: puts ("hppa2.0-hitachi-hiuxwe2"); break;
- default: puts ("hppa-hitachi-hiuxwe2"); break;
- }
- }
- else if (CPU_IS_HP_MC68K (cpu))
- puts ("m68k-hitachi-hiuxwe2");
- else puts ("unknown-hitachi-hiuxwe2");
- exit (0);
- }
-EOF
- $CC_FOR_BUILD -o "$dummy" "$dummy.c" && SYSTEM_NAME=`"$dummy"` &&
- { echo "$SYSTEM_NAME"; exit; }
- GUESS=unknown-hitachi-hiuxwe2
- ;;
- 9000/7??:4.3bsd:*:* | 9000/8?[79]:4.3bsd:*:*)
- GUESS=hppa1.1-hp-bsd
- ;;
- 9000/8??:4.3bsd:*:*)
- GUESS=hppa1.0-hp-bsd
- ;;
- *9??*:MPE/iX:*:* | *3000*:MPE/iX:*:*)
- GUESS=hppa1.0-hp-mpeix
- ;;
- hp7??:OSF1:*:* | hp8?[79]:OSF1:*:*)
- GUESS=hppa1.1-hp-osf
- ;;
- hp8??:OSF1:*:*)
- GUESS=hppa1.0-hp-osf
- ;;
- i*86:OSF1:*:*)
- if test -x /usr/sbin/sysversion ; then
- GUESS=$UNAME_MACHINE-unknown-osf1mk
- else
- GUESS=$UNAME_MACHINE-unknown-osf1
- fi
- ;;
- parisc*:Lites*:*:*)
- GUESS=hppa1.1-hp-lites
- ;;
- C1*:ConvexOS:*:* | convex:ConvexOS:C1*:*)
- GUESS=c1-convex-bsd
- ;;
- C2*:ConvexOS:*:* | convex:ConvexOS:C2*:*)
- if getsysinfo -f scalar_acc
- then echo c32-convex-bsd
- else echo c2-convex-bsd
- fi
- exit ;;
- C34*:ConvexOS:*:* | convex:ConvexOS:C34*:*)
- GUESS=c34-convex-bsd
- ;;
- C38*:ConvexOS:*:* | convex:ConvexOS:C38*:*)
- GUESS=c38-convex-bsd
- ;;
- C4*:ConvexOS:*:* | convex:ConvexOS:C4*:*)
- GUESS=c4-convex-bsd
- ;;
- CRAY*Y-MP:*:*:*)
- CRAY_REL=`echo "$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/'`
- GUESS=ymp-cray-unicos$CRAY_REL
- ;;
- CRAY*[A-Z]90:*:*:*)
- echo "$UNAME_MACHINE"-cray-unicos"$UNAME_RELEASE" \
- | sed -e 's/CRAY.*\([A-Z]90\)/\1/' \
- -e y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/ \
- -e 's/\.[^.]*$/.X/'
- exit ;;
- CRAY*TS:*:*:*)
- CRAY_REL=`echo "$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/'`
- GUESS=t90-cray-unicos$CRAY_REL
- ;;
- CRAY*T3E:*:*:*)
- CRAY_REL=`echo "$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/'`
- GUESS=alphaev5-cray-unicosmk$CRAY_REL
- ;;
- CRAY*SV1:*:*:*)
- CRAY_REL=`echo "$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/'`
- GUESS=sv1-cray-unicos$CRAY_REL
- ;;
- *:UNICOS/mp:*:*)
- CRAY_REL=`echo "$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/'`
- GUESS=craynv-cray-unicosmp$CRAY_REL
- ;;
- F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*)
- FUJITSU_PROC=`uname -m | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz`
- FUJITSU_SYS=`uname -p | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz | sed -e 's/\///'`
- FUJITSU_REL=`echo "$UNAME_RELEASE" | sed -e 's/ /_/'`
- GUESS=${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}
- ;;
- 5000:UNIX_System_V:4.*:*)
- FUJITSU_SYS=`uname -p | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz | sed -e 's/\///'`
- FUJITSU_REL=`echo "$UNAME_RELEASE" | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz | sed -e 's/ /_/'`
- GUESS=sparc-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}
- ;;
- i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*)
- GUESS=$UNAME_MACHINE-pc-bsdi$UNAME_RELEASE
- ;;
- sparc*:BSD/OS:*:*)
- GUESS=sparc-unknown-bsdi$UNAME_RELEASE
- ;;
- *:BSD/OS:*:*)
- GUESS=$UNAME_MACHINE-unknown-bsdi$UNAME_RELEASE
- ;;
- arm:FreeBSD:*:*)
- UNAME_PROCESSOR=`uname -p`
- set_cc_for_build
- if echo __ARM_PCS_VFP | $CC_FOR_BUILD -E - 2>/dev/null \
- | grep -q __ARM_PCS_VFP
- then
- FREEBSD_REL=`echo "$UNAME_RELEASE" | sed -e 's/[-(].*//'`
- GUESS=$UNAME_PROCESSOR-unknown-freebsd$FREEBSD_REL-gnueabi
- else
- FREEBSD_REL=`echo "$UNAME_RELEASE" | sed -e 's/[-(].*//'`
- GUESS=$UNAME_PROCESSOR-unknown-freebsd$FREEBSD_REL-gnueabihf
- fi
- ;;
- *:FreeBSD:*:*)
- UNAME_PROCESSOR=`/usr/bin/uname -p`
- case $UNAME_PROCESSOR in
- amd64)
- UNAME_PROCESSOR=x86_64 ;;
- i386)
- UNAME_PROCESSOR=i586 ;;
- esac
- FREEBSD_REL=`echo "$UNAME_RELEASE" | sed -e 's/[-(].*//'`
- GUESS=$UNAME_PROCESSOR-unknown-freebsd$FREEBSD_REL
- ;;
- i*:CYGWIN*:*)
- GUESS=$UNAME_MACHINE-pc-cygwin
- ;;
- *:MINGW64*:*)
- GUESS=$UNAME_MACHINE-pc-mingw64
- ;;
- *:MINGW*:*)
- GUESS=$UNAME_MACHINE-pc-mingw32
- ;;
- *:MSYS*:*)
- GUESS=$UNAME_MACHINE-pc-msys
- ;;
- i*:PW*:*)
- GUESS=$UNAME_MACHINE-pc-pw32
- ;;
- *:SerenityOS:*:*)
- GUESS=$UNAME_MACHINE-pc-serenity
- ;;
- *:Interix*:*)
- case $UNAME_MACHINE in
- x86)
- GUESS=i586-pc-interix$UNAME_RELEASE
- ;;
- authenticamd | genuineintel | EM64T)
- GUESS=x86_64-unknown-interix$UNAME_RELEASE
- ;;
- IA64)
- GUESS=ia64-unknown-interix$UNAME_RELEASE
- ;;
- esac ;;
- i*:UWIN*:*)
- GUESS=$UNAME_MACHINE-pc-uwin
- ;;
- amd64:CYGWIN*:*:* | x86_64:CYGWIN*:*:*)
- GUESS=x86_64-pc-cygwin
- ;;
- prep*:SunOS:5.*:*)
- SUN_REL=`echo "$UNAME_RELEASE" | sed -e 's/[^.]*//'`
- GUESS=powerpcle-unknown-solaris2$SUN_REL
- ;;
- *:GNU:*:*)
- # the GNU system
- GNU_ARCH=`echo "$UNAME_MACHINE" | sed -e 's,[-/].*$,,'`
- GNU_REL=`echo "$UNAME_RELEASE" | sed -e 's,/.*$,,'`
- GUESS=$GNU_ARCH-unknown-$LIBC$GNU_REL
- ;;
- *:GNU/*:*:*)
- # other systems with GNU libc and userland
- GNU_SYS=`echo "$UNAME_SYSTEM" | sed 's,^[^/]*/,,' | tr "[:upper:]" "[:lower:]"`
- GNU_REL=`echo "$UNAME_RELEASE" | sed -e 's/[-(].*//'`
- GUESS=$UNAME_MACHINE-unknown-$GNU_SYS$GNU_REL-$LIBC
- ;;
- *:Minix:*:*)
- GUESS=$UNAME_MACHINE-unknown-minix
- ;;
- aarch64:Linux:*:*)
- GUESS=$UNAME_MACHINE-unknown-linux-$LIBC
- ;;
- aarch64_be:Linux:*:*)
- UNAME_MACHINE=aarch64_be
- GUESS=$UNAME_MACHINE-unknown-linux-$LIBC
- ;;
- alpha:Linux:*:*)
- case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' /proc/cpuinfo 2>/dev/null` in
- EV5) UNAME_MACHINE=alphaev5 ;;
- EV56) UNAME_MACHINE=alphaev56 ;;
- PCA56) UNAME_MACHINE=alphapca56 ;;
- PCA57) UNAME_MACHINE=alphapca56 ;;
- EV6) UNAME_MACHINE=alphaev6 ;;
- EV67) UNAME_MACHINE=alphaev67 ;;
- EV68*) UNAME_MACHINE=alphaev68 ;;
- esac
- objdump --private-headers /bin/sh | grep -q ld.so.1
- if test "$?" = 0 ; then LIBC=gnulibc1 ; fi
- GUESS=$UNAME_MACHINE-unknown-linux-$LIBC
- ;;
- arc:Linux:*:* | arceb:Linux:*:* | arc32:Linux:*:* | arc64:Linux:*:*)
- GUESS=$UNAME_MACHINE-unknown-linux-$LIBC
- ;;
- arm*:Linux:*:*)
- set_cc_for_build
- if echo __ARM_EABI__ | $CC_FOR_BUILD -E - 2>/dev/null \
- | grep -q __ARM_EABI__
- then
- GUESS=$UNAME_MACHINE-unknown-linux-$LIBC
- else
- if echo __ARM_PCS_VFP | $CC_FOR_BUILD -E - 2>/dev/null \
- | grep -q __ARM_PCS_VFP
- then
- GUESS=$UNAME_MACHINE-unknown-linux-${LIBC}eabi
- else
- GUESS=$UNAME_MACHINE-unknown-linux-${LIBC}eabihf
- fi
- fi
- ;;
- avr32*:Linux:*:*)
- GUESS=$UNAME_MACHINE-unknown-linux-$LIBC
- ;;
- cris:Linux:*:*)
- GUESS=$UNAME_MACHINE-axis-linux-$LIBC
- ;;
- crisv32:Linux:*:*)
- GUESS=$UNAME_MACHINE-axis-linux-$LIBC
- ;;
- e2k:Linux:*:*)
- GUESS=$UNAME_MACHINE-unknown-linux-$LIBC
- ;;
- frv:Linux:*:*)
- GUESS=$UNAME_MACHINE-unknown-linux-$LIBC
- ;;
- hexagon:Linux:*:*)
- GUESS=$UNAME_MACHINE-unknown-linux-$LIBC
- ;;
- i*86:Linux:*:*)
- GUESS=$UNAME_MACHINE-pc-linux-$LIBC
- ;;
- ia64:Linux:*:*)
- GUESS=$UNAME_MACHINE-unknown-linux-$LIBC
- ;;
- k1om:Linux:*:*)
- GUESS=$UNAME_MACHINE-unknown-linux-$LIBC
- ;;
- loongarch32:Linux:*:* | loongarch64:Linux:*:* | loongarchx32:Linux:*:*)
- GUESS=$UNAME_MACHINE-unknown-linux-$LIBC
- ;;
- m32r*:Linux:*:*)
- GUESS=$UNAME_MACHINE-unknown-linux-$LIBC
- ;;
- m68*:Linux:*:*)
- GUESS=$UNAME_MACHINE-unknown-linux-$LIBC
- ;;
- mips:Linux:*:* | mips64:Linux:*:*)
- set_cc_for_build
- IS_GLIBC=0
- test x"${LIBC}" = xgnu && IS_GLIBC=1
- sed 's/^ //' << EOF > "$dummy.c"
- #undef CPU
- #undef mips
- #undef mipsel
- #undef mips64
- #undef mips64el
- #if ${IS_GLIBC} && defined(_ABI64)
- LIBCABI=gnuabi64
- #else
- #if ${IS_GLIBC} && defined(_ABIN32)
- LIBCABI=gnuabin32
- #else
- LIBCABI=${LIBC}
- #endif
- #endif
-
- #if ${IS_GLIBC} && defined(__mips64) && defined(__mips_isa_rev) && __mips_isa_rev>=6
- CPU=mipsisa64r6
- #else
- #if ${IS_GLIBC} && !defined(__mips64) && defined(__mips_isa_rev) && __mips_isa_rev>=6
- CPU=mipsisa32r6
- #else
- #if defined(__mips64)
- CPU=mips64
- #else
- CPU=mips
- #endif
- #endif
- #endif
-
- #if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL)
- MIPS_ENDIAN=el
- #else
- #if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB)
- MIPS_ENDIAN=
- #else
- MIPS_ENDIAN=
- #endif
- #endif
-EOF
- cc_set_vars=`$CC_FOR_BUILD -E "$dummy.c" 2>/dev/null | grep '^CPU\|^MIPS_ENDIAN\|^LIBCABI'`
- eval "$cc_set_vars"
- test "x$CPU" != x && { echo "$CPU${MIPS_ENDIAN}-unknown-linux-$LIBCABI"; exit; }
- ;;
- mips64el:Linux:*:*)
- GUESS=$UNAME_MACHINE-unknown-linux-$LIBC
- ;;
- openrisc*:Linux:*:*)
- GUESS=or1k-unknown-linux-$LIBC
- ;;
- or32:Linux:*:* | or1k*:Linux:*:*)
- GUESS=$UNAME_MACHINE-unknown-linux-$LIBC
- ;;
- padre:Linux:*:*)
- GUESS=sparc-unknown-linux-$LIBC
- ;;
- parisc64:Linux:*:* | hppa64:Linux:*:*)
- GUESS=hppa64-unknown-linux-$LIBC
- ;;
- parisc:Linux:*:* | hppa:Linux:*:*)
- # Look for CPU level
- case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in
- PA7*) GUESS=hppa1.1-unknown-linux-$LIBC ;;
- PA8*) GUESS=hppa2.0-unknown-linux-$LIBC ;;
- *) GUESS=hppa-unknown-linux-$LIBC ;;
- esac
- ;;
- ppc64:Linux:*:*)
- GUESS=powerpc64-unknown-linux-$LIBC
- ;;
- ppc:Linux:*:*)
- GUESS=powerpc-unknown-linux-$LIBC
- ;;
- ppc64le:Linux:*:*)
- GUESS=powerpc64le-unknown-linux-$LIBC
- ;;
- ppcle:Linux:*:*)
- GUESS=powerpcle-unknown-linux-$LIBC
- ;;
- riscv32:Linux:*:* | riscv32be:Linux:*:* | riscv64:Linux:*:* | riscv64be:Linux:*:*)
- GUESS=$UNAME_MACHINE-unknown-linux-$LIBC
- ;;
- s390:Linux:*:* | s390x:Linux:*:*)
- GUESS=$UNAME_MACHINE-ibm-linux-$LIBC
- ;;
- sh64*:Linux:*:*)
- GUESS=$UNAME_MACHINE-unknown-linux-$LIBC
- ;;
- sh*:Linux:*:*)
- GUESS=$UNAME_MACHINE-unknown-linux-$LIBC
- ;;
- sparc:Linux:*:* | sparc64:Linux:*:*)
- GUESS=$UNAME_MACHINE-unknown-linux-$LIBC
- ;;
- tile*:Linux:*:*)
- GUESS=$UNAME_MACHINE-unknown-linux-$LIBC
- ;;
- vax:Linux:*:*)
- GUESS=$UNAME_MACHINE-dec-linux-$LIBC
- ;;
- x86_64:Linux:*:*)
- set_cc_for_build
- LIBCABI=$LIBC
- if test "$CC_FOR_BUILD" != no_compiler_found; then
- if (echo '#ifdef __ILP32__'; echo IS_X32; echo '#endif') | \
- (CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) | \
- grep IS_X32 >/dev/null
- then
- LIBCABI=${LIBC}x32
- fi
- fi
- GUESS=$UNAME_MACHINE-pc-linux-$LIBCABI
- ;;
- xtensa*:Linux:*:*)
- GUESS=$UNAME_MACHINE-unknown-linux-$LIBC
- ;;
- i*86:DYNIX/ptx:4*:*)
- # ptx 4.0 does uname -s correctly, with DYNIX/ptx in there.
- # earlier versions are messed up and put the nodename in both
- # sysname and nodename.
- GUESS=i386-sequent-sysv4
- ;;
- i*86:UNIX_SV:4.2MP:2.*)
- # Unixware is an offshoot of SVR4, but it has its own version
- # number series starting with 2...
- # I am not positive that other SVR4 systems won't match this,
- # I just have to hope. -- rms.
- # Use sysv4.2uw... so that sysv4* matches it.
- GUESS=$UNAME_MACHINE-pc-sysv4.2uw$UNAME_VERSION
- ;;
- i*86:OS/2:*:*)
- # If we were able to find `uname', then EMX Unix compatibility
- # is probably installed.
- GUESS=$UNAME_MACHINE-pc-os2-emx
- ;;
- i*86:XTS-300:*:STOP)
- GUESS=$UNAME_MACHINE-unknown-stop
- ;;
- i*86:atheos:*:*)
- GUESS=$UNAME_MACHINE-unknown-atheos
- ;;
- i*86:syllable:*:*)
- GUESS=$UNAME_MACHINE-pc-syllable
- ;;
- i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.[02]*:*)
- GUESS=i386-unknown-lynxos$UNAME_RELEASE
- ;;
- i*86:*DOS:*:*)
- GUESS=$UNAME_MACHINE-pc-msdosdjgpp
- ;;
- i*86:*:4.*:*)
- UNAME_REL=`echo "$UNAME_RELEASE" | sed 's/\/MP$//'`
- if grep Novell /usr/include/link.h >/dev/null 2>/dev/null; then
- GUESS=$UNAME_MACHINE-univel-sysv$UNAME_REL
- else
- GUESS=$UNAME_MACHINE-pc-sysv$UNAME_REL
- fi
- ;;
- i*86:*:5:[678]*)
- # UnixWare 7.x, OpenUNIX and OpenServer 6.
- case `/bin/uname -X | grep "^Machine"` in
- *486*) UNAME_MACHINE=i486 ;;
- *Pentium) UNAME_MACHINE=i586 ;;
- *Pent*|*Celeron) UNAME_MACHINE=i686 ;;
- esac
- GUESS=$UNAME_MACHINE-unknown-sysv${UNAME_RELEASE}${UNAME_SYSTEM}${UNAME_VERSION}
- ;;
- i*86:*:3.2:*)
- if test -f /usr/options/cb.name; then
- UNAME_REL=`sed -n 's/.*Version //p' /dev/null >/dev/null ; then
- UNAME_REL=`(/bin/uname -X|grep Release|sed -e 's/.*= //')`
- (/bin/uname -X|grep i80486 >/dev/null) && UNAME_MACHINE=i486
- (/bin/uname -X|grep '^Machine.*Pentium' >/dev/null) \
- && UNAME_MACHINE=i586
- (/bin/uname -X|grep '^Machine.*Pent *II' >/dev/null) \
- && UNAME_MACHINE=i686
- (/bin/uname -X|grep '^Machine.*Pentium Pro' >/dev/null) \
- && UNAME_MACHINE=i686
- GUESS=$UNAME_MACHINE-pc-sco$UNAME_REL
- else
- GUESS=$UNAME_MACHINE-pc-sysv32
- fi
- ;;
- pc:*:*:*)
- # Left here for compatibility:
- # uname -m prints for DJGPP always 'pc', but it prints nothing about
- # the processor, so we play safe by assuming i586.
- # Note: whatever this is, it MUST be the same as what config.sub
- # prints for the "djgpp" host, or else GDB configure will decide that
- # this is a cross-build.
- GUESS=i586-pc-msdosdjgpp
- ;;
- Intel:Mach:3*:*)
- GUESS=i386-pc-mach3
- ;;
- paragon:*:*:*)
- GUESS=i860-intel-osf1
- ;;
- i860:*:4.*:*) # i860-SVR4
- if grep Stardent /usr/include/sys/uadmin.h >/dev/null 2>&1 ; then
- GUESS=i860-stardent-sysv$UNAME_RELEASE # Stardent Vistra i860-SVR4
- else # Add other i860-SVR4 vendors below as they are discovered.
- GUESS=i860-unknown-sysv$UNAME_RELEASE # Unknown i860-SVR4
- fi
- ;;
- mini*:CTIX:SYS*5:*)
- # "miniframe"
- GUESS=m68010-convergent-sysv
- ;;
- mc68k:UNIX:SYSTEM5:3.51m)
- GUESS=m68k-convergent-sysv
- ;;
- M680?0:D-NIX:5.3:*)
- GUESS=m68k-diab-dnix
- ;;
- M68*:*:R3V[5678]*:*)
- test -r /sysV68 && { echo 'm68k-motorola-sysv'; exit; } ;;
- 3[345]??:*:4.0:3.0 | 3[34]??A:*:4.0:3.0 | 3[34]??,*:*:4.0:3.0 | 3[34]??/*:*:4.0:3.0 | 4400:*:4.0:3.0 | 4850:*:4.0:3.0 | SKA40:*:4.0:3.0 | SDS2:*:4.0:3.0 | SHG2:*:4.0:3.0 | S7501*:*:4.0:3.0)
- OS_REL=''
- test -r /etc/.relid \
- && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid`
- /bin/uname -p 2>/dev/null | grep 86 >/dev/null \
- && { echo i486-ncr-sysv4.3"$OS_REL"; exit; }
- /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \
- && { echo i586-ncr-sysv4.3"$OS_REL"; exit; } ;;
- 3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*)
- /bin/uname -p 2>/dev/null | grep 86 >/dev/null \
- && { echo i486-ncr-sysv4; exit; } ;;
- NCR*:*:4.2:* | MPRAS*:*:4.2:*)
- OS_REL='.3'
- test -r /etc/.relid \
- && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid`
- /bin/uname -p 2>/dev/null | grep 86 >/dev/null \
- && { echo i486-ncr-sysv4.3"$OS_REL"; exit; }
- /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \
- && { echo i586-ncr-sysv4.3"$OS_REL"; exit; }
- /bin/uname -p 2>/dev/null | /bin/grep pteron >/dev/null \
- && { echo i586-ncr-sysv4.3"$OS_REL"; exit; } ;;
- m68*:LynxOS:2.*:* | m68*:LynxOS:3.0*:*)
- GUESS=m68k-unknown-lynxos$UNAME_RELEASE
- ;;
- mc68030:UNIX_System_V:4.*:*)
- GUESS=m68k-atari-sysv4
- ;;
- TSUNAMI:LynxOS:2.*:*)
- GUESS=sparc-unknown-lynxos$UNAME_RELEASE
- ;;
- rs6000:LynxOS:2.*:*)
- GUESS=rs6000-unknown-lynxos$UNAME_RELEASE
- ;;
- PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.[02]*:*)
- GUESS=powerpc-unknown-lynxos$UNAME_RELEASE
- ;;
- SM[BE]S:UNIX_SV:*:*)
- GUESS=mips-dde-sysv$UNAME_RELEASE
- ;;
- RM*:ReliantUNIX-*:*:*)
- GUESS=mips-sni-sysv4
- ;;
- RM*:SINIX-*:*:*)
- GUESS=mips-sni-sysv4
- ;;
- *:SINIX-*:*:*)
- if uname -p 2>/dev/null >/dev/null ; then
- UNAME_MACHINE=`(uname -p) 2>/dev/null`
- GUESS=$UNAME_MACHINE-sni-sysv4
- else
- GUESS=ns32k-sni-sysv
- fi
- ;;
- PENTIUM:*:4.0*:*) # Unisys `ClearPath HMP IX 4000' SVR4/MP effort
- # says
- GUESS=i586-unisys-sysv4
- ;;
- *:UNIX_System_V:4*:FTX*)
- # From Gerald Hewes .
- # How about differentiating between stratus architectures? -djm
- GUESS=hppa1.1-stratus-sysv4
- ;;
- *:*:*:FTX*)
- # From seanf@swdc.stratus.com.
- GUESS=i860-stratus-sysv4
- ;;
- i*86:VOS:*:*)
- # From Paul.Green@stratus.com.
- GUESS=$UNAME_MACHINE-stratus-vos
- ;;
- *:VOS:*:*)
- # From Paul.Green@stratus.com.
- GUESS=hppa1.1-stratus-vos
- ;;
- mc68*:A/UX:*:*)
- GUESS=m68k-apple-aux$UNAME_RELEASE
- ;;
- news*:NEWS-OS:6*:*)
- GUESS=mips-sony-newsos6
- ;;
- R[34]000:*System_V*:*:* | R4000:UNIX_SYSV:*:* | R*000:UNIX_SV:*:*)
- if test -d /usr/nec; then
- GUESS=mips-nec-sysv$UNAME_RELEASE
- else
- GUESS=mips-unknown-sysv$UNAME_RELEASE
- fi
- ;;
- BeBox:BeOS:*:*) # BeOS running on hardware made by Be, PPC only.
- GUESS=powerpc-be-beos
- ;;
- BeMac:BeOS:*:*) # BeOS running on Mac or Mac clone, PPC only.
- GUESS=powerpc-apple-beos
- ;;
- BePC:BeOS:*:*) # BeOS running on Intel PC compatible.
- GUESS=i586-pc-beos
- ;;
- BePC:Haiku:*:*) # Haiku running on Intel PC compatible.
- GUESS=i586-pc-haiku
- ;;
- x86_64:Haiku:*:*)
- GUESS=x86_64-unknown-haiku
- ;;
- SX-4:SUPER-UX:*:*)
- GUESS=sx4-nec-superux$UNAME_RELEASE
- ;;
- SX-5:SUPER-UX:*:*)
- GUESS=sx5-nec-superux$UNAME_RELEASE
- ;;
- SX-6:SUPER-UX:*:*)
- GUESS=sx6-nec-superux$UNAME_RELEASE
- ;;
- SX-7:SUPER-UX:*:*)
- GUESS=sx7-nec-superux$UNAME_RELEASE
- ;;
- SX-8:SUPER-UX:*:*)
- GUESS=sx8-nec-superux$UNAME_RELEASE
- ;;
- SX-8R:SUPER-UX:*:*)
- GUESS=sx8r-nec-superux$UNAME_RELEASE
- ;;
- SX-ACE:SUPER-UX:*:*)
- GUESS=sxace-nec-superux$UNAME_RELEASE
- ;;
- Power*:Rhapsody:*:*)
- GUESS=powerpc-apple-rhapsody$UNAME_RELEASE
- ;;
- *:Rhapsody:*:*)
- GUESS=$UNAME_MACHINE-apple-rhapsody$UNAME_RELEASE
- ;;
- arm64:Darwin:*:*)
- GUESS=aarch64-apple-darwin$UNAME_RELEASE
- ;;
- *:Darwin:*:*)
- UNAME_PROCESSOR=`uname -p`
- case $UNAME_PROCESSOR in
- unknown) UNAME_PROCESSOR=powerpc ;;
- esac
- if command -v xcode-select > /dev/null 2> /dev/null && \
- ! xcode-select --print-path > /dev/null 2> /dev/null ; then
- # Avoid executing cc if there is no toolchain installed as
- # cc will be a stub that puts up a graphical alert
- # prompting the user to install developer tools.
- CC_FOR_BUILD=no_compiler_found
- else
- set_cc_for_build
- fi
- if test "$CC_FOR_BUILD" != no_compiler_found; then
- if (echo '#ifdef __LP64__'; echo IS_64BIT_ARCH; echo '#endif') | \
- (CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) | \
- grep IS_64BIT_ARCH >/dev/null
- then
- case $UNAME_PROCESSOR in
- i386) UNAME_PROCESSOR=x86_64 ;;
- powerpc) UNAME_PROCESSOR=powerpc64 ;;
- esac
- fi
- # On 10.4-10.6 one might compile for PowerPC via gcc -arch ppc
- if (echo '#ifdef __POWERPC__'; echo IS_PPC; echo '#endif') | \
- (CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) | \
- grep IS_PPC >/dev/null
- then
- UNAME_PROCESSOR=powerpc
- fi
- elif test "$UNAME_PROCESSOR" = i386 ; then
- # uname -m returns i386 or x86_64
- UNAME_PROCESSOR=$UNAME_MACHINE
- fi
- GUESS=$UNAME_PROCESSOR-apple-darwin$UNAME_RELEASE
- ;;
- *:procnto*:*:* | *:QNX:[0123456789]*:*)
- UNAME_PROCESSOR=`uname -p`
- if test "$UNAME_PROCESSOR" = x86; then
- UNAME_PROCESSOR=i386
- UNAME_MACHINE=pc
- fi
- GUESS=$UNAME_PROCESSOR-$UNAME_MACHINE-nto-qnx$UNAME_RELEASE
- ;;
- *:QNX:*:4*)
- GUESS=i386-pc-qnx
- ;;
- NEO-*:NONSTOP_KERNEL:*:*)
- GUESS=neo-tandem-nsk$UNAME_RELEASE
- ;;
- NSE-*:NONSTOP_KERNEL:*:*)
- GUESS=nse-tandem-nsk$UNAME_RELEASE
- ;;
- NSR-*:NONSTOP_KERNEL:*:*)
- GUESS=nsr-tandem-nsk$UNAME_RELEASE
- ;;
- NSV-*:NONSTOP_KERNEL:*:*)
- GUESS=nsv-tandem-nsk$UNAME_RELEASE
- ;;
- NSX-*:NONSTOP_KERNEL:*:*)
- GUESS=nsx-tandem-nsk$UNAME_RELEASE
- ;;
- *:NonStop-UX:*:*)
- GUESS=mips-compaq-nonstopux
- ;;
- BS2000:POSIX*:*:*)
- GUESS=bs2000-siemens-sysv
- ;;
- DS/*:UNIX_System_V:*:*)
- GUESS=$UNAME_MACHINE-$UNAME_SYSTEM-$UNAME_RELEASE
- ;;
- *:Plan9:*:*)
- # "uname -m" is not consistent, so use $cputype instead. 386
- # is converted to i386 for consistency with other x86
- # operating systems.
- if test "${cputype-}" = 386; then
- UNAME_MACHINE=i386
- elif test "x${cputype-}" != x; then
- UNAME_MACHINE=$cputype
- fi
- GUESS=$UNAME_MACHINE-unknown-plan9
- ;;
- *:TOPS-10:*:*)
- GUESS=pdp10-unknown-tops10
- ;;
- *:TENEX:*:*)
- GUESS=pdp10-unknown-tenex
- ;;
- KS10:TOPS-20:*:* | KL10:TOPS-20:*:* | TYPE4:TOPS-20:*:*)
- GUESS=pdp10-dec-tops20
- ;;
- XKL-1:TOPS-20:*:* | TYPE5:TOPS-20:*:*)
- GUESS=pdp10-xkl-tops20
- ;;
- *:TOPS-20:*:*)
- GUESS=pdp10-unknown-tops20
- ;;
- *:ITS:*:*)
- GUESS=pdp10-unknown-its
- ;;
- SEI:*:*:SEIUX)
- GUESS=mips-sei-seiux$UNAME_RELEASE
- ;;
- *:DragonFly:*:*)
- DRAGONFLY_REL=`echo "$UNAME_RELEASE" | sed -e 's/[-(].*//'`
- GUESS=$UNAME_MACHINE-unknown-dragonfly$DRAGONFLY_REL
- ;;
- *:*VMS:*:*)
- UNAME_MACHINE=`(uname -p) 2>/dev/null`
- case $UNAME_MACHINE in
- A*) GUESS=alpha-dec-vms ;;
- I*) GUESS=ia64-dec-vms ;;
- V*) GUESS=vax-dec-vms ;;
- esac ;;
- *:XENIX:*:SysV)
- GUESS=i386-pc-xenix
- ;;
- i*86:skyos:*:*)
- SKYOS_REL=`echo "$UNAME_RELEASE" | sed -e 's/ .*$//'`
- GUESS=$UNAME_MACHINE-pc-skyos$SKYOS_REL
- ;;
- i*86:rdos:*:*)
- GUESS=$UNAME_MACHINE-pc-rdos
- ;;
- i*86:Fiwix:*:*)
- GUESS=$UNAME_MACHINE-pc-fiwix
- ;;
- *:AROS:*:*)
- GUESS=$UNAME_MACHINE-unknown-aros
- ;;
- x86_64:VMkernel:*:*)
- GUESS=$UNAME_MACHINE-unknown-esx
- ;;
- amd64:Isilon\ OneFS:*:*)
- GUESS=x86_64-unknown-onefs
- ;;
- *:Unleashed:*:*)
- GUESS=$UNAME_MACHINE-unknown-unleashed$UNAME_RELEASE
- ;;
-esac
-
-# Do we have a guess based on uname results?
-if test "x$GUESS" != x; then
- echo "$GUESS"
- exit
-fi
-
-# No uname command or uname output not recognized.
-set_cc_for_build
-cat > "$dummy.c" <
-#include
-#endif
-#if defined(ultrix) || defined(_ultrix) || defined(__ultrix) || defined(__ultrix__)
-#if defined (vax) || defined (__vax) || defined (__vax__) || defined(mips) || defined(__mips) || defined(__mips__) || defined(MIPS) || defined(__MIPS__)
-#include
-#if defined(_SIZE_T_) || defined(SIGLOST)
-#include
-#endif
-#endif
-#endif
-main ()
-{
-#if defined (sony)
-#if defined (MIPSEB)
- /* BFD wants "bsd" instead of "newsos". Perhaps BFD should be changed,
- I don't know.... */
- printf ("mips-sony-bsd\n"); exit (0);
-#else
-#include
- printf ("m68k-sony-newsos%s\n",
-#ifdef NEWSOS4
- "4"
-#else
- ""
-#endif
- ); exit (0);
-#endif
-#endif
-
-#if defined (NeXT)
-#if !defined (__ARCHITECTURE__)
-#define __ARCHITECTURE__ "m68k"
-#endif
- int version;
- version=`(hostinfo | sed -n 's/.*NeXT Mach \([0-9]*\).*/\1/p') 2>/dev/null`;
- if (version < 4)
- printf ("%s-next-nextstep%d\n", __ARCHITECTURE__, version);
- else
- printf ("%s-next-openstep%d\n", __ARCHITECTURE__, version);
- exit (0);
-#endif
-
-#if defined (MULTIMAX) || defined (n16)
-#if defined (UMAXV)
- printf ("ns32k-encore-sysv\n"); exit (0);
-#else
-#if defined (CMU)
- printf ("ns32k-encore-mach\n"); exit (0);
-#else
- printf ("ns32k-encore-bsd\n"); exit (0);
-#endif
-#endif
-#endif
-
-#if defined (__386BSD__)
- printf ("i386-pc-bsd\n"); exit (0);
-#endif
-
-#if defined (sequent)
-#if defined (i386)
- printf ("i386-sequent-dynix\n"); exit (0);
-#endif
-#if defined (ns32000)
- printf ("ns32k-sequent-dynix\n"); exit (0);
-#endif
-#endif
-
-#if defined (_SEQUENT_)
- struct utsname un;
-
- uname(&un);
- if (strncmp(un.version, "V2", 2) == 0) {
- printf ("i386-sequent-ptx2\n"); exit (0);
- }
- if (strncmp(un.version, "V1", 2) == 0) { /* XXX is V1 correct? */
- printf ("i386-sequent-ptx1\n"); exit (0);
- }
- printf ("i386-sequent-ptx\n"); exit (0);
-#endif
-
-#if defined (vax)
-#if !defined (ultrix)
-#include
-#if defined (BSD)
-#if BSD == 43
- printf ("vax-dec-bsd4.3\n"); exit (0);
-#else
-#if BSD == 199006
- printf ("vax-dec-bsd4.3reno\n"); exit (0);
-#else
- printf ("vax-dec-bsd\n"); exit (0);
-#endif
-#endif
-#else
- printf ("vax-dec-bsd\n"); exit (0);
-#endif
-#else
-#if defined(_SIZE_T_) || defined(SIGLOST)
- struct utsname un;
- uname (&un);
- printf ("vax-dec-ultrix%s\n", un.release); exit (0);
-#else
- printf ("vax-dec-ultrix\n"); exit (0);
-#endif
-#endif
-#endif
-#if defined(ultrix) || defined(_ultrix) || defined(__ultrix) || defined(__ultrix__)
-#if defined(mips) || defined(__mips) || defined(__mips__) || defined(MIPS) || defined(__MIPS__)
-#if defined(_SIZE_T_) || defined(SIGLOST)
- struct utsname *un;
- uname (&un);
- printf ("mips-dec-ultrix%s\n", un.release); exit (0);
-#else
- printf ("mips-dec-ultrix\n"); exit (0);
-#endif
-#endif
-#endif
-
-#if defined (alliant) && defined (i860)
- printf ("i860-alliant-bsd\n"); exit (0);
-#endif
-
- exit (1);
-}
-EOF
-
-$CC_FOR_BUILD -o "$dummy" "$dummy.c" 2>/dev/null && SYSTEM_NAME=`"$dummy"` &&
- { echo "$SYSTEM_NAME"; exit; }
-
-# Apollos put the system type in the environment.
-test -d /usr/apollo && { echo "$ISP-apollo-$SYSTYPE"; exit; }
-
-echo "$0: unable to guess system type" >&2
-
-case $UNAME_MACHINE:$UNAME_SYSTEM in
- mips:Linux | mips64:Linux)
- # If we got here on MIPS GNU/Linux, output extra information.
- cat >&2 <&2 <&2 </dev/null || echo unknown`
-uname -r = `(uname -r) 2>/dev/null || echo unknown`
-uname -s = `(uname -s) 2>/dev/null || echo unknown`
-uname -v = `(uname -v) 2>/dev/null || echo unknown`
-
-/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null`
-/bin/uname -X = `(/bin/uname -X) 2>/dev/null`
-
-hostinfo = `(hostinfo) 2>/dev/null`
-/bin/universe = `(/bin/universe) 2>/dev/null`
-/usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null`
-/bin/arch = `(/bin/arch) 2>/dev/null`
-/usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null`
-/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null`
-
-UNAME_MACHINE = "$UNAME_MACHINE"
-UNAME_RELEASE = "$UNAME_RELEASE"
-UNAME_SYSTEM = "$UNAME_SYSTEM"
-UNAME_VERSION = "$UNAME_VERSION"
-EOF
-fi
-
-exit 1
-
-# Local variables:
-# eval: (add-hook 'before-save-hook 'time-stamp)
-# time-stamp-start: "timestamp='"
-# time-stamp-format: "%:y-%02m-%02d"
-# time-stamp-end: "'"
-# End:
diff --git a/curl/config.sub b/curl/config.sub
deleted file mode 100644
index dba16e84..00000000
--- a/curl/config.sub
+++ /dev/null
@@ -1,1890 +0,0 @@
-#! /bin/sh
-# Configuration validation subroutine script.
-# Copyright 1992-2022 Free Software Foundation, Inc.
-
-# shellcheck disable=SC2006,SC2268 # see below for rationale
-
-timestamp='2022-01-03'
-
-# This file is free software; you can redistribute it and/or modify it
-# under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful, but
-# WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-# General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, see .
-#
-# As a special exception to the GNU General Public License, if you
-# distribute this file as part of a program that contains a
-# configuration script generated by Autoconf, you may include it under
-# the same distribution terms that you use for the rest of that
-# program. This Exception is an additional permission under section 7
-# of the GNU General Public License, version 3 ("GPLv3").
-
-
-# Please send patches to .
-#
-# Configuration subroutine to validate and canonicalize a configuration type.
-# Supply the specified configuration type as an argument.
-# If it is invalid, we print an error message on stderr and exit with code 1.
-# Otherwise, we print the canonical config type on stdout and succeed.
-
-# You can get the latest version of this script from:
-# https://git.savannah.gnu.org/cgit/config.git/plain/config.sub
-
-# This file is supposed to be the same for all GNU packages
-# and recognize all the CPU types, system types and aliases
-# that are meaningful with *any* GNU software.
-# Each package is responsible for reporting which valid configurations
-# it does not support. The user should be able to distinguish
-# a failure to support a valid configuration from a meaningless
-# configuration.
-
-# The goal of this file is to map all the various variations of a given
-# machine specification into a single specification in the form:
-# CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM
-# or in some cases, the newer four-part form:
-# CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM
-# It is wrong to echo any other type of specification.
-
-# The "shellcheck disable" line above the timestamp inhibits complaints
-# about features and limitations of the classic Bourne shell that were
-# superseded or lifted in POSIX. However, this script identifies a wide
-# variety of pre-POSIX systems that do not have POSIX shells at all, and
-# even some reasonably current systems (Solaris 10 as case-in-point) still
-# have a pre-POSIX /bin/sh.
-
-me=`echo "$0" | sed -e 's,.*/,,'`
-
-usage="\
-Usage: $0 [OPTION] CPU-MFR-OPSYS or ALIAS
-
-Canonicalize a configuration name.
-
-Options:
- -h, --help print this help, then exit
- -t, --time-stamp print date of last modification, then exit
- -v, --version print version number, then exit
-
-Report bugs and patches to ."
-
-version="\
-GNU config.sub ($timestamp)
-
-Copyright 1992-2022 Free Software Foundation, Inc.
-
-This is free software; see the source for copying conditions. There is NO
-warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
-
-help="
-Try \`$me --help' for more information."
-
-# Parse command line
-while test $# -gt 0 ; do
- case $1 in
- --time-stamp | --time* | -t )
- echo "$timestamp" ; exit ;;
- --version | -v )
- echo "$version" ; exit ;;
- --help | --h* | -h )
- echo "$usage"; exit ;;
- -- ) # Stop option processing
- shift; break ;;
- - ) # Use stdin as input.
- break ;;
- -* )
- echo "$me: invalid option $1$help" >&2
- exit 1 ;;
-
- *local*)
- # First pass through any local machine types.
- echo "$1"
- exit ;;
-
- * )
- break ;;
- esac
-done
-
-case $# in
- 0) echo "$me: missing argument$help" >&2
- exit 1;;
- 1) ;;
- *) echo "$me: too many arguments$help" >&2
- exit 1;;
-esac
-
-# Split fields of configuration type
-# shellcheck disable=SC2162
-saved_IFS=$IFS
-IFS="-" read field1 field2 field3 field4 <&2
- exit 1
- ;;
- *-*-*-*)
- basic_machine=$field1-$field2
- basic_os=$field3-$field4
- ;;
- *-*-*)
- # Ambiguous whether COMPANY is present, or skipped and KERNEL-OS is two
- # parts
- maybe_os=$field2-$field3
- case $maybe_os in
- nto-qnx* | linux-* | uclinux-uclibc* \
- | uclinux-gnu* | kfreebsd*-gnu* | knetbsd*-gnu* | netbsd*-gnu* \
- | netbsd*-eabi* | kopensolaris*-gnu* | cloudabi*-eabi* \
- | storm-chaos* | os2-emx* | rtmk-nova*)
- basic_machine=$field1
- basic_os=$maybe_os
- ;;
- android-linux)
- basic_machine=$field1-unknown
- basic_os=linux-android
- ;;
- *)
- basic_machine=$field1-$field2
- basic_os=$field3
- ;;
- esac
- ;;
- *-*)
- # A lone config we happen to match not fitting any pattern
- case $field1-$field2 in
- decstation-3100)
- basic_machine=mips-dec
- basic_os=
- ;;
- *-*)
- # Second component is usually, but not always the OS
- case $field2 in
- # Prevent following clause from handling this valid os
- sun*os*)
- basic_machine=$field1
- basic_os=$field2
- ;;
- zephyr*)
- basic_machine=$field1-unknown
- basic_os=$field2
- ;;
- # Manufacturers
- dec* | mips* | sequent* | encore* | pc533* | sgi* | sony* \
- | att* | 7300* | 3300* | delta* | motorola* | sun[234]* \
- | unicom* | ibm* | next | hp | isi* | apollo | altos* \
- | convergent* | ncr* | news | 32* | 3600* | 3100* \
- | hitachi* | c[123]* | convex* | sun | crds | omron* | dg \
- | ultra | tti* | harris | dolphin | highlevel | gould \
- | cbm | ns | masscomp | apple | axis | knuth | cray \
- | microblaze* | sim | cisco \
- | oki | wec | wrs | winbond)
- basic_machine=$field1-$field2
- basic_os=
- ;;
- *)
- basic_machine=$field1
- basic_os=$field2
- ;;
- esac
- ;;
- esac
- ;;
- *)
- # Convert single-component short-hands not valid as part of
- # multi-component configurations.
- case $field1 in
- 386bsd)
- basic_machine=i386-pc
- basic_os=bsd
- ;;
- a29khif)
- basic_machine=a29k-amd
- basic_os=udi
- ;;
- adobe68k)
- basic_machine=m68010-adobe
- basic_os=scout
- ;;
- alliant)
- basic_machine=fx80-alliant
- basic_os=
- ;;
- altos | altos3068)
- basic_machine=m68k-altos
- basic_os=
- ;;
- am29k)
- basic_machine=a29k-none
- basic_os=bsd
- ;;
- amdahl)
- basic_machine=580-amdahl
- basic_os=sysv
- ;;
- amiga)
- basic_machine=m68k-unknown
- basic_os=
- ;;
- amigaos | amigados)
- basic_machine=m68k-unknown
- basic_os=amigaos
- ;;
- amigaunix | amix)
- basic_machine=m68k-unknown
- basic_os=sysv4
- ;;
- apollo68)
- basic_machine=m68k-apollo
- basic_os=sysv
- ;;
- apollo68bsd)
- basic_machine=m68k-apollo
- basic_os=bsd
- ;;
- aros)
- basic_machine=i386-pc
- basic_os=aros
- ;;
- aux)
- basic_machine=m68k-apple
- basic_os=aux
- ;;
- balance)
- basic_machine=ns32k-sequent
- basic_os=dynix
- ;;
- blackfin)
- basic_machine=bfin-unknown
- basic_os=linux
- ;;
- cegcc)
- basic_machine=arm-unknown
- basic_os=cegcc
- ;;
- convex-c1)
- basic_machine=c1-convex
- basic_os=bsd
- ;;
- convex-c2)
- basic_machine=c2-convex
- basic_os=bsd
- ;;
- convex-c32)
- basic_machine=c32-convex
- basic_os=bsd
- ;;
- convex-c34)
- basic_machine=c34-convex
- basic_os=bsd
- ;;
- convex-c38)
- basic_machine=c38-convex
- basic_os=bsd
- ;;
- cray)
- basic_machine=j90-cray
- basic_os=unicos
- ;;
- crds | unos)
- basic_machine=m68k-crds
- basic_os=
- ;;
- da30)
- basic_machine=m68k-da30
- basic_os=
- ;;
- decstation | pmax | pmin | dec3100 | decstatn)
- basic_machine=mips-dec
- basic_os=
- ;;
- delta88)
- basic_machine=m88k-motorola
- basic_os=sysv3
- ;;
- dicos)
- basic_machine=i686-pc
- basic_os=dicos
- ;;
- djgpp)
- basic_machine=i586-pc
- basic_os=msdosdjgpp
- ;;
- ebmon29k)
- basic_machine=a29k-amd
- basic_os=ebmon
- ;;
- es1800 | OSE68k | ose68k | ose | OSE)
- basic_machine=m68k-ericsson
- basic_os=ose
- ;;
- gmicro)
- basic_machine=tron-gmicro
- basic_os=sysv
- ;;
- go32)
- basic_machine=i386-pc
- basic_os=go32
- ;;
- h8300hms)
- basic_machine=h8300-hitachi
- basic_os=hms
- ;;
- h8300xray)
- basic_machine=h8300-hitachi
- basic_os=xray
- ;;
- h8500hms)
- basic_machine=h8500-hitachi
- basic_os=hms
- ;;
- harris)
- basic_machine=m88k-harris
- basic_os=sysv3
- ;;
- hp300 | hp300hpux)
- basic_machine=m68k-hp
- basic_os=hpux
- ;;
- hp300bsd)
- basic_machine=m68k-hp
- basic_os=bsd
- ;;
- hppaosf)
- basic_machine=hppa1.1-hp
- basic_os=osf
- ;;
- hppro)
- basic_machine=hppa1.1-hp
- basic_os=proelf
- ;;
- i386mach)
- basic_machine=i386-mach
- basic_os=mach
- ;;
- isi68 | isi)
- basic_machine=m68k-isi
- basic_os=sysv
- ;;
- m68knommu)
- basic_machine=m68k-unknown
- basic_os=linux
- ;;
- magnum | m3230)
- basic_machine=mips-mips
- basic_os=sysv
- ;;
- merlin)
- basic_machine=ns32k-utek
- basic_os=sysv
- ;;
- mingw64)
- basic_machine=x86_64-pc
- basic_os=mingw64
- ;;
- mingw32)
- basic_machine=i686-pc
- basic_os=mingw32
- ;;
- mingw32ce)
- basic_machine=arm-unknown
- basic_os=mingw32ce
- ;;
- monitor)
- basic_machine=m68k-rom68k
- basic_os=coff
- ;;
- morphos)
- basic_machine=powerpc-unknown
- basic_os=morphos
- ;;
- moxiebox)
- basic_machine=moxie-unknown
- basic_os=moxiebox
- ;;
- msdos)
- basic_machine=i386-pc
- basic_os=msdos
- ;;
- msys)
- basic_machine=i686-pc
- basic_os=msys
- ;;
- mvs)
- basic_machine=i370-ibm
- basic_os=mvs
- ;;
- nacl)
- basic_machine=le32-unknown
- basic_os=nacl
- ;;
- ncr3000)
- basic_machine=i486-ncr
- basic_os=sysv4
- ;;
- netbsd386)
- basic_machine=i386-pc
- basic_os=netbsd
- ;;
- netwinder)
- basic_machine=armv4l-rebel
- basic_os=linux
- ;;
- news | news700 | news800 | news900)
- basic_machine=m68k-sony
- basic_os=newsos
- ;;
- news1000)
- basic_machine=m68030-sony
- basic_os=newsos
- ;;
- necv70)
- basic_machine=v70-nec
- basic_os=sysv
- ;;
- nh3000)
- basic_machine=m68k-harris
- basic_os=cxux
- ;;
- nh[45]000)
- basic_machine=m88k-harris
- basic_os=cxux
- ;;
- nindy960)
- basic_machine=i960-intel
- basic_os=nindy
- ;;
- mon960)
- basic_machine=i960-intel
- basic_os=mon960
- ;;
- nonstopux)
- basic_machine=mips-compaq
- basic_os=nonstopux
- ;;
- os400)
- basic_machine=powerpc-ibm
- basic_os=os400
- ;;
- OSE68000 | ose68000)
- basic_machine=m68000-ericsson
- basic_os=ose
- ;;
- os68k)
- basic_machine=m68k-none
- basic_os=os68k
- ;;
- paragon)
- basic_machine=i860-intel
- basic_os=osf
- ;;
- parisc)
- basic_machine=hppa-unknown
- basic_os=linux
- ;;
- psp)
- basic_machine=mipsallegrexel-sony
- basic_os=psp
- ;;
- pw32)
- basic_machine=i586-unknown
- basic_os=pw32
- ;;
- rdos | rdos64)
- basic_machine=x86_64-pc
- basic_os=rdos
- ;;
- rdos32)
- basic_machine=i386-pc
- basic_os=rdos
- ;;
- rom68k)
- basic_machine=m68k-rom68k
- basic_os=coff
- ;;
- sa29200)
- basic_machine=a29k-amd
- basic_os=udi
- ;;
- sei)
- basic_machine=mips-sei
- basic_os=seiux
- ;;
- sequent)
- basic_machine=i386-sequent
- basic_os=
- ;;
- sps7)
- basic_machine=m68k-bull
- basic_os=sysv2
- ;;
- st2000)
- basic_machine=m68k-tandem
- basic_os=
- ;;
- stratus)
- basic_machine=i860-stratus
- basic_os=sysv4
- ;;
- sun2)
- basic_machine=m68000-sun
- basic_os=
- ;;
- sun2os3)
- basic_machine=m68000-sun
- basic_os=sunos3
- ;;
- sun2os4)
- basic_machine=m68000-sun
- basic_os=sunos4
- ;;
- sun3)
- basic_machine=m68k-sun
- basic_os=
- ;;
- sun3os3)
- basic_machine=m68k-sun
- basic_os=sunos3
- ;;
- sun3os4)
- basic_machine=m68k-sun
- basic_os=sunos4
- ;;
- sun4)
- basic_machine=sparc-sun
- basic_os=
- ;;
- sun4os3)
- basic_machine=sparc-sun
- basic_os=sunos3
- ;;
- sun4os4)
- basic_machine=sparc-sun
- basic_os=sunos4
- ;;
- sun4sol2)
- basic_machine=sparc-sun
- basic_os=solaris2
- ;;
- sun386 | sun386i | roadrunner)
- basic_machine=i386-sun
- basic_os=
- ;;
- sv1)
- basic_machine=sv1-cray
- basic_os=unicos
- ;;
- symmetry)
- basic_machine=i386-sequent
- basic_os=dynix
- ;;
- t3e)
- basic_machine=alphaev5-cray
- basic_os=unicos
- ;;
- t90)
- basic_machine=t90-cray
- basic_os=unicos
- ;;
- toad1)
- basic_machine=pdp10-xkl
- basic_os=tops20
- ;;
- tpf)
- basic_machine=s390x-ibm
- basic_os=tpf
- ;;
- udi29k)
- basic_machine=a29k-amd
- basic_os=udi
- ;;
- ultra3)
- basic_machine=a29k-nyu
- basic_os=sym1
- ;;
- v810 | necv810)
- basic_machine=v810-nec
- basic_os=none
- ;;
- vaxv)
- basic_machine=vax-dec
- basic_os=sysv
- ;;
- vms)
- basic_machine=vax-dec
- basic_os=vms
- ;;
- vsta)
- basic_machine=i386-pc
- basic_os=vsta
- ;;
- vxworks960)
- basic_machine=i960-wrs
- basic_os=vxworks
- ;;
- vxworks68)
- basic_machine=m68k-wrs
- basic_os=vxworks
- ;;
- vxworks29k)
- basic_machine=a29k-wrs
- basic_os=vxworks
- ;;
- xbox)
- basic_machine=i686-pc
- basic_os=mingw32
- ;;
- ymp)
- basic_machine=ymp-cray
- basic_os=unicos
- ;;
- *)
- basic_machine=$1
- basic_os=
- ;;
- esac
- ;;
-esac
-
-# Decode 1-component or ad-hoc basic machines
-case $basic_machine in
- # Here we handle the default manufacturer of certain CPU types. It is in
- # some cases the only manufacturer, in others, it is the most popular.
- w89k)
- cpu=hppa1.1
- vendor=winbond
- ;;
- op50n)
- cpu=hppa1.1
- vendor=oki
- ;;
- op60c)
- cpu=hppa1.1
- vendor=oki
- ;;
- ibm*)
- cpu=i370
- vendor=ibm
- ;;
- orion105)
- cpu=clipper
- vendor=highlevel
- ;;
- mac | mpw | mac-mpw)
- cpu=m68k
- vendor=apple
- ;;
- pmac | pmac-mpw)
- cpu=powerpc
- vendor=apple
- ;;
-
- # Recognize the various machine names and aliases which stand
- # for a CPU type and a company and sometimes even an OS.
- 3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc)
- cpu=m68000
- vendor=att
- ;;
- 3b*)
- cpu=we32k
- vendor=att
- ;;
- bluegene*)
- cpu=powerpc
- vendor=ibm
- basic_os=cnk
- ;;
- decsystem10* | dec10*)
- cpu=pdp10
- vendor=dec
- basic_os=tops10
- ;;
- decsystem20* | dec20*)
- cpu=pdp10
- vendor=dec
- basic_os=tops20
- ;;
- delta | 3300 | motorola-3300 | motorola-delta \
- | 3300-motorola | delta-motorola)
- cpu=m68k
- vendor=motorola
- ;;
- dpx2*)
- cpu=m68k
- vendor=bull
- basic_os=sysv3
- ;;
- encore | umax | mmax)
- cpu=ns32k
- vendor=encore
- ;;
- elxsi)
- cpu=elxsi
- vendor=elxsi
- basic_os=${basic_os:-bsd}
- ;;
- fx2800)
- cpu=i860
- vendor=alliant
- ;;
- genix)
- cpu=ns32k
- vendor=ns
- ;;
- h3050r* | hiux*)
- cpu=hppa1.1
- vendor=hitachi
- basic_os=hiuxwe2
- ;;
- hp3k9[0-9][0-9] | hp9[0-9][0-9])
- cpu=hppa1.0
- vendor=hp
- ;;
- hp9k2[0-9][0-9] | hp9k31[0-9])
- cpu=m68000
- vendor=hp
- ;;
- hp9k3[2-9][0-9])
- cpu=m68k
- vendor=hp
- ;;
- hp9k6[0-9][0-9] | hp6[0-9][0-9])
- cpu=hppa1.0
- vendor=hp
- ;;
- hp9k7[0-79][0-9] | hp7[0-79][0-9])
- cpu=hppa1.1
- vendor=hp
- ;;
- hp9k78[0-9] | hp78[0-9])
- # FIXME: really hppa2.0-hp
- cpu=hppa1.1
- vendor=hp
- ;;
- hp9k8[67]1 | hp8[67]1 | hp9k80[24] | hp80[24] | hp9k8[78]9 | hp8[78]9 | hp9k893 | hp893)
- # FIXME: really hppa2.0-hp
- cpu=hppa1.1
- vendor=hp
- ;;
- hp9k8[0-9][13679] | hp8[0-9][13679])
- cpu=hppa1.1
- vendor=hp
- ;;
- hp9k8[0-9][0-9] | hp8[0-9][0-9])
- cpu=hppa1.0
- vendor=hp
- ;;
- i*86v32)
- cpu=`echo "$1" | sed -e 's/86.*/86/'`
- vendor=pc
- basic_os=sysv32
- ;;
- i*86v4*)
- cpu=`echo "$1" | sed -e 's/86.*/86/'`
- vendor=pc
- basic_os=sysv4
- ;;
- i*86v)
- cpu=`echo "$1" | sed -e 's/86.*/86/'`
- vendor=pc
- basic_os=sysv
- ;;
- i*86sol2)
- cpu=`echo "$1" | sed -e 's/86.*/86/'`
- vendor=pc
- basic_os=solaris2
- ;;
- j90 | j90-cray)
- cpu=j90
- vendor=cray
- basic_os=${basic_os:-unicos}
- ;;
- iris | iris4d)
- cpu=mips
- vendor=sgi
- case $basic_os in
- irix*)
- ;;
- *)
- basic_os=irix4
- ;;
- esac
- ;;
- miniframe)
- cpu=m68000
- vendor=convergent
- ;;
- *mint | mint[0-9]* | *MiNT | *MiNT[0-9]*)
- cpu=m68k
- vendor=atari
- basic_os=mint
- ;;
- news-3600 | risc-news)
- cpu=mips
- vendor=sony
- basic_os=newsos
- ;;
- next | m*-next)
- cpu=m68k
- vendor=next
- case $basic_os in
- openstep*)
- ;;
- nextstep*)
- ;;
- ns2*)
- basic_os=nextstep2
- ;;
- *)
- basic_os=nextstep3
- ;;
- esac
- ;;
- np1)
- cpu=np1
- vendor=gould
- ;;
- op50n-* | op60c-*)
- cpu=hppa1.1
- vendor=oki
- basic_os=proelf
- ;;
- pa-hitachi)
- cpu=hppa1.1
- vendor=hitachi
- basic_os=hiuxwe2
- ;;
- pbd)
- cpu=sparc
- vendor=tti
- ;;
- pbb)
- cpu=m68k
- vendor=tti
- ;;
- pc532)
- cpu=ns32k
- vendor=pc532
- ;;
- pn)
- cpu=pn
- vendor=gould
- ;;
- power)
- cpu=power
- vendor=ibm
- ;;
- ps2)
- cpu=i386
- vendor=ibm
- ;;
- rm[46]00)
- cpu=mips
- vendor=siemens
- ;;
- rtpc | rtpc-*)
- cpu=romp
- vendor=ibm
- ;;
- sde)
- cpu=mipsisa32
- vendor=sde
- basic_os=${basic_os:-elf}
- ;;
- simso-wrs)
- cpu=sparclite
- vendor=wrs
- basic_os=vxworks
- ;;
- tower | tower-32)
- cpu=m68k
- vendor=ncr
- ;;
- vpp*|vx|vx-*)
- cpu=f301
- vendor=fujitsu
- ;;
- w65)
- cpu=w65
- vendor=wdc
- ;;
- w89k-*)
- cpu=hppa1.1
- vendor=winbond
- basic_os=proelf
- ;;
- none)
- cpu=none
- vendor=none
- ;;
- leon|leon[3-9])
- cpu=sparc
- vendor=$basic_machine
- ;;
- leon-*|leon[3-9]-*)
- cpu=sparc
- vendor=`echo "$basic_machine" | sed 's/-.*//'`
- ;;
-
- *-*)
- # shellcheck disable=SC2162
- saved_IFS=$IFS
- IFS="-" read cpu vendor <&2
- exit 1
- ;;
- esac
- ;;
-esac
-
-# Here we canonicalize certain aliases for manufacturers.
-case $vendor in
- digital*)
- vendor=dec
- ;;
- commodore*)
- vendor=cbm
- ;;
- *)
- ;;
-esac
-
-# Decode manufacturer-specific aliases for certain operating systems.
-
-if test x$basic_os != x
-then
-
-# First recognize some ad-hoc cases, or perhaps split kernel-os, or else just
-# set os.
-case $basic_os in
- gnu/linux*)
- kernel=linux
- os=`echo "$basic_os" | sed -e 's|gnu/linux|gnu|'`
- ;;
- os2-emx)
- kernel=os2
- os=`echo "$basic_os" | sed -e 's|os2-emx|emx|'`
- ;;
- nto-qnx*)
- kernel=nto
- os=`echo "$basic_os" | sed -e 's|nto-qnx|qnx|'`
- ;;
- *-*)
- # shellcheck disable=SC2162
- saved_IFS=$IFS
- IFS="-" read kernel os <&2
- exit 1
- ;;
-esac
-
-# As a final step for OS-related things, validate the OS-kernel combination
-# (given a valid OS), if there is a kernel.
-case $kernel-$os in
- linux-gnu* | linux-dietlibc* | linux-android* | linux-newlib* \
- | linux-musl* | linux-relibc* | linux-uclibc* )
- ;;
- uclinux-uclibc* )
- ;;
- -dietlibc* | -newlib* | -musl* | -relibc* | -uclibc* )
- # These are just libc implementations, not actual OSes, and thus
- # require a kernel.
- echo "Invalid configuration \`$1': libc \`$os' needs explicit kernel." 1>&2
- exit 1
- ;;
- kfreebsd*-gnu* | kopensolaris*-gnu*)
- ;;
- vxworks-simlinux | vxworks-simwindows | vxworks-spe)
- ;;
- nto-qnx*)
- ;;
- os2-emx)
- ;;
- *-eabi* | *-gnueabi*)
- ;;
- -*)
- # Blank kernel with real OS is always fine.
- ;;
- *-*)
- echo "Invalid configuration \`$1': Kernel \`$kernel' not known to work with OS \`$os'." 1>&2
- exit 1
- ;;
-esac
-
-# Here we handle the case where we know the os, and the CPU type, but not the
-# manufacturer. We pick the logical manufacturer.
-case $vendor in
- unknown)
- case $cpu-$os in
- *-riscix*)
- vendor=acorn
- ;;
- *-sunos*)
- vendor=sun
- ;;
- *-cnk* | *-aix*)
- vendor=ibm
- ;;
- *-beos*)
- vendor=be
- ;;
- *-hpux*)
- vendor=hp
- ;;
- *-mpeix*)
- vendor=hp
- ;;
- *-hiux*)
- vendor=hitachi
- ;;
- *-unos*)
- vendor=crds
- ;;
- *-dgux*)
- vendor=dg
- ;;
- *-luna*)
- vendor=omron
- ;;
- *-genix*)
- vendor=ns
- ;;
- *-clix*)
- vendor=intergraph
- ;;
- *-mvs* | *-opened*)
- vendor=ibm
- ;;
- *-os400*)
- vendor=ibm
- ;;
- s390-* | s390x-*)
- vendor=ibm
- ;;
- *-ptx*)
- vendor=sequent
- ;;
- *-tpf*)
- vendor=ibm
- ;;
- *-vxsim* | *-vxworks* | *-windiss*)
- vendor=wrs
- ;;
- *-aux*)
- vendor=apple
- ;;
- *-hms*)
- vendor=hitachi
- ;;
- *-mpw* | *-macos*)
- vendor=apple
- ;;
- *-*mint | *-mint[0-9]* | *-*MiNT | *-MiNT[0-9]*)
- vendor=atari
- ;;
- *-vos*)
- vendor=stratus
- ;;
- esac
- ;;
-esac
-
-echo "$cpu-$vendor-${kernel:+$kernel-}$os"
-exit
-
-# Local variables:
-# eval: (add-hook 'before-save-hook 'time-stamp)
-# time-stamp-start: "timestamp='"
-# time-stamp-format: "%:y-%02m-%02d"
-# time-stamp-end: "'"
-# End:
diff --git a/curl/configure b/curl/configure
deleted file mode 100644
index 04d1de14..00000000
--- a/curl/configure
+++ /dev/null
@@ -1,48507 +0,0 @@
-#! /bin/sh
-# Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.71 for curl -.
-#
-# Report bugs to .
-#
-#
-# Copyright (C) 1992-1996, 1998-2017, 2020-2021 Free Software Foundation,
-# Inc.
-#
-#
-# This configure script is free software; the Free Software Foundation
-# gives unlimited permission to copy, distribute and modify it.
-#
-# Copyright (C) Daniel Stenberg,
-# This configure script may be copied, distributed and modified under the
-# terms of the curl license; see COPYING for more details
-
-## -------------------------------- ##
-## XC_CONFIGURE_PREAMBLE ver: 1.0 ##
-## -------------------------------- ##
-
-xc_configure_preamble_ver_major='1'
-xc_configure_preamble_ver_minor='0'
-
-#
-# Set IFS to space, tab and newline.
-#
-
-xc_space=' '
-xc_tab=' '
-xc_newline='
-'
-IFS="$xc_space$xc_tab$xc_newline"
-
-#
-# Set internationalization behavior variables.
-#
-
-LANG='C'
-LC_ALL='C'
-LANGUAGE='C'
-export LANG
-export LC_ALL
-export LANGUAGE
-
-#
-# Some useful variables.
-#
-
-xc_msg_warn='configure: WARNING:'
-xc_msg_abrt='Can not continue.'
-xc_msg_err='configure: error:'
-
-#
-# Verify that 'echo' command is available, otherwise abort.
-#
-
-xc_tst_str='unknown'
-(`echo "$xc_tst_str" >/dev/null 2>&1`) && xc_tst_str='success'
-case "x$xc_tst_str" in # ((
- xsuccess)
- :
- ;;
- *)
- # Try built-in echo, and fail.
- echo "$xc_msg_err 'echo' command not found. $xc_msg_abrt" >&2
- exit 1
- ;;
-esac
-
-#
-# Verify that 'test' command is available, otherwise abort.
-#
-
-xc_tst_str='unknown'
-(`test -n "$xc_tst_str" >/dev/null 2>&1`) && xc_tst_str='success'
-case "x$xc_tst_str" in # ((
- xsuccess)
- :
- ;;
- *)
- echo "$xc_msg_err 'test' command not found. $xc_msg_abrt" >&2
- exit 1
- ;;
-esac
-
-#
-# Verify that 'PATH' variable is set, otherwise abort.
-#
-
-xc_tst_str='unknown'
-(`test -n "$PATH" >/dev/null 2>&1`) && xc_tst_str='success'
-case "x$xc_tst_str" in # ((
- xsuccess)
- :
- ;;
- *)
- echo "$xc_msg_err 'PATH' variable not set. $xc_msg_abrt" >&2
- exit 1
- ;;
-esac
-
-#
-# Verify that 'expr' command is available, otherwise abort.
-#
-
-xc_tst_str='unknown'
-xc_tst_str=`expr "$xc_tst_str" : '.*' 2>/dev/null`
-case "x$xc_tst_str" in # ((
- x7)
- :
- ;;
- *)
- echo "$xc_msg_err 'expr' command not found. $xc_msg_abrt" >&2
- exit 1
- ;;
-esac
-
-#
-# Verify that 'sed' utility is found within 'PATH', otherwise abort.
-#
-
-xc_tst_str='unknown'
-xc_tst_str=`echo "$xc_tst_str" 2>/dev/null \
- | sed -e 's:unknown:success:' 2>/dev/null`
-case "x$xc_tst_str" in # ((
- xsuccess)
- :
- ;;
- *)
- echo "$xc_msg_err 'sed' utility not found in 'PATH'. $xc_msg_abrt" >&2
- exit 1
- ;;
-esac
-
-#
-# Verify that 'grep' utility is found within 'PATH', otherwise abort.
-#
-
-xc_tst_str='unknown'
-(`echo "$xc_tst_str" 2>/dev/null \
- | grep 'unknown' >/dev/null 2>&1`) && xc_tst_str='success'
-case "x$xc_tst_str" in # ((
- xsuccess)
- :
- ;;
- *)
- echo "$xc_msg_err 'grep' utility not found in 'PATH'. $xc_msg_abrt" >&2
- exit 1
- ;;
-esac
-
-#
-# Verify that 'tr' utility is found within 'PATH', otherwise abort.
-#
-
-xc_tst_str="${xc_tab}98s7u6c5c4e3s2s10"
-xc_tst_str=`echo "$xc_tst_str" 2>/dev/null \
- | tr -d "0123456789$xc_tab" 2>/dev/null`
-case "x$xc_tst_str" in # ((
- xsuccess)
- :
- ;;
- *)
- echo "$xc_msg_err 'tr' utility not found in 'PATH'. $xc_msg_abrt" >&2
- exit 1
- ;;
-esac
-
-#
-# Verify that 'wc' utility is found within 'PATH', otherwise abort.
-#
-
-xc_tst_str='unknown unknown unknown unknown'
-xc_tst_str=`echo "$xc_tst_str" 2>/dev/null \
- | wc -w 2>/dev/null | tr -d "$xc_space$xc_tab" 2>/dev/null`
-case "x$xc_tst_str" in # ((
- x4)
- :
- ;;
- *)
- echo "$xc_msg_err 'wc' utility not found in 'PATH'. $xc_msg_abrt" >&2
- exit 1
- ;;
-esac
-
-#
-# Verify that 'cat' utility is found within 'PATH', otherwise abort.
-#
-
-xc_tst_str='unknown'
-xc_tst_str=`cat <<_EOT 2>/dev/null \
- | wc -l 2>/dev/null | tr -d "$xc_space$xc_tab" 2>/dev/null
-unknown
-unknown
-unknown
-_EOT`
-case "x$xc_tst_str" in # ((
- x3)
- :
- ;;
- *)
- echo "$xc_msg_err 'cat' utility not found in 'PATH'. $xc_msg_abrt" >&2
- exit 1
- ;;
-esac
-
-#
-# Auto-detect and set 'PATH_SEPARATOR', unless it is already non-empty set.
-#
-
-# Directory count in 'PATH' when using a colon separator.
-xc_tst_dirs_col='x'
-xc_tst_prev_IFS=$IFS; IFS=':'
-for xc_tst_dir in $PATH; do
- IFS=$xc_tst_prev_IFS
- xc_tst_dirs_col="x$xc_tst_dirs_col"
-done
-IFS=$xc_tst_prev_IFS
-xc_tst_dirs_col=`expr "$xc_tst_dirs_col" : '.*'`
-
-# Directory count in 'PATH' when using a semicolon separator.
-xc_tst_dirs_sem='x'
-xc_tst_prev_IFS=$IFS; IFS=';'
-for xc_tst_dir in $PATH; do
- IFS=$xc_tst_prev_IFS
- xc_tst_dirs_sem="x$xc_tst_dirs_sem"
-done
-IFS=$xc_tst_prev_IFS
-xc_tst_dirs_sem=`expr "$xc_tst_dirs_sem" : '.*'`
-
-if test $xc_tst_dirs_sem -eq $xc_tst_dirs_col; then
- # When both counting methods give the same result we do not want to
- # chose one over the other, and consider auto-detection not possible.
- if test -z "$PATH_SEPARATOR"; then
- # User should provide the correct 'PATH_SEPARATOR' definition.
- # Until then, guess that it is colon!
- echo "$xc_msg_warn path separator not determined, guessing colon" >&2
- PATH_SEPARATOR=':'
- fi
-else
- # Separator with the greater directory count is the auto-detected one.
- if test $xc_tst_dirs_sem -gt $xc_tst_dirs_col; then
- xc_tst_auto_separator=';'
- else
- xc_tst_auto_separator=':'
- fi
- if test -z "$PATH_SEPARATOR"; then
- # Simply use the auto-detected one when not already set.
- PATH_SEPARATOR=$xc_tst_auto_separator
- elif test "x$PATH_SEPARATOR" != "x$xc_tst_auto_separator"; then
- echo "$xc_msg_warn 'PATH_SEPARATOR' does not match auto-detected one." >&2
- fi
-fi
-xc_PATH_SEPARATOR=$PATH_SEPARATOR
-
-xc_configure_preamble_result='yes'
-
-
-## -------------------- ##
-## M4sh Initialization. ##
-## -------------------- ##
-
-# Be more Bourne compatible
-DUALCASE=1; export DUALCASE # for MKS sh
-as_nop=:
-if test ${ZSH_VERSION+y} && (emulate sh) >/dev/null 2>&1
-then :
- emulate sh
- NULLCMD=:
- # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which
- # is contrary to our usage. Disable this feature.
- alias -g '${1+"$@"}'='"$@"'
- setopt NO_GLOB_SUBST
-else $as_nop
- case `(set -o) 2>/dev/null` in #(
- *posix*) :
- set -o posix ;; #(
- *) :
- ;;
-esac
-fi
-
-
-
-# Reset variables that may have inherited troublesome values from
-# the environment.
-
-# IFS needs to be set, to space, tab, and newline, in precisely that order.
-# (If _AS_PATH_WALK were called with IFS unset, it would have the
-# side effect of setting IFS to empty, thus disabling word splitting.)
-# Quoting is to prevent editors from complaining about space-tab.
-as_nl='
-'
-export as_nl
-IFS=" "" $as_nl"
-
-PS1='$ '
-PS2='> '
-PS4='+ '
-
-# Ensure predictable behavior from utilities with locale-dependent output.
-LC_ALL=C
-export LC_ALL
-LANGUAGE=C
-export LANGUAGE
-
-# We cannot yet rely on "unset" to work, but we need these variables
-# to be unset--not just set to an empty or harmless value--now, to
-# avoid bugs in old shells (e.g. pre-3.0 UWIN ksh). This construct
-# also avoids known problems related to "unset" and subshell syntax
-# in other old shells (e.g. bash 2.01 and pdksh 5.2.14).
-for as_var in BASH_ENV ENV MAIL MAILPATH CDPATH
-do eval test \${$as_var+y} \
- && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || :
-done
-
-# Ensure that fds 0, 1, and 2 are open.
-if (exec 3>&0) 2>/dev/null; then :; else exec 0&1) 2>/dev/null; then :; else exec 1>/dev/null; fi
-if (exec 3>&2) ; then :; else exec 2>/dev/null; fi
-
-
-
-# Find who we are. Look in the path if we contain no directory separator.
-as_myself=
-case $0 in #((
- *[\\/]* ) as_myself=$0 ;;
- *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- case $as_dir in #(((
- '') as_dir=./ ;;
- */) ;;
- *) as_dir=$as_dir/ ;;
- esac
- test -r "$as_dir$0" && as_myself=$as_dir$0 && break
- done
-IFS=$as_save_IFS
-
- ;;
-esac
-# We did not find ourselves, most probably we were run as `sh COMMAND'
-# in which case we are not to be found in the path.
-if test "x$as_myself" = x; then
- as_myself=$0
-fi
-if test ! -f "$as_myself"; then
- printf "%s\n" "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2
- exit 1
-fi
-
-
-# Use a proper internal environment variable to ensure we don't fall
- # into an infinite loop, continuously re-executing ourselves.
- if test x"${_as_can_reexec}" != xno && test "x$CONFIG_SHELL" != x; then
- _as_can_reexec=no; export _as_can_reexec;
- # We cannot yet assume a decent shell, so we have to provide a
-# neutralization value for shells without unset; and this also
-# works around shells that cannot unset nonexistent variables.
-# Preserve -v and -x to the replacement shell.
-BASH_ENV=/dev/null
-ENV=/dev/null
-(unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV
-case $- in # ((((
- *v*x* | *x*v* ) as_opts=-vx ;;
- *v* ) as_opts=-v ;;
- *x* ) as_opts=-x ;;
- * ) as_opts= ;;
-esac
-exec $CONFIG_SHELL $as_opts "$as_myself" ${1+"$@"}
-# Admittedly, this is quite paranoid, since all the known shells bail
-# out after a failed `exec'.
-printf "%s\n" "$0: could not re-execute with $CONFIG_SHELL" >&2
-exit 255
- fi
- # We don't want this to propagate to other subprocesses.
- { _as_can_reexec=; unset _as_can_reexec;}
-if test "x$CONFIG_SHELL" = x; then
- as_bourne_compatible="as_nop=:
-if test \${ZSH_VERSION+y} && (emulate sh) >/dev/null 2>&1
-then :
- emulate sh
- NULLCMD=:
- # Pre-4.2 versions of Zsh do word splitting on \${1+\"\$@\"}, which
- # is contrary to our usage. Disable this feature.
- alias -g '\${1+\"\$@\"}'='\"\$@\"'
- setopt NO_GLOB_SUBST
-else \$as_nop
- case \`(set -o) 2>/dev/null\` in #(
- *posix*) :
- set -o posix ;; #(
- *) :
- ;;
-esac
-fi
-"
- as_required="as_fn_return () { (exit \$1); }
-as_fn_success () { as_fn_return 0; }
-as_fn_failure () { as_fn_return 1; }
-as_fn_ret_success () { return 0; }
-as_fn_ret_failure () { return 1; }
-
-exitcode=0
-as_fn_success || { exitcode=1; echo as_fn_success failed.; }
-as_fn_failure && { exitcode=1; echo as_fn_failure succeeded.; }
-as_fn_ret_success || { exitcode=1; echo as_fn_ret_success failed.; }
-as_fn_ret_failure && { exitcode=1; echo as_fn_ret_failure succeeded.; }
-if ( set x; as_fn_ret_success y && test x = \"\$1\" )
-then :
-
-else \$as_nop
- exitcode=1; echo positional parameters were not saved.
-fi
-test x\$exitcode = x0 || exit 1
-blah=\$(echo \$(echo blah))
-test x\"\$blah\" = xblah || exit 1
-test -x / || exit 1"
- as_suggested=" as_lineno_1=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_1a=\$LINENO
- as_lineno_2=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_2a=\$LINENO
- eval 'test \"x\$as_lineno_1'\$as_run'\" != \"x\$as_lineno_2'\$as_run'\" &&
- test \"x\`expr \$as_lineno_1'\$as_run' + 1\`\" = \"x\$as_lineno_2'\$as_run'\"' || exit 1
-test \$(( 1 + 1 )) = 2 || exit 1
-
- test -n \"\${ZSH_VERSION+set}\${BASH_VERSION+set}\" || (
- ECHO='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'
- ECHO=\$ECHO\$ECHO\$ECHO\$ECHO\$ECHO
- ECHO=\$ECHO\$ECHO\$ECHO\$ECHO\$ECHO\$ECHO
- PATH=/empty FPATH=/empty; export PATH FPATH
- test \"X\`printf %s \$ECHO\`\" = \"X\$ECHO\" \\
- || test \"X\`print -r -- \$ECHO\`\" = \"X\$ECHO\" ) || exit 1"
- if (eval "$as_required") 2>/dev/null
-then :
- as_have_required=yes
-else $as_nop
- as_have_required=no
-fi
- if test x$as_have_required = xyes && (eval "$as_suggested") 2>/dev/null
-then :
-
-else $as_nop
- as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-as_found=false
-for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH
-do
- IFS=$as_save_IFS
- case $as_dir in #(((
- '') as_dir=./ ;;
- */) ;;
- *) as_dir=$as_dir/ ;;
- esac
- as_found=:
- case $as_dir in #(
- /*)
- for as_base in sh bash ksh sh5; do
- # Try only shells that exist, to save several forks.
- as_shell=$as_dir$as_base
- if { test -f "$as_shell" || test -f "$as_shell.exe"; } &&
- as_run=a "$as_shell" -c "$as_bourne_compatible""$as_required" 2>/dev/null
-then :
- CONFIG_SHELL=$as_shell as_have_required=yes
- if as_run=a "$as_shell" -c "$as_bourne_compatible""$as_suggested" 2>/dev/null
-then :
- break 2
-fi
-fi
- done;;
- esac
- as_found=false
-done
-IFS=$as_save_IFS
-if $as_found
-then :
-
-else $as_nop
- if { test -f "$SHELL" || test -f "$SHELL.exe"; } &&
- as_run=a "$SHELL" -c "$as_bourne_compatible""$as_required" 2>/dev/null
-then :
- CONFIG_SHELL=$SHELL as_have_required=yes
-fi
-fi
-
-
- if test "x$CONFIG_SHELL" != x
-then :
- export CONFIG_SHELL
- # We cannot yet assume a decent shell, so we have to provide a
-# neutralization value for shells without unset; and this also
-# works around shells that cannot unset nonexistent variables.
-# Preserve -v and -x to the replacement shell.
-BASH_ENV=/dev/null
-ENV=/dev/null
-(unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV
-case $- in # ((((
- *v*x* | *x*v* ) as_opts=-vx ;;
- *v* ) as_opts=-v ;;
- *x* ) as_opts=-x ;;
- * ) as_opts= ;;
-esac
-exec $CONFIG_SHELL $as_opts "$as_myself" ${1+"$@"}
-# Admittedly, this is quite paranoid, since all the known shells bail
-# out after a failed `exec'.
-printf "%s\n" "$0: could not re-execute with $CONFIG_SHELL" >&2
-exit 255
-fi
-
- if test x$as_have_required = xno
-then :
- printf "%s\n" "$0: This script requires a shell more modern than all"
- printf "%s\n" "$0: the shells that I found on your system."
- if test ${ZSH_VERSION+y} ; then
- printf "%s\n" "$0: In particular, zsh $ZSH_VERSION has bugs and should"
- printf "%s\n" "$0: be upgraded to zsh 4.3.4 or later."
- else
- printf "%s\n" "$0: Please tell bug-autoconf@gnu.org and a suitable curl
-$0: mailing list: https://curl.se/mail/ about your system,
-$0: including any error possibly output before this
-$0: message. Then install a modern shell, or manually run
-$0: the script under such a shell if you do have one."
- fi
- exit 1
-fi
-fi
-fi
-SHELL=${CONFIG_SHELL-/bin/sh}
-export SHELL
-# Unset more variables known to interfere with behavior of common tools.
-CLICOLOR_FORCE= GREP_OPTIONS=
-unset CLICOLOR_FORCE GREP_OPTIONS
-
-## --------------------- ##
-## M4sh Shell Functions. ##
-## --------------------- ##
-# as_fn_unset VAR
-# ---------------
-# Portably unset VAR.
-as_fn_unset ()
-{
- { eval $1=; unset $1;}
-}
-as_unset=as_fn_unset
-
-
-# as_fn_set_status STATUS
-# -----------------------
-# Set $? to STATUS, without forking.
-as_fn_set_status ()
-{
- return $1
-} # as_fn_set_status
-
-# as_fn_exit STATUS
-# -----------------
-# Exit the shell with STATUS, even in a "trap 0" or "set -e" context.
-as_fn_exit ()
-{
- set +e
- as_fn_set_status $1
- exit $1
-} # as_fn_exit
-# as_fn_nop
-# ---------
-# Do nothing but, unlike ":", preserve the value of $?.
-as_fn_nop ()
-{
- return $?
-}
-as_nop=as_fn_nop
-
-# as_fn_mkdir_p
-# -------------
-# Create "$as_dir" as a directory, including parents if necessary.
-as_fn_mkdir_p ()
-{
-
- case $as_dir in #(
- -*) as_dir=./$as_dir;;
- esac
- test -d "$as_dir" || eval $as_mkdir_p || {
- as_dirs=
- while :; do
- case $as_dir in #(
- *\'*) as_qdir=`printf "%s\n" "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'(
- *) as_qdir=$as_dir;;
- esac
- as_dirs="'$as_qdir' $as_dirs"
- as_dir=`$as_dirname -- "$as_dir" ||
-$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
- X"$as_dir" : 'X\(//\)[^/]' \| \
- X"$as_dir" : 'X\(//\)$' \| \
- X"$as_dir" : 'X\(/\)' \| . 2>/dev/null ||
-printf "%s\n" X"$as_dir" |
- sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
- s//\1/
- q
- }
- /^X\(\/\/\)[^/].*/{
- s//\1/
- q
- }
- /^X\(\/\/\)$/{
- s//\1/
- q
- }
- /^X\(\/\).*/{
- s//\1/
- q
- }
- s/.*/./; q'`
- test -d "$as_dir" && break
- done
- test -z "$as_dirs" || eval "mkdir $as_dirs"
- } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir"
-
-
-} # as_fn_mkdir_p
-
-# as_fn_executable_p FILE
-# -----------------------
-# Test if FILE is an executable regular file.
-as_fn_executable_p ()
-{
- test -f "$1" && test -x "$1"
-} # as_fn_executable_p
-# as_fn_append VAR VALUE
-# ----------------------
-# Append the text in VALUE to the end of the definition contained in VAR. Take
-# advantage of any shell optimizations that allow amortized linear growth over
-# repeated appends, instead of the typical quadratic growth present in naive
-# implementations.
-if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null
-then :
- eval 'as_fn_append ()
- {
- eval $1+=\$2
- }'
-else $as_nop
- as_fn_append ()
- {
- eval $1=\$$1\$2
- }
-fi # as_fn_append
-
-# as_fn_arith ARG...
-# ------------------
-# Perform arithmetic evaluation on the ARGs, and store the result in the
-# global $as_val. Take advantage of shells that can avoid forks. The arguments
-# must be portable across $(()) and expr.
-if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null
-then :
- eval 'as_fn_arith ()
- {
- as_val=$(( $* ))
- }'
-else $as_nop
- as_fn_arith ()
- {
- as_val=`expr "$@" || test $? -eq 1`
- }
-fi # as_fn_arith
-
-# as_fn_nop
-# ---------
-# Do nothing but, unlike ":", preserve the value of $?.
-as_fn_nop ()
-{
- return $?
-}
-as_nop=as_fn_nop
-
-# as_fn_error STATUS ERROR [LINENO LOG_FD]
-# ----------------------------------------
-# Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are
-# provided, also output the error to LOG_FD, referencing LINENO. Then exit the
-# script with STATUS, using 1 if that was 0.
-as_fn_error ()
-{
- as_status=$1; test $as_status -eq 0 && as_status=1
- if test "$4"; then
- as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
- printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: $2" >&$4
- fi
- printf "%s\n" "$as_me: error: $2" >&2
- as_fn_exit $as_status
-} # as_fn_error
-
-if expr a : '\(a\)' >/dev/null 2>&1 &&
- test "X`expr 00001 : '.*\(...\)'`" = X001; then
- as_expr=expr
-else
- as_expr=false
-fi
-
-if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then
- as_basename=basename
-else
- as_basename=false
-fi
-
-if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then
- as_dirname=dirname
-else
- as_dirname=false
-fi
-
-as_me=`$as_basename -- "$0" ||
-$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \
- X"$0" : 'X\(//\)$' \| \
- X"$0" : 'X\(/\)' \| . 2>/dev/null ||
-printf "%s\n" X/"$0" |
- sed '/^.*\/\([^/][^/]*\)\/*$/{
- s//\1/
- q
- }
- /^X\/\(\/\/\)$/{
- s//\1/
- q
- }
- /^X\/\(\/\).*/{
- s//\1/
- q
- }
- s/.*/./; q'`
-
-# Avoid depending upon Character Ranges.
-as_cr_letters='abcdefghijklmnopqrstuvwxyz'
-as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ'
-as_cr_Letters=$as_cr_letters$as_cr_LETTERS
-as_cr_digits='0123456789'
-as_cr_alnum=$as_cr_Letters$as_cr_digits
-
-
- as_lineno_1=$LINENO as_lineno_1a=$LINENO
- as_lineno_2=$LINENO as_lineno_2a=$LINENO
- eval 'test "x$as_lineno_1'$as_run'" != "x$as_lineno_2'$as_run'" &&
- test "x`expr $as_lineno_1'$as_run' + 1`" = "x$as_lineno_2'$as_run'"' || {
- # Blame Lee E. McMahon (1931-1989) for sed's syntax. :-)
- sed -n '
- p
- /[$]LINENO/=
- ' <$as_myself |
- sed '
- s/[$]LINENO.*/&-/
- t lineno
- b
- :lineno
- N
- :loop
- s/[$]LINENO\([^'$as_cr_alnum'_].*\n\)\(.*\)/\2\1\2/
- t loop
- s/-\n.*//
- ' >$as_me.lineno &&
- chmod +x "$as_me.lineno" ||
- { printf "%s\n" "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2; as_fn_exit 1; }
-
- # If we had to re-execute with $CONFIG_SHELL, we're ensured to have
- # already done that, so ensure we don't try to do so again and fall
- # in an infinite loop. This has already happened in practice.
- _as_can_reexec=no; export _as_can_reexec
- # Don't try to exec as it changes $[0], causing all sort of problems
- # (the dirname of $[0] is not the place where we might find the
- # original and so on. Autoconf is especially sensitive to this).
- . "./$as_me.lineno"
- # Exit status is that of the last command.
- exit
-}
-
-
-# Determine whether it's possible to make 'echo' print without a newline.
-# These variables are no longer used directly by Autoconf, but are AC_SUBSTed
-# for compatibility with existing Makefiles.
-ECHO_C= ECHO_N= ECHO_T=
-case `echo -n x` in #(((((
--n*)
- case `echo 'xy\c'` in
- *c*) ECHO_T=' ';; # ECHO_T is single tab character.
- xy) ECHO_C='\c';;
- *) echo `echo ksh88 bug on AIX 6.1` > /dev/null
- ECHO_T=' ';;
- esac;;
-*)
- ECHO_N='-n';;
-esac
-
-# For backward compatibility with old third-party macros, we provide
-# the shell variables $as_echo and $as_echo_n. New code should use
-# AS_ECHO(["message"]) and AS_ECHO_N(["message"]), respectively.
-as_echo='printf %s\n'
-as_echo_n='printf %s'
-
-
-rm -f conf$$ conf$$.exe conf$$.file
-if test -d conf$$.dir; then
- rm -f conf$$.dir/conf$$.file
-else
- rm -f conf$$.dir
- mkdir conf$$.dir 2>/dev/null
-fi
-if (echo >conf$$.file) 2>/dev/null; then
- if ln -s conf$$.file conf$$ 2>/dev/null; then
- as_ln_s='ln -s'
- # ... but there are two gotchas:
- # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail.
- # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable.
- # In both cases, we have to default to `cp -pR'.
- ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe ||
- as_ln_s='cp -pR'
- elif ln conf$$.file conf$$ 2>/dev/null; then
- as_ln_s=ln
- else
- as_ln_s='cp -pR'
- fi
-else
- as_ln_s='cp -pR'
-fi
-rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file
-rmdir conf$$.dir 2>/dev/null
-
-if mkdir -p . 2>/dev/null; then
- as_mkdir_p='mkdir -p "$as_dir"'
-else
- test -d ./-p && rmdir ./-p
- as_mkdir_p=false
-fi
-
-as_test_x='test -x'
-as_executable_p=as_fn_executable_p
-
-# Sed expression to map a string onto a valid CPP name.
-as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'"
-
-# Sed expression to map a string onto a valid variable name.
-as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'"
-
-SHELL=${CONFIG_SHELL-/bin/sh}
-
-
-test -n "$DJDIR" || exec 7<&0 &1
-
-# Name of the host.
-# hostname on some systems (SVR3.2, old GNU/Linux) returns a bogus exit status,
-# so uname gets run too.
-ac_hostname=`(hostname || uname -n) 2>/dev/null | sed 1q`
-
-#
-# Initializations.
-#
-ac_default_prefix=/usr/local
-ac_clean_files=
-ac_config_libobj_dir=.
-LIBOBJS=
-cross_compiling=no
-subdirs=
-MFLAGS=
-MAKEFLAGS=
-
-# Identity of this package.
-PACKAGE_NAME='curl'
-PACKAGE_TARNAME='curl'
-PACKAGE_VERSION='-'
-PACKAGE_STRING='curl -'
-PACKAGE_BUGREPORT='a suitable curl mailing list: https://curl.se/mail/'
-PACKAGE_URL=''
-
-ac_unique_file="lib/urldata.h"
-# Factoring default headers for most tests.
-ac_includes_default="\
-#include
-#ifdef HAVE_STDIO_H
-# include
-#endif
-#ifdef HAVE_STDLIB_H
-# include
-#endif
-#ifdef HAVE_STRING_H
-# include
-#endif
-#ifdef HAVE_INTTYPES_H
-# include
-#endif
-#ifdef HAVE_STDINT_H
-# include
-#endif
-#ifdef HAVE_STRINGS_H
-# include
-#endif
-#ifdef HAVE_SYS_TYPES_H
-# include
-#endif
-#ifdef HAVE_SYS_STAT_H
-# include
-#endif
-#ifdef HAVE_UNISTD_H
-# include
-#endif"
-
-ac_header_c_list=
-ac_subst_vars='am__EXEEXT_FALSE
-am__EXEEXT_TRUE
-LTLIBOBJS
-LIBOBJS
-SSL_BACKENDS
-SUPPORT_PROTOCOLS
-SUPPORT_FEATURES
-LIBCURL_NO_SHARED
-ENABLE_STATIC
-ENABLE_SHARED
-CROSSCOMPILING_FALSE
-CROSSCOMPILING_TRUE
-BLANK_AT_MAKETIME
-CURL_NETWORK_AND_TIME_LIBS
-CURL_NETWORK_LIBS
-LIBCURL_LIBS
-CFLAG_CURL_SYMBOL_HIDING
-DOING_CURL_SYMBOL_HIDING_FALSE
-DOING_CURL_SYMBOL_HIDING_TRUE
-USE_UNIX_SOCKETS
-BUILD_LIBHOSTNAME_FALSE
-BUILD_LIBHOSTNAME_TRUE
-USE_ARES
-USE_MANUAL_FALSE
-USE_MANUAL_TRUE
-MANOPT
-NROFF
-PERL
-FISH_FUNCTIONS_DIR
-ZSH_FUNCTIONS_DIR
-USE_MSH3
-USE_QUICHE
-USE_NGHTTP3
-USE_NGTCP2_CRYPTO_WOLFSSL
-USE_NGTCP2_CRYPTO_GNUTLS
-USE_NGTCP2_CRYPTO_QUICTLS
-USE_NGTCP2
-USE_NGHTTP2
-IDN_ENABLED
-CURL_PLIST_VERSION
-CURL_LT_SHLIB_USE_VERSIONED_SYMBOLS_FALSE
-CURL_LT_SHLIB_USE_VERSIONED_SYMBOLS_TRUE
-CURL_LT_SHLIB_VERSIONED_FLAVOUR
-USE_LIBRTMP
-USE_WOLFSSH
-USE_LIBSSH
-USE_LIBSSH2
-USE_GSASL_FALSE
-USE_GSASL_TRUE
-USE_LIBPSL_FALSE
-USE_LIBPSL_TRUE
-CURL_CA_BUNDLE
-CURL_WITH_MULTI_SSL
-SSL_ENABLED
-USE_RUSTLS
-USE_BEARSSL
-USE_WOLFSSL
-USE_MBEDTLS
-HAVE_GNUTLS_SRP
-USE_GNUTLS
-HAVE_OPENSSL_SRP
-RANDOM_FILE
-SSL_LIBS
-USE_SECTRANSP
-USE_WINDOWS_SSPI
-USE_SCHANNEL
-DEFAULT_SSL_BACKEND
-BUILD_STUB_GSS_FALSE
-BUILD_STUB_GSS_TRUE
-IPV6_ENABLED
-USE_OPENLDAP
-HAVE_ZSTD
-HAVE_BROTLI
-ZLIB_LIBS
-HAVE_LIBZ_FALSE
-HAVE_LIBZ_TRUE
-HAVE_LIBZ
-HAVE_PROTO_BSDSOCKET_H
-CURL_DISABLE_MQTT
-CURL_DISABLE_GOPHER
-CURL_DISABLE_SMTP
-CURL_DISABLE_SMB
-CURL_DISABLE_IMAP
-CURL_DISABLE_POP3
-CURL_DISABLE_TFTP
-CURL_DISABLE_TELNET
-CURL_DISABLE_DICT
-CURL_DISABLE_PROXY
-USE_HYPER
-PKGCONFIG
-HAVE_LDAP_SSL
-CURL_DISABLE_LDAPS
-CURL_DISABLE_LDAP
-CURL_DISABLE_FILE
-CURL_DISABLE_FTP
-CURL_DISABLE_RTSP
-CURL_DISABLE_HTTP
-HAVE_WINDRES_FALSE
-HAVE_WINDRES_TRUE
-USE_WIN32_CRYPTO
-USE_WIN32_SMALL_FILES
-USE_WIN32_LARGE_FILES
-DOING_NATIVE_WINDOWS_FALSE
-DOING_NATIVE_WINDOWS_TRUE
-BUILD_UNITTESTS_FALSE
-BUILD_UNITTESTS_TRUE
-CURLDEBUG_FALSE
-CURLDEBUG_TRUE
-CURL_CFLAG_EXTRAS
-USE_EXPLICIT_LIB_DEPS_FALSE
-USE_EXPLICIT_LIB_DEPS_TRUE
-REQUIRE_LIB_DEPS
-CPPFLAG_CURL_STATICLIB
-USE_CPPFLAG_CURL_STATICLIB_FALSE
-USE_CPPFLAG_CURL_STATICLIB_TRUE
-CURL_LT_SHLIB_USE_MIMPURE_TEXT_FALSE
-CURL_LT_SHLIB_USE_MIMPURE_TEXT_TRUE
-CURL_LT_SHLIB_USE_NO_UNDEFINED_FALSE
-CURL_LT_SHLIB_USE_NO_UNDEFINED_TRUE
-CURL_LT_SHLIB_USE_VERSION_INFO_FALSE
-CURL_LT_SHLIB_USE_VERSION_INFO_TRUE
-RC
-LT_SYS_LIBRARY_PATH
-OTOOL64
-OTOOL
-LIPO
-NMEDIT
-DSYMUTIL
-MANIFEST_TOOL
-RANLIB
-ac_ct_AR
-FILECMD
-LN_S
-NM
-ac_ct_DUMPBIN
-DUMPBIN
-LD
-FGREP
-LIBTOOL
-OBJDUMP
-DLLTOOL
-AS
-AR_FLAGS
-host_os
-host_vendor
-host_cpu
-host
-build_os
-build_vendor
-build_cpu
-build
-HTTPD_NGHTTPX
-APACHECTL
-HTTPD
-APXS
-CADDY
-TEST_NGHTTPX
-PKGADD_VENDOR
-PKGADD_NAME
-PKGADD_PKG
-VERSIONNUM
-CURLVERSION
-CSCOPE
-ETAGS
-CTAGS
-am__fastdepCC_FALSE
-am__fastdepCC_TRUE
-CCDEPMODE
-am__nodep
-AMDEPBACKSLASH
-AMDEP_FALSE
-AMDEP_TRUE
-am__include
-DEPDIR
-am__untar
-am__tar
-AMTAR
-am__leading_dot
-SET_MAKE
-AWK
-mkdir_p
-MKDIR_P
-INSTALL_STRIP_PROGRAM
-STRIP
-install_sh
-MAKEINFO
-AUTOHEADER
-AUTOMAKE
-AUTOCONF
-ACLOCAL
-VERSION
-PACKAGE
-CYGPATH_W
-am__isrc
-LCOV
-GCOV
-CPP
-OBJEXT
-EXEEXT
-ac_ct_CC
-CPPFLAGS
-LDFLAGS
-CFLAGS
-CC
-INSTALL_DATA
-INSTALL_SCRIPT
-INSTALL_PROGRAM
-libext
-AR
-EGREP
-GREP
-SED
-CONFIGURE_OPTIONS
-AM_BACKSLASH
-AM_DEFAULT_VERBOSITY
-AM_DEFAULT_V
-AM_V
-MAINT
-MAINTAINER_MODE_FALSE
-MAINTAINER_MODE_TRUE
-target_alias
-host_alias
-build_alias
-LIBS
-ECHO_T
-ECHO_N
-ECHO_C
-DEFS
-mandir
-localedir
-libdir
-psdir
-pdfdir
-dvidir
-htmldir
-infodir
-docdir
-oldincludedir
-includedir
-runstatedir
-localstatedir
-sharedstatedir
-sysconfdir
-datadir
-datarootdir
-libexecdir
-sbindir
-bindir
-program_transform_name
-prefix
-exec_prefix
-PACKAGE_URL
-PACKAGE_BUGREPORT
-PACKAGE_STRING
-PACKAGE_VERSION
-PACKAGE_TARNAME
-PACKAGE_NAME
-SHELL
-PATH_SEPARATOR
-am__quote'
-ac_subst_files=''
-ac_user_opts='
-enable_option_checking
-enable_maintainer_mode
-enable_silent_rules
-enable_debug
-enable_optimize
-enable_warnings
-enable_werror
-enable_curldebug
-enable_symbol_hiding
-enable_ares
-enable_rt
-enable_ech
-enable_code_coverage
-enable_dependency_tracking
-with_schannel
-with_secure_transport
-with_amissl
-with_ssl
-with_openssl
-with_gnutls
-with_mbedtls
-with_wolfssl
-with_bearssl
-with_rustls
-with_test_nghttpx
-with_test_caddy
-with_test_httpd
-with_darwinssl
-enable_largefile
-enable_shared
-enable_static
-with_pic
-enable_fast_install
-with_aix_soname
-with_gnu_ld
-with_sysroot
-enable_libtool_lock
-enable_http
-enable_ftp
-enable_file
-enable_ldap
-enable_ldaps
-with_hyper
-enable_rtsp
-enable_proxy
-enable_dict
-enable_telnet
-enable_tftp
-enable_pop3
-enable_imap
-enable_smb
-enable_smtp
-enable_gopher
-enable_mqtt
-enable_manual
-enable_libcurl_option
-enable_libgcc
-with_zlib
-with_brotli
-with_zstd
-with_ldap_lib
-with_lber_lib
-enable_ipv6
-with_gssapi_includes
-with_gssapi_libs
-with_gssapi
-with_default_ssl_backend
-with_random
-enable_openssl_auto_load_config
-with_ca_bundle
-with_ca_path
-with_ca_fallback
-with_libpsl
-with_libgsasl
-with_libmetalink
-with_libssh2
-with_libssh
-with_wolfssh
-with_librtmp
-enable_versioned_symbols
-with_winidn
-with_libidn2
-with_nghttp2
-with_ngtcp2
-with_nghttp3
-with_quiche
-with_msh3
-with_zsh_functions_dir
-with_fish_functions_dir
-enable_threaded_resolver
-enable_pthreads
-enable_verbose
-enable_sspi
-enable_basic_auth
-enable_bearer_auth
-enable_digest_auth
-enable_kerberos_auth
-enable_negotiate_auth
-enable_aws
-enable_ntlm
-enable_ntlm_wb
-enable_tls_srp
-enable_unix_sockets
-enable_cookies
-enable_socketpair
-enable_http_auth
-enable_doh
-enable_mime
-enable_bindlocal
-enable_form_api
-enable_dateparse
-enable_netrc
-enable_progress_meter
-enable_dnsshuffle
-enable_get_easy_options
-enable_alt_svc
-enable_headers_api
-enable_hsts
-enable_websockets
-'
- ac_precious_vars='build_alias
-host_alias
-target_alias
-CC
-CFLAGS
-LDFLAGS
-LIBS
-CPPFLAGS
-CPP
-LT_SYS_LIBRARY_PATH'
-
-
-# Initialize some variables set by options.
-ac_init_help=
-ac_init_version=false
-ac_unrecognized_opts=
-ac_unrecognized_sep=
-# The variables have the same names as the options, with
-# dashes changed to underlines.
-cache_file=/dev/null
-exec_prefix=NONE
-no_create=
-no_recursion=
-prefix=NONE
-program_prefix=NONE
-program_suffix=NONE
-program_transform_name=s,x,x,
-silent=
-site=
-srcdir=
-verbose=
-x_includes=NONE
-x_libraries=NONE
-
-# Installation directory options.
-# These are left unexpanded so users can "make install exec_prefix=/foo"
-# and all the variables that are supposed to be based on exec_prefix
-# by default will actually change.
-# Use braces instead of parens because sh, perl, etc. also accept them.
-# (The list follows the same order as the GNU Coding Standards.)
-bindir='${exec_prefix}/bin'
-sbindir='${exec_prefix}/sbin'
-libexecdir='${exec_prefix}/libexec'
-datarootdir='${prefix}/share'
-datadir='${datarootdir}'
-sysconfdir='${prefix}/etc'
-sharedstatedir='${prefix}/com'
-localstatedir='${prefix}/var'
-runstatedir='${localstatedir}/run'
-includedir='${prefix}/include'
-oldincludedir='/usr/include'
-docdir='${datarootdir}/doc/${PACKAGE_TARNAME}'
-infodir='${datarootdir}/info'
-htmldir='${docdir}'
-dvidir='${docdir}'
-pdfdir='${docdir}'
-psdir='${docdir}'
-libdir='${exec_prefix}/lib'
-localedir='${datarootdir}/locale'
-mandir='${datarootdir}/man'
-
-ac_prev=
-ac_dashdash=
-for ac_option
-do
- # If the previous option needs an argument, assign it.
- if test -n "$ac_prev"; then
- eval $ac_prev=\$ac_option
- ac_prev=
- continue
- fi
-
- case $ac_option in
- *=?*) ac_optarg=`expr "X$ac_option" : '[^=]*=\(.*\)'` ;;
- *=) ac_optarg= ;;
- *) ac_optarg=yes ;;
- esac
-
- case $ac_dashdash$ac_option in
- --)
- ac_dashdash=yes ;;
-
- -bindir | --bindir | --bindi | --bind | --bin | --bi)
- ac_prev=bindir ;;
- -bindir=* | --bindir=* | --bindi=* | --bind=* | --bin=* | --bi=*)
- bindir=$ac_optarg ;;
-
- -build | --build | --buil | --bui | --bu)
- ac_prev=build_alias ;;
- -build=* | --build=* | --buil=* | --bui=* | --bu=*)
- build_alias=$ac_optarg ;;
-
- -cache-file | --cache-file | --cache-fil | --cache-fi \
- | --cache-f | --cache- | --cache | --cach | --cac | --ca | --c)
- ac_prev=cache_file ;;
- -cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \
- | --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* | --c=*)
- cache_file=$ac_optarg ;;
-
- --config-cache | -C)
- cache_file=config.cache ;;
-
- -datadir | --datadir | --datadi | --datad)
- ac_prev=datadir ;;
- -datadir=* | --datadir=* | --datadi=* | --datad=*)
- datadir=$ac_optarg ;;
-
- -datarootdir | --datarootdir | --datarootdi | --datarootd | --dataroot \
- | --dataroo | --dataro | --datar)
- ac_prev=datarootdir ;;
- -datarootdir=* | --datarootdir=* | --datarootdi=* | --datarootd=* \
- | --dataroot=* | --dataroo=* | --dataro=* | --datar=*)
- datarootdir=$ac_optarg ;;
-
- -disable-* | --disable-*)
- ac_useropt=`expr "x$ac_option" : 'x-*disable-\(.*\)'`
- # Reject names that are not valid shell variable names.
- expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
- as_fn_error $? "invalid feature name: \`$ac_useropt'"
- ac_useropt_orig=$ac_useropt
- ac_useropt=`printf "%s\n" "$ac_useropt" | sed 's/[-+.]/_/g'`
- case $ac_user_opts in
- *"
-"enable_$ac_useropt"
-"*) ;;
- *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--disable-$ac_useropt_orig"
- ac_unrecognized_sep=', ';;
- esac
- eval enable_$ac_useropt=no ;;
-
- -docdir | --docdir | --docdi | --doc | --do)
- ac_prev=docdir ;;
- -docdir=* | --docdir=* | --docdi=* | --doc=* | --do=*)
- docdir=$ac_optarg ;;
-
- -dvidir | --dvidir | --dvidi | --dvid | --dvi | --dv)
- ac_prev=dvidir ;;
- -dvidir=* | --dvidir=* | --dvidi=* | --dvid=* | --dvi=* | --dv=*)
- dvidir=$ac_optarg ;;
-
- -enable-* | --enable-*)
- ac_useropt=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'`
- # Reject names that are not valid shell variable names.
- expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
- as_fn_error $? "invalid feature name: \`$ac_useropt'"
- ac_useropt_orig=$ac_useropt
- ac_useropt=`printf "%s\n" "$ac_useropt" | sed 's/[-+.]/_/g'`
- case $ac_user_opts in
- *"
-"enable_$ac_useropt"
-"*) ;;
- *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--enable-$ac_useropt_orig"
- ac_unrecognized_sep=', ';;
- esac
- eval enable_$ac_useropt=\$ac_optarg ;;
-
- -exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \
- | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \
- | --exec | --exe | --ex)
- ac_prev=exec_prefix ;;
- -exec-prefix=* | --exec_prefix=* | --exec-prefix=* | --exec-prefi=* \
- | --exec-pref=* | --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* \
- | --exec=* | --exe=* | --ex=*)
- exec_prefix=$ac_optarg ;;
-
- -gas | --gas | --ga | --g)
- # Obsolete; use --with-gas.
- with_gas=yes ;;
-
- -help | --help | --hel | --he | -h)
- ac_init_help=long ;;
- -help=r* | --help=r* | --hel=r* | --he=r* | -hr*)
- ac_init_help=recursive ;;
- -help=s* | --help=s* | --hel=s* | --he=s* | -hs*)
- ac_init_help=short ;;
-
- -host | --host | --hos | --ho)
- ac_prev=host_alias ;;
- -host=* | --host=* | --hos=* | --ho=*)
- host_alias=$ac_optarg ;;
-
- -htmldir | --htmldir | --htmldi | --htmld | --html | --htm | --ht)
- ac_prev=htmldir ;;
- -htmldir=* | --htmldir=* | --htmldi=* | --htmld=* | --html=* | --htm=* \
- | --ht=*)
- htmldir=$ac_optarg ;;
-
- -includedir | --includedir | --includedi | --included | --include \
- | --includ | --inclu | --incl | --inc)
- ac_prev=includedir ;;
- -includedir=* | --includedir=* | --includedi=* | --included=* | --include=* \
- | --includ=* | --inclu=* | --incl=* | --inc=*)
- includedir=$ac_optarg ;;
-
- -infodir | --infodir | --infodi | --infod | --info | --inf)
- ac_prev=infodir ;;
- -infodir=* | --infodir=* | --infodi=* | --infod=* | --info=* | --inf=*)
- infodir=$ac_optarg ;;
-
- -libdir | --libdir | --libdi | --libd)
- ac_prev=libdir ;;
- -libdir=* | --libdir=* | --libdi=* | --libd=*)
- libdir=$ac_optarg ;;
-
- -libexecdir | --libexecdir | --libexecdi | --libexecd | --libexec \
- | --libexe | --libex | --libe)
- ac_prev=libexecdir ;;
- -libexecdir=* | --libexecdir=* | --libexecdi=* | --libexecd=* | --libexec=* \
- | --libexe=* | --libex=* | --libe=*)
- libexecdir=$ac_optarg ;;
-
- -localedir | --localedir | --localedi | --localed | --locale)
- ac_prev=localedir ;;
- -localedir=* | --localedir=* | --localedi=* | --localed=* | --locale=*)
- localedir=$ac_optarg ;;
-
- -localstatedir | --localstatedir | --localstatedi | --localstated \
- | --localstate | --localstat | --localsta | --localst | --locals)
- ac_prev=localstatedir ;;
- -localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \
- | --localstate=* | --localstat=* | --localsta=* | --localst=* | --locals=*)
- localstatedir=$ac_optarg ;;
-
- -mandir | --mandir | --mandi | --mand | --man | --ma | --m)
- ac_prev=mandir ;;
- -mandir=* | --mandir=* | --mandi=* | --mand=* | --man=* | --ma=* | --m=*)
- mandir=$ac_optarg ;;
-
- -nfp | --nfp | --nf)
- # Obsolete; use --without-fp.
- with_fp=no ;;
-
- -no-create | --no-create | --no-creat | --no-crea | --no-cre \
- | --no-cr | --no-c | -n)
- no_create=yes ;;
-
- -no-recursion | --no-recursion | --no-recursio | --no-recursi \
- | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r)
- no_recursion=yes ;;
-
- -oldincludedir | --oldincludedir | --oldincludedi | --oldincluded \
- | --oldinclude | --oldinclud | --oldinclu | --oldincl | --oldinc \
- | --oldin | --oldi | --old | --ol | --o)
- ac_prev=oldincludedir ;;
- -oldincludedir=* | --oldincludedir=* | --oldincludedi=* | --oldincluded=* \
- | --oldinclude=* | --oldinclud=* | --oldinclu=* | --oldincl=* | --oldinc=* \
- | --oldin=* | --oldi=* | --old=* | --ol=* | --o=*)
- oldincludedir=$ac_optarg ;;
-
- -prefix | --prefix | --prefi | --pref | --pre | --pr | --p)
- ac_prev=prefix ;;
- -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*)
- prefix=$ac_optarg ;;
-
- -program-prefix | --program-prefix | --program-prefi | --program-pref \
- | --program-pre | --program-pr | --program-p)
- ac_prev=program_prefix ;;
- -program-prefix=* | --program-prefix=* | --program-prefi=* \
- | --program-pref=* | --program-pre=* | --program-pr=* | --program-p=*)
- program_prefix=$ac_optarg ;;
-
- -program-suffix | --program-suffix | --program-suffi | --program-suff \
- | --program-suf | --program-su | --program-s)
- ac_prev=program_suffix ;;
- -program-suffix=* | --program-suffix=* | --program-suffi=* \
- | --program-suff=* | --program-suf=* | --program-su=* | --program-s=*)
- program_suffix=$ac_optarg ;;
-
- -program-transform-name | --program-transform-name \
- | --program-transform-nam | --program-transform-na \
- | --program-transform-n | --program-transform- \
- | --program-transform | --program-transfor \
- | --program-transfo | --program-transf \
- | --program-trans | --program-tran \
- | --progr-tra | --program-tr | --program-t)
- ac_prev=program_transform_name ;;
- -program-transform-name=* | --program-transform-name=* \
- | --program-transform-nam=* | --program-transform-na=* \
- | --program-transform-n=* | --program-transform-=* \
- | --program-transform=* | --program-transfor=* \
- | --program-transfo=* | --program-transf=* \
- | --program-trans=* | --program-tran=* \
- | --progr-tra=* | --program-tr=* | --program-t=*)
- program_transform_name=$ac_optarg ;;
-
- -pdfdir | --pdfdir | --pdfdi | --pdfd | --pdf | --pd)
- ac_prev=pdfdir ;;
- -pdfdir=* | --pdfdir=* | --pdfdi=* | --pdfd=* | --pdf=* | --pd=*)
- pdfdir=$ac_optarg ;;
-
- -psdir | --psdir | --psdi | --psd | --ps)
- ac_prev=psdir ;;
- -psdir=* | --psdir=* | --psdi=* | --psd=* | --ps=*)
- psdir=$ac_optarg ;;
-
- -q | -quiet | --quiet | --quie | --qui | --qu | --q \
- | -silent | --silent | --silen | --sile | --sil)
- silent=yes ;;
-
- -runstatedir | --runstatedir | --runstatedi | --runstated \
- | --runstate | --runstat | --runsta | --runst | --runs \
- | --run | --ru | --r)
- ac_prev=runstatedir ;;
- -runstatedir=* | --runstatedir=* | --runstatedi=* | --runstated=* \
- | --runstate=* | --runstat=* | --runsta=* | --runst=* | --runs=* \
- | --run=* | --ru=* | --r=*)
- runstatedir=$ac_optarg ;;
-
- -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb)
- ac_prev=sbindir ;;
- -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \
- | --sbi=* | --sb=*)
- sbindir=$ac_optarg ;;
-
- -sharedstatedir | --sharedstatedir | --sharedstatedi \
- | --sharedstated | --sharedstate | --sharedstat | --sharedsta \
- | --sharedst | --shareds | --shared | --share | --shar \
- | --sha | --sh)
- ac_prev=sharedstatedir ;;
- -sharedstatedir=* | --sharedstatedir=* | --sharedstatedi=* \
- | --sharedstated=* | --sharedstate=* | --sharedstat=* | --sharedsta=* \
- | --sharedst=* | --shareds=* | --shared=* | --share=* | --shar=* \
- | --sha=* | --sh=*)
- sharedstatedir=$ac_optarg ;;
-
- -site | --site | --sit)
- ac_prev=site ;;
- -site=* | --site=* | --sit=*)
- site=$ac_optarg ;;
-
- -srcdir | --srcdir | --srcdi | --srcd | --src | --sr)
- ac_prev=srcdir ;;
- -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*)
- srcdir=$ac_optarg ;;
-
- -sysconfdir | --sysconfdir | --sysconfdi | --sysconfd | --sysconf \
- | --syscon | --sysco | --sysc | --sys | --sy)
- ac_prev=sysconfdir ;;
- -sysconfdir=* | --sysconfdir=* | --sysconfdi=* | --sysconfd=* | --sysconf=* \
- | --syscon=* | --sysco=* | --sysc=* | --sys=* | --sy=*)
- sysconfdir=$ac_optarg ;;
-
- -target | --target | --targe | --targ | --tar | --ta | --t)
- ac_prev=target_alias ;;
- -target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*)
- target_alias=$ac_optarg ;;
-
- -v | -verbose | --verbose | --verbos | --verbo | --verb)
- verbose=yes ;;
-
- -version | --version | --versio | --versi | --vers | -V)
- ac_init_version=: ;;
-
- -with-* | --with-*)
- ac_useropt=`expr "x$ac_option" : 'x-*with-\([^=]*\)'`
- # Reject names that are not valid shell variable names.
- expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
- as_fn_error $? "invalid package name: \`$ac_useropt'"
- ac_useropt_orig=$ac_useropt
- ac_useropt=`printf "%s\n" "$ac_useropt" | sed 's/[-+.]/_/g'`
- case $ac_user_opts in
- *"
-"with_$ac_useropt"
-"*) ;;
- *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--with-$ac_useropt_orig"
- ac_unrecognized_sep=', ';;
- esac
- eval with_$ac_useropt=\$ac_optarg ;;
-
- -without-* | --without-*)
- ac_useropt=`expr "x$ac_option" : 'x-*without-\(.*\)'`
- # Reject names that are not valid shell variable names.
- expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
- as_fn_error $? "invalid package name: \`$ac_useropt'"
- ac_useropt_orig=$ac_useropt
- ac_useropt=`printf "%s\n" "$ac_useropt" | sed 's/[-+.]/_/g'`
- case $ac_user_opts in
- *"
-"with_$ac_useropt"
-"*) ;;
- *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--without-$ac_useropt_orig"
- ac_unrecognized_sep=', ';;
- esac
- eval with_$ac_useropt=no ;;
-
- --x)
- # Obsolete; use --with-x.
- with_x=yes ;;
-
- -x-includes | --x-includes | --x-include | --x-includ | --x-inclu \
- | --x-incl | --x-inc | --x-in | --x-i)
- ac_prev=x_includes ;;
- -x-includes=* | --x-includes=* | --x-include=* | --x-includ=* | --x-inclu=* \
- | --x-incl=* | --x-inc=* | --x-in=* | --x-i=*)
- x_includes=$ac_optarg ;;
-
- -x-libraries | --x-libraries | --x-librarie | --x-librari \
- | --x-librar | --x-libra | --x-libr | --x-lib | --x-li | --x-l)
- ac_prev=x_libraries ;;
- -x-libraries=* | --x-libraries=* | --x-librarie=* | --x-librari=* \
- | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*)
- x_libraries=$ac_optarg ;;
-
- -*) as_fn_error $? "unrecognized option: \`$ac_option'
-Try \`$0 --help' for more information"
- ;;
-
- *=*)
- ac_envvar=`expr "x$ac_option" : 'x\([^=]*\)='`
- # Reject names that are not valid shell variable names.
- case $ac_envvar in #(
- '' | [0-9]* | *[!_$as_cr_alnum]* )
- as_fn_error $? "invalid variable name: \`$ac_envvar'" ;;
- esac
- eval $ac_envvar=\$ac_optarg
- export $ac_envvar ;;
-
- *)
- # FIXME: should be removed in autoconf 3.0.
- printf "%s\n" "$as_me: WARNING: you should use --build, --host, --target" >&2
- expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null &&
- printf "%s\n" "$as_me: WARNING: invalid host type: $ac_option" >&2
- : "${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option}"
- ;;
-
- esac
-done
-
-if test -n "$ac_prev"; then
- ac_option=--`echo $ac_prev | sed 's/_/-/g'`
- as_fn_error $? "missing argument to $ac_option"
-fi
-
-if test -n "$ac_unrecognized_opts"; then
- case $enable_option_checking in
- no) ;;
- fatal) as_fn_error $? "unrecognized options: $ac_unrecognized_opts" ;;
- *) printf "%s\n" "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2 ;;
- esac
-fi
-
-# Check all directory arguments for consistency.
-for ac_var in exec_prefix prefix bindir sbindir libexecdir datarootdir \
- datadir sysconfdir sharedstatedir localstatedir includedir \
- oldincludedir docdir infodir htmldir dvidir pdfdir psdir \
- libdir localedir mandir runstatedir
-do
- eval ac_val=\$$ac_var
- # Remove trailing slashes.
- case $ac_val in
- */ )
- ac_val=`expr "X$ac_val" : 'X\(.*[^/]\)' \| "X$ac_val" : 'X\(.*\)'`
- eval $ac_var=\$ac_val;;
- esac
- # Be sure to have absolute directory names.
- case $ac_val in
- [\\/$]* | ?:[\\/]* ) continue;;
- NONE | '' ) case $ac_var in *prefix ) continue;; esac;;
- esac
- as_fn_error $? "expected an absolute directory name for --$ac_var: $ac_val"
-done
-
-# There might be people who depend on the old broken behavior: `$host'
-# used to hold the argument of --host etc.
-# FIXME: To remove some day.
-build=$build_alias
-host=$host_alias
-target=$target_alias
-
-# FIXME: To remove some day.
-if test "x$host_alias" != x; then
- if test "x$build_alias" = x; then
- cross_compiling=maybe
- elif test "x$build_alias" != "x$host_alias"; then
- cross_compiling=yes
- fi
-fi
-
-ac_tool_prefix=
-test -n "$host_alias" && ac_tool_prefix=$host_alias-
-
-test "$silent" = yes && exec 6>/dev/null
-
-
-ac_pwd=`pwd` && test -n "$ac_pwd" &&
-ac_ls_di=`ls -di .` &&
-ac_pwd_ls_di=`cd "$ac_pwd" && ls -di .` ||
- as_fn_error $? "working directory cannot be determined"
-test "X$ac_ls_di" = "X$ac_pwd_ls_di" ||
- as_fn_error $? "pwd does not report name of working directory"
-
-
-# Find the source files, if location was not specified.
-if test -z "$srcdir"; then
- ac_srcdir_defaulted=yes
- # Try the directory containing this script, then the parent directory.
- ac_confdir=`$as_dirname -- "$as_myself" ||
-$as_expr X"$as_myself" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
- X"$as_myself" : 'X\(//\)[^/]' \| \
- X"$as_myself" : 'X\(//\)$' \| \
- X"$as_myself" : 'X\(/\)' \| . 2>/dev/null ||
-printf "%s\n" X"$as_myself" |
- sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
- s//\1/
- q
- }
- /^X\(\/\/\)[^/].*/{
- s//\1/
- q
- }
- /^X\(\/\/\)$/{
- s//\1/
- q
- }
- /^X\(\/\).*/{
- s//\1/
- q
- }
- s/.*/./; q'`
- srcdir=$ac_confdir
- if test ! -r "$srcdir/$ac_unique_file"; then
- srcdir=..
- fi
-else
- ac_srcdir_defaulted=no
-fi
-if test ! -r "$srcdir/$ac_unique_file"; then
- test "$ac_srcdir_defaulted" = yes && srcdir="$ac_confdir or .."
- as_fn_error $? "cannot find sources ($ac_unique_file) in $srcdir"
-fi
-ac_msg="sources are in $srcdir, but \`cd $srcdir' does not work"
-ac_abs_confdir=`(
- cd "$srcdir" && test -r "./$ac_unique_file" || as_fn_error $? "$ac_msg"
- pwd)`
-# When building in place, set srcdir=.
-if test "$ac_abs_confdir" = "$ac_pwd"; then
- srcdir=.
-fi
-# Remove unnecessary trailing slashes from srcdir.
-# Double slashes in file names in object file debugging info
-# mess up M-x gdb in Emacs.
-case $srcdir in
-*/) srcdir=`expr "X$srcdir" : 'X\(.*[^/]\)' \| "X$srcdir" : 'X\(.*\)'`;;
-esac
-for ac_var in $ac_precious_vars; do
- eval ac_env_${ac_var}_set=\${${ac_var}+set}
- eval ac_env_${ac_var}_value=\$${ac_var}
- eval ac_cv_env_${ac_var}_set=\${${ac_var}+set}
- eval ac_cv_env_${ac_var}_value=\$${ac_var}
-done
-
-#
-# Report the --help message.
-#
-if test "$ac_init_help" = "long"; then
- # Omit some internal or obsolete options to make the list less imposing.
- # This message is too long to be a string in the A/UX 3.1 sh.
- cat <<_ACEOF
-\`configure' configures curl - to adapt to many kinds of systems.
-
-Usage: $0 [OPTION]... [VAR=VALUE]...
-
-To assign environment variables (e.g., CC, CFLAGS...), specify them as
-VAR=VALUE. See below for descriptions of some of the useful variables.
-
-Defaults for the options are specified in brackets.
-
-Configuration:
- -h, --help display this help and exit
- --help=short display options specific to this package
- --help=recursive display the short help of all the included packages
- -V, --version display version information and exit
- -q, --quiet, --silent do not print \`checking ...' messages
- --cache-file=FILE cache test results in FILE [disabled]
- -C, --config-cache alias for \`--cache-file=config.cache'
- -n, --no-create do not create output files
- --srcdir=DIR find the sources in DIR [configure dir or \`..']
-
-Installation directories:
- --prefix=PREFIX install architecture-independent files in PREFIX
- [$ac_default_prefix]
- --exec-prefix=EPREFIX install architecture-dependent files in EPREFIX
- [PREFIX]
-
-By default, \`make install' will install all the files in
-\`$ac_default_prefix/bin', \`$ac_default_prefix/lib' etc. You can specify
-an installation prefix other than \`$ac_default_prefix' using \`--prefix',
-for instance \`--prefix=\$HOME'.
-
-For better control, use the options below.
-
-Fine tuning of the installation directories:
- --bindir=DIR user executables [EPREFIX/bin]
- --sbindir=DIR system admin executables [EPREFIX/sbin]
- --libexecdir=DIR program executables [EPREFIX/libexec]
- --sysconfdir=DIR read-only single-machine data [PREFIX/etc]
- --sharedstatedir=DIR modifiable architecture-independent data [PREFIX/com]
- --localstatedir=DIR modifiable single-machine data [PREFIX/var]
- --runstatedir=DIR modifiable per-process data [LOCALSTATEDIR/run]
- --libdir=DIR object code libraries [EPREFIX/lib]
- --includedir=DIR C header files [PREFIX/include]
- --oldincludedir=DIR C header files for non-gcc [/usr/include]
- --datarootdir=DIR read-only arch.-independent data root [PREFIX/share]
- --datadir=DIR read-only architecture-independent data [DATAROOTDIR]
- --infodir=DIR info documentation [DATAROOTDIR/info]
- --localedir=DIR locale-dependent data [DATAROOTDIR/locale]
- --mandir=DIR man documentation [DATAROOTDIR/man]
- --docdir=DIR documentation root [DATAROOTDIR/doc/curl]
- --htmldir=DIR html documentation [DOCDIR]
- --dvidir=DIR dvi documentation [DOCDIR]
- --pdfdir=DIR pdf documentation [DOCDIR]
- --psdir=DIR ps documentation [DOCDIR]
-_ACEOF
-
- cat <<\_ACEOF
-
-Program names:
- --program-prefix=PREFIX prepend PREFIX to installed program names
- --program-suffix=SUFFIX append SUFFIX to installed program names
- --program-transform-name=PROGRAM run sed PROGRAM on installed program names
-
-System types:
- --build=BUILD configure for building on BUILD [guessed]
- --host=HOST cross-compile to build programs to run on HOST [BUILD]
-_ACEOF
-fi
-
-if test -n "$ac_init_help"; then
- case $ac_init_help in
- short | recursive ) echo "Configuration of curl -:";;
- esac
- cat <<\_ACEOF
-
-Optional Features:
- --disable-option-checking ignore unrecognized --enable/--with options
- --disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no)
- --enable-FEATURE[=ARG] include FEATURE [ARG=yes]
- --enable-maintainer-mode
- enable make rules and dependencies not useful (and
- sometimes confusing) to the casual installer
- --enable-silent-rules less verbose build output (undo: "make V=1")
- --disable-silent-rules verbose build output (undo: "make V=0")
- --enable-debug Enable debug build options
- --disable-debug Disable debug build options
- --enable-optimize Enable compiler optimizations
- --disable-optimize Disable compiler optimizations
- --enable-warnings Enable strict compiler warnings
- --disable-warnings Disable strict compiler warnings
- --enable-werror Enable compiler warnings as errors
- --disable-werror Disable compiler warnings as errors
- --enable-curldebug Enable curl debug memory tracking
- --disable-curldebug Disable curl debug memory tracking
- --enable-symbol-hiding Enable hiding of library internal symbols
- --disable-symbol-hiding Disable hiding of library internal symbols
- --enable-ares[=PATH] Enable c-ares for DNS lookups
- --disable-ares Disable c-ares for DNS lookups
- --disable-rt disable dependency on -lrt
- --enable-ech Enable ECH support
- --disable-ech Disable ECH support
- --enable-code-coverage Provide code coverage
- --enable-dependency-tracking
- do not reject slow dependency extractors
- --disable-dependency-tracking
- speeds up one-time build
- --disable-largefile omit support for large files
- --enable-shared[=PKGS] build shared libraries [default=yes]
- --enable-static[=PKGS] build static libraries [default=yes]
- --enable-fast-install[=PKGS]
- optimize for fast installation [default=yes]
- --disable-libtool-lock avoid locking (might break parallel builds)
- --enable-http Enable HTTP support
- --disable-http Disable HTTP support
- --enable-ftp Enable FTP support
- --disable-ftp Disable FTP support
- --enable-file Enable FILE support
- --disable-file Disable FILE support
- --enable-ldap Enable LDAP support
- --disable-ldap Disable LDAP support
- --enable-ldaps Enable LDAPS support
- --disable-ldaps Disable LDAPS support
- --enable-rtsp Enable RTSP support
- --disable-rtsp Disable RTSP support
- --enable-proxy Enable proxy support
- --disable-proxy Disable proxy support
- --enable-dict Enable DICT support
- --disable-dict Disable DICT support
- --enable-telnet Enable TELNET support
- --disable-telnet Disable TELNET support
- --enable-tftp Enable TFTP support
- --disable-tftp Disable TFTP support
- --enable-pop3 Enable POP3 support
- --disable-pop3 Disable POP3 support
- --enable-imap Enable IMAP support
- --disable-imap Disable IMAP support
- --enable-smb Enable SMB/CIFS support
- --disable-smb Disable SMB/CIFS support
- --enable-smtp Enable SMTP support
- --disable-smtp Disable SMTP support
- --enable-gopher Enable Gopher support
- --disable-gopher Disable Gopher support
- --enable-mqtt Enable MQTT support
- --disable-mqtt Disable MQTT support
- --enable-manual Enable built-in manual
- --disable-manual Disable built-in manual
- --enable-libcurl-option Enable --libcurl C code generation support
- --disable-libcurl-option
- Disable --libcurl C code generation support
- --enable-libgcc use libgcc when linking
- --enable-ipv6 Enable IPv6 (with IPv4) support
- --disable-ipv6 Disable IPv6 support
- --enable-openssl-auto-load-config
- Enable automatic loading of OpenSSL configuration
- --disable-openssl-auto-load-config
- Disable automatic loading of OpenSSL configuration
- --enable-versioned-symbols
- Enable versioned symbols in shared library
- --disable-versioned-symbols
- Disable versioned symbols in shared library
- --enable-threaded-resolver
- Enable threaded resolver
- --disable-threaded-resolver
- Disable threaded resolver
- --enable-pthreads Enable POSIX threads (default for threaded resolver)
- --disable-pthreads Disable POSIX threads
- --enable-verbose Enable verbose strings
- --disable-verbose Disable verbose strings
- --enable-sspi Enable SSPI
- --disable-sspi Disable SSPI
- --enable-basic-auth Enable basic authentication (default)
- --disable-basic-auth Disable basic authentication
- --enable-bearer-auth Enable bearer authentication (default)
- --disable-bearer-auth Disable bearer authentication
- --enable-digest-auth Enable digest authentication (default)
- --disable-digest-auth Disable digest authentication
- --enable-kerberos-auth Enable kerberos authentication (default)
- --disable-kerberos-auth Disable kerberos authentication
- --enable-negotiate-auth Enable negotiate authentication (default)
- --disable-negotiate-auth
- Disable negotiate authentication
- --enable-aws Enable AWS sig support (default)
- --disable-aws Disable AWS sig support
- --enable-ntlm Enable NTLM support
- --disable-ntlm Disable NTLM support
- --enable-ntlm-wb[=FILE] Enable NTLM delegation to winbind's ntlm_auth
- helper, where FILE is ntlm_auth's absolute filename
- (default: /usr/bin/ntlm_auth)
- --disable-ntlm-wb Disable NTLM delegation to winbind's ntlm_auth
- helper
- --enable-tls-srp Enable TLS-SRP authentication
- --disable-tls-srp Disable TLS-SRP authentication
- --enable-unix-sockets Enable Unix domain sockets
- --disable-unix-sockets Disable Unix domain sockets
- --enable-cookies Enable cookies support
- --disable-cookies Disable cookies support
- --enable-socketpair Enable socketpair support
- --disable-socketpair Disable socketpair support
- --enable-http-auth Enable HTTP authentication support
- --disable-http-auth Disable HTTP authentication support
- --enable-doh Enable DoH support
- --disable-doh Disable DoH support
- --enable-mime Enable mime API support
- --disable-mime Disable mime API support
- --enable-bindlocal Enable local binding support
- --disable-bindlocal Disable local binding support
- --enable-form-api Enable form API support
- --disable-form-api Disable form API support
- --enable-dateparse Enable date parsing
- --disable-dateparse Disable date parsing
- --enable-netrc Enable netrc parsing
- --disable-netrc Disable netrc parsing
- --enable-progress-meter Enable progress-meter
- --disable-progress-meter
- Disable progress-meter
- --enable-dnsshuffle Enable DNS shuffling
- --disable-dnsshuffle Disable DNS shuffling
- --enable-get-easy-options
- Enable curl_easy_options
- --disable-get-easy-options
- Disable curl_easy_options
- --enable-alt-svc Enable alt-svc support
- --disable-alt-svc Disable alt-svc support
- --enable-headers-api Enable headers-api support
- --disable-headers-api Disable headers-api support
- --enable-hsts Enable HSTS support
- --disable-hsts Disable HSTS support
- --enable-websockets Enable WebSockets support
- --disable-websockets Disable WebSockets support
-
-Optional Packages:
- --with-PACKAGE[=ARG] use PACKAGE [ARG=yes]
- --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no)
- --with-schannel enable Windows native SSL/TLS
- --with-secure-transport enable Apple OS native SSL/TLS
- --with-amissl enable Amiga native SSL/TLS (AmiSSL)
- --with-ssl=PATH old version of --with-openssl
- --without-ssl build without any TLS library
- --with-openssl=PATH Where to look for OpenSSL, PATH points to the SSL
- installation (default: /usr/local/ssl); when
- possible, set the PKG_CONFIG_PATH environment
- variable instead of using this option
- --with-gnutls=PATH where to look for GnuTLS, PATH points to the
- installation root
- --with-mbedtls=PATH where to look for mbedTLS, PATH points to the
- installation root
- --with-wolfssl=PATH where to look for WolfSSL, PATH points to the
- installation root (default: system lib default)
- --with-bearssl=PATH where to look for BearSSL, PATH points to the
- installation root
- --with-rustls=PATH where to look for rustls, PATH points to the
- installation root
- --with-test-nghttpx=PATH
- where to find nghttpx for testing
- --with-test-caddy=PATH where to find caddy for testing
- --with-test-httpd=PATH where to find httpd/apache2 for testing
-
- --with-pic[=PKGS] try to use only PIC/non-PIC objects [default=use
- both]
- --with-aix-soname=aix|svr4|both
- shared library versioning (aka "SONAME") variant to
- provide on AIX, [default=aix].
- --with-gnu-ld assume the C compiler uses GNU ld [default=no]
- --with-sysroot[=DIR] Search for dependent libraries within DIR (or the
- compiler's sysroot if not specified).
- --with-hyper=PATH Enable hyper usage
- --without-hyper Disable hyper usage
- --with-zlib=PATH search for zlib in PATH
- --without-zlib disable use of zlib
- --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
- --without-brotli disable BROTLI
- --with-zstd=PATH Where to look for libzstd, PATH points to the
- libzstd installation; when possible, set the
- PKG_CONFIG_PATH environment variable instead of
- using this option
- --without-zstd disable libzstd
- --with-ldap-lib=libname Specify name of ldap lib file
- --with-lber-lib=libname Specify name of lber lib file
- --with-gssapi-includes=DIR
- Specify location of GSS-API headers
- --with-gssapi-libs=DIR Specify location of GSS-API libs
- --with-gssapi=DIR Where to look for GSS-API
- --with-default-ssl-backend=NAME
- Use NAME as default SSL backend
- --without-default-ssl-backend
- Use implicit default SSL backend
- --with-random=FILE read randomness from FILE (default=/dev/urandom)
- --with-ca-bundle=FILE Path to a file containing CA certificates (example:
- /etc/ca-bundle.crt)
- --without-ca-bundle Don't use a default CA bundle
- --with-ca-path=DIRECTORY
- Path to a directory containing CA certificates
- stored individually, with their filenames in a hash
- format. This option can be used with the OpenSSL,
- GnuTLS, mbedTLS and wolfSSL backends. Refer to
- OpenSSL c_rehash for details. (example:
- /etc/certificates)
- --without-ca-path Don't use a default CA path
- --with-ca-fallback Use the built in CA store of the SSL library
- --without-ca-fallback Don't use the built in CA store of the SSL library
- --without-libpsl disable support for libpsl cookie checking
- --without-libgsasl disable libgsasl support for SCRAM
- --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
- --with-libssh2 enable libssh2
- --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
- --with-libssh enable libssh
- --with-wolfssh=PATH Where to look for wolfssh, PATH points to the
- wolfSSH installation; when possible, set the
- PKG_CONFIG_PATH environment variable instead of
- using this option
- --with-wolfssh enable wolfssh
- --with-librtmp=PATH Where to look for librtmp, PATH points to the
- LIBRTMP installation; when possible, set the
- PKG_CONFIG_PATH environment variable instead of
- using this option
- --without-librtmp disable LIBRTMP
- --with-winidn=PATH enable Windows native IDN
- --without-winidn disable Windows native IDN
- --with-libidn2=PATH Enable libidn2 usage
- --without-libidn2 Disable libidn2 usage
- --with-nghttp2=PATH Enable nghttp2 usage
- --without-nghttp2 Disable nghttp2 usage
- --with-ngtcp2=PATH Enable ngtcp2 usage
- --without-ngtcp2 Disable ngtcp2 usage
- --with-nghttp3=PATH Enable nghttp3 usage
- --without-nghttp3 Disable nghttp3 usage
- --with-quiche=PATH Enable quiche usage
- --without-quiche Disable quiche usage
- --with-msh3=PATH Enable msh3 usage
- --without-msh3 Disable msh3 usage
- --with-zsh-functions-dir=PATH
- Install zsh completions to PATH
- --without-zsh-functions-dir
- Do not install zsh completions
- --with-fish-functions-dir=PATH
- Install fish completions to PATH
- --without-fish-functions-dir
- Do not install fish completions
-
-Some influential environment variables:
- CC C compiler command
- CFLAGS C compiler flags
- LDFLAGS linker flags, e.g. -L if you have libraries in a
- nonstandard directory
- LIBS libraries to pass to the linker, e.g. -l
- CPPFLAGS (Objective) C/C++ preprocessor flags, e.g. -I if
- you have headers in a nonstandard directory
- CPP C preprocessor
- LT_SYS_LIBRARY_PATH
- User-defined run-time library search path.
-
-Use these variables to override the choices made by `configure' or to help
-it to find libraries and programs with nonstandard names/locations.
-
-Report bugs to .
-_ACEOF
-ac_status=$?
-fi
-
-if test "$ac_init_help" = "recursive"; then
- # If there are subdirs, report their specific --help.
- for ac_dir in : $ac_subdirs_all; do test "x$ac_dir" = x: && continue
- test -d "$ac_dir" ||
- { cd "$srcdir" && ac_pwd=`pwd` && srcdir=. && test -d "$ac_dir"; } ||
- continue
- ac_builddir=.
-
-case "$ac_dir" in
-.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;;
-*)
- ac_dir_suffix=/`printf "%s\n" "$ac_dir" | sed 's|^\.[\\/]||'`
- # A ".." for each directory in $ac_dir_suffix.
- ac_top_builddir_sub=`printf "%s\n" "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'`
- case $ac_top_builddir_sub in
- "") ac_top_builddir_sub=. ac_top_build_prefix= ;;
- *) ac_top_build_prefix=$ac_top_builddir_sub/ ;;
- esac ;;
-esac
-ac_abs_top_builddir=$ac_pwd
-ac_abs_builddir=$ac_pwd$ac_dir_suffix
-# for backward compatibility:
-ac_top_builddir=$ac_top_build_prefix
-
-case $srcdir in
- .) # We are building in place.
- ac_srcdir=.
- ac_top_srcdir=$ac_top_builddir_sub
- ac_abs_top_srcdir=$ac_pwd ;;
- [\\/]* | ?:[\\/]* ) # Absolute name.
- ac_srcdir=$srcdir$ac_dir_suffix;
- ac_top_srcdir=$srcdir
- ac_abs_top_srcdir=$srcdir ;;
- *) # Relative name.
- ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix
- ac_top_srcdir=$ac_top_build_prefix$srcdir
- ac_abs_top_srcdir=$ac_pwd/$srcdir ;;
-esac
-ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix
-
- cd "$ac_dir" || { ac_status=$?; continue; }
- # Check for configure.gnu first; this name is used for a wrapper for
- # Metaconfig's "Configure" on case-insensitive file systems.
- if test -f "$ac_srcdir/configure.gnu"; then
- echo &&
- $SHELL "$ac_srcdir/configure.gnu" --help=recursive
- elif test -f "$ac_srcdir/configure"; then
- echo &&
- $SHELL "$ac_srcdir/configure" --help=recursive
- else
- printf "%s\n" "$as_me: WARNING: no configuration information is in $ac_dir" >&2
- fi || ac_status=$?
- cd "$ac_pwd" || { ac_status=$?; break; }
- done
-fi
-
-test -n "$ac_init_help" && exit $ac_status
-if $ac_init_version; then
- cat <<\_ACEOF
-curl configure -
-generated by GNU Autoconf 2.71
-
-Copyright (C) 2021 Free Software Foundation, Inc.
-This configure script is free software; the Free Software Foundation
-gives unlimited permission to copy, distribute and modify it.
-
-Copyright (C) Daniel Stenberg,
-This configure script may be copied, distributed and modified under the
-terms of the curl license; see COPYING for more details
-_ACEOF
- exit
-fi
-
-## ------------------------ ##
-## Autoconf initialization. ##
-## ------------------------ ##
-
-# ac_fn_c_try_compile LINENO
-# --------------------------
-# Try to compile conftest.$ac_ext, and return whether this succeeded.
-ac_fn_c_try_compile ()
-{
- as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
- rm -f conftest.$ac_objext conftest.beam
- if { { ac_try="$ac_compile"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-printf "%s\n" "$ac_try_echo"; } >&5
- (eval "$ac_compile") 2>conftest.err
- ac_status=$?
- if test -s conftest.err; then
- grep -v '^ *+' conftest.err >conftest.er1
- cat conftest.er1 >&5
- mv -f conftest.er1 conftest.err
- fi
- printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; } && {
- test -z "$ac_c_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest.$ac_objext
-then :
- ac_retval=0
-else $as_nop
- printf "%s\n" "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- ac_retval=1
-fi
- eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
- as_fn_set_status $ac_retval
-
-} # ac_fn_c_try_compile
-
-# ac_fn_c_try_cpp LINENO
-# ----------------------
-# Try to preprocess conftest.$ac_ext, and return whether this succeeded.
-ac_fn_c_try_cpp ()
-{
- as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
- if { { ac_try="$ac_cpp conftest.$ac_ext"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-printf "%s\n" "$ac_try_echo"; } >&5
- (eval "$ac_cpp conftest.$ac_ext") 2>conftest.err
- ac_status=$?
- if test -s conftest.err; then
- grep -v '^ *+' conftest.err >conftest.er1
- cat conftest.er1 >&5
- mv -f conftest.er1 conftest.err
- fi
- printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; } > conftest.i && {
- test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
- test ! -s conftest.err
- }
-then :
- ac_retval=0
-else $as_nop
- printf "%s\n" "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- ac_retval=1
-fi
- eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
- as_fn_set_status $ac_retval
-
-} # ac_fn_c_try_cpp
-
-# ac_fn_c_check_header_compile LINENO HEADER VAR INCLUDES
-# -------------------------------------------------------
-# Tests whether HEADER exists and can be compiled using the include files in
-# INCLUDES, setting the cache variable VAR accordingly.
-ac_fn_c_check_header_compile ()
-{
- as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
-printf %s "checking for $2... " >&6; }
-if eval test \${$3+y}
-then :
- printf %s "(cached) " >&6
-else $as_nop
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-$4
-#include <$2>
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"
-then :
- eval "$3=yes"
-else $as_nop
- eval "$3=no"
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
-fi
-eval ac_res=\$$3
- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
-printf "%s\n" "$ac_res" >&6; }
- eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
-
-} # ac_fn_c_check_header_compile
-
-# ac_fn_c_try_link LINENO
-# -----------------------
-# Try to link conftest.$ac_ext, and return whether this succeeded.
-ac_fn_c_try_link ()
-{
- as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
- rm -f conftest.$ac_objext conftest.beam conftest$ac_exeext
- if { { ac_try="$ac_link"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-printf "%s\n" "$ac_try_echo"; } >&5
- (eval "$ac_link") 2>conftest.err
- ac_status=$?
- if test -s conftest.err; then
- grep -v '^ *+' conftest.err >conftest.er1
- cat conftest.er1 >&5
- mv -f conftest.er1 conftest.err
- fi
- printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; } && {
- test -z "$ac_c_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest$ac_exeext && {
- test "$cross_compiling" = yes ||
- test -x conftest$ac_exeext
- }
-then :
- ac_retval=0
-else $as_nop
- printf "%s\n" "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- ac_retval=1
-fi
- # Delete the IPA/IPO (Inter Procedural Analysis/Optimization) information
- # created by the PGI compiler (conftest_ipa8_conftest.oo), as it would
- # interfere with the next link command; also delete a directory that is
- # left behind by Apple's compiler. We do this before executing the actions.
- rm -rf conftest.dSYM conftest_ipa8_conftest.oo
- eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
- as_fn_set_status $ac_retval
-
-} # ac_fn_c_try_link
-
-# ac_fn_c_check_func LINENO FUNC VAR
-# ----------------------------------
-# Tests whether FUNC exists, setting the cache variable VAR accordingly
-ac_fn_c_check_func ()
-{
- as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
-printf %s "checking for $2... " >&6; }
-if eval test \${$3+y}
-then :
- printf %s "(cached) " >&6
-else $as_nop
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-#define $2 innocuous_$2
-#ifdef __STDC__
-# include
-#else
-# include
-#endif
-#undef $2
-#ifdef __cplusplus
-extern "C"
-#endif
-char $2 ();
-#if defined __stub_$2 || defined __stub___$2
-choke me
-#endif
-
-int main (void)
-{
-return $2 ();
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"
-then :
- eval "$3=yes"
-else $as_nop
- eval "$3=no"
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.beam \
- conftest$ac_exeext conftest.$ac_ext
-fi
-eval ac_res=\$$3
- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
-printf "%s\n" "$ac_res" >&6; }
- eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
-
-} # ac_fn_c_check_func
-
-# ac_fn_c_try_run LINENO
-# ----------------------
-# Try to run conftest.$ac_ext, and return whether this succeeded. Assumes that
-# executables *can* be run.
-ac_fn_c_try_run ()
-{
- as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
- if { { ac_try="$ac_link"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-printf "%s\n" "$ac_try_echo"; } >&5
- (eval "$ac_link") 2>&5
- ac_status=$?
- printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; } && { ac_try='./conftest$ac_exeext'
- { { case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-printf "%s\n" "$ac_try_echo"; } >&5
- (eval "$ac_try") 2>&5
- ac_status=$?
- printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; }; }
-then :
- ac_retval=0
-else $as_nop
- printf "%s\n" "$as_me: program exited with status $ac_status" >&5
- printf "%s\n" "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- ac_retval=$ac_status
-fi
- rm -rf conftest.dSYM conftest_ipa8_conftest.oo
- eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
- as_fn_set_status $ac_retval
-
-} # ac_fn_c_try_run
-
-# ac_fn_c_check_type LINENO SIZEOF_LONG_LONG VAR INCLUDES
-# -------------------------------------------------------
-# Tests whether TYPE exists after having included INCLUDES, setting cache
-# variable VAR accordingly.
-ac_fn_c_check_type ()
-{
- as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
-printf %s "checking for $2... " >&6; }
-if eval test \${$3+y}
-then :
- printf %s "(cached) " >&6
-else $as_nop
- eval "$3=no"
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-$4
-int main (void)
-{
-if (sizeof ($2))
- return 0;
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"
-then :
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-$4
-int main (void)
-{
-if (sizeof (($2)))
- return 0;
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"
-then :
-
-else $as_nop
- eval "$3=yes"
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
-fi
-eval ac_res=\$$3
- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
-printf "%s\n" "$ac_res" >&6; }
- eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
-
-} # ac_fn_c_check_type
-
-# ac_fn_check_decl LINENO SYMBOL VAR INCLUDES EXTRA-OPTIONS FLAG-VAR
-# ------------------------------------------------------------------
-# Tests whether SYMBOL is declared in INCLUDES, setting cache variable VAR
-# accordingly. Pass EXTRA-OPTIONS to the compiler, using FLAG-VAR.
-ac_fn_check_decl ()
-{
- as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
- as_decl_name=`echo $2|sed 's/ *(.*//'`
- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether $as_decl_name is declared" >&5
-printf %s "checking whether $as_decl_name is declared... " >&6; }
-if eval test \${$3+y}
-then :
- printf %s "(cached) " >&6
-else $as_nop
- as_decl_use=`echo $2|sed -e 's/(/((/' -e 's/)/) 0&/' -e 's/,/) 0& (/g'`
- eval ac_save_FLAGS=\$$6
- as_fn_append $6 " $5"
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-$4
-int main (void)
-{
-#ifndef $as_decl_name
-#ifdef __cplusplus
- (void) $as_decl_use;
-#else
- (void) $as_decl_name;
-#endif
-#endif
-
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"
-then :
- eval "$3=yes"
-else $as_nop
- eval "$3=no"
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
- eval $6=\$ac_save_FLAGS
-
-fi
-eval ac_res=\$$3
- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
-printf "%s\n" "$ac_res" >&6; }
- eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
-
-} # ac_fn_check_decl
-
-# ac_fn_c_check_member LINENO AGGR MEMBER VAR INCLUDES
-# ----------------------------------------------------
-# Tries to find if the field MEMBER exists in type AGGR, after including
-# INCLUDES, setting cache variable VAR accordingly.
-ac_fn_c_check_member ()
-{
- as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $2.$3" >&5
-printf %s "checking for $2.$3... " >&6; }
-if eval test \${$4+y}
-then :
- printf %s "(cached) " >&6
-else $as_nop
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-$5
-int main (void)
-{
-static $2 ac_aggr;
-if (ac_aggr.$3)
-return 0;
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"
-then :
- eval "$4=yes"
-else $as_nop
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-$5
-int main (void)
-{
-static $2 ac_aggr;
-if (sizeof ac_aggr.$3)
-return 0;
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"
-then :
- eval "$4=yes"
-else $as_nop
- eval "$4=no"
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
-fi
-eval ac_res=\$$4
- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
-printf "%s\n" "$ac_res" >&6; }
- eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
-
-} # ac_fn_c_check_member
-ac_configure_args_raw=
-for ac_arg
-do
- case $ac_arg in
- *\'*)
- ac_arg=`printf "%s\n" "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;;
- esac
- as_fn_append ac_configure_args_raw " '$ac_arg'"
-done
-
-case $ac_configure_args_raw in
- *$as_nl*)
- ac_safe_unquote= ;;
- *)
- ac_unsafe_z='|&;<>()$`\\"*?[ '' ' # This string ends in space, tab.
- ac_unsafe_a="$ac_unsafe_z#~"
- ac_safe_unquote="s/ '\\([^$ac_unsafe_a][^$ac_unsafe_z]*\\)'/ \\1/g"
- ac_configure_args_raw=` printf "%s\n" "$ac_configure_args_raw" | sed "$ac_safe_unquote"`;;
-esac
-
-cat >config.log <<_ACEOF
-This file contains any messages produced by compilers while
-running configure, to aid debugging if configure makes a mistake.
-
-It was created by curl $as_me -, which was
-generated by GNU Autoconf 2.71. Invocation command line was
-
- $ $0$ac_configure_args_raw
-
-_ACEOF
-exec 5>>config.log
-{
-cat <<_ASUNAME
-## --------- ##
-## Platform. ##
-## --------- ##
-
-hostname = `(hostname || uname -n) 2>/dev/null | sed 1q`
-uname -m = `(uname -m) 2>/dev/null || echo unknown`
-uname -r = `(uname -r) 2>/dev/null || echo unknown`
-uname -s = `(uname -s) 2>/dev/null || echo unknown`
-uname -v = `(uname -v) 2>/dev/null || echo unknown`
-
-/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null || echo unknown`
-/bin/uname -X = `(/bin/uname -X) 2>/dev/null || echo unknown`
-
-/bin/arch = `(/bin/arch) 2>/dev/null || echo unknown`
-/usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null || echo unknown`
-/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null || echo unknown`
-/usr/bin/hostinfo = `(/usr/bin/hostinfo) 2>/dev/null || echo unknown`
-/bin/machine = `(/bin/machine) 2>/dev/null || echo unknown`
-/usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null || echo unknown`
-/bin/universe = `(/bin/universe) 2>/dev/null || echo unknown`
-
-_ASUNAME
-
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- case $as_dir in #(((
- '') as_dir=./ ;;
- */) ;;
- *) as_dir=$as_dir/ ;;
- esac
- printf "%s\n" "PATH: $as_dir"
- done
-IFS=$as_save_IFS
-
-} >&5
-
-cat >&5 <<_ACEOF
-
-
-## ----------- ##
-## Core tests. ##
-## ----------- ##
-
-_ACEOF
-
-
-# Keep a trace of the command line.
-# Strip out --no-create and --no-recursion so they do not pile up.
-# Strip out --silent because we don't want to record it for future runs.
-# Also quote any args containing shell meta-characters.
-# Make two passes to allow for proper duplicate-argument suppression.
-ac_configure_args=
-ac_configure_args0=
-ac_configure_args1=
-ac_must_keep_next=false
-for ac_pass in 1 2
-do
- for ac_arg
- do
- case $ac_arg in
- -no-create | --no-c* | -n | -no-recursion | --no-r*) continue ;;
- -q | -quiet | --quiet | --quie | --qui | --qu | --q \
- | -silent | --silent | --silen | --sile | --sil)
- continue ;;
- *\'*)
- ac_arg=`printf "%s\n" "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;;
- esac
- case $ac_pass in
- 1) as_fn_append ac_configure_args0 " '$ac_arg'" ;;
- 2)
- as_fn_append ac_configure_args1 " '$ac_arg'"
- if test $ac_must_keep_next = true; then
- ac_must_keep_next=false # Got value, back to normal.
- else
- case $ac_arg in
- *=* | --config-cache | -C | -disable-* | --disable-* \
- | -enable-* | --enable-* | -gas | --g* | -nfp | --nf* \
- | -q | -quiet | --q* | -silent | --sil* | -v | -verb* \
- | -with-* | --with-* | -without-* | --without-* | --x)
- case "$ac_configure_args0 " in
- "$ac_configure_args1"*" '$ac_arg' "* ) continue ;;
- esac
- ;;
- -* ) ac_must_keep_next=true ;;
- esac
- fi
- as_fn_append ac_configure_args " '$ac_arg'"
- ;;
- esac
- done
-done
-{ ac_configure_args0=; unset ac_configure_args0;}
-{ ac_configure_args1=; unset ac_configure_args1;}
-
-# When interrupted or exit'd, cleanup temporary files, and complete
-# config.log. We remove comments because anyway the quotes in there
-# would cause problems or look ugly.
-# WARNING: Use '\'' to represent an apostrophe within the trap.
-# WARNING: Do not start the trap code with a newline, due to a FreeBSD 4.0 bug.
-trap 'exit_status=$?
- # Sanitize IFS.
- IFS=" "" $as_nl"
- # Save into config.log some information that might help in debugging.
- {
- echo
-
- printf "%s\n" "## ---------------- ##
-## Cache variables. ##
-## ---------------- ##"
- echo
- # The following way of writing the cache mishandles newlines in values,
-(
- for ac_var in `(set) 2>&1 | sed -n '\''s/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'\''`; do
- eval ac_val=\$$ac_var
- case $ac_val in #(
- *${as_nl}*)
- case $ac_var in #(
- *_cv_*) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5
-printf "%s\n" "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;;
- esac
- case $ac_var in #(
- _ | IFS | as_nl) ;; #(
- BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #(
- *) { eval $ac_var=; unset $ac_var;} ;;
- esac ;;
- esac
- done
- (set) 2>&1 |
- case $as_nl`(ac_space='\'' '\''; set) 2>&1` in #(
- *${as_nl}ac_space=\ *)
- sed -n \
- "s/'\''/'\''\\\\'\'''\''/g;
- s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\''\\2'\''/p"
- ;; #(
- *)
- sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p"
- ;;
- esac |
- sort
-)
- echo
-
- printf "%s\n" "## ----------------- ##
-## Output variables. ##
-## ----------------- ##"
- echo
- for ac_var in $ac_subst_vars
- do
- eval ac_val=\$$ac_var
- case $ac_val in
- *\'\''*) ac_val=`printf "%s\n" "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;;
- esac
- printf "%s\n" "$ac_var='\''$ac_val'\''"
- done | sort
- echo
-
- if test -n "$ac_subst_files"; then
- printf "%s\n" "## ------------------- ##
-## File substitutions. ##
-## ------------------- ##"
- echo
- for ac_var in $ac_subst_files
- do
- eval ac_val=\$$ac_var
- case $ac_val in
- *\'\''*) ac_val=`printf "%s\n" "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;;
- esac
- printf "%s\n" "$ac_var='\''$ac_val'\''"
- done | sort
- echo
- fi
-
- if test -s confdefs.h; then
- printf "%s\n" "## ----------- ##
-## confdefs.h. ##
-## ----------- ##"
- echo
- cat confdefs.h
- echo
- fi
- test "$ac_signal" != 0 &&
- printf "%s\n" "$as_me: caught signal $ac_signal"
- printf "%s\n" "$as_me: exit $exit_status"
- } >&5
- rm -f core *.core core.conftest.* &&
- rm -f -r conftest* confdefs* conf$$* $ac_clean_files &&
- exit $exit_status
-' 0
-for ac_signal in 1 2 13 15; do
- trap 'ac_signal='$ac_signal'; as_fn_exit 1' $ac_signal
-done
-ac_signal=0
-
-# confdefs.h avoids OS command line length limits that DEFS can exceed.
-rm -f -r conftest* confdefs.h
-
-printf "%s\n" "/* confdefs.h */" > confdefs.h
-
-# Predefined preprocessor variables.
-
-printf "%s\n" "#define PACKAGE_NAME \"$PACKAGE_NAME\"" >>confdefs.h
-
-printf "%s\n" "#define PACKAGE_TARNAME \"$PACKAGE_TARNAME\"" >>confdefs.h
-
-printf "%s\n" "#define PACKAGE_VERSION \"$PACKAGE_VERSION\"" >>confdefs.h
-
-printf "%s\n" "#define PACKAGE_STRING \"$PACKAGE_STRING\"" >>confdefs.h
-
-printf "%s\n" "#define PACKAGE_BUGREPORT \"$PACKAGE_BUGREPORT\"" >>confdefs.h
-
-printf "%s\n" "#define PACKAGE_URL \"$PACKAGE_URL\"" >>confdefs.h
-
-
-# Let the site file select an alternate cache file if it wants to.
-# Prefer an explicitly selected file to automatically selected ones.
-if test -n "$CONFIG_SITE"; then
- ac_site_files="$CONFIG_SITE"
-elif test "x$prefix" != xNONE; then
- ac_site_files="$prefix/share/config.site $prefix/etc/config.site"
-else
- ac_site_files="$ac_default_prefix/share/config.site $ac_default_prefix/etc/config.site"
-fi
-
-for ac_site_file in $ac_site_files
-do
- case $ac_site_file in #(
- */*) :
- ;; #(
- *) :
- ac_site_file=./$ac_site_file ;;
-esac
- if test -f "$ac_site_file" && test -r "$ac_site_file"; then
- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: loading site script $ac_site_file" >&5
-printf "%s\n" "$as_me: loading site script $ac_site_file" >&6;}
- sed 's/^/| /' "$ac_site_file" >&5
- . "$ac_site_file" \
- || { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error $? "failed to load site script $ac_site_file
-See \`config.log' for more details" "$LINENO" 5; }
- fi
-done
-
-if test -r "$cache_file"; then
- # Some versions of bash will fail to source /dev/null (special files
- # actually), so we avoid doing that. DJGPP emulates it as a regular file.
- if test /dev/null != "$cache_file" && test -f "$cache_file"; then
- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: loading cache $cache_file" >&5
-printf "%s\n" "$as_me: loading cache $cache_file" >&6;}
- case $cache_file in
- [\\/]* | ?:[\\/]* ) . "$cache_file";;
- *) . "./$cache_file";;
- esac
- fi
-else
- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: creating cache $cache_file" >&5
-printf "%s\n" "$as_me: creating cache $cache_file" >&6;}
- >$cache_file
-fi
-
-# Test code for whether the C compiler supports C89 (global declarations)
-ac_c_conftest_c89_globals='
-/* Does the compiler advertise C89 conformance?
- Do not test the value of __STDC__, because some compilers set it to 0
- while being otherwise adequately conformant. */
-#if !defined __STDC__
-# error "Compiler does not advertise C89 conformance"
-#endif
-
-#include
-#include
-struct stat;
-/* Most of the following tests are stolen from RCS 5.7 src/conf.sh. */
-struct buf { int x; };
-struct buf * (*rcsopen) (struct buf *, struct stat *, int);
-static char *e (p, i)
- char **p;
- int i;
-{
- return p[i];
-}
-static char *f (char * (*g) (char **, int), char **p, ...)
-{
- char *s;
- va_list v;
- va_start (v,p);
- s = g (p, va_arg (v,int));
- va_end (v);
- return s;
-}
-
-/* OSF 4.0 Compaq cc is some sort of almost-ANSI by default. It has
- function prototypes and stuff, but not \xHH hex character constants.
- These do not provoke an error unfortunately, instead are silently treated
- as an "x". The following induces an error, until -std is added to get
- proper ANSI mode. Curiously \x00 != x always comes out true, for an
- array size at least. It is necessary to write \x00 == 0 to get something
- that is true only with -std. */
-int osf4_cc_array ['\''\x00'\'' == 0 ? 1 : -1];
-
-/* IBM C 6 for AIX is almost-ANSI by default, but it replaces macro parameters
- inside strings and character constants. */
-#define FOO(x) '\''x'\''
-int xlc6_cc_array[FOO(a) == '\''x'\'' ? 1 : -1];
-
-int test (int i, double x);
-struct s1 {int (*f) (int a);};
-struct s2 {int (*f) (double a);};
-int pairnames (int, char **, int *(*)(struct buf *, struct stat *, int),
- int, int);'
-
-# Test code for whether the C compiler supports C89 (body of main).
-ac_c_conftest_c89_main='
-ok |= (argc == 0 || f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1]);
-'
-
-# Test code for whether the C compiler supports C99 (global declarations)
-ac_c_conftest_c99_globals='
-// Does the compiler advertise C99 conformance?
-#if !defined __STDC_VERSION__ || __STDC_VERSION__ < 199901L
-# error "Compiler does not advertise C99 conformance"
-#endif
-
-#include
-extern int puts (const char *);
-extern int printf (const char *, ...);
-extern int dprintf (int, const char *, ...);
-extern void *malloc (size_t);
-
-// Check varargs macros. These examples are taken from C99 6.10.3.5.
-// dprintf is used instead of fprintf to avoid needing to declare
-// FILE and stderr.
-#define debug(...) dprintf (2, __VA_ARGS__)
-#define showlist(...) puts (#__VA_ARGS__)
-#define report(test,...) ((test) ? puts (#test) : printf (__VA_ARGS__))
-static void
-test_varargs_macros (void)
-{
- int x = 1234;
- int y = 5678;
- debug ("Flag");
- debug ("X = %d\n", x);
- showlist (The first, second, and third items.);
- report (x>y, "x is %d but y is %d", x, y);
-}
-
-// Check long long types.
-#define BIG64 18446744073709551615ull
-#define BIG32 4294967295ul
-#define BIG_OK (BIG64 / BIG32 == 4294967297ull && BIG64 % BIG32 == 0)
-#if !BIG_OK
- #error "your preprocessor is broken"
-#endif
-#if BIG_OK
-#else
- #error "your preprocessor is broken"
-#endif
-static long long int bignum = -9223372036854775807LL;
-static unsigned long long int ubignum = BIG64;
-
-struct incomplete_array
-{
- int datasize;
- double data[];
-};
-
-struct named_init {
- int number;
- const wchar_t *name;
- double average;
-};
-
-typedef const char *ccp;
-
-static inline int
-test_restrict (ccp restrict text)
-{
- // See if C++-style comments work.
- // Iterate through items via the restricted pointer.
- // Also check for declarations in for loops.
- for (unsigned int i = 0; *(text+i) != '\''\0'\''; ++i)
- continue;
- return 0;
-}
-
-// Check varargs and va_copy.
-static bool
-test_varargs (const char *format, ...)
-{
- va_list args;
- va_start (args, format);
- va_list args_copy;
- va_copy (args_copy, args);
-
- const char *str = "";
- int number = 0;
- float fnumber = 0;
-
- while (*format)
- {
- switch (*format++)
- {
- case '\''s'\'': // string
- str = va_arg (args_copy, const char *);
- break;
- case '\''d'\'': // int
- number = va_arg (args_copy, int);
- break;
- case '\''f'\'': // float
- fnumber = va_arg (args_copy, double);
- break;
- default:
- break;
- }
- }
- va_end (args_copy);
- va_end (args);
-
- return *str && number && fnumber;
-}
-'
-
-# Test code for whether the C compiler supports C99 (body of main).
-ac_c_conftest_c99_main='
- // Check bool.
- _Bool success = false;
- success |= (argc != 0);
-
- // Check restrict.
- if (test_restrict ("String literal") == 0)
- success = true;
- char *restrict newvar = "Another string";
-
- // Check varargs.
- success &= test_varargs ("s, d'\'' f .", "string", 65, 34.234);
- test_varargs_macros ();
-
- // Check flexible array members.
- struct incomplete_array *ia =
- malloc (sizeof (struct incomplete_array) + (sizeof (double) * 10));
- ia->datasize = 10;
- for (int i = 0; i < ia->datasize; ++i)
- ia->data[i] = i * 1.234;
-
- // Check named initializers.
- struct named_init ni = {
- .number = 34,
- .name = L"Test wide string",
- .average = 543.34343,
- };
-
- ni.number = 58;
-
- int dynamic_array[ni.number];
- dynamic_array[0] = argv[0][0];
- dynamic_array[ni.number - 1] = 543;
-
- // work around unused variable warnings
- ok |= (!success || bignum == 0LL || ubignum == 0uLL || newvar[0] == '\''x'\''
- || dynamic_array[ni.number - 1] != 543);
-'
-
-# Test code for whether the C compiler supports C11 (global declarations)
-ac_c_conftest_c11_globals='
-// Does the compiler advertise C11 conformance?
-#if !defined __STDC_VERSION__ || __STDC_VERSION__ < 201112L
-# error "Compiler does not advertise C11 conformance"
-#endif
-
-// Check _Alignas.
-char _Alignas (double) aligned_as_double;
-char _Alignas (0) no_special_alignment;
-extern char aligned_as_int;
-char _Alignas (0) _Alignas (int) aligned_as_int;
-
-// Check _Alignof.
-enum
-{
- int_alignment = _Alignof (int),
- int_array_alignment = _Alignof (int[100]),
- char_alignment = _Alignof (char)
-};
-_Static_assert (0 < -_Alignof (int), "_Alignof is signed");
-
-// Check _Noreturn.
-int _Noreturn does_not_return (void) { for (;;) continue; }
-
-// Check _Static_assert.
-struct test_static_assert
-{
- int x;
- _Static_assert (sizeof (int) <= sizeof (long int),
- "_Static_assert does not work in struct");
- long int y;
-};
-
-// Check UTF-8 literals.
-#define u8 syntax error!
-char const utf8_literal[] = u8"happens to be ASCII" "another string";
-
-// Check duplicate typedefs.
-typedef long *long_ptr;
-typedef long int *long_ptr;
-typedef long_ptr long_ptr;
-
-// Anonymous structures and unions -- taken from C11 6.7.2.1 Example 1.
-struct anonymous
-{
- union {
- struct { int i; int j; };
- struct { int k; long int l; } w;
- };
- int m;
-} v1;
-'
-
-# Test code for whether the C compiler supports C11 (body of main).
-ac_c_conftest_c11_main='
- _Static_assert ((offsetof (struct anonymous, i)
- == offsetof (struct anonymous, w.k)),
- "Anonymous union alignment botch");
- v1.i = 2;
- v1.w.k = 5;
- ok |= v1.i != 5;
-'
-
-# Test code for whether the C compiler supports C11 (complete).
-ac_c_conftest_c11_program="${ac_c_conftest_c89_globals}
-${ac_c_conftest_c99_globals}
-${ac_c_conftest_c11_globals}
-
-int
-main (int argc, char **argv)
-{
- int ok = 0;
- ${ac_c_conftest_c89_main}
- ${ac_c_conftest_c99_main}
- ${ac_c_conftest_c11_main}
- return ok;
-}
-"
-
-# Test code for whether the C compiler supports C99 (complete).
-ac_c_conftest_c99_program="${ac_c_conftest_c89_globals}
-${ac_c_conftest_c99_globals}
-
-int
-main (int argc, char **argv)
-{
- int ok = 0;
- ${ac_c_conftest_c89_main}
- ${ac_c_conftest_c99_main}
- return ok;
-}
-"
-
-# Test code for whether the C compiler supports C89 (complete).
-ac_c_conftest_c89_program="${ac_c_conftest_c89_globals}
-
-int
-main (int argc, char **argv)
-{
- int ok = 0;
- ${ac_c_conftest_c89_main}
- return ok;
-}
-"
-
-as_fn_append ac_header_c_list " stdio.h stdio_h HAVE_STDIO_H"
-as_fn_append ac_header_c_list " stdlib.h stdlib_h HAVE_STDLIB_H"
-as_fn_append ac_header_c_list " string.h string_h HAVE_STRING_H"
-as_fn_append ac_header_c_list " inttypes.h inttypes_h HAVE_INTTYPES_H"
-as_fn_append ac_header_c_list " stdint.h stdint_h HAVE_STDINT_H"
-as_fn_append ac_header_c_list " strings.h strings_h HAVE_STRINGS_H"
-as_fn_append ac_header_c_list " sys/stat.h sys_stat_h HAVE_SYS_STAT_H"
-as_fn_append ac_header_c_list " sys/types.h sys_types_h HAVE_SYS_TYPES_H"
-as_fn_append ac_header_c_list " unistd.h unistd_h HAVE_UNISTD_H"
-
-# Auxiliary files required by this configure script.
-ac_aux_files="ltmain.sh config.guess config.sub missing compile install-sh"
-
-# Locations in which to look for auxiliary files.
-ac_aux_dir_candidates="${srcdir}${PATH_SEPARATOR}${srcdir}/..${PATH_SEPARATOR}${srcdir}/../.."
-
-# Search for a directory containing all of the required auxiliary files,
-# $ac_aux_files, from the $PATH-style list $ac_aux_dir_candidates.
-# If we don't find one directory that contains all the files we need,
-# we report the set of missing files from the *first* directory in
-# $ac_aux_dir_candidates and give up.
-ac_missing_aux_files=""
-ac_first_candidate=:
-printf "%s\n" "$as_me:${as_lineno-$LINENO}: looking for aux files: $ac_aux_files" >&5
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-as_found=false
-for as_dir in $ac_aux_dir_candidates
-do
- IFS=$as_save_IFS
- case $as_dir in #(((
- '') as_dir=./ ;;
- */) ;;
- *) as_dir=$as_dir/ ;;
- esac
- as_found=:
-
- printf "%s\n" "$as_me:${as_lineno-$LINENO}: trying $as_dir" >&5
- ac_aux_dir_found=yes
- ac_install_sh=
- for ac_aux in $ac_aux_files
- do
- # As a special case, if "install-sh" is required, that requirement
- # can be satisfied by any of "install-sh", "install.sh", or "shtool",
- # and $ac_install_sh is set appropriately for whichever one is found.
- if test x"$ac_aux" = x"install-sh"
- then
- if test -f "${as_dir}install-sh"; then
- printf "%s\n" "$as_me:${as_lineno-$LINENO}: ${as_dir}install-sh found" >&5
- ac_install_sh="${as_dir}install-sh -c"
- elif test -f "${as_dir}install.sh"; then
- printf "%s\n" "$as_me:${as_lineno-$LINENO}: ${as_dir}install.sh found" >&5
- ac_install_sh="${as_dir}install.sh -c"
- elif test -f "${as_dir}shtool"; then
- printf "%s\n" "$as_me:${as_lineno-$LINENO}: ${as_dir}shtool found" >&5
- ac_install_sh="${as_dir}shtool install -c"
- else
- ac_aux_dir_found=no
- if $ac_first_candidate; then
- ac_missing_aux_files="${ac_missing_aux_files} install-sh"
- else
- break
- fi
- fi
- else
- if test -f "${as_dir}${ac_aux}"; then
- printf "%s\n" "$as_me:${as_lineno-$LINENO}: ${as_dir}${ac_aux} found" >&5
- else
- ac_aux_dir_found=no
- if $ac_first_candidate; then
- ac_missing_aux_files="${ac_missing_aux_files} ${ac_aux}"
- else
- break
- fi
- fi
- fi
- done
- if test "$ac_aux_dir_found" = yes; then
- ac_aux_dir="$as_dir"
- break
- fi
- ac_first_candidate=false
-
- as_found=false
-done
-IFS=$as_save_IFS
-if $as_found
-then :
-
-else $as_nop
- as_fn_error $? "cannot find required auxiliary files:$ac_missing_aux_files" "$LINENO" 5
-fi
-
-
-# These three variables are undocumented and unsupported,
-# and are intended to be withdrawn in a future Autoconf release.
-# They can cause serious problems if a builder's source tree is in a directory
-# whose full name contains unusual characters.
-if test -f "${ac_aux_dir}config.guess"; then
- ac_config_guess="$SHELL ${ac_aux_dir}config.guess"
-fi
-if test -f "${ac_aux_dir}config.sub"; then
- ac_config_sub="$SHELL ${ac_aux_dir}config.sub"
-fi
-if test -f "$ac_aux_dir/configure"; then
- ac_configure="$SHELL ${ac_aux_dir}configure"
-fi
-
-# Check that the precious variables saved in the cache have kept the same
-# value.
-ac_cache_corrupted=false
-for ac_var in $ac_precious_vars; do
- eval ac_old_set=\$ac_cv_env_${ac_var}_set
- eval ac_new_set=\$ac_env_${ac_var}_set
- eval ac_old_val=\$ac_cv_env_${ac_var}_value
- eval ac_new_val=\$ac_env_${ac_var}_value
- case $ac_old_set,$ac_new_set in
- set,)
- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5
-printf "%s\n" "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;}
- ac_cache_corrupted=: ;;
- ,set)
- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was not set in the previous run" >&5
-printf "%s\n" "$as_me: error: \`$ac_var' was not set in the previous run" >&2;}
- ac_cache_corrupted=: ;;
- ,);;
- *)
- if test "x$ac_old_val" != "x$ac_new_val"; then
- # differences in whitespace do not lead to failure.
- ac_old_val_w=`echo x $ac_old_val`
- ac_new_val_w=`echo x $ac_new_val`
- if test "$ac_old_val_w" != "$ac_new_val_w"; then
- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' has changed since the previous run:" >&5
-printf "%s\n" "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;}
- ac_cache_corrupted=:
- else
- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&5
-printf "%s\n" "$as_me: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&2;}
- eval $ac_var=\$ac_old_val
- fi
- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: former value: \`$ac_old_val'" >&5
-printf "%s\n" "$as_me: former value: \`$ac_old_val'" >&2;}
- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: current value: \`$ac_new_val'" >&5
-printf "%s\n" "$as_me: current value: \`$ac_new_val'" >&2;}
- fi;;
- esac
- # Pass precious variables to config.status.
- if test "$ac_new_set" = set; then
- case $ac_new_val in
- *\'*) ac_arg=$ac_var=`printf "%s\n" "$ac_new_val" | sed "s/'/'\\\\\\\\''/g"` ;;
- *) ac_arg=$ac_var=$ac_new_val ;;
- esac
- case " $ac_configure_args " in
- *" '$ac_arg' "*) ;; # Avoid dups. Use of quotes ensures accuracy.
- *) as_fn_append ac_configure_args " '$ac_arg'" ;;
- esac
- fi
-done
-if $ac_cache_corrupted; then
- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;}
- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: changes in the environment can compromise the build" >&5
-printf "%s\n" "$as_me: error: changes in the environment can compromise the build" >&2;}
- as_fn_error $? "run \`${MAKE-make} distclean' and/or \`rm $cache_file'
- and start over" "$LINENO" 5
-fi
-## -------------------- ##
-## Main body of script. ##
-## -------------------- ##
-
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-
-
-
-
-
-# using curl-override.m4
-
-
-
-
-
-ac_config_headers="$ac_config_headers lib/curl_config.h"
-
-
-
-{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether to enable maintainer-specific portions of Makefiles" >&5
-printf %s "checking whether to enable maintainer-specific portions of Makefiles... " >&6; }
- # Check whether --enable-maintainer-mode was given.
-if test ${enable_maintainer_mode+y}
-then :
- enableval=$enable_maintainer_mode; USE_MAINTAINER_MODE=$enableval
-else $as_nop
- USE_MAINTAINER_MODE=no
-fi
-
- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $USE_MAINTAINER_MODE" >&5
-printf "%s\n" "$USE_MAINTAINER_MODE" >&6; }
- if test $USE_MAINTAINER_MODE = yes; then
- MAINTAINER_MODE_TRUE=
- MAINTAINER_MODE_FALSE='#'
-else
- MAINTAINER_MODE_TRUE='#'
- MAINTAINER_MODE_FALSE=
-fi
-
- MAINT=$MAINTAINER_MODE_TRUE
-
-
-# Check whether --enable-silent-rules was given.
-if test ${enable_silent_rules+y}
-then :
- enableval=$enable_silent_rules;
-fi
-
-case $enable_silent_rules in # (((
- yes) AM_DEFAULT_VERBOSITY=0;;
- no) AM_DEFAULT_VERBOSITY=1;;
- *) AM_DEFAULT_VERBOSITY=0;;
-esac
-am_make=${MAKE-make}
-{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether $am_make supports nested variables" >&5
-printf %s "checking whether $am_make supports nested variables... " >&6; }
-if test ${am_cv_make_support_nested_variables+y}
-then :
- printf %s "(cached) " >&6
-else $as_nop
- if printf "%s\n" 'TRUE=$(BAR$(V))
-BAR0=false
-BAR1=true
-V=1
-am__doit:
- @$(TRUE)
-.PHONY: am__doit' | $am_make -f - >/dev/null 2>&1; then
- am_cv_make_support_nested_variables=yes
-else
- am_cv_make_support_nested_variables=no
-fi
-fi
-{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $am_cv_make_support_nested_variables" >&5
-printf "%s\n" "$am_cv_make_support_nested_variables" >&6; }
-if test $am_cv_make_support_nested_variables = yes; then
- AM_V='$(V)'
- AM_DEFAULT_V='$(AM_DEFAULT_VERBOSITY)'
-else
- AM_V=$AM_DEFAULT_VERBOSITY
- AM_DEFAULT_V=$AM_DEFAULT_VERBOSITY
-fi
-AM_BACKSLASH='\'
-
-
-
- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether to enable debug build options" >&5
-printf %s "checking whether to enable debug build options... " >&6; }
- OPT_DEBUG_BUILD="default"
- # Check whether --enable-debug was given.
-if test ${enable_debug+y}
-then :
- enableval=$enable_debug; OPT_DEBUG_BUILD=$enableval
-fi
-
- case "$OPT_DEBUG_BUILD" in
- no)
- want_debug="no"
- ;;
- default)
- want_debug="no"
- ;;
- *)
- want_debug="yes"
-
-printf "%s\n" "#define DEBUGBUILD 1" >>confdefs.h
-
- ;;
- esac
- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $want_debug" >&5
-printf "%s\n" "$want_debug" >&6; }
-
-
- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether to enable compiler optimizer" >&5
-printf %s "checking whether to enable compiler optimizer... " >&6; }
- OPT_COMPILER_OPTIMIZE="default"
- # Check whether --enable-optimize was given.
-if test ${enable_optimize+y}
-then :
- enableval=$enable_optimize; OPT_COMPILER_OPTIMIZE=$enableval
-fi
-
- case "$OPT_COMPILER_OPTIMIZE" in
- no)
- want_optimize="no"
- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
-printf "%s\n" "no" >&6; }
- ;;
- default)
- if test "$want_debug" = "yes"; then
- want_optimize="assume_no"
- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: (assumed) no" >&5
-printf "%s\n" "(assumed) no" >&6; }
- else
- want_optimize="assume_yes"
- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: (assumed) yes" >&5
-printf "%s\n" "(assumed) yes" >&6; }
- fi
- ;;
- *)
- want_optimize="yes"
- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-printf "%s\n" "yes" >&6; }
- ;;
- esac
-
-
- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether to enable strict compiler warnings" >&5
-printf %s "checking whether to enable strict compiler warnings... " >&6; }
- OPT_COMPILER_WARNINGS="default"
- # Check whether --enable-warnings was given.
-if test ${enable_warnings+y}
-then :
- enableval=$enable_warnings; OPT_COMPILER_WARNINGS=$enableval
-fi
-
- case "$OPT_COMPILER_WARNINGS" in
- no)
- want_warnings="no"
- ;;
- default)
- want_warnings="$want_debug"
- ;;
- *)
- want_warnings="yes"
- ;;
- esac
- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $want_warnings" >&5
-printf "%s\n" "$want_warnings" >&6; }
-
-
- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether to enable compiler warnings as errors" >&5
-printf %s "checking whether to enable compiler warnings as errors... " >&6; }
- OPT_COMPILER_WERROR="default"
- # Check whether --enable-werror was given.
-if test ${enable_werror+y}
-then :
- enableval=$enable_werror; OPT_COMPILER_WERROR=$enableval
-fi
-
- case "$OPT_COMPILER_WERROR" in
- no)
- want_werror="no"
- ;;
- default)
- want_werror="no"
- ;;
- *)
- want_werror="yes"
- ;;
- esac
- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $want_werror" >&5
-printf "%s\n" "$want_werror" >&6; }
-
-
- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether to enable curl debug memory tracking" >&5
-printf %s "checking whether to enable curl debug memory tracking... " >&6; }
- OPT_CURLDEBUG_BUILD="default"
- # Check whether --enable-curldebug was given.
-if test ${enable_curldebug+y}
-then :
- enableval=$enable_curldebug; OPT_CURLDEBUG_BUILD=$enableval
-fi
-
- case "$OPT_CURLDEBUG_BUILD" in
- no)
- want_curldebug="no"
- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
-printf "%s\n" "no" >&6; }
- ;;
- default)
- if test "$want_debug" = "yes"; then
- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: (assumed) yes" >&5
-printf "%s\n" "(assumed) yes" >&6; }
-
-printf "%s\n" "#define CURLDEBUG 1" >>confdefs.h
-
- else
- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
-printf "%s\n" "no" >&6; }
- fi
- want_curldebug_assumed="yes"
- want_curldebug="$want_debug"
- ;;
- *)
- want_curldebug="yes"
-
-printf "%s\n" "#define CURLDEBUG 1" >>confdefs.h
-
- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-printf "%s\n" "yes" >&6; }
- ;;
- esac
-
-
- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether to enable hiding of library internal symbols" >&5
-printf %s "checking whether to enable hiding of library internal symbols... " >&6; }
- OPT_SYMBOL_HIDING="default"
- # Check whether --enable-symbol-hiding was given.
-if test ${enable_symbol_hiding+y}
-then :
- enableval=$enable_symbol_hiding; OPT_SYMBOL_HIDING=$enableval
-fi
-
- case "$OPT_SYMBOL_HIDING" in
- no)
- want_symbol_hiding="no"
- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
-printf "%s\n" "no" >&6; }
- ;;
- default)
- want_symbol_hiding="yes"
- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-printf "%s\n" "yes" >&6; }
- ;;
- *)
- want_symbol_hiding="yes"
- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-printf "%s\n" "yes" >&6; }
- ;;
- esac
-
-
- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether to enable c-ares for DNS lookups" >&5
-printf %s "checking whether to enable c-ares for DNS lookups... " >&6; }
- OPT_ARES="default"
- # Check whether --enable-ares was given.
-if test ${enable_ares+y}
-then :
- enableval=$enable_ares; OPT_ARES=$enableval
-fi
-
- case "$OPT_ARES" in
- no)
- want_ares="no"
- ;;
- default)
- want_ares="no"
- ;;
- *)
- want_ares="yes"
- if test -n "$enableval" && test "$enableval" != "yes"; then
- want_ares_path="$enableval"
- fi
- ;;
- esac
- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $want_ares" >&5
-printf "%s\n" "$want_ares" >&6; }
-
-
- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether to disable dependency on -lrt" >&5
-printf %s "checking whether to disable dependency on -lrt... " >&6; }
- OPT_RT="default"
- # Check whether --enable-rt was given.
-if test ${enable_rt+y}
-then :
- enableval=$enable_rt; OPT_RT=$enableval
-fi
-
- case "$OPT_RT" in
- no)
- dontwant_rt="yes"
- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-printf "%s\n" "yes" >&6; }
- ;;
- default)
- dontwant_rt="no"
- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: (assumed no)" >&5
-printf "%s\n" "(assumed no)" >&6; }
- ;;
- *)
- dontwant_rt="no"
- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
-printf "%s\n" "no" >&6; }
- ;;
- esac
-
-
- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether to enable ECH support" >&5
-printf %s "checking whether to enable ECH support... " >&6; }
- OPT_ECH="default"
- # Check whether --enable-ech was given.
-if test ${enable_ech+y}
-then :
- enableval=$enable_ech; OPT_ECH=$enableval
-fi
-
- case "$OPT_ECH" in
- no)
- want_ech="no"
- curl_ech_msg="no (--enable-ech)"
- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
-printf "%s\n" "no" >&6; }
- ;;
- default)
- want_ech="no"
- curl_ech_msg="no (--enable-ech)"
- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
-printf "%s\n" "no" >&6; }
- ;;
- *)
- want_ech="yes"
- curl_ech_msg="enabled (--disable-ech)"
- experimental="ech"
- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-printf "%s\n" "yes" >&6; }
- ;;
- esac
-
-
-#
-# Check that 'XC_CONFIGURE_PREAMBLE' has already run.
-#
-
-if test -z "$xc_configure_preamble_result"; then
- as_fn_error $? "xc_configure_preamble_result not set (internal problem)" "$LINENO" 5
-fi
-
-#
-# Check that 'PATH_SEPARATOR' has already been set.
-#
-
-if test -z "$xc_PATH_SEPARATOR"; then
- as_fn_error $? "xc_PATH_SEPARATOR not set (internal problem)" "$LINENO" 5
-fi
-if test -z "$PATH_SEPARATOR"; then
- as_fn_error $? "PATH_SEPARATOR not set (internal or config.site problem)" "$LINENO" 5
-fi
-{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for path separator" >&5
-printf %s "checking for path separator... " >&6; }
-{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $PATH_SEPARATOR" >&5
-printf "%s\n" "$PATH_SEPARATOR" >&6; }
-if test "x$PATH_SEPARATOR" != "x$xc_PATH_SEPARATOR"; then
- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for initial path separator" >&5
-printf %s "checking for initial path separator... " >&6; }
- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $xc_PATH_SEPARATOR" >&5
-printf "%s\n" "$xc_PATH_SEPARATOR" >&6; }
- as_fn_error $? "path separator mismatch (internal or config.site problem)" "$LINENO" 5
-fi
-
-
-#
-# save the configure arguments
-#
-CONFIGURE_OPTIONS="\"$ac_configure_args\""
-
-
-if test -z "$SED"; then
- # Extract the first word of "sed", so it can be a program name with args.
-set dummy sed; ac_word=$2
-{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-printf %s "checking for $ac_word... " >&6; }
-if test ${ac_cv_path_SED+y}
-then :
- printf %s "(cached) " >&6
-else $as_nop
- case $SED in
- [\\/]* | ?:[\\/]*)
- ac_cv_path_SED="$SED" # Let the user override the test with a path.
- ;;
- *)
- as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-as_dummy="$PATH:/usr/bin:/usr/local/bin"
-for as_dir in $as_dummy
-do
- IFS=$as_save_IFS
- case $as_dir in #(((
- '') as_dir=./ ;;
- */) ;;
- *) as_dir=$as_dir/ ;;
- esac
- for ac_exec_ext in '' $ac_executable_extensions; do
- if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
- ac_cv_path_SED="$as_dir$ac_word$ac_exec_ext"
- printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
- test -z "$ac_cv_path_SED" && ac_cv_path_SED="not_found"
- ;;
-esac
-fi
-SED=$ac_cv_path_SED
-if test -n "$SED"; then
- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $SED" >&5
-printf "%s\n" "$SED" >&6; }
-else
- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
-printf "%s\n" "no" >&6; }
-fi
-
-
- if test -z "$SED" || test "$SED" = "not_found"; then
- as_fn_error $? "sed not found in PATH. Cannot continue without sed." "$LINENO" 5
- fi
-fi
-
-
-if test -z "$GREP"; then
- # Extract the first word of "grep", so it can be a program name with args.
-set dummy grep; ac_word=$2
-{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-printf %s "checking for $ac_word... " >&6; }
-if test ${ac_cv_path_GREP+y}
-then :
- printf %s "(cached) " >&6
-else $as_nop
- case $GREP in
- [\\/]* | ?:[\\/]*)
- ac_cv_path_GREP="$GREP" # Let the user override the test with a path.
- ;;
- *)
- as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-as_dummy="$PATH:/usr/bin:/usr/local/bin"
-for as_dir in $as_dummy
-do
- IFS=$as_save_IFS
- case $as_dir in #(((
- '') as_dir=./ ;;
- */) ;;
- *) as_dir=$as_dir/ ;;
- esac
- for ac_exec_ext in '' $ac_executable_extensions; do
- if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
- ac_cv_path_GREP="$as_dir$ac_word$ac_exec_ext"
- printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
- test -z "$ac_cv_path_GREP" && ac_cv_path_GREP="not_found"
- ;;
-esac
-fi
-GREP=$ac_cv_path_GREP
-if test -n "$GREP"; then
- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $GREP" >&5
-printf "%s\n" "$GREP" >&6; }
-else
- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
-printf "%s\n" "no" >&6; }
-fi
-
-
- if test -z "$GREP" || test "$GREP" = "not_found"; then
- as_fn_error $? "grep not found in PATH. Cannot continue without grep." "$LINENO" 5
- fi
-fi
-
-
-if test -z "$EGREP"; then
- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking that grep -E works" >&5
-printf %s "checking that grep -E works... " >&6; }
- if echo a | ($GREP -E '(a|b)') >/dev/null 2>&1; then
- EGREP="$GREP -E"
- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-printf "%s\n" "yes" >&6; }
- else
- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
-printf "%s\n" "no" >&6; }
- # Extract the first word of "egrep", so it can be a program name with args.
-set dummy egrep; ac_word=$2
-{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-printf %s "checking for $ac_word... " >&6; }
-if test ${ac_cv_path_EGREP+y}
-then :
- printf %s "(cached) " >&6
-else $as_nop
- case $EGREP in
- [\\/]* | ?:[\\/]*)
- ac_cv_path_EGREP="$EGREP" # Let the user override the test with a path.
- ;;
- *)
- as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-as_dummy="$PATH:/usr/bin:/usr/local/bin"
-for as_dir in $as_dummy
-do
- IFS=$as_save_IFS
- case $as_dir in #(((
- '') as_dir=./ ;;
- */) ;;
- *) as_dir=$as_dir/ ;;
- esac
- for ac_exec_ext in '' $ac_executable_extensions; do
- if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
- ac_cv_path_EGREP="$as_dir$ac_word$ac_exec_ext"
- printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
- test -z "$ac_cv_path_EGREP" && ac_cv_path_EGREP="not_found"
- ;;
-esac
-fi
-EGREP=$ac_cv_path_EGREP
-if test -n "$EGREP"; then
- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $EGREP" >&5
-printf "%s\n" "$EGREP" >&6; }
-else
- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
-printf "%s\n" "no" >&6; }
-fi
-
-
- fi
-fi
-if test -z "$EGREP" || test "$EGREP" = "not_found"; then
- as_fn_error $? "grep -E is not working and egrep is not found in PATH. Cannot continue." "$LINENO" 5
-fi
-
-
-if test -z "$AR"; then
- if test -n "$ac_tool_prefix"; then
- # Extract the first word of "${ac_tool_prefix}ar", so it can be a program name with args.
-set dummy ${ac_tool_prefix}ar; ac_word=$2
-{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-printf %s "checking for $ac_word... " >&6; }
-if test ${ac_cv_path_AR+y}
-then :
- printf %s "(cached) " >&6
-else $as_nop
- case $AR in
- [\\/]* | ?:[\\/]*)
- ac_cv_path_AR="$AR" # Let the user override the test with a path.
- ;;
- *)
- as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-as_dummy="$PATH:/usr/bin:/usr/local/bin"
-for as_dir in $as_dummy
-do
- IFS=$as_save_IFS
- case $as_dir in #(((
- '') as_dir=./ ;;
- */) ;;
- *) as_dir=$as_dir/ ;;
- esac
- for ac_exec_ext in '' $ac_executable_extensions; do
- if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
- ac_cv_path_AR="$as_dir$ac_word$ac_exec_ext"
- printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
- ;;
-esac
-fi
-AR=$ac_cv_path_AR
-if test -n "$AR"; then
- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $AR" >&5
-printf "%s\n" "$AR" >&6; }
-else
- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
-printf "%s\n" "no" >&6; }
-fi
-
-
-fi
-if test -z "$ac_cv_path_AR"; then
- ac_pt_AR=$AR
- # Extract the first word of "ar", so it can be a program name with args.
-set dummy ar; ac_word=$2
-{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-printf %s "checking for $ac_word... " >&6; }
-if test ${ac_cv_path_ac_pt_AR+y}
-then :
- printf %s "(cached) " >&6
-else $as_nop
- case $ac_pt_AR in
- [\\/]* | ?:[\\/]*)
- ac_cv_path_ac_pt_AR="$ac_pt_AR" # Let the user override the test with a path.
- ;;
- *)
- as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-as_dummy="$PATH:/usr/bin:/usr/local/bin"
-for as_dir in $as_dummy
-do
- IFS=$as_save_IFS
- case $as_dir in #(((
- '') as_dir=./ ;;
- */) ;;
- *) as_dir=$as_dir/ ;;
- esac
- for ac_exec_ext in '' $ac_executable_extensions; do
- if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
- ac_cv_path_ac_pt_AR="$as_dir$ac_word$ac_exec_ext"
- printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
- ;;
-esac
-fi
-ac_pt_AR=$ac_cv_path_ac_pt_AR
-if test -n "$ac_pt_AR"; then
- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_pt_AR" >&5
-printf "%s\n" "$ac_pt_AR" >&6; }
-else
- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
-printf "%s\n" "no" >&6; }
-fi
-
- if test "x$ac_pt_AR" = x; then
- AR="not_found"
- else
- case $cross_compiling:$ac_tool_warned in
-yes:)
-{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
- AR=$ac_pt_AR
- fi
-else
- AR="$ac_cv_path_AR"
-fi
-
- if test -z "$AR" || test "$AR" = "not_found"; then
- as_fn_error $? "ar not found in PATH. Cannot continue without ar." "$LINENO" 5
- fi
-fi
-
-
-
-
-CURLVERSION=`$SED -ne 's/^#define LIBCURL_VERSION "\(.*\)".*/\1/p' ${srcdir}/include/curl/curlver.h`
-
- xc_prog_cc_prev_IFS=$IFS
- xc_prog_cc_prev_LIBS=$LIBS
- xc_prog_cc_prev_CFLAGS=$CFLAGS
- xc_prog_cc_prev_LDFLAGS=$LDFLAGS
- xc_prog_cc_prev_CPPFLAGS=$CPPFLAGS
-
-
-
- xc_bad_var_libs=no
- for xc_word in $LIBS; do
- case "$xc_word" in
- -l* | --library=*)
- :
- ;;
- *)
- xc_bad_var_libs=yes
- ;;
- esac
- done
- if test $xc_bad_var_libs = yes; then
- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: using LIBS: $LIBS" >&5
-printf "%s\n" "$as_me: using LIBS: $LIBS" >&6;}
- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: LIBS note: LIBS should only be used to specify libraries (-lname)." >&5
-printf "%s\n" "$as_me: LIBS note: LIBS should only be used to specify libraries (-lname)." >&6;}
- fi
-
-
- xc_bad_var_ldflags=no
- for xc_word in $LDFLAGS; do
- case "$xc_word" in
- -D*)
- xc_bad_var_ldflags=yes
- ;;
- -U*)
- xc_bad_var_ldflags=yes
- ;;
- -I*)
- xc_bad_var_ldflags=yes
- ;;
- -l* | --library=*)
- xc_bad_var_ldflags=yes
- ;;
- esac
- done
- if test $xc_bad_var_ldflags = yes; then
- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: using LDFLAGS: $LDFLAGS" >&5
-printf "%s\n" "$as_me: using LDFLAGS: $LDFLAGS" >&6;}
- xc_bad_var_msg="LDFLAGS note: LDFLAGS should only be used to specify linker flags, not"
- for xc_word in $LDFLAGS; do
- case "$xc_word" in
- -D*)
- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: $xc_bad_var_msg macro definitions. Use CPPFLAGS for: $xc_word" >&5
-printf "%s\n" "$as_me: $xc_bad_var_msg macro definitions. Use CPPFLAGS for: $xc_word" >&6;}
- ;;
- -U*)
- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: $xc_bad_var_msg macro suppressions. Use CPPFLAGS for: $xc_word" >&5
-printf "%s\n" "$as_me: $xc_bad_var_msg macro suppressions. Use CPPFLAGS for: $xc_word" >&6;}
- ;;
- -I*)
- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: $xc_bad_var_msg include directories. Use CPPFLAGS for: $xc_word" >&5
-printf "%s\n" "$as_me: $xc_bad_var_msg include directories. Use CPPFLAGS for: $xc_word" >&6;}
- ;;
- -l* | --library=*)
- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: $xc_bad_var_msg libraries. Use LIBS for: $xc_word" >&5
-printf "%s\n" "$as_me: $xc_bad_var_msg libraries. Use LIBS for: $xc_word" >&6;}
- ;;
- esac
- done
- fi
-
-
- xc_bad_var_cppflags=no
- for xc_word in $CPPFLAGS; do
- case "$xc_word" in
- -rpath*)
- xc_bad_var_cppflags=yes
- ;;
- -L* | --library-path=*)
- xc_bad_var_cppflags=yes
- ;;
- -l* | --library=*)
- xc_bad_var_cppflags=yes
- ;;
- esac
- done
- if test $xc_bad_var_cppflags = yes; then
- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: using CPPFLAGS: $CPPFLAGS" >&5
-printf "%s\n" "$as_me: using CPPFLAGS: $CPPFLAGS" >&6;}
- xc_bad_var_msg="CPPFLAGS note: CPPFLAGS should only be used to specify C preprocessor flags, not"
- for xc_word in $CPPFLAGS; do
- case "$xc_word" in
- -rpath*)
- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: $xc_bad_var_msg library runtime directories. Use LDFLAGS for: $xc_word" >&5
-printf "%s\n" "$as_me: $xc_bad_var_msg library runtime directories. Use LDFLAGS for: $xc_word" >&6;}
- ;;
- -L* | --library-path=*)
- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: $xc_bad_var_msg library directories. Use LDFLAGS for: $xc_word" >&5
-printf "%s\n" "$as_me: $xc_bad_var_msg library directories. Use LDFLAGS for: $xc_word" >&6;}
- ;;
- -l* | --library=*)
- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: $xc_bad_var_msg libraries. Use LIBS for: $xc_word" >&5
-printf "%s\n" "$as_me: $xc_bad_var_msg libraries. Use LIBS for: $xc_word" >&6;}
- ;;
- esac
- done
- fi
-
-
- xc_bad_var_cflags=no
- for xc_word in $CFLAGS; do
- case "$xc_word" in
- -D*)
- xc_bad_var_cflags=yes
- ;;
- -U*)
- xc_bad_var_cflags=yes
- ;;
- -I*)
- xc_bad_var_cflags=yes
- ;;
- -rpath*)
- xc_bad_var_cflags=yes
- ;;
- -L* | --library-path=*)
- xc_bad_var_cflags=yes
- ;;
- -l* | --library=*)
- xc_bad_var_cflags=yes
- ;;
- esac
- done
- if test $xc_bad_var_cflags = yes; then
- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: using CFLAGS: $CFLAGS" >&5
-printf "%s\n" "$as_me: using CFLAGS: $CFLAGS" >&6;}
- xc_bad_var_msg="CFLAGS note: CFLAGS should only be used to specify C compiler flags, not"
- for xc_word in $CFLAGS; do
- case "$xc_word" in
- -D*)
- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: $xc_bad_var_msg macro definitions. Use CPPFLAGS for: $xc_word" >&5
-printf "%s\n" "$as_me: $xc_bad_var_msg macro definitions. Use CPPFLAGS for: $xc_word" >&6;}
- ;;
- -U*)
- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: $xc_bad_var_msg macro suppressions. Use CPPFLAGS for: $xc_word" >&5
-printf "%s\n" "$as_me: $xc_bad_var_msg macro suppressions. Use CPPFLAGS for: $xc_word" >&6;}
- ;;
- -I*)
- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: $xc_bad_var_msg include directories. Use CPPFLAGS for: $xc_word" >&5
-printf "%s\n" "$as_me: $xc_bad_var_msg include directories. Use CPPFLAGS for: $xc_word" >&6;}
- ;;
- -rpath*)
- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: $xc_bad_var_msg library runtime directories. Use LDFLAGS for: $xc_word" >&5
-printf "%s\n" "$as_me: $xc_bad_var_msg library runtime directories. Use LDFLAGS for: $xc_word" >&6;}
- ;;
- -L* | --library-path=*)
- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: $xc_bad_var_msg library directories. Use LDFLAGS for: $xc_word" >&5
-printf "%s\n" "$as_me: $xc_bad_var_msg library directories. Use LDFLAGS for: $xc_word" >&6;}
- ;;
- -l* | --library=*)
- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: $xc_bad_var_msg libraries. Use LIBS for: $xc_word" >&5
-printf "%s\n" "$as_me: $xc_bad_var_msg libraries. Use LIBS for: $xc_word" >&6;}
- ;;
- esac
- done
- fi
-
- if test $xc_bad_var_libs = yes ||
- test $xc_bad_var_cflags = yes ||
- test $xc_bad_var_ldflags = yes ||
- test $xc_bad_var_cppflags = yes; then
- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: Continuing even with errors mentioned immediately above this line." >&5
-printf "%s\n" "$as_me: WARNING: Continuing even with errors mentioned immediately above this line." >&2;}
- fi
-
-
-
- # Find a good install program. We prefer a C program (faster),
-# so one script is as good as another. But avoid the broken or
-# incompatible versions:
-# SysV /etc/install, /usr/sbin/install
-# SunOS /usr/etc/install
-# IRIX /sbin/install
-# AIX /bin/install
-# AmigaOS /C/install, which installs bootblocks on floppy discs
-# AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag
-# AFS /usr/afsws/bin/install, which mishandles nonexistent args
-# SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff"
-# OS/2's system install, which has a completely different semantic
-# ./install, which can be erroneously created by make from ./install.sh.
-# Reject install programs that cannot install multiple files.
-{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for a BSD-compatible install" >&5
-printf %s "checking for a BSD-compatible install... " >&6; }
-if test -z "$INSTALL"; then
-if test ${ac_cv_path_install+y}
-then :
- printf %s "(cached) " >&6
-else $as_nop
- as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- case $as_dir in #(((
- '') as_dir=./ ;;
- */) ;;
- *) as_dir=$as_dir/ ;;
- esac
- # Account for fact that we put trailing slashes in our PATH walk.
-case $as_dir in #((
- ./ | /[cC]/* | \
- /etc/* | /usr/sbin/* | /usr/etc/* | /sbin/* | /usr/afsws/bin/* | \
- ?:[\\/]os2[\\/]install[\\/]* | ?:[\\/]OS2[\\/]INSTALL[\\/]* | \
- /usr/ucb/* ) ;;
- *)
- # OSF1 and SCO ODT 3.0 have their own names for install.
- # Don't use installbsd from OSF since it installs stuff as root
- # by default.
- for ac_prog in ginstall scoinst install; do
- for ac_exec_ext in '' $ac_executable_extensions; do
- if as_fn_executable_p "$as_dir$ac_prog$ac_exec_ext"; then
- if test $ac_prog = install &&
- grep dspmsg "$as_dir$ac_prog$ac_exec_ext" >/dev/null 2>&1; then
- # AIX install. It has an incompatible calling convention.
- :
- elif test $ac_prog = install &&
- grep pwplus "$as_dir$ac_prog$ac_exec_ext" >/dev/null 2>&1; then
- # program-specific install script used by HP pwplus--don't use.
- :
- else
- rm -rf conftest.one conftest.two conftest.dir
- echo one > conftest.one
- echo two > conftest.two
- mkdir conftest.dir
- if "$as_dir$ac_prog$ac_exec_ext" -c conftest.one conftest.two "`pwd`/conftest.dir/" &&
- test -s conftest.one && test -s conftest.two &&
- test -s conftest.dir/conftest.one &&
- test -s conftest.dir/conftest.two
- then
- ac_cv_path_install="$as_dir$ac_prog$ac_exec_ext -c"
- break 3
- fi
- fi
- fi
- done
- done
- ;;
-esac
-
- done
-IFS=$as_save_IFS
-
-rm -rf conftest.one conftest.two conftest.dir
-
-fi
- if test ${ac_cv_path_install+y}; then
- INSTALL=$ac_cv_path_install
- else
- # As a last resort, use the slow shell script. Don't cache a
- # value for INSTALL within a source directory, because that will
- # break other packages using the cache if that directory is
- # removed, or if the value is a relative name.
- INSTALL=$ac_install_sh
- fi
-fi
-{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $INSTALL" >&5
-printf "%s\n" "$INSTALL" >&6; }
-
-# Use test -z because SunOS4 sh mishandles braces in ${var-val}.
-# It thinks the first close brace ends the variable substitution.
-test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}'
-
-test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL}'
-
-test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644'
-
-
-
-
-
-
-
-
-
-
-
-# Expand $ac_aux_dir to an absolute path.
-am_aux_dir=`cd "$ac_aux_dir" && pwd`
-
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-if test -n "$ac_tool_prefix"; then
- # Extract the first word of "${ac_tool_prefix}gcc", so it can be a program name with args.
-set dummy ${ac_tool_prefix}gcc; ac_word=$2
-{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-printf %s "checking for $ac_word... " >&6; }
-if test ${ac_cv_prog_CC+y}
-then :
- printf %s "(cached) " >&6
-else $as_nop
- if test -n "$CC"; then
- ac_cv_prog_CC="$CC" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- case $as_dir in #(((
- '') as_dir=./ ;;
- */) ;;
- *) as_dir=$as_dir/ ;;
- esac
- for ac_exec_ext in '' $ac_executable_extensions; do
- if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
- ac_cv_prog_CC="${ac_tool_prefix}gcc"
- printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-CC=$ac_cv_prog_CC
-if test -n "$CC"; then
- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
-printf "%s\n" "$CC" >&6; }
-else
- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
-printf "%s\n" "no" >&6; }
-fi
-
-
-fi
-if test -z "$ac_cv_prog_CC"; then
- ac_ct_CC=$CC
- # Extract the first word of "gcc", so it can be a program name with args.
-set dummy gcc; ac_word=$2
-{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-printf %s "checking for $ac_word... " >&6; }
-if test ${ac_cv_prog_ac_ct_CC+y}
-then :
- printf %s "(cached) " >&6
-else $as_nop
- if test -n "$ac_ct_CC"; then
- ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- case $as_dir in #(((
- '') as_dir=./ ;;
- */) ;;
- *) as_dir=$as_dir/ ;;
- esac
- for ac_exec_ext in '' $ac_executable_extensions; do
- if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
- ac_cv_prog_ac_ct_CC="gcc"
- printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_CC=$ac_cv_prog_ac_ct_CC
-if test -n "$ac_ct_CC"; then
- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5
-printf "%s\n" "$ac_ct_CC" >&6; }
-else
- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
-printf "%s\n" "no" >&6; }
-fi
-
- if test "x$ac_ct_CC" = x; then
- CC=""
- else
- case $cross_compiling:$ac_tool_warned in
-yes:)
-{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
- CC=$ac_ct_CC
- fi
-else
- CC="$ac_cv_prog_CC"
-fi
-
-if test -z "$CC"; then
- if test -n "$ac_tool_prefix"; then
- # Extract the first word of "${ac_tool_prefix}cc", so it can be a program name with args.
-set dummy ${ac_tool_prefix}cc; ac_word=$2
-{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-printf %s "checking for $ac_word... " >&6; }
-if test ${ac_cv_prog_CC+y}
-then :
- printf %s "(cached) " >&6
-else $as_nop
- if test -n "$CC"; then
- ac_cv_prog_CC="$CC" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- case $as_dir in #(((
- '') as_dir=./ ;;
- */) ;;
- *) as_dir=$as_dir/ ;;
- esac
- for ac_exec_ext in '' $ac_executable_extensions; do
- if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
- ac_cv_prog_CC="${ac_tool_prefix}cc"
- printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-CC=$ac_cv_prog_CC
-if test -n "$CC"; then
- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
-printf "%s\n" "$CC" >&6; }
-else
- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
-printf "%s\n" "no" >&6; }
-fi
-
-
- fi
-fi
-if test -z "$CC"; then
- # Extract the first word of "cc", so it can be a program name with args.
-set dummy cc; ac_word=$2
-{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-printf %s "checking for $ac_word... " >&6; }
-if test ${ac_cv_prog_CC+y}
-then :
- printf %s "(cached) " >&6
-else $as_nop
- if test -n "$CC"; then
- ac_cv_prog_CC="$CC" # Let the user override the test.
-else
- ac_prog_rejected=no
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- case $as_dir in #(((
- '') as_dir=./ ;;
- */) ;;
- *) as_dir=$as_dir/ ;;
- esac
- for ac_exec_ext in '' $ac_executable_extensions; do
- if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
- if test "$as_dir$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then
- ac_prog_rejected=yes
- continue
- fi
- ac_cv_prog_CC="cc"
- printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-if test $ac_prog_rejected = yes; then
- # We found a bogon in the path, so make sure we never use it.
- set dummy $ac_cv_prog_CC
- shift
- if test $# != 0; then
- # We chose a different compiler from the bogus one.
- # However, it has the same basename, so the bogon will be chosen
- # first if we set CC to just the basename; use the full file name.
- shift
- ac_cv_prog_CC="$as_dir$ac_word${1+' '}$@"
- fi
-fi
-fi
-fi
-CC=$ac_cv_prog_CC
-if test -n "$CC"; then
- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
-printf "%s\n" "$CC" >&6; }
-else
- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
-printf "%s\n" "no" >&6; }
-fi
-
-
-fi
-if test -z "$CC"; then
- if test -n "$ac_tool_prefix"; then
- for ac_prog in cl.exe
- do
- # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.
-set dummy $ac_tool_prefix$ac_prog; ac_word=$2
-{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-printf %s "checking for $ac_word... " >&6; }
-if test ${ac_cv_prog_CC+y}
-then :
- printf %s "(cached) " >&6
-else $as_nop
- if test -n "$CC"; then
- ac_cv_prog_CC="$CC" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- case $as_dir in #(((
- '') as_dir=./ ;;
- */) ;;
- *) as_dir=$as_dir/ ;;
- esac
- for ac_exec_ext in '' $ac_executable_extensions; do
- if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
- ac_cv_prog_CC="$ac_tool_prefix$ac_prog"
- printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-CC=$ac_cv_prog_CC
-if test -n "$CC"; then
- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
-printf "%s\n" "$CC" >&6; }
-else
- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
-printf "%s\n" "no" >&6; }
-fi
-
-
- test -n "$CC" && break
- done
-fi
-if test -z "$CC"; then
- ac_ct_CC=$CC
- for ac_prog in cl.exe
-do
- # Extract the first word of "$ac_prog", so it can be a program name with args.
-set dummy $ac_prog; ac_word=$2
-{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-printf %s "checking for $ac_word... " >&6; }
-if test ${ac_cv_prog_ac_ct_CC+y}
-then :
- printf %s "(cached) " >&6
-else $as_nop
- if test -n "$ac_ct_CC"; then
- ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- case $as_dir in #(((
- '') as_dir=./ ;;
- */) ;;
- *) as_dir=$as_dir/ ;;
- esac
- for ac_exec_ext in '' $ac_executable_extensions; do
- if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
- ac_cv_prog_ac_ct_CC="$ac_prog"
- printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_CC=$ac_cv_prog_ac_ct_CC
-if test -n "$ac_ct_CC"; then
- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5
-printf "%s\n" "$ac_ct_CC" >&6; }
-else
- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
-printf "%s\n" "no" >&6; }
-fi
-
-
- test -n "$ac_ct_CC" && break
-done
-
- if test "x$ac_ct_CC" = x; then
- CC=""
- else
- case $cross_compiling:$ac_tool_warned in
-yes:)
-{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
- CC=$ac_ct_CC
- fi
-fi
-
-fi
-if test -z "$CC"; then
- if test -n "$ac_tool_prefix"; then
- # Extract the first word of "${ac_tool_prefix}clang", so it can be a program name with args.
-set dummy ${ac_tool_prefix}clang; ac_word=$2
-{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-printf %s "checking for $ac_word... " >&6; }
-if test ${ac_cv_prog_CC+y}
-then :
- printf %s "(cached) " >&6
-else $as_nop
- if test -n "$CC"; then
- ac_cv_prog_CC="$CC" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- case $as_dir in #(((
- '') as_dir=./ ;;
- */) ;;
- *) as_dir=$as_dir/ ;;
- esac
- for ac_exec_ext in '' $ac_executable_extensions; do
- if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
- ac_cv_prog_CC="${ac_tool_prefix}clang"
- printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-CC=$ac_cv_prog_CC
-if test -n "$CC"; then
- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
-printf "%s\n" "$CC" >&6; }
-else
- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
-printf "%s\n" "no" >&6; }
-fi
-
-
-fi
-if test -z "$ac_cv_prog_CC"; then
- ac_ct_CC=$CC
- # Extract the first word of "clang", so it can be a program name with args.
-set dummy clang; ac_word=$2
-{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-printf %s "checking for $ac_word... " >&6; }
-if test ${ac_cv_prog_ac_ct_CC+y}
-then :
- printf %s "(cached) " >&6
-else $as_nop
- if test -n "$ac_ct_CC"; then
- ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- case $as_dir in #(((
- '') as_dir=./ ;;
- */) ;;
- *) as_dir=$as_dir/ ;;
- esac
- for ac_exec_ext in '' $ac_executable_extensions; do
- if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
- ac_cv_prog_ac_ct_CC="clang"
- printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_CC=$ac_cv_prog_ac_ct_CC
-if test -n "$ac_ct_CC"; then
- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5
-printf "%s\n" "$ac_ct_CC" >&6; }
-else
- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
-printf "%s\n" "no" >&6; }
-fi
-
- if test "x$ac_ct_CC" = x; then
- CC=""
- else
- case $cross_compiling:$ac_tool_warned in
-yes:)
-{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
- CC=$ac_ct_CC
- fi
-else
- CC="$ac_cv_prog_CC"
-fi
-
-fi
-
-
-test -z "$CC" && { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error $? "no acceptable C compiler found in \$PATH
-See \`config.log' for more details" "$LINENO" 5; }
-
-# Provide some information about the compiler.
-printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for C compiler version" >&5
-set X $ac_compile
-ac_compiler=$2
-for ac_option in --version -v -V -qversion -version; do
- { { ac_try="$ac_compiler $ac_option >&5"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-printf "%s\n" "$ac_try_echo"; } >&5
- (eval "$ac_compiler $ac_option >&5") 2>conftest.err
- ac_status=$?
- if test -s conftest.err; then
- sed '10a\
-... rest of stderr output deleted ...
- 10q' conftest.err >conftest.er1
- cat conftest.er1 >&5
- fi
- rm -f conftest.er1 conftest.err
- printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; }
-done
-
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-int main (void)
-{
-
- ;
- return 0;
-}
-_ACEOF
-ac_clean_files_save=$ac_clean_files
-ac_clean_files="$ac_clean_files a.out a.out.dSYM a.exe b.out"
-# Try to create an executable without -o first, disregard a.out.
-# It will help us diagnose broken compilers, and finding out an intuition
-# of exeext.
-{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the C compiler works" >&5
-printf %s "checking whether the C compiler works... " >&6; }
-ac_link_default=`printf "%s\n" "$ac_link" | sed 's/ -o *conftest[^ ]*//'`
-
-# The possible output files:
-ac_files="a.out conftest.exe conftest a.exe a_out.exe b.out conftest.*"
-
-ac_rmfiles=
-for ac_file in $ac_files
-do
- case $ac_file in
- *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) ;;
- * ) ac_rmfiles="$ac_rmfiles $ac_file";;
- esac
-done
-rm -f $ac_rmfiles
-
-if { { ac_try="$ac_link_default"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-printf "%s\n" "$ac_try_echo"; } >&5
- (eval "$ac_link_default") 2>&5
- ac_status=$?
- printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; }
-then :
- # Autoconf-2.13 could set the ac_cv_exeext variable to `no'.
-# So ignore a value of `no', otherwise this would lead to `EXEEXT = no'
-# in a Makefile. We should not override ac_cv_exeext if it was cached,
-# so that the user can short-circuit this test for compilers unknown to
-# Autoconf.
-for ac_file in $ac_files ''
-do
- test -f "$ac_file" || continue
- case $ac_file in
- *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj )
- ;;
- [ab].out )
- # We found the default executable, but exeext='' is most
- # certainly right.
- break;;
- *.* )
- if test ${ac_cv_exeext+y} && test "$ac_cv_exeext" != no;
- then :; else
- ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'`
- fi
- # We set ac_cv_exeext here because the later test for it is not
- # safe: cross compilers may not add the suffix if given an `-o'
- # argument, so we may need to know it at that point already.
- # Even if this section looks crufty: it has the advantage of
- # actually working.
- break;;
- * )
- break;;
- esac
-done
-test "$ac_cv_exeext" = no && ac_cv_exeext=
-
-else $as_nop
- ac_file=''
-fi
-if test -z "$ac_file"
-then :
- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
-printf "%s\n" "no" >&6; }
-printf "%s\n" "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-{ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error 77 "C compiler cannot create executables
-See \`config.log' for more details" "$LINENO" 5; }
-else $as_nop
- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-printf "%s\n" "yes" >&6; }
-fi
-{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for C compiler default output file name" >&5
-printf %s "checking for C compiler default output file name... " >&6; }
-{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_file" >&5
-printf "%s\n" "$ac_file" >&6; }
-ac_exeext=$ac_cv_exeext
-
-rm -f -r a.out a.out.dSYM a.exe conftest$ac_cv_exeext b.out
-ac_clean_files=$ac_clean_files_save
-{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for suffix of executables" >&5
-printf %s "checking for suffix of executables... " >&6; }
-if { { ac_try="$ac_link"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-printf "%s\n" "$ac_try_echo"; } >&5
- (eval "$ac_link") 2>&5
- ac_status=$?
- printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; }
-then :
- # If both `conftest.exe' and `conftest' are `present' (well, observable)
-# catch `conftest.exe'. For instance with Cygwin, `ls conftest' will
-# work properly (i.e., refer to `conftest.exe'), while it won't with
-# `rm'.
-for ac_file in conftest.exe conftest conftest.*; do
- test -f "$ac_file" || continue
- case $ac_file in
- *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) ;;
- *.* ) ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'`
- break;;
- * ) break;;
- esac
-done
-else $as_nop
- { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error $? "cannot compute suffix of executables: cannot compile and link
-See \`config.log' for more details" "$LINENO" 5; }
-fi
-rm -f conftest conftest$ac_cv_exeext
-{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_exeext" >&5
-printf "%s\n" "$ac_cv_exeext" >&6; }
-
-rm -f conftest.$ac_ext
-EXEEXT=$ac_cv_exeext
-ac_exeext=$EXEEXT
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#include
-int main (void)
-{
-FILE *f = fopen ("conftest.out", "w");
- return ferror (f) || fclose (f) != 0;
-
- ;
- return 0;
-}
-_ACEOF
-ac_clean_files="$ac_clean_files conftest.out"
-# Check that the compiler produces executables we can run. If not, either
-# the compiler is broken, or we cross compile.
-{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether we are cross compiling" >&5
-printf %s "checking whether we are cross compiling... " >&6; }
-if test "$cross_compiling" != yes; then
- { { ac_try="$ac_link"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-printf "%s\n" "$ac_try_echo"; } >&5
- (eval "$ac_link") 2>&5
- ac_status=$?
- printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; }
- if { ac_try='./conftest$ac_cv_exeext'
- { { case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-printf "%s\n" "$ac_try_echo"; } >&5
- (eval "$ac_try") 2>&5
- ac_status=$?
- printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; }; }; then
- cross_compiling=no
- else
- if test "$cross_compiling" = maybe; then
- cross_compiling=yes
- else
- { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error 77 "cannot run C compiled programs.
-If you meant to cross compile, use \`--host'.
-See \`config.log' for more details" "$LINENO" 5; }
- fi
- fi
-fi
-{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $cross_compiling" >&5
-printf "%s\n" "$cross_compiling" >&6; }
-
-rm -f conftest.$ac_ext conftest$ac_cv_exeext conftest.out
-ac_clean_files=$ac_clean_files_save
-{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for suffix of object files" >&5
-printf %s "checking for suffix of object files... " >&6; }
-if test ${ac_cv_objext+y}
-then :
- printf %s "(cached) " >&6
-else $as_nop
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-int main (void)
-{
-
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.o conftest.obj
-if { { ac_try="$ac_compile"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-printf "%s\n" "$ac_try_echo"; } >&5
- (eval "$ac_compile") 2>&5
- ac_status=$?
- printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; }
-then :
- for ac_file in conftest.o conftest.obj conftest.*; do
- test -f "$ac_file" || continue;
- case $ac_file in
- *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM ) ;;
- *) ac_cv_objext=`expr "$ac_file" : '.*\.\(.*\)'`
- break;;
- esac
-done
-else $as_nop
- printf "%s\n" "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-{ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error $? "cannot compute suffix of object files: cannot compile
-See \`config.log' for more details" "$LINENO" 5; }
-fi
-rm -f conftest.$ac_cv_objext conftest.$ac_ext
-fi
-{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_objext" >&5
-printf "%s\n" "$ac_cv_objext" >&6; }
-OBJEXT=$ac_cv_objext
-ac_objext=$OBJEXT
-{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the compiler supports GNU C" >&5
-printf %s "checking whether the compiler supports GNU C... " >&6; }
-if test ${ac_cv_c_compiler_gnu+y}
-then :
- printf %s "(cached) " >&6
-else $as_nop
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-int main (void)
-{
-#ifndef __GNUC__
- choke me
-#endif
-
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"
-then :
- ac_compiler_gnu=yes
-else $as_nop
- ac_compiler_gnu=no
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
-ac_cv_c_compiler_gnu=$ac_compiler_gnu
-
-fi
-{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_compiler_gnu" >&5
-printf "%s\n" "$ac_cv_c_compiler_gnu" >&6; }
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-if test $ac_compiler_gnu = yes; then
- GCC=yes
-else
- GCC=
-fi
-ac_test_CFLAGS=${CFLAGS+y}
-ac_save_CFLAGS=$CFLAGS
-{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether $CC accepts -g" >&5
-printf %s "checking whether $CC accepts -g... " >&6; }
-if test ${ac_cv_prog_cc_g+y}
-then :
- printf %s "(cached) " >&6
-else $as_nop
- ac_save_c_werror_flag=$ac_c_werror_flag
- ac_c_werror_flag=yes
- ac_cv_prog_cc_g=no
- CFLAGS="-g"
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-int main (void)
-{
-
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"
-then :
- ac_cv_prog_cc_g=yes
-else $as_nop
- CFLAGS=""
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-int main (void)
-{
-
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"
-then :
-
-else $as_nop
- ac_c_werror_flag=$ac_save_c_werror_flag
- CFLAGS="-g"
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-int main (void)
-{
-
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"
-then :
- ac_cv_prog_cc_g=yes
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
- ac_c_werror_flag=$ac_save_c_werror_flag
-fi
-{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_g" >&5
-printf "%s\n" "$ac_cv_prog_cc_g" >&6; }
-if test $ac_test_CFLAGS; then
- CFLAGS=$ac_save_CFLAGS
-elif test $ac_cv_prog_cc_g = yes; then
- if test "$GCC" = yes; then
- CFLAGS="-g -O2"
- else
- CFLAGS="-g"
- fi
-else
- if test "$GCC" = yes; then
- CFLAGS="-O2"
- else
- CFLAGS=
- fi
-fi
-ac_prog_cc_stdc=no
-if test x$ac_prog_cc_stdc = xno
-then :
- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CC option to enable C11 features" >&5
-printf %s "checking for $CC option to enable C11 features... " >&6; }
-if test ${ac_cv_prog_cc_c11+y}
-then :
- printf %s "(cached) " >&6
-else $as_nop
- ac_cv_prog_cc_c11=no
-ac_save_CC=$CC
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-$ac_c_conftest_c11_program
-_ACEOF
-for ac_arg in '' -std=gnu11
-do
- CC="$ac_save_CC $ac_arg"
- if ac_fn_c_try_compile "$LINENO"
-then :
- ac_cv_prog_cc_c11=$ac_arg
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.beam
- test "x$ac_cv_prog_cc_c11" != "xno" && break
-done
-rm -f conftest.$ac_ext
-CC=$ac_save_CC
-fi
-
-if test "x$ac_cv_prog_cc_c11" = xno
-then :
- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5
-printf "%s\n" "unsupported" >&6; }
-else $as_nop
- if test "x$ac_cv_prog_cc_c11" = x
-then :
- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: none needed" >&5
-printf "%s\n" "none needed" >&6; }
-else $as_nop
- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c11" >&5
-printf "%s\n" "$ac_cv_prog_cc_c11" >&6; }
- CC="$CC $ac_cv_prog_cc_c11"
-fi
- ac_cv_prog_cc_stdc=$ac_cv_prog_cc_c11
- ac_prog_cc_stdc=c11
-fi
-fi
-if test x$ac_prog_cc_stdc = xno
-then :
- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CC option to enable C99 features" >&5
-printf %s "checking for $CC option to enable C99 features... " >&6; }
-if test ${ac_cv_prog_cc_c99+y}
-then :
- printf %s "(cached) " >&6
-else $as_nop
- ac_cv_prog_cc_c99=no
-ac_save_CC=$CC
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-$ac_c_conftest_c99_program
-_ACEOF
-for ac_arg in '' -std=gnu99 -std=c99 -c99 -qlanglvl=extc1x -qlanglvl=extc99 -AC99 -D_STDC_C99=
-do
- CC="$ac_save_CC $ac_arg"
- if ac_fn_c_try_compile "$LINENO"
-then :
- ac_cv_prog_cc_c99=$ac_arg
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.beam
- test "x$ac_cv_prog_cc_c99" != "xno" && break
-done
-rm -f conftest.$ac_ext
-CC=$ac_save_CC
-fi
-
-if test "x$ac_cv_prog_cc_c99" = xno
-then :
- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5
-printf "%s\n" "unsupported" >&6; }
-else $as_nop
- if test "x$ac_cv_prog_cc_c99" = x
-then :
- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: none needed" >&5
-printf "%s\n" "none needed" >&6; }
-else $as_nop
- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c99" >&5
-printf "%s\n" "$ac_cv_prog_cc_c99" >&6; }
- CC="$CC $ac_cv_prog_cc_c99"
-fi
- ac_cv_prog_cc_stdc=$ac_cv_prog_cc_c99
- ac_prog_cc_stdc=c99
-fi
-fi
-if test x$ac_prog_cc_stdc = xno
-then :
- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CC option to enable C89 features" >&5
-printf %s "checking for $CC option to enable C89 features... " >&6; }
-if test ${ac_cv_prog_cc_c89+y}
-then :
- printf %s "(cached) " >&6
-else $as_nop
- ac_cv_prog_cc_c89=no
-ac_save_CC=$CC
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-$ac_c_conftest_c89_program
-_ACEOF
-for ac_arg in '' -qlanglvl=extc89 -qlanglvl=ansi -std -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__"
-do
- CC="$ac_save_CC $ac_arg"
- if ac_fn_c_try_compile "$LINENO"
-then :
- ac_cv_prog_cc_c89=$ac_arg
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.beam
- test "x$ac_cv_prog_cc_c89" != "xno" && break
-done
-rm -f conftest.$ac_ext
-CC=$ac_save_CC
-fi
-
-if test "x$ac_cv_prog_cc_c89" = xno
-then :
- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5
-printf "%s\n" "unsupported" >&6; }
-else $as_nop
- if test "x$ac_cv_prog_cc_c89" = x
-then :
- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: none needed" >&5
-printf "%s\n" "none needed" >&6; }
-else $as_nop
- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c89" >&5
-printf "%s\n" "$ac_cv_prog_cc_c89" >&6; }
- CC="$CC $ac_cv_prog_cc_c89"
-fi
- ac_cv_prog_cc_stdc=$ac_cv_prog_cc_c89
- ac_prog_cc_stdc=c89
-fi
-fi
-
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
- ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether $CC understands -c and -o together" >&5
-printf %s "checking whether $CC understands -c and -o together... " >&6; }
-if test ${am_cv_prog_cc_c_o+y}
-then :
- printf %s "(cached) " >&6
-else $as_nop
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-int main (void)
-{
-
- ;
- return 0;
-}
-_ACEOF
- # Make sure it works both with $CC and with simple cc.
- # Following AC_PROG_CC_C_O, we do the test twice because some
- # compilers refuse to overwrite an existing .o file with -o,
- # though they will create one.
- am_cv_prog_cc_c_o=yes
- for am_i in 1 2; do
- if { echo "$as_me:$LINENO: $CC -c conftest.$ac_ext -o conftest2.$ac_objext" >&5
- ($CC -c conftest.$ac_ext -o conftest2.$ac_objext) >&5 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } \
- && test -f conftest2.$ac_objext; then
- : OK
- else
- am_cv_prog_cc_c_o=no
- break
- fi
- done
- rm -f core conftest*
- unset am_i
-fi
-{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $am_cv_prog_cc_c_o" >&5
-printf "%s\n" "$am_cv_prog_cc_c_o" >&6; }
-if test "$am_cv_prog_cc_c_o" != yes; then
- # Losing compiler, so override with the script.
- # FIXME: It is wrong to rewrite CC.
- # But if we don't then we get into trouble of one sort or another.
- # A longer-term fix would be to have automake use am__CC in this case,
- # and then we could set am__CC="\$(top_srcdir)/compile \$(CC)"
- CC="$am_aux_dir/compile $CC"
-fi
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking how to run the C preprocessor" >&5
-printf %s "checking how to run the C preprocessor... " >&6; }
-# On Suns, sometimes $CPP names a directory.
-if test -n "$CPP" && test -d "$CPP"; then
- CPP=
-fi
-if test -z "$CPP"; then
- if test ${ac_cv_prog_CPP+y}
-then :
- printf %s "(cached) " >&6
-else $as_nop
- # Double quotes because $CC needs to be expanded
- for CPP in "$CC -E" "$CC -E -traditional-cpp" cpp /lib/cpp
- do
- ac_preproc_ok=false
-for ac_c_preproc_warn_flag in '' yes
-do
- # Use a header file that comes with gcc, so configuring glibc
- # with a fresh cross-compiler works.
- # On the NeXT, cc -E runs the code through the compiler's parser,
- # not just through cpp. "Syntax error" is here to catch this case.
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#include
- Syntax error
-_ACEOF
-if ac_fn_c_try_cpp "$LINENO"
-then :
-
-else $as_nop
- # Broken: fails on valid input.
-continue
-fi
-rm -f conftest.err conftest.i conftest.$ac_ext
-
- # OK, works on sane cases. Now check whether nonexistent headers
- # can be detected and how.
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#include
-_ACEOF
-if ac_fn_c_try_cpp "$LINENO"
-then :
- # Broken: success on invalid input.
-continue
-else $as_nop
- # Passes both tests.
-ac_preproc_ok=:
-break
-fi
-rm -f conftest.err conftest.i conftest.$ac_ext
-
-done
-# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
-rm -f conftest.i conftest.err conftest.$ac_ext
-if $ac_preproc_ok
-then :
- break
-fi
-
- done
- ac_cv_prog_CPP=$CPP
-
-fi
- CPP=$ac_cv_prog_CPP
-else
- ac_cv_prog_CPP=$CPP
-fi
-{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CPP" >&5
-printf "%s\n" "$CPP" >&6; }
-ac_preproc_ok=false
-for ac_c_preproc_warn_flag in '' yes
-do
- # Use a header file that comes with gcc, so configuring glibc
- # with a fresh cross-compiler works.
- # On the NeXT, cc -E runs the code through the compiler's parser,
- # not just through cpp. "Syntax error" is here to catch this case.
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#include
- Syntax error
-_ACEOF
-if ac_fn_c_try_cpp "$LINENO"
-then :
-
-else $as_nop
- # Broken: fails on valid input.
-continue
-fi
-rm -f conftest.err conftest.i conftest.$ac_ext
-
- # OK, works on sane cases. Now check whether nonexistent headers
- # can be detected and how.
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#include
-_ACEOF
-if ac_fn_c_try_cpp "$LINENO"
-then :
- # Broken: success on invalid input.
-continue
-else $as_nop
- # Passes both tests.
-ac_preproc_ok=:
-break
-fi
-rm -f conftest.err conftest.i conftest.$ac_ext
-
-done
-# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
-rm -f conftest.i conftest.err conftest.$ac_ext
-if $ac_preproc_ok
-then :
-
-else $as_nop
- { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error $? "C preprocessor \"$CPP\" fails sanity check
-See \`config.log' for more details" "$LINENO" 5; }
-fi
-
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
- IFS=$xc_prog_cc_prev_IFS
- LIBS=$xc_prog_cc_prev_LIBS
- CFLAGS=$xc_prog_cc_prev_CFLAGS
- LDFLAGS=$xc_prog_cc_prev_LDFLAGS
- CPPFLAGS=$xc_prog_cc_prev_CPPFLAGS
-
-
-
-
-
-
-ac_header= ac_cache=
-for ac_item in $ac_header_c_list
-do
- if test $ac_cache; then
- ac_fn_c_check_header_compile "$LINENO" $ac_header ac_cv_header_$ac_cache "$ac_includes_default"
- if eval test \"x\$ac_cv_header_$ac_cache\" = xyes; then
- printf "%s\n" "#define $ac_item 1" >> confdefs.h
- fi
- ac_header= ac_cache=
- elif test $ac_header; then
- ac_cache=$ac_item
- else
- ac_header=$ac_item
- fi
-done
-
-
-
-
-
-
-
-
-if test $ac_cv_header_stdlib_h = yes && test $ac_cv_header_string_h = yes
-then :
-
-printf "%s\n" "#define STDC_HEADERS 1" >>confdefs.h
-
-fi
-
- for ac_header in stdatomic.h
-do :
- ac_fn_c_check_header_compile "$LINENO" "stdatomic.h" "ac_cv_header_stdatomic_h" "$ac_includes_default"
-if test "x$ac_cv_header_stdatomic_h" = xyes
-then :
- printf "%s\n" "#define HAVE_STDATOMIC_H 1" >>confdefs.h
-
- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if _Atomic is available" >&5
-printf %s "checking if _Atomic is available... " >&6; }
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-
- $curl_includes_unistd
-
-int main (void)
-{
-
- _Atomic int i = 0;
- i = 4; // Force an atomic-write operation.
-
- ;
- return 0;
-}
-
-_ACEOF
-if ac_fn_c_try_link "$LINENO"
-then :
-
- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-printf "%s\n" "yes" >&6; }
-
-printf "%s\n" "#define HAVE_ATOMIC 1" >>confdefs.h
-
- tst_atomic="yes"
-
-else $as_nop
-
- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
-printf "%s\n" "no" >&6; }
- tst_atomic="no"
-
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.beam \
- conftest$ac_exeext conftest.$ac_ext
-
-fi
-
-done
-
-
-{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for a sed that does not truncate output" >&5
-printf %s "checking for a sed that does not truncate output... " >&6; }
-if test ${ac_cv_path_SED+y}
-then :
- printf %s "(cached) " >&6
-else $as_nop
- ac_script=s/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb/
- for ac_i in 1 2 3 4 5 6 7; do
- ac_script="$ac_script$as_nl$ac_script"
- done
- echo "$ac_script" 2>/dev/null | sed 99q >conftest.sed
- { ac_script=; unset ac_script;}
- if test -z "$SED"; then
- ac_path_SED_found=false
- # Loop through the user's path and test for each of PROGNAME-LIST
- as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- case $as_dir in #(((
- '') as_dir=./ ;;
- */) ;;
- *) as_dir=$as_dir/ ;;
- esac
- for ac_prog in sed gsed
- do
- for ac_exec_ext in '' $ac_executable_extensions; do
- ac_path_SED="$as_dir$ac_prog$ac_exec_ext"
- as_fn_executable_p "$ac_path_SED" || continue
-# Check for GNU ac_path_SED and select it if it is found.
- # Check for GNU $ac_path_SED
-case `"$ac_path_SED" --version 2>&1` in
-*GNU*)
- ac_cv_path_SED="$ac_path_SED" ac_path_SED_found=:;;
-*)
- ac_count=0
- printf %s 0123456789 >"conftest.in"
- while :
- do
- cat "conftest.in" "conftest.in" >"conftest.tmp"
- mv "conftest.tmp" "conftest.in"
- cp "conftest.in" "conftest.nl"
- printf "%s\n" '' >> "conftest.nl"
- "$ac_path_SED" -f conftest.sed < "conftest.nl" >"conftest.out" 2>/dev/null || break
- diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
- as_fn_arith $ac_count + 1 && ac_count=$as_val
- if test $ac_count -gt ${ac_path_SED_max-0}; then
- # Best one so far, save it but keep looking for a better one
- ac_cv_path_SED="$ac_path_SED"
- ac_path_SED_max=$ac_count
- fi
- # 10*(2^10) chars as input seems more than enough
- test $ac_count -gt 10 && break
- done
- rm -f conftest.in conftest.tmp conftest.nl conftest.out;;
-esac
-
- $ac_path_SED_found && break 3
- done
- done
- done
-IFS=$as_save_IFS
- if test -z "$ac_cv_path_SED"; then
- as_fn_error $? "no acceptable sed could be found in \$PATH" "$LINENO" 5
- fi
-else
- ac_cv_path_SED=$SED
-fi
-
-fi
-{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_SED" >&5
-printf "%s\n" "$ac_cv_path_SED" >&6; }
- SED="$ac_cv_path_SED"
- rm -f conftest.sed
-
-
-
-
- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for code coverage support" >&5
-printf %s "checking for code coverage support... " >&6; }
- coverage="no"
- curl_coverage_msg="disabled"
-
- # Check whether --enable-code-coverage was given.
-if test ${enable_code_coverage+y}
-then :
- enableval=$enable_code_coverage; coverage="$enableval"
-fi
-
-
- if test "$GCC" != "yes"
-then :
- coverage="no"
-fi
- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $coverage" >&5
-printf "%s\n" "$coverage" >&6; }
-
- if test "x$coverage" = "xyes"; then
- curl_coverage_msg="enabled"
-
- if test -n "$ac_tool_prefix"; then
- # Extract the first word of "${ac_tool_prefix}gcov", so it can be a program name with args.
-set dummy ${ac_tool_prefix}gcov; ac_word=$2
-{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-printf %s "checking for $ac_word... " >&6; }
-if test ${ac_cv_prog_GCOV+y}
-then :
- printf %s "(cached) " >&6
-else $as_nop
- if test -n "$GCOV"; then
- ac_cv_prog_GCOV="$GCOV" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- case $as_dir in #(((
- '') as_dir=./ ;;
- */) ;;
- *) as_dir=$as_dir/ ;;
- esac
- for ac_exec_ext in '' $ac_executable_extensions; do
- if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
- ac_cv_prog_GCOV="${ac_tool_prefix}gcov"
- printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-GCOV=$ac_cv_prog_GCOV
-if test -n "$GCOV"; then
- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $GCOV" >&5
-printf "%s\n" "$GCOV" >&6; }
-else
- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
-printf "%s\n" "no" >&6; }
-fi
-
-
-fi
-if test -z "$ac_cv_prog_GCOV"; then
- ac_ct_GCOV=$GCOV
- # Extract the first word of "gcov", so it can be a program name with args.
-set dummy gcov; ac_word=$2
-{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-printf %s "checking for $ac_word... " >&6; }
-if test ${ac_cv_prog_ac_ct_GCOV+y}
-then :
- printf %s "(cached) " >&6
-else $as_nop
- if test -n "$ac_ct_GCOV"; then
- ac_cv_prog_ac_ct_GCOV="$ac_ct_GCOV" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- case $as_dir in #(((
- '') as_dir=./ ;;
- */) ;;
- *) as_dir=$as_dir/ ;;
- esac
- for ac_exec_ext in '' $ac_executable_extensions; do
- if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
- ac_cv_prog_ac_ct_GCOV="gcov"
- printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_GCOV=$ac_cv_prog_ac_ct_GCOV
-if test -n "$ac_ct_GCOV"; then
- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_GCOV" >&5
-printf "%s\n" "$ac_ct_GCOV" >&6; }
-else
- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
-printf "%s\n" "no" >&6; }
-fi
-
- if test "x$ac_ct_GCOV" = x; then
- GCOV="gcov"
- else
- case $cross_compiling:$ac_tool_warned in
-yes:)
-{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
- GCOV=$ac_ct_GCOV
- fi
-else
- GCOV="$ac_cv_prog_GCOV"
-fi
-
- if test -z "$GCOV"; then
- as_fn_error $? "needs gcov for code coverage" "$LINENO" 5
- fi
- # Extract the first word of "lcov", so it can be a program name with args.
-set dummy lcov; ac_word=$2
-{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-printf %s "checking for $ac_word... " >&6; }
-if test ${ac_cv_prog_LCOV+y}
-then :
- printf %s "(cached) " >&6
-else $as_nop
- if test -n "$LCOV"; then
- ac_cv_prog_LCOV="$LCOV" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- case $as_dir in #(((
- '') as_dir=./ ;;
- */) ;;
- *) as_dir=$as_dir/ ;;
- esac
- for ac_exec_ext in '' $ac_executable_extensions; do
- if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
- ac_cv_prog_LCOV="lcov"
- printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-LCOV=$ac_cv_prog_LCOV
-if test -n "$LCOV"; then
- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $LCOV" >&5
-printf "%s\n" "$LCOV" >&6; }
-else
- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
-printf "%s\n" "no" >&6; }
-fi
-
-
- if test -z "$LCOV"; then
- as_fn_error $? "needs lcov for code coverage" "$LINENO" 5
- fi
-
- CPPFLAGS="$CPPFLAGS -DNDEBUG"
- CFLAGS="$CFLAGS -O0 -g -fprofile-arcs -ftest-coverage"
- LIBS="$LIBS -lgcov"
- fi
-
-
-am__api_version='1.16'
-
-{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether build environment is sane" >&5
-printf %s "checking whether build environment is sane... " >&6; }
-# Reject unsafe characters in $srcdir or the absolute working directory
-# name. Accept space and tab only in the latter.
-am_lf='
-'
-case `pwd` in
- *[\\\"\#\$\&\'\`$am_lf]*)
- as_fn_error $? "unsafe absolute working directory name" "$LINENO" 5;;
-esac
-case $srcdir in
- *[\\\"\#\$\&\'\`$am_lf\ \ ]*)
- as_fn_error $? "unsafe srcdir value: '$srcdir'" "$LINENO" 5;;
-esac
-
-# Do 'set' in a subshell so we don't clobber the current shell's
-# arguments. Must try -L first in case configure is actually a
-# symlink; some systems play weird games with the mod time of symlinks
-# (eg FreeBSD returns the mod time of the symlink's containing
-# directory).
-if (
- am_has_slept=no
- for am_try in 1 2; do
- echo "timestamp, slept: $am_has_slept" > conftest.file
- set X `ls -Lt "$srcdir/configure" conftest.file 2> /dev/null`
- if test "$*" = "X"; then
- # -L didn't work.
- set X `ls -t "$srcdir/configure" conftest.file`
- fi
- if test "$*" != "X $srcdir/configure conftest.file" \
- && test "$*" != "X conftest.file $srcdir/configure"; then
-
- # If neither matched, then we have a broken ls. This can happen
- # if, for instance, CONFIG_SHELL is bash and it inherits a
- # broken ls alias from the environment. This has actually
- # happened. Such a system could not be considered "sane".
- as_fn_error $? "ls -t appears to fail. Make sure there is not a broken
- alias in your environment" "$LINENO" 5
- fi
- if test "$2" = conftest.file || test $am_try -eq 2; then
- break
- fi
- # Just in case.
- sleep 1
- am_has_slept=yes
- done
- test "$2" = conftest.file
- )
-then
- # Ok.
- :
-else
- as_fn_error $? "newly created file is older than distributed files!
-Check your system clock" "$LINENO" 5
-fi
-{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-printf "%s\n" "yes" >&6; }
-# If we didn't sleep, we still need to ensure time stamps of config.status and
-# generated files are strictly newer.
-am_sleep_pid=
-if grep 'slept: no' conftest.file >/dev/null 2>&1; then
- ( sleep 1 ) &
- am_sleep_pid=$!
-fi
-
-rm -f conftest.file
-
-test "$program_prefix" != NONE &&
- program_transform_name="s&^&$program_prefix&;$program_transform_name"
-# Use a double $ so make ignores it.
-test "$program_suffix" != NONE &&
- program_transform_name="s&\$&$program_suffix&;$program_transform_name"
-# Double any \ or $.
-# By default was `s,x,x', remove it if useless.
-ac_script='s/[\\$]/&&/g;s/;s,x,x,$//'
-program_transform_name=`printf "%s\n" "$program_transform_name" | sed "$ac_script"`
-
-
- if test x"${MISSING+set}" != xset; then
- MISSING="\${SHELL} '$am_aux_dir/missing'"
-fi
-# Use eval to expand $SHELL
-if eval "$MISSING --is-lightweight"; then
- am_missing_run="$MISSING "
-else
- am_missing_run=
- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: 'missing' script is too old or missing" >&5
-printf "%s\n" "$as_me: WARNING: 'missing' script is too old or missing" >&2;}
-fi
-
-if test x"${install_sh+set}" != xset; then
- case $am_aux_dir in
- *\ * | *\ *)
- install_sh="\${SHELL} '$am_aux_dir/install-sh'" ;;
- *)
- install_sh="\${SHELL} $am_aux_dir/install-sh"
- esac
-fi
-
-# Installed binaries are usually stripped using 'strip' when the user
-# run "make install-strip". However 'strip' might not be the right
-# tool to use in cross-compilation environments, therefore Automake
-# will honor the 'STRIP' environment variable to overrule this program.
-if test "$cross_compiling" != no; then
- if test -n "$ac_tool_prefix"; then
- # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args.
-set dummy ${ac_tool_prefix}strip; ac_word=$2
-{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-printf %s "checking for $ac_word... " >&6; }
-if test ${ac_cv_prog_STRIP+y}
-then :
- printf %s "(cached) " >&6
-else $as_nop
- if test -n "$STRIP"; then
- ac_cv_prog_STRIP="$STRIP" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- case $as_dir in #(((
- '') as_dir=./ ;;
- */) ;;
- *) as_dir=$as_dir/ ;;
- esac
- for ac_exec_ext in '' $ac_executable_extensions; do
- if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
- ac_cv_prog_STRIP="${ac_tool_prefix}strip"
- printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-STRIP=$ac_cv_prog_STRIP
-if test -n "$STRIP"; then
- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $STRIP" >&5
-printf "%s\n" "$STRIP" >&6; }
-else
- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
-printf "%s\n" "no" >&6; }
-fi
-
-
-fi
-if test -z "$ac_cv_prog_STRIP"; then
- ac_ct_STRIP=$STRIP
- # Extract the first word of "strip", so it can be a program name with args.
-set dummy strip; ac_word=$2
-{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-printf %s "checking for $ac_word... " >&6; }
-if test ${ac_cv_prog_ac_ct_STRIP+y}
-then :
- printf %s "(cached) " >&6
-else $as_nop
- if test -n "$ac_ct_STRIP"; then
- ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- case $as_dir in #(((
- '') as_dir=./ ;;
- */) ;;
- *) as_dir=$as_dir/ ;;
- esac
- for ac_exec_ext in '' $ac_executable_extensions; do
- if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
- ac_cv_prog_ac_ct_STRIP="strip"
- printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP
-if test -n "$ac_ct_STRIP"; then
- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_STRIP" >&5
-printf "%s\n" "$ac_ct_STRIP" >&6; }
-else
- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
-printf "%s\n" "no" >&6; }
-fi
-
- if test "x$ac_ct_STRIP" = x; then
- STRIP=":"
- else
- case $cross_compiling:$ac_tool_warned in
-yes:)
-{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
- STRIP=$ac_ct_STRIP
- fi
-else
- STRIP="$ac_cv_prog_STRIP"
-fi
-
-fi
-INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s"
-
-
- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for a race-free mkdir -p" >&5
-printf %s "checking for a race-free mkdir -p... " >&6; }
-if test -z "$MKDIR_P"; then
- if test ${ac_cv_path_mkdir+y}
-then :
- printf %s "(cached) " >&6
-else $as_nop
- as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH$PATH_SEPARATOR/opt/sfw/bin
-do
- IFS=$as_save_IFS
- case $as_dir in #(((
- '') as_dir=./ ;;
- */) ;;
- *) as_dir=$as_dir/ ;;
- esac
- for ac_prog in mkdir gmkdir; do
- for ac_exec_ext in '' $ac_executable_extensions; do
- as_fn_executable_p "$as_dir$ac_prog$ac_exec_ext" || continue
- case `"$as_dir$ac_prog$ac_exec_ext" --version 2>&1` in #(
- 'mkdir ('*'coreutils) '* | \
- 'BusyBox '* | \
- 'mkdir (fileutils) '4.1*)
- ac_cv_path_mkdir=$as_dir$ac_prog$ac_exec_ext
- break 3;;
- esac
- done
- done
- done
-IFS=$as_save_IFS
-
-fi
-
- test -d ./--version && rmdir ./--version
- if test ${ac_cv_path_mkdir+y}; then
- MKDIR_P="$ac_cv_path_mkdir -p"
- else
- # As a last resort, use the slow shell script. Don't cache a
- # value for MKDIR_P within a source directory, because that will
- # break other packages using the cache if that directory is
- # removed, or if the value is a relative name.
- MKDIR_P="$ac_install_sh -d"
- fi
-fi
-{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $MKDIR_P" >&5
-printf "%s\n" "$MKDIR_P" >&6; }
-
-for ac_prog in gawk mawk nawk awk
-do
- # Extract the first word of "$ac_prog", so it can be a program name with args.
-set dummy $ac_prog; ac_word=$2
-{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-printf %s "checking for $ac_word... " >&6; }
-if test ${ac_cv_prog_AWK+y}
-then :
- printf %s "(cached) " >&6
-else $as_nop
- if test -n "$AWK"; then
- ac_cv_prog_AWK="$AWK" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- case $as_dir in #(((
- '') as_dir=./ ;;
- */) ;;
- *) as_dir=$as_dir/ ;;
- esac
- for ac_exec_ext in '' $ac_executable_extensions; do
- if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
- ac_cv_prog_AWK="$ac_prog"
- printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-AWK=$ac_cv_prog_AWK
-if test -n "$AWK"; then
- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $AWK" >&5
-printf "%s\n" "$AWK" >&6; }
-else
- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
-printf "%s\n" "no" >&6; }
-fi
-
-
- test -n "$AWK" && break
-done
-
-{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether ${MAKE-make} sets \$(MAKE)" >&5
-printf %s "checking whether ${MAKE-make} sets \$(MAKE)... " >&6; }
-set x ${MAKE-make}
-ac_make=`printf "%s\n" "$2" | sed 's/+/p/g; s/[^a-zA-Z0-9_]/_/g'`
-if eval test \${ac_cv_prog_make_${ac_make}_set+y}
-then :
- printf %s "(cached) " >&6
-else $as_nop
- cat >conftest.make <<\_ACEOF
-SHELL = /bin/sh
-all:
- @echo '@@@%%%=$(MAKE)=@@@%%%'
-_ACEOF
-# GNU make sometimes prints "make[1]: Entering ...", which would confuse us.
-case `${MAKE-make} -f conftest.make 2>/dev/null` in
- *@@@%%%=?*=@@@%%%*)
- eval ac_cv_prog_make_${ac_make}_set=yes;;
- *)
- eval ac_cv_prog_make_${ac_make}_set=no;;
-esac
-rm -f conftest.make
-fi
-if eval test \$ac_cv_prog_make_${ac_make}_set = yes; then
- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-printf "%s\n" "yes" >&6; }
- SET_MAKE=
-else
- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
-printf "%s\n" "no" >&6; }
- SET_MAKE="MAKE=${MAKE-make}"
-fi
-
-rm -rf .tst 2>/dev/null
-mkdir .tst 2>/dev/null
-if test -d .tst; then
- am__leading_dot=.
-else
- am__leading_dot=_
-fi
-rmdir .tst 2>/dev/null
-
-DEPDIR="${am__leading_dot}deps"
-
-ac_config_commands="$ac_config_commands depfiles"
-
-{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether ${MAKE-make} supports the include directive" >&5
-printf %s "checking whether ${MAKE-make} supports the include directive... " >&6; }
-cat > confinc.mk << 'END'
-am__doit:
- @echo this is the am__doit target >confinc.out
-.PHONY: am__doit
-END
-am__include="#"
-am__quote=
-# BSD make does it like this.
-echo '.include "confinc.mk" # ignored' > confmf.BSD
-# Other make implementations (GNU, Solaris 10, AIX) do it like this.
-echo 'include confinc.mk # ignored' > confmf.GNU
-_am_result=no
-for s in GNU BSD; do
- { echo "$as_me:$LINENO: ${MAKE-make} -f confmf.$s && cat confinc.out" >&5
- (${MAKE-make} -f confmf.$s && cat confinc.out) >&5 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }
- case $?:`cat confinc.out 2>/dev/null` in #(
- '0:this is the am__doit target') :
- case $s in #(
- BSD) :
- am__include='.include' am__quote='"' ;; #(
- *) :
- am__include='include' am__quote='' ;;
-esac ;; #(
- *) :
- ;;
-esac
- if test "$am__include" != "#"; then
- _am_result="yes ($s style)"
- break
- fi
-done
-rm -f confinc.* confmf.*
-{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: ${_am_result}" >&5
-printf "%s\n" "${_am_result}" >&6; }
-
-# Check whether --enable-dependency-tracking was given.
-if test ${enable_dependency_tracking+y}
-then :
- enableval=$enable_dependency_tracking;
-fi
-
-if test "x$enable_dependency_tracking" != xno; then
- am_depcomp="$ac_aux_dir/depcomp"
- AMDEPBACKSLASH='\'
- am__nodep='_no'
-fi
- if test "x$enable_dependency_tracking" != xno; then
- AMDEP_TRUE=
- AMDEP_FALSE='#'
-else
- AMDEP_TRUE='#'
- AMDEP_FALSE=
-fi
-
-
-## --------------------------------------- ##
-## Start of automake initialization code ##
-## --------------------------------------- ##
-
-if test "`cd $srcdir && pwd`" != "`pwd`"; then
- # Use -I$(srcdir) only when $(srcdir) != ., so that make's output
- # is not polluted with repeated "-I."
- am__isrc=' -I$(srcdir)'
- # test to see if srcdir already configured
- if test -f $srcdir/config.status; then
- as_fn_error $? "source directory already configured; run \"make distclean\" there first" "$LINENO" 5
- fi
-fi
-
-# test whether we have cygpath
-if test -z "$CYGPATH_W"; then
- if (cygpath --version) >/dev/null 2>/dev/null; then
- CYGPATH_W='cygpath -w'
- else
- CYGPATH_W=echo
- fi
-fi
-
-
-# Define the identity of the package.
- PACKAGE='curl'
- VERSION='-'
-
-
-printf "%s\n" "#define PACKAGE \"$PACKAGE\"" >>confdefs.h
-
-
-printf "%s\n" "#define VERSION \"$VERSION\"" >>confdefs.h
-
-# Some tools Automake needs.
-
-ACLOCAL=${ACLOCAL-"${am_missing_run}aclocal-${am__api_version}"}
-
-
-AUTOCONF=${AUTOCONF-"${am_missing_run}autoconf"}
-
-
-AUTOMAKE=${AUTOMAKE-"${am_missing_run}automake-${am__api_version}"}
-
-
-AUTOHEADER=${AUTOHEADER-"${am_missing_run}autoheader"}
-
-
-MAKEINFO=${MAKEINFO-"${am_missing_run}makeinfo"}
-
-# For better backward compatibility. To be removed once Automake 1.9.x
-# dies out for good. For more background, see:
-#
-#
-mkdir_p='$(MKDIR_P)'
-
-# We need awk for the "check" target (and possibly the TAP driver). The
-# system "awk" is bad on some platforms.
-# Always define AMTAR for backward compatibility. Yes, it's still used
-# in the wild :-( We should find a proper way to deprecate it ...
-AMTAR='$${TAR-tar}'
-
-
-# We'll loop over all known methods to create a tar archive until one works.
-_am_tools='gnutar pax cpio none'
-
-am__tar='$${TAR-tar} chof - "$$tardir"' am__untar='$${TAR-tar} xf -'
-
-
-
-
-
-depcc="$CC" am_compiler_list=
-
-{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking dependency style of $depcc" >&5
-printf %s "checking dependency style of $depcc... " >&6; }
-if test ${am_cv_CC_dependencies_compiler_type+y}
-then :
- printf %s "(cached) " >&6
-else $as_nop
- if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then
- # We make a subdir and do the tests there. Otherwise we can end up
- # making bogus files that we don't know about and never remove. For
- # instance it was reported that on HP-UX the gcc test will end up
- # making a dummy file named 'D' -- because '-MD' means "put the output
- # in D".
- rm -rf conftest.dir
- mkdir conftest.dir
- # Copy depcomp to subdir because otherwise we won't find it if we're
- # using a relative directory.
- cp "$am_depcomp" conftest.dir
- cd conftest.dir
- # We will build objects and dependencies in a subdirectory because
- # it helps to detect inapplicable dependency modes. For instance
- # both Tru64's cc and ICC support -MD to output dependencies as a
- # side effect of compilation, but ICC will put the dependencies in
- # the current directory while Tru64 will put them in the object
- # directory.
- mkdir sub
-
- am_cv_CC_dependencies_compiler_type=none
- if test "$am_compiler_list" = ""; then
- am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp`
- fi
- am__universal=false
- case " $depcc " in #(
- *\ -arch\ *\ -arch\ *) am__universal=true ;;
- esac
-
- for depmode in $am_compiler_list; do
- # Setup a source with many dependencies, because some compilers
- # like to wrap large dependency lists on column 80 (with \), and
- # we should not choose a depcomp mode which is confused by this.
- #
- # We need to recreate these files for each test, as the compiler may
- # overwrite some of them when testing with obscure command lines.
- # This happens at least with the AIX C compiler.
- : > sub/conftest.c
- for i in 1 2 3 4 5 6; do
- echo '#include "conftst'$i'.h"' >> sub/conftest.c
- # Using ": > sub/conftst$i.h" creates only sub/conftst1.h with
- # Solaris 10 /bin/sh.
- echo '/* dummy */' > sub/conftst$i.h
- done
- echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf
-
- # We check with '-c' and '-o' for the sake of the "dashmstdout"
- # mode. It turns out that the SunPro C++ compiler does not properly
- # handle '-M -o', and we need to detect this. Also, some Intel
- # versions had trouble with output in subdirs.
- am__obj=sub/conftest.${OBJEXT-o}
- am__minus_obj="-o $am__obj"
- case $depmode in
- gcc)
- # This depmode causes a compiler race in universal mode.
- test "$am__universal" = false || continue
- ;;
- nosideeffect)
- # After this tag, mechanisms are not by side-effect, so they'll
- # only be used when explicitly requested.
- if test "x$enable_dependency_tracking" = xyes; then
- continue
- else
- break
- fi
- ;;
- msvc7 | msvc7msys | msvisualcpp | msvcmsys)
- # This compiler won't grok '-c -o', but also, the minuso test has
- # not run yet. These depmodes are late enough in the game, and
- # so weak that their functioning should not be impacted.
- am__obj=conftest.${OBJEXT-o}
- am__minus_obj=
- ;;
- none) break ;;
- esac
- if depmode=$depmode \
- source=sub/conftest.c object=$am__obj \
- depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \
- $SHELL ./depcomp $depcc -c $am__minus_obj sub/conftest.c \
- >/dev/null 2>conftest.err &&
- grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 &&
- grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 &&
- grep $am__obj sub/conftest.Po > /dev/null 2>&1 &&
- ${MAKE-make} -s -f confmf > /dev/null 2>&1; then
- # icc doesn't choke on unknown options, it will just issue warnings
- # or remarks (even with -Werror). So we grep stderr for any message
- # that says an option was ignored or not supported.
- # When given -MP, icc 7.0 and 7.1 complain thusly:
- # icc: Command line warning: ignoring option '-M'; no argument required
- # The diagnosis changed in icc 8.0:
- # icc: Command line remark: option '-MP' not supported
- if (grep 'ignoring option' conftest.err ||
- grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else
- am_cv_CC_dependencies_compiler_type=$depmode
- break
- fi
- fi
- done
-
- cd ..
- rm -rf conftest.dir
-else
- am_cv_CC_dependencies_compiler_type=none
-fi
-
-fi
-{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $am_cv_CC_dependencies_compiler_type" >&5
-printf "%s\n" "$am_cv_CC_dependencies_compiler_type" >&6; }
-CCDEPMODE=depmode=$am_cv_CC_dependencies_compiler_type
-
- if
- test "x$enable_dependency_tracking" != xno \
- && test "$am_cv_CC_dependencies_compiler_type" = gcc3; then
- am__fastdepCC_TRUE=
- am__fastdepCC_FALSE='#'
-else
- am__fastdepCC_TRUE='#'
- am__fastdepCC_FALSE=
-fi
-
-
-# Variables for tags utilities; see am/tags.am
-if test -z "$CTAGS"; then
- CTAGS=ctags
-fi
-
-if test -z "$ETAGS"; then
- ETAGS=etags
-fi
-
-if test -z "$CSCOPE"; then
- CSCOPE=cscope
-fi
-
-
-
-# POSIX will say in a future version that running "rm -f" with no argument
-# is OK; and we want to be able to make that assumption in our Makefile
-# recipes. So use an aggressive probe to check that the usage we want is
-# actually supported "in the wild" to an acceptable degree.
-# See automake bug#10828.
-# To make any issue more visible, cause the running configure to be aborted
-# by default if the 'rm' program in use doesn't match our expectations; the
-# user can still override this though.
-if rm -f && rm -fr && rm -rf; then : OK; else
- cat >&2 <<'END'
-Oops!
-
-Your 'rm' program seems unable to run without file operands specified
-on the command line, even when the '-f' option is present. This is contrary
-to the behaviour of most rm programs out there, and not conforming with
-the upcoming POSIX standard:
-
-Please tell bug-automake@gnu.org about your system, including the value
-of your $PATH and any error possibly output before this message. This
-can help us improve future automake versions.
-
-END
- if test x"$ACCEPT_INFERIOR_RM_PROGRAM" = x"yes"; then
- echo 'Configuration will proceed anyway, since you have set the' >&2
- echo 'ACCEPT_INFERIOR_RM_PROGRAM variable to "yes"' >&2
- echo >&2
- else
- cat >&2 <<'END'
-Aborting the configuration process, to ensure you take notice of the issue.
-
-You can download and install GNU coreutils to get an 'rm' implementation
-that behaves properly: .
-
-If you want to complete the configuration process using your problematic
-'rm' anyway, export the environment variable ACCEPT_INFERIOR_RM_PROGRAM
-to "yes", and re-run configure.
-
-END
- as_fn_error $? "Your 'rm' program is bad, sorry." "$LINENO" 5
- fi
-fi
-
-## ------------------------------------- ##
-## End of automake initialization code ##
-## ------------------------------------- ##
-
-
-{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking curl version" >&5
-printf %s "checking curl version... " >&6; }
-{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CURLVERSION" >&5
-printf "%s\n" "$CURLVERSION" >&6; }
-
-
-
-VERSIONNUM=`$SED -ne 's/^#define LIBCURL_VERSION_NUM 0x\([0-9A-Fa-f]*\).*/\1/p' ${srcdir}/include/curl/curlver.h`
-
-
-PKGADD_PKG="HAXXcurl"
-PKGADD_NAME="curl - a client that groks URLs"
-PKGADD_VENDOR="curl.se"
-
-
-
-
- curl_ssl_msg="no (--with-{openssl,gnutls,mbedtls,wolfssl,schannel,secure-transport,amissl,bearssl,rustls} )"
- curl_ssh_msg="no (--with-{libssh,libssh2})"
- curl_zlib_msg="no (--with-zlib)"
- curl_brotli_msg="no (--with-brotli)"
- curl_zstd_msg="no (--with-zstd)"
- curl_gss_msg="no (--with-gssapi)"
- curl_gsasl_msg="no (--with-gsasl)"
-curl_tls_srp_msg="no (--enable-tls-srp)"
- curl_res_msg="default (--enable-ares / --enable-threaded-resolver)"
- curl_ipv6_msg="no (--enable-ipv6)"
-curl_unix_sockets_msg="no (--enable-unix-sockets)"
- curl_idn_msg="no (--with-{libidn2,winidn})"
- curl_manual_msg="no (--enable-manual)"
-curl_libcurl_msg="enabled (--disable-libcurl-option)"
-curl_verbose_msg="enabled (--disable-verbose)"
- curl_sspi_msg="no (--enable-sspi)"
- curl_ldap_msg="no (--enable-ldap / --with-ldap-lib / --with-lber-lib)"
- curl_ldaps_msg="no (--enable-ldaps)"
- curl_rtsp_msg="no (--enable-rtsp)"
- curl_rtmp_msg="no (--with-librtmp)"
- curl_psl_msg="no (--with-libpsl)"
- curl_altsvc_msg="enabled (--disable-alt-svc)"
-curl_headers_msg="enabled (--disable-headers-api)"
- curl_hsts_msg="enabled (--disable-hsts)"
- curl_ws_msg="no (--enable-websockets)"
- ssl_backends=
- curl_h1_msg="enabled (internal)"
- curl_h2_msg="no (--with-nghttp2, --with-hyper)"
- curl_h3_msg="no (--with-ngtcp2 --with-nghttp3, --with-quiche, --with-msh3)"
-
-enable_altsvc="yes"
-hsts="yes"
-
-INITIAL_LDFLAGS=$LDFLAGS
-INITIAL_LIBS=$LIBS
-
-compilersh="run-compiler"
-CURL_SAVED_CC="$CC"
-export CURL_SAVED_CC
-CURL_SAVED_LD_LIBRARY_PATH="$LD_LIBRARY_PATH"
-export CURL_SAVED_LD_LIBRARY_PATH
-cat <<\EOF > "$compilersh"
-CC="$CURL_SAVED_CC"
-export CC
-LD_LIBRARY_PATH="$CURL_SAVED_LD_LIBRARY_PATH"
-export LD_LIBRARY_PATH
-exec $CC "$@"
-EOF
-
-OPT_SCHANNEL=no
-
-# Check whether --with-schannel was given.
-if test ${with_schannel+y}
-then :
- withval=$with_schannel; OPT_SCHANNEL=$withval
- TLSCHOICE="schannel"
-fi
-
-
-OPT_SECURETRANSPORT=no
-
-# Check whether --with-secure-transport was given.
-if test ${with_secure_transport+y}
-then :
- withval=$with_secure_transport;
- OPT_SECURETRANSPORT=$withval
- TLSCHOICE="${TLSCHOICE:+$TLSCHOICE, }Secure-Transport"
-
-fi
-
-
-OPT_AMISSL=no
-
-# Check whether --with-amissl was given.
-if test ${with_amissl+y}
-then :
- withval=$with_amissl;
- OPT_AMISSL=$withval
- TLSCHOICE="${TLSCHOICE:+$TLSCHOICE, }AmiSSL"
-
-fi
-
-
-OPT_OPENSSL=no
-ca="no"
-
-# Check whether --with-ssl was given.
-if test ${with_ssl+y}
-then :
- withval=$with_ssl;
- OPT_SSL=$withval
- OPT_OPENSSL=$withval
- if test X"$withval" != Xno; then
- TLSCHOICE="${TLSCHOICE:+$TLSCHOICE, }OpenSSL"
- else
- SSL_DISABLED="D"
- fi
-
-fi
-
-
-
-# Check whether --with-openssl was given.
-if test ${with_openssl+y}
-then :
- withval=$with_openssl;
- OPT_OPENSSL=$withval
- if test X"$withval" != Xno; then
- TLSCHOICE="${TLSCHOICE:+$TLSCHOICE, }OpenSSL"
- fi
-
-fi
-
-
-OPT_GNUTLS=no
-
-# Check whether --with-gnutls was given.
-if test ${with_gnutls+y}
-then :
- withval=$with_gnutls;
- OPT_GNUTLS=$withval
- if test X"$withval" != Xno; then
- TLSCHOICE="${TLSCHOICE:+$TLSCHOICE, }GnuTLS"
- fi
-
-fi
-
-
-OPT_MBEDTLS=no
-
-# Check whether --with-mbedtls was given.
-if test ${with_mbedtls+y}
-then :
- withval=$with_mbedtls;
- OPT_MBEDTLS=$withval
- if test X"$withval" != Xno; then
- TLSCHOICE="${TLSCHOICE:+$TLSCHOICE, }mbedTLS"
- fi
-
-fi
-
-
-OPT_WOLFSSL=no
-
-# Check whether --with-wolfssl was given.
-if test ${with_wolfssl+y}
-then :
- withval=$with_wolfssl;
- OPT_WOLFSSL=$withval
- if test X"$withval" != Xno; then
- TLSCHOICE="${TLSCHOICE:+$TLSCHOICE, }wolfSSL"
- fi
-
-fi
-
-
-OPT_BEARSSL=no
-
-# Check whether --with-bearssl was given.
-if test ${with_bearssl+y}
-then :
- withval=$with_bearssl;
- OPT_BEARSSL=$withval
- if test X"$withval" != Xno; then
- TLSCHOICE="${TLSCHOICE:+$TLSCHOICE, }BearSSL"
- fi
-
-fi
-
-
-OPT_RUSTLS=no
-
-# Check whether --with-rustls was given.
-if test ${with_rustls+y}
-then :
- withval=$with_rustls;
- OPT_RUSTLS=$withval
- if test X"$withval" != Xno; then
- TLSCHOICE="${TLSCHOICE:+$TLSCHOICE, }rustls"
- experimental="$experimental rustls"
- fi
-
-fi
-
-
-TEST_NGHTTPX=nghttpx
-
-# Check whether --with-test-nghttpx was given.
-if test ${with_test_nghttpx+y}
-then :
- withval=$with_test_nghttpx; TEST_NGHTTPX=$withval
- if test X"$OPT_TEST_NGHTTPX" = "Xno" ; then
- TEST_NGHTTPX=""
- fi
-
-fi
-
-
-
-CADDY=caddy
-
-# Check whether --with-test-caddy was given.
-if test ${with_test_caddy+y}
-then :
- withval=$with_test_caddy; CADDY=$withval
- if test X"$OPT_CADDY" = "Xno" ; then
- CADDY=""
- fi
-
-fi
-
-
-
-HTTPD_ENABLED="maybe"
-
-# Check whether --with-test-httpd was given.
-if test ${with_test_httpd+y}
-then :
- withval=$with_test_httpd; request_httpd=$withval
-else $as_nop
- request_httpd=check
-fi
-
-if test x"$request_httpd" = "xcheck" -o x"$request_httpd" = "xyes"; then
- if test -x "/usr/sbin/apache2" -a -x "/usr/sbin/apache2ctl"; then
- # common location on distros (debian/ubuntu)
- HTTPD="/usr/sbin/apache2"
- APACHECTL="/usr/sbin/apache2ctl"
- # Extract the first word of "apxs", so it can be a program name with args.
-set dummy apxs; ac_word=$2
-{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-printf %s "checking for $ac_word... " >&6; }
-if test ${ac_cv_path_APXS+y}
-then :
- printf %s "(cached) " >&6
-else $as_nop
- case $APXS in
- [\\/]* | ?:[\\/]*)
- ac_cv_path_APXS="$APXS" # Let the user override the test with a path.
- ;;
- *)
- as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- case $as_dir in #(((
- '') as_dir=./ ;;
- */) ;;
- *) as_dir=$as_dir/ ;;
- esac
- for ac_exec_ext in '' $ac_executable_extensions; do
- if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
- ac_cv_path_APXS="$as_dir$ac_word$ac_exec_ext"
- printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
- ;;
-esac
-fi
-APXS=$ac_cv_path_APXS
-if test -n "$APXS"; then
- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $APXS" >&5
-printf "%s\n" "$APXS" >&6; }
-else
- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
-printf "%s\n" "no" >&6; }
-fi
-
-
- if test "x$APXS" = "x"; then
- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: apache2-dev not installed, httpd tests disabled" >&5
-printf "%s\n" "$as_me: apache2-dev not installed, httpd tests disabled" >&6;}
- HTTPD_ENABLED="no"
- fi
- else
- # Extract the first word of "httpd", so it can be a program name with args.
-set dummy httpd; ac_word=$2
-{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-printf %s "checking for $ac_word... " >&6; }
-if test ${ac_cv_path_HTTPD+y}
-then :
- printf %s "(cached) " >&6
-else $as_nop
- case $HTTPD in
- [\\/]* | ?:[\\/]*)
- ac_cv_path_HTTPD="$HTTPD" # Let the user override the test with a path.
- ;;
- *)
- as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- case $as_dir in #(((
- '') as_dir=./ ;;
- */) ;;
- *) as_dir=$as_dir/ ;;
- esac
- for ac_exec_ext in '' $ac_executable_extensions; do
- if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
- ac_cv_path_HTTPD="$as_dir$ac_word$ac_exec_ext"
- printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
- ;;
-esac
-fi
-HTTPD=$ac_cv_path_HTTPD
-if test -n "$HTTPD"; then
- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $HTTPD" >&5
-printf "%s\n" "$HTTPD" >&6; }
-else
- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
-printf "%s\n" "no" >&6; }
-fi
-
-
- if test "x$HTTPD" = "x"; then
- # Extract the first word of "apache2", so it can be a program name with args.
-set dummy apache2; ac_word=$2
-{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-printf %s "checking for $ac_word... " >&6; }
-if test ${ac_cv_path_HTTPD+y}
-then :
- printf %s "(cached) " >&6
-else $as_nop
- case $HTTPD in
- [\\/]* | ?:[\\/]*)
- ac_cv_path_HTTPD="$HTTPD" # Let the user override the test with a path.
- ;;
- *)
- as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- case $as_dir in #(((
- '') as_dir=./ ;;
- */) ;;
- *) as_dir=$as_dir/ ;;
- esac
- for ac_exec_ext in '' $ac_executable_extensions; do
- if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
- ac_cv_path_HTTPD="$as_dir$ac_word$ac_exec_ext"
- printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
- ;;
-esac
-fi
-HTTPD=$ac_cv_path_HTTPD
-if test -n "$HTTPD"; then
- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $HTTPD" >&5
-printf "%s\n" "$HTTPD" >&6; }
-else
- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
-printf "%s\n" "no" >&6; }
-fi
-
-
- fi
- # Extract the first word of "apachectl", so it can be a program name with args.
-set dummy apachectl; ac_word=$2
-{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-printf %s "checking for $ac_word... " >&6; }
-if test ${ac_cv_path_APACHECTL+y}
-then :
- printf %s "(cached) " >&6
-else $as_nop
- case $APACHECTL in
- [\\/]* | ?:[\\/]*)
- ac_cv_path_APACHECTL="$APACHECTL" # Let the user override the test with a path.
- ;;
- *)
- as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- case $as_dir in #(((
- '') as_dir=./ ;;
- */) ;;
- *) as_dir=$as_dir/ ;;
- esac
- for ac_exec_ext in '' $ac_executable_extensions; do
- if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
- ac_cv_path_APACHECTL="$as_dir$ac_word$ac_exec_ext"
- printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
- ;;
-esac
-fi
-APACHECTL=$ac_cv_path_APACHECTL
-if test -n "$APACHECTL"; then
- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $APACHECTL" >&5
-printf "%s\n" "$APACHECTL" >&6; }
-else
- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
-printf "%s\n" "no" >&6; }
-fi
-
-
- # Extract the first word of "apxs", so it can be a program name with args.
-set dummy apxs; ac_word=$2
-{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-printf %s "checking for $ac_word... " >&6; }
-if test ${ac_cv_path_APXS+y}
-then :
- printf %s "(cached) " >&6
-else $as_nop
- case $APXS in
- [\\/]* | ?:[\\/]*)
- ac_cv_path_APXS="$APXS" # Let the user override the test with a path.
- ;;
- *)
- as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- case $as_dir in #(((
- '') as_dir=./ ;;
- */) ;;
- *) as_dir=$as_dir/ ;;
- esac
- for ac_exec_ext in '' $ac_executable_extensions; do
- if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
- ac_cv_path_APXS="$as_dir$ac_word$ac_exec_ext"
- printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
- ;;
-esac
-fi
-APXS=$ac_cv_path_APXS
-if test -n "$APXS"; then
- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $APXS" >&5
-printf "%s\n" "$APXS" >&6; }
-else
- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
-printf "%s\n" "no" >&6; }
-fi
-
-
- if test "x$HTTPD" = "x" -o "x$APACHECTL" = "x"; then
- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: httpd/apache2 not in PATH, http tests disabled" >&5
-printf "%s\n" "$as_me: httpd/apache2 not in PATH, http tests disabled" >&6;}
- HTTPD_ENABLED="no"
- fi
- if test "x$APXS" = "x"; then
- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: apxs not in PATH, http tests disabled" >&5
-printf "%s\n" "$as_me: apxs not in PATH, http tests disabled" >&6;}
- HTTPD_ENABLED="no"
- fi
- fi
-elif test x"$request_httpd" != "xno"; then
- HTTPD="${request_httpd}/bin/httpd"
- APACHECTL="${request_httpd}/bin/apachectl"
- APXS="${request_httpd}/bin/apxs"
- if test ! -x "${HTTPD}"; then
- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: httpd not found as ${HTTPD}, http tests disabled" >&5
-printf "%s\n" "$as_me: httpd not found as ${HTTPD}, http tests disabled" >&6;}
- HTTPD_ENABLED="no"
- elif test ! -x "${APACHECTL}"; then
- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: apachectl not found as ${APACHECTL}, http tests disabled" >&5
-printf "%s\n" "$as_me: apachectl not found as ${APACHECTL}, http tests disabled" >&6;}
- HTTPD_ENABLED="no"
- elif test ! -x "${APXS}"; then
- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: apxs not found as ${APXS}, http tests disabled" >&5
-printf "%s\n" "$as_me: apxs not found as ${APXS}, http tests disabled" >&6;}
- HTTPD_ENABLED="no"
- else
- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: using HTTPD=$HTTPD for tests" >&5
-printf "%s\n" "$as_me: using HTTPD=$HTTPD for tests" >&6;}
- fi
-fi
-if test x"$HTTPD_ENABLED" = "xno"; then
- HTTPD=""
- APACHECTL=""
- APXS=""
-fi
-
-
-
-
-if test "x$TEST_NGHTTPX" != "x" -a "x$TEST_NGHTTPX" != "xnghttpx"; then
- HTTPD_NGHTTPX="$TEST_NGHTTPX"
-else
- # Extract the first word of "nghttpx", so it can be a program name with args.
-set dummy nghttpx; ac_word=$2
-{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-printf %s "checking for $ac_word... " >&6; }
-if test ${ac_cv_path_HTTPD_NGHTTPX+y}
-then :
- printf %s "(cached) " >&6
-else $as_nop
- case $HTTPD_NGHTTPX in
- [\\/]* | ?:[\\/]*)
- ac_cv_path_HTTPD_NGHTTPX="$HTTPD_NGHTTPX" # Let the user override the test with a path.
- ;;
- *)
- as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-as_dummy="$PATH:/usr/bin:/usr/local/bin"
-for as_dir in $as_dummy
-do
- IFS=$as_save_IFS
- case $as_dir in #(((
- '') as_dir=./ ;;
- */) ;;
- *) as_dir=$as_dir/ ;;
- esac
- for ac_exec_ext in '' $ac_executable_extensions; do
- if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
- ac_cv_path_HTTPD_NGHTTPX="$as_dir$ac_word$ac_exec_ext"
- printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
- ;;
-esac
-fi
-HTTPD_NGHTTPX=$ac_cv_path_HTTPD_NGHTTPX
-if test -n "$HTTPD_NGHTTPX"; then
- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $HTTPD_NGHTTPX" >&5
-printf "%s\n" "$HTTPD_NGHTTPX" >&6; }
-else
- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
-printf "%s\n" "no" >&6; }
-fi
-
-
-fi
-
-
-if test "x$TEST_CADDY" != "x"; then
- CADDY="$TEST_CADDY"
-else
- # Extract the first word of "caddy", so it can be a program name with args.
-set dummy caddy; ac_word=$2
-{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-printf %s "checking for $ac_word... " >&6; }
-if test ${ac_cv_path_CADDY+y}
-then :
- printf %s "(cached) " >&6
-else $as_nop
- case $CADDY in
- [\\/]* | ?:[\\/]*)
- ac_cv_path_CADDY="$CADDY" # Let the user override the test with a path.
- ;;
- *)
- as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- case $as_dir in #(((
- '') as_dir=./ ;;
- */) ;;
- *) as_dir=$as_dir/ ;;
- esac
- for ac_exec_ext in '' $ac_executable_extensions; do
- if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
- ac_cv_path_CADDY="$as_dir$ac_word$ac_exec_ext"
- printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
- ;;
-esac
-fi
-CADDY=$ac_cv_path_CADDY
-if test -n "$CADDY"; then
- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CADDY" >&5
-printf "%s\n" "$CADDY" >&6; }
-else
- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
-printf "%s\n" "no" >&6; }
-fi
-
-
-fi
-
-
-if test -z "$TLSCHOICE"; then
- if test "x$OPT_SSL" != "xno"; then
- as_fn_error $? "select TLS backend(s) or disable TLS with --without-ssl.
-
-Select from these:
-
- --with-amissl
- --with-bearssl
- --with-gnutls
- --with-mbedtls
- --with-openssl (also works for BoringSSL and libressl)
- --with-rustls
- --with-schannel
- --with-secure-transport
- --with-wolfssl
-" "$LINENO" 5
- fi
-fi
-
-
-# Check whether --with-darwinssl was given.
-if test ${with_darwinssl+y}
-then :
- withval=$with_darwinssl; as_fn_error $? "--with-darwin-ssl and --without-darwin-ssl no longer work!" "$LINENO" 5
-fi
-
-
-
-
-
- # Make sure we can run config.sub.
-$SHELL "${ac_aux_dir}config.sub" sun4 >/dev/null 2>&1 ||
- as_fn_error $? "cannot run $SHELL ${ac_aux_dir}config.sub" "$LINENO" 5
-
-{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking build system type" >&5
-printf %s "checking build system type... " >&6; }
-if test ${ac_cv_build+y}
-then :
- printf %s "(cached) " >&6
-else $as_nop
- ac_build_alias=$build_alias
-test "x$ac_build_alias" = x &&
- ac_build_alias=`$SHELL "${ac_aux_dir}config.guess"`
-test "x$ac_build_alias" = x &&
- as_fn_error $? "cannot guess build type; you must specify one" "$LINENO" 5
-ac_cv_build=`$SHELL "${ac_aux_dir}config.sub" $ac_build_alias` ||
- as_fn_error $? "$SHELL ${ac_aux_dir}config.sub $ac_build_alias failed" "$LINENO" 5
-
-fi
-{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_build" >&5
-printf "%s\n" "$ac_cv_build" >&6; }
-case $ac_cv_build in
-*-*-*) ;;
-*) as_fn_error $? "invalid value of canonical build" "$LINENO" 5;;
-esac
-build=$ac_cv_build
-ac_save_IFS=$IFS; IFS='-'
-set x $ac_cv_build
-shift
-build_cpu=$1
-build_vendor=$2
-shift; shift
-# Remember, the first character of IFS is used to create $*,
-# except with old shells:
-build_os=$*
-IFS=$ac_save_IFS
-case $build_os in *\ *) build_os=`echo "$build_os" | sed 's/ /-/g'`;; esac
-
-
-{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking host system type" >&5
-printf %s "checking host system type... " >&6; }
-if test ${ac_cv_host+y}
-then :
- printf %s "(cached) " >&6
-else $as_nop
- if test "x$host_alias" = x; then
- ac_cv_host=$ac_cv_build
-else
- ac_cv_host=`$SHELL "${ac_aux_dir}config.sub" $host_alias` ||
- as_fn_error $? "$SHELL ${ac_aux_dir}config.sub $host_alias failed" "$LINENO" 5
-fi
-
-fi
-{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_host" >&5
-printf "%s\n" "$ac_cv_host" >&6; }
-case $ac_cv_host in
-*-*-*) ;;
-*) as_fn_error $? "invalid value of canonical host" "$LINENO" 5;;
-esac
-host=$ac_cv_host
-ac_save_IFS=$IFS; IFS='-'
-set x $ac_cv_host
-shift
-host_cpu=$1
-host_vendor=$2
-shift; shift
-# Remember, the first character of IFS is used to create $*,
-# except with old shells:
-host_os=$*
-IFS=$ac_save_IFS
-case $host_os in *\ *) host_os=`echo "$host_os" | sed 's/ /-/g'`;; esac
-
-
-
-printf "%s\n" "#define OS \"${host}\"" >>confdefs.h
-
-
-# Silence warning: ar: 'u' modifier ignored since 'D' is the default
-AR_FLAGS=cr
-
-
-
-{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for grep that handles long lines and -e" >&5
-printf %s "checking for grep that handles long lines and -e... " >&6; }
-if test ${ac_cv_path_GREP+y}
-then :
- printf %s "(cached) " >&6
-else $as_nop
- if test -z "$GREP"; then
- ac_path_GREP_found=false
- # Loop through the user's path and test for each of PROGNAME-LIST
- as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin
-do
- IFS=$as_save_IFS
- case $as_dir in #(((
- '') as_dir=./ ;;
- */) ;;
- *) as_dir=$as_dir/ ;;
- esac
- for ac_prog in grep ggrep
- do
- for ac_exec_ext in '' $ac_executable_extensions; do
- ac_path_GREP="$as_dir$ac_prog$ac_exec_ext"
- as_fn_executable_p "$ac_path_GREP" || continue
-# Check for GNU ac_path_GREP and select it if it is found.
- # Check for GNU $ac_path_GREP
-case `"$ac_path_GREP" --version 2>&1` in
-*GNU*)
- ac_cv_path_GREP="$ac_path_GREP" ac_path_GREP_found=:;;
-*)
- ac_count=0
- printf %s 0123456789 >"conftest.in"
- while :
- do
- cat "conftest.in" "conftest.in" >"conftest.tmp"
- mv "conftest.tmp" "conftest.in"
- cp "conftest.in" "conftest.nl"
- printf "%s\n" 'GREP' >> "conftest.nl"
- "$ac_path_GREP" -e 'GREP$' -e '-(cannot match)-' < "conftest.nl" >"conftest.out" 2>/dev/null || break
- diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
- as_fn_arith $ac_count + 1 && ac_count=$as_val
- if test $ac_count -gt ${ac_path_GREP_max-0}; then
- # Best one so far, save it but keep looking for a better one
- ac_cv_path_GREP="$ac_path_GREP"
- ac_path_GREP_max=$ac_count
- fi
- # 10*(2^10) chars as input seems more than enough
- test $ac_count -gt 10 && break
- done
- rm -f conftest.in conftest.tmp conftest.nl conftest.out;;
-esac
-
- $ac_path_GREP_found && break 3
- done
- done
- done
-IFS=$as_save_IFS
- if test -z "$ac_cv_path_GREP"; then
- as_fn_error $? "no acceptable grep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
- fi
-else
- ac_cv_path_GREP=$GREP
-fi
-
-fi
-{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_GREP" >&5
-printf "%s\n" "$ac_cv_path_GREP" >&6; }
- GREP="$ac_cv_path_GREP"
-
-
-{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for egrep" >&5
-printf %s "checking for egrep... " >&6; }
-if test ${ac_cv_path_EGREP+y}
-then :
- printf %s "(cached) " >&6
-else $as_nop
- if echo a | $GREP -E '(a|b)' >/dev/null 2>&1
- then ac_cv_path_EGREP="$GREP -E"
- else
- if test -z "$EGREP"; then
- ac_path_EGREP_found=false
- # Loop through the user's path and test for each of PROGNAME-LIST
- as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin
-do
- IFS=$as_save_IFS
- case $as_dir in #(((
- '') as_dir=./ ;;
- */) ;;
- *) as_dir=$as_dir/ ;;
- esac
- for ac_prog in egrep
- do
- for ac_exec_ext in '' $ac_executable_extensions; do
- ac_path_EGREP="$as_dir$ac_prog$ac_exec_ext"
- as_fn_executable_p "$ac_path_EGREP" || continue
-# Check for GNU ac_path_EGREP and select it if it is found.
- # Check for GNU $ac_path_EGREP
-case `"$ac_path_EGREP" --version 2>&1` in
-*GNU*)
- ac_cv_path_EGREP="$ac_path_EGREP" ac_path_EGREP_found=:;;
-*)
- ac_count=0
- printf %s 0123456789 >"conftest.in"
- while :
- do
- cat "conftest.in" "conftest.in" >"conftest.tmp"
- mv "conftest.tmp" "conftest.in"
- cp "conftest.in" "conftest.nl"
- printf "%s\n" 'EGREP' >> "conftest.nl"
- "$ac_path_EGREP" 'EGREP$' < "conftest.nl" >"conftest.out" 2>/dev/null || break
- diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
- as_fn_arith $ac_count + 1 && ac_count=$as_val
- if test $ac_count -gt ${ac_path_EGREP_max-0}; then
- # Best one so far, save it but keep looking for a better one
- ac_cv_path_EGREP="$ac_path_EGREP"
- ac_path_EGREP_max=$ac_count
- fi
- # 10*(2^10) chars as input seems more than enough
- test $ac_count -gt 10 && break
- done
- rm -f conftest.in conftest.tmp conftest.nl conftest.out;;
-esac
-
- $ac_path_EGREP_found && break 3
- done
- done
- done
-IFS=$as_save_IFS
- if test -z "$ac_cv_path_EGREP"; then
- as_fn_error $? "no acceptable egrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
- fi
-else
- ac_cv_path_EGREP=$EGREP
-fi
-
- fi
-fi
-{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_EGREP" >&5
-printf "%s\n" "$ac_cv_path_EGREP" >&6; }
- EGREP="$ac_cv_path_EGREP"
-
-
-
-
- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if OS is AIX (to define _ALL_SOURCE)" >&5
-printf %s "checking if OS is AIX (to define _ALL_SOURCE)... " >&6; }
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-#ifdef _AIX
- yes_this_is_aix
-#endif
-
-_ACEOF
-if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
- $EGREP "yes_this_is_aix" >/dev/null 2>&1
-then :
-
- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-printf "%s\n" "yes" >&6; }
- printf "%s\n" "#define _ALL_SOURCE 1" >>confdefs.h
-
-
-else $as_nop
-
- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
-printf "%s\n" "no" >&6; }
-
-fi
-rm -rf conftest*
-
-
-
-
- #
- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if _THREAD_SAFE is already defined" >&5
-printf %s "checking if _THREAD_SAFE is already defined... " >&6; }
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-
-
-int main (void)
-{
-
-#ifdef _THREAD_SAFE
- int dummy=1;
-#else
- force compilation error
-#endif
-
- ;
- return 0;
-}
-
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"
-then :
-
- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-printf "%s\n" "yes" >&6; }
- tmp_thread_safe_initially_defined="yes"
-
-else $as_nop
-
- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
-printf "%s\n" "no" >&6; }
- tmp_thread_safe_initially_defined="no"
-
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
- #
- if test "$tmp_thread_safe_initially_defined" = "no"; then
- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if _THREAD_SAFE is actually needed" >&5
-printf %s "checking if _THREAD_SAFE is actually needed... " >&6; }
-
- case $host_os in
- aix[123].* | aix4.[012].*)
- tmp_need_thread_safe="no"
- ;;
- aix*)
- tmp_need_thread_safe="yes"
- ;;
- *)
- tmp_need_thread_safe="no"
- ;;
- esac
-
- if test "$tmp_need_thread_safe" = "yes"; then
- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-printf "%s\n" "yes" >&6; }
- else
- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
-printf "%s\n" "no" >&6; }
- fi
- fi
- #
- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if _THREAD_SAFE is onwards defined" >&5
-printf %s "checking if _THREAD_SAFE is onwards defined... " >&6; }
- if test "$tmp_thread_safe_initially_defined" = "yes" ||
- test "$tmp_need_thread_safe" = "yes"; then
-
-
-printf "%s\n" "#define NEED_THREAD_SAFE 1" >>confdefs.h
-
-cat >>confdefs.h <<_EOF
-#ifndef _THREAD_SAFE
-# define _THREAD_SAFE
-#endif
-_EOF
-
- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-printf "%s\n" "yes" >&6; }
- else
- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
-printf "%s\n" "no" >&6; }
- fi
- #
-
-
- #
- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if _REENTRANT is already defined" >&5
-printf %s "checking if _REENTRANT is already defined... " >&6; }
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-
-
-int main (void)
-{
-
-#ifdef _REENTRANT
- int dummy=1;
-#else
- force compilation error
-#endif
-
- ;
- return 0;
-}
-
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"
-then :
-
- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-printf "%s\n" "yes" >&6; }
- tmp_reentrant_initially_defined="yes"
-
-else $as_nop
-
- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
-printf "%s\n" "no" >&6; }
- tmp_reentrant_initially_defined="no"
-
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
- #
- if test "$tmp_reentrant_initially_defined" = "no"; then
- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if _REENTRANT is actually needed" >&5
-printf %s "checking if _REENTRANT is actually needed... " >&6; }
-
- case $host_os in
- solaris*)
- tmp_need_reentrant="yes"
- ;;
- *)
- tmp_need_reentrant="no"
- ;;
- esac
-
- if test "$tmp_need_reentrant" = "no"; then
-
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-
-#include
-
-int main (void)
-{
-
- if(0 != errno)
- return 1;
-
- ;
- return 0;
-}
-
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"
-then :
-
- tmp_errno="yes"
-
-else $as_nop
-
- tmp_errno="no"
-
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
- if test "$tmp_errno" = "yes"; then
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-
-#include
-
-int main (void)
-{
-
-#ifdef errno
- int dummy=1;
-#else
- force compilation error
-#endif
-
- ;
- return 0;
-}
-
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"
-then :
-
- tmp_errno="errno_macro_defined"
-
-else $as_nop
-
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-
-#define _REENTRANT
-#include
-
-int main (void)
-{
-
-#ifdef errno
- int dummy=1;
-#else
- force compilation error
-#endif
-
- ;
- return 0;
-}
-
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"
-then :
-
- tmp_errno="errno_macro_needs_reentrant"
- tmp_need_reentrant="yes"
-
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
-
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
- fi
-
- fi
- if test "$tmp_need_reentrant" = "no"; then
-
- if test "$tmp_need_reentrant" = "no"; then
-
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-
-#define gmtime_r innocuous_gmtime_r
-#ifdef __STDC__
-# include
-#else
-# include
-#endif
-#undef gmtime_r
-#ifdef __cplusplus
-extern "C"
-#endif
-char gmtime_r ();
-#if defined __stub_gmtime_r || defined __stub___gmtime_r
-choke me
-#endif
-
-int main (void)
-{
-return gmtime_r ();
- ;
- return 0;
-}
-
-_ACEOF
-if ac_fn_c_try_link "$LINENO"
-then :
-
- tmp_gmtime_r="yes"
-
-else $as_nop
-
- tmp_gmtime_r="no"
-
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.beam \
- conftest$ac_exeext conftest.$ac_ext
- if test "$tmp_gmtime_r" = "yes"; then
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-#include
-#include
-
-_ACEOF
-if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
- $EGREP "gmtime_r" >/dev/null 2>&1
-then :
-
- tmp_gmtime_r="proto_declared"
-
-else $as_nop
-
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-#define _REENTRANT
-#include
-#include
-
-_ACEOF
-if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
- $EGREP "gmtime_r" >/dev/null 2>&1
-then :
-
- tmp_gmtime_r="proto_needs_reentrant"
- tmp_need_reentrant="yes"
-
-fi
-rm -rf conftest*
-
-
-fi
-rm -rf conftest*
-
- fi
-
- fi
- if test "$tmp_need_reentrant" = "no"; then
-
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-
-#define localtime_r innocuous_localtime_r
-#ifdef __STDC__
-# include
-#else
-# include
-#endif
-#undef localtime_r
-#ifdef __cplusplus
-extern "C"
-#endif
-char localtime_r ();
-#if defined __stub_localtime_r || defined __stub___localtime_r
-choke me
-#endif
-
-int main (void)
-{
-return localtime_r ();
- ;
- return 0;
-}
-
-_ACEOF
-if ac_fn_c_try_link "$LINENO"
-then :
-
- tmp_localtime_r="yes"
-
-else $as_nop
-
- tmp_localtime_r="no"
-
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.beam \
- conftest$ac_exeext conftest.$ac_ext
- if test "$tmp_localtime_r" = "yes"; then
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-#include
-#include
-
-_ACEOF
-if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
- $EGREP "localtime_r" >/dev/null 2>&1
-then :
-
- tmp_localtime_r="proto_declared"
-
-else $as_nop
-
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-#define _REENTRANT
-#include
-#include
-
-_ACEOF
-if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
- $EGREP "localtime_r" >/dev/null 2>&1
-then :
-
- tmp_localtime_r="proto_needs_reentrant"
- tmp_need_reentrant="yes"
-
-fi
-rm -rf conftest*
-
-
-fi
-rm -rf conftest*
-
- fi
-
- fi
- if test "$tmp_need_reentrant" = "no"; then
-
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-
-#define strerror_r innocuous_strerror_r
-#ifdef __STDC__
-# include
-#else
-# include
-#endif
-#undef strerror_r
-#ifdef __cplusplus
-extern "C"
-#endif
-char strerror_r ();
-#if defined __stub_strerror_r || defined __stub___strerror_r
-choke me
-#endif
-
-int main (void)
-{
-return strerror_r ();
- ;
- return 0;
-}
-
-_ACEOF
-if ac_fn_c_try_link "$LINENO"
-then :
-
- tmp_strerror_r="yes"
-
-else $as_nop
-
- tmp_strerror_r="no"
-
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.beam \
- conftest$ac_exeext conftest.$ac_ext
- if test "$tmp_strerror_r" = "yes"; then
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-#include
-#include
-
-_ACEOF
-if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
- $EGREP "strerror_r" >/dev/null 2>&1
-then :
-
- tmp_strerror_r="proto_declared"
-
-else $as_nop
-
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-#define _REENTRANT
-#include
-#include
-
-_ACEOF
-if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
- $EGREP "strerror_r" >/dev/null 2>&1
-then :
-
- tmp_strerror_r="proto_needs_reentrant"
- tmp_need_reentrant="yes"
-
-fi
-rm -rf conftest*
-
-
-fi
-rm -rf conftest*
-
- fi
-
- fi
- if test "$tmp_need_reentrant" = "no"; then
-
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-
-#define strtok_r innocuous_strtok_r
-#ifdef __STDC__
-# include
-#else
-# include
-#endif
-#undef strtok_r
-#ifdef __cplusplus
-extern "C"
-#endif
-char strtok_r ();
-#if defined __stub_strtok_r || defined __stub___strtok_r
-choke me
-#endif
-
-int main (void)
-{
-return strtok_r ();
- ;
- return 0;
-}
-
-_ACEOF
-if ac_fn_c_try_link "$LINENO"
-then :
-
- tmp_strtok_r="yes"
-
-else $as_nop
-
- tmp_strtok_r="no"
-
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.beam \
- conftest$ac_exeext conftest.$ac_ext
- if test "$tmp_strtok_r" = "yes"; then
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-#include
-#include
-
-_ACEOF
-if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
- $EGREP "strtok_r" >/dev/null 2>&1
-then :
-
- tmp_strtok_r="proto_declared"
-
-else $as_nop
-
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-#define _REENTRANT
-#include
-#include
-
-_ACEOF
-if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
- $EGREP "strtok_r" >/dev/null 2>&1
-then :
-
- tmp_strtok_r="proto_needs_reentrant"
- tmp_need_reentrant="yes"
-
-fi
-rm -rf conftest*
-
-
-fi
-rm -rf conftest*
-
- fi
-
- fi
- if test "$tmp_need_reentrant" = "no"; then
-
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-
-#define gethostbyname_r innocuous_gethostbyname_r
-#ifdef __STDC__
-# include
-#else
-# include
-#endif
-#undef gethostbyname_r
-#ifdef __cplusplus
-extern "C"
-#endif
-char gethostbyname_r ();
-#if defined __stub_gethostbyname_r || defined __stub___gethostbyname_r
-choke me
-#endif
-
-int main (void)
-{
-return gethostbyname_r ();
- ;
- return 0;
-}
-
-_ACEOF
-if ac_fn_c_try_link "$LINENO"
-then :
-
- tmp_gethostbyname_r="yes"
-
-else $as_nop
-
- tmp_gethostbyname_r="no"
-
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.beam \
- conftest$ac_exeext conftest.$ac_ext
- if test "$tmp_gethostbyname_r" = "yes"; then
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-#include
-#include
-
-_ACEOF
-if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
- $EGREP "gethostbyname_r" >/dev/null 2>&1
-then :
-
- tmp_gethostbyname_r="proto_declared"
-
-else $as_nop
-
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-#define _REENTRANT
-#include
-#include
-
-_ACEOF
-if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
- $EGREP "gethostbyname_r" >/dev/null 2>&1
-then :
-
- tmp_gethostbyname_r="proto_needs_reentrant"
- tmp_need_reentrant="yes"
-
-fi
-rm -rf conftest*
-
-
-fi
-rm -rf conftest*
-
- fi
-
- fi
- if test "$tmp_need_reentrant" = "no"; then
-
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-
-#define getprotobyname_r innocuous_getprotobyname_r
-#ifdef __STDC__
-# include
-#else
-# include
-#endif
-#undef getprotobyname_r
-#ifdef __cplusplus
-extern "C"
-#endif
-char getprotobyname_r ();
-#if defined __stub_getprotobyname_r || defined __stub___getprotobyname_r
-choke me
-#endif
-
-int main (void)
-{
-return getprotobyname_r ();
- ;
- return 0;
-}
-
-_ACEOF
-if ac_fn_c_try_link "$LINENO"
-then :
-
- tmp_getprotobyname_r="yes"
-
-else $as_nop
-
- tmp_getprotobyname_r="no"
-
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.beam \
- conftest$ac_exeext conftest.$ac_ext
- if test "$tmp_getprotobyname_r" = "yes"; then
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-#include
-#include
-
-_ACEOF
-if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
- $EGREP "getprotobyname_r" >/dev/null 2>&1
-then :
-
- tmp_getprotobyname_r="proto_declared"
-
-else $as_nop
-
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-#define _REENTRANT
-#include
-#include
-
-_ACEOF
-if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
- $EGREP "getprotobyname_r" >/dev/null 2>&1
-then :
-
- tmp_getprotobyname_r="proto_needs_reentrant"
- tmp_need_reentrant="yes"
-
-fi
-rm -rf conftest*
-
-
-fi
-rm -rf conftest*
-
- fi
-
- fi
-
- fi
- if test "$tmp_need_reentrant" = "yes"; then
- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-printf "%s\n" "yes" >&6; }
- else
- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
-printf "%s\n" "no" >&6; }
- fi
- fi
- #
- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if _REENTRANT is onwards defined" >&5
-printf %s "checking if _REENTRANT is onwards defined... " >&6; }
- if test "$tmp_reentrant_initially_defined" = "yes" ||
- test "$tmp_need_reentrant" = "yes"; then
-
-
-printf "%s\n" "#define NEED_REENTRANT 1" >>confdefs.h
-
-cat >>confdefs.h <<_EOF
-#ifndef _REENTRANT
-# define _REENTRANT
-#endif
-_EOF
-
- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-printf "%s\n" "yes" >&6; }
- else
- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
-printf "%s\n" "no" >&6; }
- fi
- #
-
-
-# Check whether --enable-largefile was given.
-if test ${enable_largefile+y}
-then :
- enableval=$enable_largefile;
-fi
-
-if test "$enable_largefile" != no; then
-
- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for special C compiler options needed for large files" >&5
-printf %s "checking for special C compiler options needed for large files... " >&6; }
-if test ${ac_cv_sys_largefile_CC+y}
-then :
- printf %s "(cached) " >&6
-else $as_nop
- ac_cv_sys_largefile_CC=no
- if test "$GCC" != yes; then
- ac_save_CC=$CC
- while :; do
- # IRIX 6.2 and later do not support large files by default,
- # so use the C compiler's -n32 option if that helps.
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#include
- /* Check that off_t can represent 2**63 - 1 correctly.
- We can't simply define LARGE_OFF_T to be 9223372036854775807,
- since some C++ compilers masquerading as C compilers
- incorrectly reject 9223372036854775807. */
-#define LARGE_OFF_T (((off_t) 1 << 31 << 31) - 1 + ((off_t) 1 << 31 << 31))
- int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721
- && LARGE_OFF_T % 2147483647 == 1)
- ? 1 : -1];
-int main (void)
-{
-
- ;
- return 0;
-}
-_ACEOF
- if ac_fn_c_try_compile "$LINENO"
-then :
- break
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.beam
- CC="$CC -n32"
- if ac_fn_c_try_compile "$LINENO"
-then :
- ac_cv_sys_largefile_CC=' -n32'; break
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.beam
- break
- done
- CC=$ac_save_CC
- rm -f conftest.$ac_ext
- fi
-fi
-{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sys_largefile_CC" >&5
-printf "%s\n" "$ac_cv_sys_largefile_CC" >&6; }
- if test "$ac_cv_sys_largefile_CC" != no; then
- CC=$CC$ac_cv_sys_largefile_CC
- fi
-
- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for _FILE_OFFSET_BITS value needed for large files" >&5
-printf %s "checking for _FILE_OFFSET_BITS value needed for large files... " >&6; }
-if test ${ac_cv_sys_file_offset_bits+y}
-then :
- printf %s "(cached) " >&6
-else $as_nop
- while :; do
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#include
- /* Check that off_t can represent 2**63 - 1 correctly.
- We can't simply define LARGE_OFF_T to be 9223372036854775807,
- since some C++ compilers masquerading as C compilers
- incorrectly reject 9223372036854775807. */
-#define LARGE_OFF_T (((off_t) 1 << 31 << 31) - 1 + ((off_t) 1 << 31 << 31))
- int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721
- && LARGE_OFF_T % 2147483647 == 1)
- ? 1 : -1];
-int main (void)
-{
-
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"
-then :
- ac_cv_sys_file_offset_bits=no; break
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#define _FILE_OFFSET_BITS 64
-#include
- /* Check that off_t can represent 2**63 - 1 correctly.
- We can't simply define LARGE_OFF_T to be 9223372036854775807,
- since some C++ compilers masquerading as C compilers
- incorrectly reject 9223372036854775807. */
-#define LARGE_OFF_T (((off_t) 1 << 31 << 31) - 1 + ((off_t) 1 << 31 << 31))
- int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721
- && LARGE_OFF_T % 2147483647 == 1)
- ? 1 : -1];
-int main (void)
-{
-
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"
-then :
- ac_cv_sys_file_offset_bits=64; break
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
- ac_cv_sys_file_offset_bits=unknown
- break
-done
-fi
-{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sys_file_offset_bits" >&5
-printf "%s\n" "$ac_cv_sys_file_offset_bits" >&6; }
-case $ac_cv_sys_file_offset_bits in #(
- no | unknown) ;;
- *)
-printf "%s\n" "#define _FILE_OFFSET_BITS $ac_cv_sys_file_offset_bits" >>confdefs.h
-;;
-esac
-rm -rf conftest*
- if test $ac_cv_sys_file_offset_bits = unknown; then
- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for _LARGE_FILES value needed for large files" >&5
-printf %s "checking for _LARGE_FILES value needed for large files... " >&6; }
-if test ${ac_cv_sys_large_files+y}
-then :
- printf %s "(cached) " >&6
-else $as_nop
- while :; do
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#include
- /* Check that off_t can represent 2**63 - 1 correctly.
- We can't simply define LARGE_OFF_T to be 9223372036854775807,
- since some C++ compilers masquerading as C compilers
- incorrectly reject 9223372036854775807. */
-#define LARGE_OFF_T (((off_t) 1 << 31 << 31) - 1 + ((off_t) 1 << 31 << 31))
- int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721
- && LARGE_OFF_T % 2147483647 == 1)
- ? 1 : -1];
-int main (void)
-{
-
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"
-then :
- ac_cv_sys_large_files=no; break
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#define _LARGE_FILES 1
-#include
- /* Check that off_t can represent 2**63 - 1 correctly.
- We can't simply define LARGE_OFF_T to be 9223372036854775807,
- since some C++ compilers masquerading as C compilers
- incorrectly reject 9223372036854775807. */
-#define LARGE_OFF_T (((off_t) 1 << 31 << 31) - 1 + ((off_t) 1 << 31 << 31))
- int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721
- && LARGE_OFF_T % 2147483647 == 1)
- ? 1 : -1];
-int main (void)
-{
-
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"
-then :
- ac_cv_sys_large_files=1; break
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
- ac_cv_sys_large_files=unknown
- break
-done
-fi
-{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sys_large_files" >&5
-printf "%s\n" "$ac_cv_sys_large_files" >&6; }
-case $ac_cv_sys_large_files in #(
- no | unknown) ;;
- *)
-printf "%s\n" "#define _LARGE_FILES $ac_cv_sys_large_files" >>confdefs.h
-;;
-esac
-rm -rf conftest*
- fi
-fi
-
-
-case `pwd` in
- *\ * | *\ *)
- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: Libtool does not cope well with whitespace in \`pwd\`" >&5
-printf "%s\n" "$as_me: WARNING: Libtool does not cope well with whitespace in \`pwd\`" >&2;} ;;
-esac
-
-
-
-macro_version='2.4.7'
-macro_revision='2.4.7'
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-ltmain=$ac_aux_dir/ltmain.sh
-
-# Backslashify metacharacters that are still active within
-# double-quoted strings.
-sed_quote_subst='s/\(["`$\\]\)/\\\1/g'
-
-# Same as above, but do not quote variable references.
-double_quote_subst='s/\(["`\\]\)/\\\1/g'
-
-# Sed substitution to delay expansion of an escaped shell variable in a
-# double_quote_subst'ed string.
-delay_variable_subst='s/\\\\\\\\\\\$/\\\\\\$/g'
-
-# Sed substitution to delay expansion of an escaped single quote.
-delay_single_quote_subst='s/'\''/'\'\\\\\\\'\''/g'
-
-# Sed substitution to avoid accidental globbing in evaled expressions
-no_glob_subst='s/\*/\\\*/g'
-
-ECHO='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'
-ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO
-ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO$ECHO
-
-{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking how to print strings" >&5
-printf %s "checking how to print strings... " >&6; }
-# Test print first, because it will be a builtin if present.
-if test "X`( print -r -- -n ) 2>/dev/null`" = X-n && \
- test "X`print -r -- $ECHO 2>/dev/null`" = "X$ECHO"; then
- ECHO='print -r --'
-elif test "X`printf %s $ECHO 2>/dev/null`" = "X$ECHO"; then
- ECHO='printf %s\n'
-else
- # Use this function as a fallback that always works.
- func_fallback_echo ()
- {
- eval 'cat <<_LTECHO_EOF
-$1
-_LTECHO_EOF'
- }
- ECHO='func_fallback_echo'
-fi
-
-# func_echo_all arg...
-# Invoke $ECHO with all args, space-separated.
-func_echo_all ()
-{
- $ECHO ""
-}
-
-case $ECHO in
- printf*) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: printf" >&5
-printf "%s\n" "printf" >&6; } ;;
- print*) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: print -r" >&5
-printf "%s\n" "print -r" >&6; } ;;
- *) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: cat" >&5
-printf "%s\n" "cat" >&6; } ;;
-esac
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for a sed that does not truncate output" >&5
-printf %s "checking for a sed that does not truncate output... " >&6; }
-if test ${ac_cv_path_SED+y}
-then :
- printf %s "(cached) " >&6
-else $as_nop
- ac_script=s/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb/
- for ac_i in 1 2 3 4 5 6 7; do
- ac_script="$ac_script$as_nl$ac_script"
- done
- echo "$ac_script" 2>/dev/null | sed 99q >conftest.sed
- { ac_script=; unset ac_script;}
- if test -z "$SED"; then
- ac_path_SED_found=false
- # Loop through the user's path and test for each of PROGNAME-LIST
- as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- case $as_dir in #(((
- '') as_dir=./ ;;
- */) ;;
- *) as_dir=$as_dir/ ;;
- esac
- for ac_prog in sed gsed
- do
- for ac_exec_ext in '' $ac_executable_extensions; do
- ac_path_SED="$as_dir$ac_prog$ac_exec_ext"
- as_fn_executable_p "$ac_path_SED" || continue
-# Check for GNU ac_path_SED and select it if it is found.
- # Check for GNU $ac_path_SED
-case `"$ac_path_SED" --version 2>&1` in
-*GNU*)
- ac_cv_path_SED="$ac_path_SED" ac_path_SED_found=:;;
-*)
- ac_count=0
- printf %s 0123456789 >"conftest.in"
- while :
- do
- cat "conftest.in" "conftest.in" >"conftest.tmp"
- mv "conftest.tmp" "conftest.in"
- cp "conftest.in" "conftest.nl"
- printf "%s\n" '' >> "conftest.nl"
- "$ac_path_SED" -f conftest.sed < "conftest.nl" >"conftest.out" 2>/dev/null || break
- diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
- as_fn_arith $ac_count + 1 && ac_count=$as_val
- if test $ac_count -gt ${ac_path_SED_max-0}; then
- # Best one so far, save it but keep looking for a better one
- ac_cv_path_SED="$ac_path_SED"
- ac_path_SED_max=$ac_count
- fi
- # 10*(2^10) chars as input seems more than enough
- test $ac_count -gt 10 && break
- done
- rm -f conftest.in conftest.tmp conftest.nl conftest.out;;
-esac
-
- $ac_path_SED_found && break 3
- done
- done
- done
-IFS=$as_save_IFS
- if test -z "$ac_cv_path_SED"; then
- as_fn_error $? "no acceptable sed could be found in \$PATH" "$LINENO" 5
- fi
-else
- ac_cv_path_SED=$SED
-fi
-
-fi
-{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_SED" >&5
-printf "%s\n" "$ac_cv_path_SED" >&6; }
- SED="$ac_cv_path_SED"
- rm -f conftest.sed
-
-test -z "$SED" && SED=sed
-Xsed="$SED -e 1s/^X//"
-
-
-
-
-
-
-
-
-
-
-
-{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for fgrep" >&5
-printf %s "checking for fgrep... " >&6; }
-if test ${ac_cv_path_FGREP+y}
-then :
- printf %s "(cached) " >&6
-else $as_nop
- if echo 'ab*c' | $GREP -F 'ab*c' >/dev/null 2>&1
- then ac_cv_path_FGREP="$GREP -F"
- else
- if test -z "$FGREP"; then
- ac_path_FGREP_found=false
- # Loop through the user's path and test for each of PROGNAME-LIST
- as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin
-do
- IFS=$as_save_IFS
- case $as_dir in #(((
- '') as_dir=./ ;;
- */) ;;
- *) as_dir=$as_dir/ ;;
- esac
- for ac_prog in fgrep
- do
- for ac_exec_ext in '' $ac_executable_extensions; do
- ac_path_FGREP="$as_dir$ac_prog$ac_exec_ext"
- as_fn_executable_p "$ac_path_FGREP" || continue
-# Check for GNU ac_path_FGREP and select it if it is found.
- # Check for GNU $ac_path_FGREP
-case `"$ac_path_FGREP" --version 2>&1` in
-*GNU*)
- ac_cv_path_FGREP="$ac_path_FGREP" ac_path_FGREP_found=:;;
-*)
- ac_count=0
- printf %s 0123456789 >"conftest.in"
- while :
- do
- cat "conftest.in" "conftest.in" >"conftest.tmp"
- mv "conftest.tmp" "conftest.in"
- cp "conftest.in" "conftest.nl"
- printf "%s\n" 'FGREP' >> "conftest.nl"
- "$ac_path_FGREP" FGREP < "conftest.nl" >"conftest.out" 2>/dev/null || break
- diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
- as_fn_arith $ac_count + 1 && ac_count=$as_val
- if test $ac_count -gt ${ac_path_FGREP_max-0}; then
- # Best one so far, save it but keep looking for a better one
- ac_cv_path_FGREP="$ac_path_FGREP"
- ac_path_FGREP_max=$ac_count
- fi
- # 10*(2^10) chars as input seems more than enough
- test $ac_count -gt 10 && break
- done
- rm -f conftest.in conftest.tmp conftest.nl conftest.out;;
-esac
-
- $ac_path_FGREP_found && break 3
- done
- done
- done
-IFS=$as_save_IFS
- if test -z "$ac_cv_path_FGREP"; then
- as_fn_error $? "no acceptable fgrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
- fi
-else
- ac_cv_path_FGREP=$FGREP
-fi
-
- fi
-fi
-{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_FGREP" >&5
-printf "%s\n" "$ac_cv_path_FGREP" >&6; }
- FGREP="$ac_cv_path_FGREP"
-
-
-test -z "$GREP" && GREP=grep
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-# Check whether --with-gnu-ld was given.
-if test ${with_gnu_ld+y}
-then :
- withval=$with_gnu_ld; test no = "$withval" || with_gnu_ld=yes
-else $as_nop
- with_gnu_ld=no
-fi
-
-ac_prog=ld
-if test yes = "$GCC"; then
- # Check if gcc -print-prog-name=ld gives a path.
- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for ld used by $CC" >&5
-printf %s "checking for ld used by $CC... " >&6; }
- case $host in
- *-*-mingw*)
- # gcc leaves a trailing carriage return, which upsets mingw
- ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;;
- *)
- ac_prog=`($CC -print-prog-name=ld) 2>&5` ;;
- esac
- case $ac_prog in
- # Accept absolute paths.
- [\\/]* | ?:[\\/]*)
- re_direlt='/[^/][^/]*/\.\./'
- # Canonicalize the pathname of ld
- ac_prog=`$ECHO "$ac_prog"| $SED 's%\\\\%/%g'`
- while $ECHO "$ac_prog" | $GREP "$re_direlt" > /dev/null 2>&1; do
- ac_prog=`$ECHO $ac_prog| $SED "s%$re_direlt%/%"`
- done
- test -z "$LD" && LD=$ac_prog
- ;;
- "")
- # If it fails, then pretend we aren't using GCC.
- ac_prog=ld
- ;;
- *)
- # If it is relative, then search for the first ld in PATH.
- with_gnu_ld=unknown
- ;;
- esac
-elif test yes = "$with_gnu_ld"; then
- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for GNU ld" >&5
-printf %s "checking for GNU ld... " >&6; }
-else
- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for non-GNU ld" >&5
-printf %s "checking for non-GNU ld... " >&6; }
-fi
-if test ${lt_cv_path_LD+y}
-then :
- printf %s "(cached) " >&6
-else $as_nop
- if test -z "$LD"; then
- lt_save_ifs=$IFS; IFS=$PATH_SEPARATOR
- for ac_dir in $PATH; do
- IFS=$lt_save_ifs
- test -z "$ac_dir" && ac_dir=.
- if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then
- lt_cv_path_LD=$ac_dir/$ac_prog
- # Check to see if the program is GNU ld. I'd rather use --version,
- # but apparently some variants of GNU ld only accept -v.
- # Break only if it was the GNU/non-GNU ld that we prefer.
- case `"$lt_cv_path_LD" -v 2>&1 &5
-printf "%s\n" "$LD" >&6; }
-else
- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
-printf "%s\n" "no" >&6; }
-fi
-test -z "$LD" && as_fn_error $? "no acceptable ld found in \$PATH" "$LINENO" 5
-{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if the linker ($LD) is GNU ld" >&5
-printf %s "checking if the linker ($LD) is GNU ld... " >&6; }
-if test ${lt_cv_prog_gnu_ld+y}
-then :
- printf %s "(cached) " >&6
-else $as_nop
- # I'd rather use --version here, but apparently some GNU lds only accept -v.
-case `$LD -v 2>&1 &5
-printf "%s\n" "$lt_cv_prog_gnu_ld" >&6; }
-with_gnu_ld=$lt_cv_prog_gnu_ld
-
-
-
-
-
-
-
-
-
-{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for BSD- or MS-compatible name lister (nm)" >&5
-printf %s "checking for BSD- or MS-compatible name lister (nm)... " >&6; }
-if test ${lt_cv_path_NM+y}
-then :
- printf %s "(cached) " >&6
-else $as_nop
- if test -n "$NM"; then
- # Let the user override the test.
- lt_cv_path_NM=$NM
-else
- lt_nm_to_check=${ac_tool_prefix}nm
- if test -n "$ac_tool_prefix" && test "$build" = "$host"; then
- lt_nm_to_check="$lt_nm_to_check nm"
- fi
- for lt_tmp_nm in $lt_nm_to_check; do
- lt_save_ifs=$IFS; IFS=$PATH_SEPARATOR
- for ac_dir in $PATH /usr/ccs/bin/elf /usr/ccs/bin /usr/ucb /bin; do
- IFS=$lt_save_ifs
- test -z "$ac_dir" && ac_dir=.
- tmp_nm=$ac_dir/$lt_tmp_nm
- if test -f "$tmp_nm" || test -f "$tmp_nm$ac_exeext"; then
- # Check to see if the nm accepts a BSD-compat flag.
- # Adding the 'sed 1q' prevents false positives on HP-UX, which says:
- # nm: unknown option "B" ignored
- # Tru64's nm complains that /dev/null is an invalid object file
- # MSYS converts /dev/null to NUL, MinGW nm treats NUL as empty
- case $build_os in
- mingw*) lt_bad_file=conftest.nm/nofile ;;
- *) lt_bad_file=/dev/null ;;
- esac
- case `"$tmp_nm" -B $lt_bad_file 2>&1 | $SED '1q'` in
- *$lt_bad_file* | *'Invalid file or object type'*)
- lt_cv_path_NM="$tmp_nm -B"
- break 2
- ;;
- *)
- case `"$tmp_nm" -p /dev/null 2>&1 | $SED '1q'` in
- */dev/null*)
- lt_cv_path_NM="$tmp_nm -p"
- break 2
- ;;
- *)
- lt_cv_path_NM=${lt_cv_path_NM="$tmp_nm"} # keep the first match, but
- continue # so that we can try to find one that supports BSD flags
- ;;
- esac
- ;;
- esac
- fi
- done
- IFS=$lt_save_ifs
- done
- : ${lt_cv_path_NM=no}
-fi
-fi
-{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_path_NM" >&5
-printf "%s\n" "$lt_cv_path_NM" >&6; }
-if test no != "$lt_cv_path_NM"; then
- NM=$lt_cv_path_NM
-else
- # Didn't find any BSD compatible name lister, look for dumpbin.
- if test -n "$DUMPBIN"; then :
- # Let the user override the test.
- else
- if test -n "$ac_tool_prefix"; then
- for ac_prog in dumpbin "link -dump"
- do
- # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.
-set dummy $ac_tool_prefix$ac_prog; ac_word=$2
-{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-printf %s "checking for $ac_word... " >&6; }
-if test ${ac_cv_prog_DUMPBIN+y}
-then :
- printf %s "(cached) " >&6
-else $as_nop
- if test -n "$DUMPBIN"; then
- ac_cv_prog_DUMPBIN="$DUMPBIN" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- case $as_dir in #(((
- '') as_dir=./ ;;
- */) ;;
- *) as_dir=$as_dir/ ;;
- esac
- for ac_exec_ext in '' $ac_executable_extensions; do
- if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
- ac_cv_prog_DUMPBIN="$ac_tool_prefix$ac_prog"
- printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-DUMPBIN=$ac_cv_prog_DUMPBIN
-if test -n "$DUMPBIN"; then
- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $DUMPBIN" >&5
-printf "%s\n" "$DUMPBIN" >&6; }
-else
- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
-printf "%s\n" "no" >&6; }
-fi
-
-
- test -n "$DUMPBIN" && break
- done
-fi
-if test -z "$DUMPBIN"; then
- ac_ct_DUMPBIN=$DUMPBIN
- for ac_prog in dumpbin "link -dump"
-do
- # Extract the first word of "$ac_prog", so it can be a program name with args.
-set dummy $ac_prog; ac_word=$2
-{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-printf %s "checking for $ac_word... " >&6; }
-if test ${ac_cv_prog_ac_ct_DUMPBIN+y}
-then :
- printf %s "(cached) " >&6
-else $as_nop
- if test -n "$ac_ct_DUMPBIN"; then
- ac_cv_prog_ac_ct_DUMPBIN="$ac_ct_DUMPBIN" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- case $as_dir in #(((
- '') as_dir=./ ;;
- */) ;;
- *) as_dir=$as_dir/ ;;
- esac
- for ac_exec_ext in '' $ac_executable_extensions; do
- if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
- ac_cv_prog_ac_ct_DUMPBIN="$ac_prog"
- printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_DUMPBIN=$ac_cv_prog_ac_ct_DUMPBIN
-if test -n "$ac_ct_DUMPBIN"; then
- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_DUMPBIN" >&5
-printf "%s\n" "$ac_ct_DUMPBIN" >&6; }
-else
- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
-printf "%s\n" "no" >&6; }
-fi
-
-
- test -n "$ac_ct_DUMPBIN" && break
-done
-
- if test "x$ac_ct_DUMPBIN" = x; then
- DUMPBIN=":"
- else
- case $cross_compiling:$ac_tool_warned in
-yes:)
-{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
- DUMPBIN=$ac_ct_DUMPBIN
- fi
-fi
-
- case `$DUMPBIN -symbols -headers /dev/null 2>&1 | $SED '1q'` in
- *COFF*)
- DUMPBIN="$DUMPBIN -symbols -headers"
- ;;
- *)
- DUMPBIN=:
- ;;
- esac
- fi
-
- if test : != "$DUMPBIN"; then
- NM=$DUMPBIN
- fi
-fi
-test -z "$NM" && NM=nm
-
-
-
-
-
-
-{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking the name lister ($NM) interface" >&5
-printf %s "checking the name lister ($NM) interface... " >&6; }
-if test ${lt_cv_nm_interface+y}
-then :
- printf %s "(cached) " >&6
-else $as_nop
- lt_cv_nm_interface="BSD nm"
- echo "int some_variable = 0;" > conftest.$ac_ext
- (eval echo "\"\$as_me:$LINENO: $ac_compile\"" >&5)
- (eval "$ac_compile" 2>conftest.err)
- cat conftest.err >&5
- (eval echo "\"\$as_me:$LINENO: $NM \\\"conftest.$ac_objext\\\"\"" >&5)
- (eval "$NM \"conftest.$ac_objext\"" 2>conftest.err > conftest.out)
- cat conftest.err >&5
- (eval echo "\"\$as_me:$LINENO: output\"" >&5)
- cat conftest.out >&5
- if $GREP 'External.*some_variable' conftest.out > /dev/null; then
- lt_cv_nm_interface="MS dumpbin"
- fi
- rm -f conftest*
-fi
-{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_nm_interface" >&5
-printf "%s\n" "$lt_cv_nm_interface" >&6; }
-
-{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether ln -s works" >&5
-printf %s "checking whether ln -s works... " >&6; }
-LN_S=$as_ln_s
-if test "$LN_S" = "ln -s"; then
- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-printf "%s\n" "yes" >&6; }
-else
- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no, using $LN_S" >&5
-printf "%s\n" "no, using $LN_S" >&6; }
-fi
-
-# find the maximum length of command line arguments
-{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking the maximum length of command line arguments" >&5
-printf %s "checking the maximum length of command line arguments... " >&6; }
-if test ${lt_cv_sys_max_cmd_len+y}
-then :
- printf %s "(cached) " >&6
-else $as_nop
- i=0
- teststring=ABCD
-
- case $build_os in
- msdosdjgpp*)
- # On DJGPP, this test can blow up pretty badly due to problems in libc
- # (any single argument exceeding 2000 bytes causes a buffer overrun
- # during glob expansion). Even if it were fixed, the result of this
- # check would be larger than it should be.
- lt_cv_sys_max_cmd_len=12288; # 12K is about right
- ;;
-
- gnu*)
- # Under GNU Hurd, this test is not required because there is
- # no limit to the length of command line arguments.
- # Libtool will interpret -1 as no limit whatsoever
- lt_cv_sys_max_cmd_len=-1;
- ;;
-
- cygwin* | mingw* | cegcc*)
- # On Win9x/ME, this test blows up -- it succeeds, but takes
- # about 5 minutes as the teststring grows exponentially.
- # Worse, since 9x/ME are not pre-emptively multitasking,
- # you end up with a "frozen" computer, even though with patience
- # the test eventually succeeds (with a max line length of 256k).
- # Instead, let's just punt: use the minimum linelength reported by
- # all of the supported platforms: 8192 (on NT/2K/XP).
- lt_cv_sys_max_cmd_len=8192;
- ;;
-
- mint*)
- # On MiNT this can take a long time and run out of memory.
- lt_cv_sys_max_cmd_len=8192;
- ;;
-
- amigaos*)
- # On AmigaOS with pdksh, this test takes hours, literally.
- # So we just punt and use a minimum line length of 8192.
- lt_cv_sys_max_cmd_len=8192;
- ;;
-
- bitrig* | darwin* | dragonfly* | freebsd* | midnightbsd* | netbsd* | openbsd*)
- # This has been around since 386BSD, at least. Likely further.
- if test -x /sbin/sysctl; then
- lt_cv_sys_max_cmd_len=`/sbin/sysctl -n kern.argmax`
- elif test -x /usr/sbin/sysctl; then
- lt_cv_sys_max_cmd_len=`/usr/sbin/sysctl -n kern.argmax`
- else
- lt_cv_sys_max_cmd_len=65536 # usable default for all BSDs
- fi
- # And add a safety zone
- lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4`
- lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3`
- ;;
-
- interix*)
- # We know the value 262144 and hardcode it with a safety zone (like BSD)
- lt_cv_sys_max_cmd_len=196608
- ;;
-
- os2*)
- # The test takes a long time on OS/2.
- lt_cv_sys_max_cmd_len=8192
- ;;
-
- osf*)
- # Dr. Hans Ekkehard Plesser reports seeing a kernel panic running configure
- # due to this test when exec_disable_arg_limit is 1 on Tru64. It is not
- # nice to cause kernel panics so lets avoid the loop below.
- # First set a reasonable default.
- lt_cv_sys_max_cmd_len=16384
- #
- if test -x /sbin/sysconfig; then
- case `/sbin/sysconfig -q proc exec_disable_arg_limit` in
- *1*) lt_cv_sys_max_cmd_len=-1 ;;
- esac
- fi
- ;;
- sco3.2v5*)
- lt_cv_sys_max_cmd_len=102400
- ;;
- sysv5* | sco5v6* | sysv4.2uw2*)
- kargmax=`grep ARG_MAX /etc/conf/cf.d/stune 2>/dev/null`
- if test -n "$kargmax"; then
- lt_cv_sys_max_cmd_len=`echo $kargmax | $SED 's/.*[ ]//'`
- else
- lt_cv_sys_max_cmd_len=32768
- fi
- ;;
- *)
- lt_cv_sys_max_cmd_len=`(getconf ARG_MAX) 2> /dev/null`
- if test -n "$lt_cv_sys_max_cmd_len" && \
- test undefined != "$lt_cv_sys_max_cmd_len"; then
- lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4`
- lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3`
- else
- # Make teststring a little bigger before we do anything with it.
- # a 1K string should be a reasonable start.
- for i in 1 2 3 4 5 6 7 8; do
- teststring=$teststring$teststring
- done
- SHELL=${SHELL-${CONFIG_SHELL-/bin/sh}}
- # If test is not a shell built-in, we'll probably end up computing a
- # maximum length that is only half of the actual maximum length, but
- # we can't tell.
- while { test X`env echo "$teststring$teststring" 2>/dev/null` \
- = "X$teststring$teststring"; } >/dev/null 2>&1 &&
- test 17 != "$i" # 1/2 MB should be enough
- do
- i=`expr $i + 1`
- teststring=$teststring$teststring
- done
- # Only check the string length outside the loop.
- lt_cv_sys_max_cmd_len=`expr "X$teststring" : ".*" 2>&1`
- teststring=
- # Add a significant safety factor because C++ compilers can tack on
- # massive amounts of additional arguments before passing them to the
- # linker. It appears as though 1/2 is a usable value.
- lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 2`
- fi
- ;;
- esac
-
-fi
-
-if test -n "$lt_cv_sys_max_cmd_len"; then
- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_sys_max_cmd_len" >&5
-printf "%s\n" "$lt_cv_sys_max_cmd_len" >&6; }
-else
- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: none" >&5
-printf "%s\n" "none" >&6; }
-fi
-max_cmd_len=$lt_cv_sys_max_cmd_len
-
-
-
-
-
-
-: ${CP="cp -f"}
-: ${MV="mv -f"}
-: ${RM="rm -f"}
-
-if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then
- lt_unset=unset
-else
- lt_unset=false
-fi
-
-
-
-
-
-# test EBCDIC or ASCII
-case `echo X|tr X '\101'` in
- A) # ASCII based system
- # \n is not interpreted correctly by Solaris 8 /usr/ucb/tr
- lt_SP2NL='tr \040 \012'
- lt_NL2SP='tr \015\012 \040\040'
- ;;
- *) # EBCDIC based system
- lt_SP2NL='tr \100 \n'
- lt_NL2SP='tr \r\n \100\100'
- ;;
-esac
-
-
-
-
-
-
-
-
-
-{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking how to convert $build file names to $host format" >&5
-printf %s "checking how to convert $build file names to $host format... " >&6; }
-if test ${lt_cv_to_host_file_cmd+y}
-then :
- printf %s "(cached) " >&6
-else $as_nop
- case $host in
- *-*-mingw* )
- case $build in
- *-*-mingw* ) # actually msys
- lt_cv_to_host_file_cmd=func_convert_file_msys_to_w32
- ;;
- *-*-cygwin* )
- lt_cv_to_host_file_cmd=func_convert_file_cygwin_to_w32
- ;;
- * ) # otherwise, assume *nix
- lt_cv_to_host_file_cmd=func_convert_file_nix_to_w32
- ;;
- esac
- ;;
- *-*-cygwin* )
- case $build in
- *-*-mingw* ) # actually msys
- lt_cv_to_host_file_cmd=func_convert_file_msys_to_cygwin
- ;;
- *-*-cygwin* )
- lt_cv_to_host_file_cmd=func_convert_file_noop
- ;;
- * ) # otherwise, assume *nix
- lt_cv_to_host_file_cmd=func_convert_file_nix_to_cygwin
- ;;
- esac
- ;;
- * ) # unhandled hosts (and "normal" native builds)
- lt_cv_to_host_file_cmd=func_convert_file_noop
- ;;
-esac
-
-fi
-
-to_host_file_cmd=$lt_cv_to_host_file_cmd
-{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_to_host_file_cmd" >&5
-printf "%s\n" "$lt_cv_to_host_file_cmd" >&6; }
-
-
-
-
-
-{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking how to convert $build file names to toolchain format" >&5
-printf %s "checking how to convert $build file names to toolchain format... " >&6; }
-if test ${lt_cv_to_tool_file_cmd+y}
-then :
- printf %s "(cached) " >&6
-else $as_nop
- #assume ordinary cross tools, or native build.
-lt_cv_to_tool_file_cmd=func_convert_file_noop
-case $host in
- *-*-mingw* )
- case $build in
- *-*-mingw* ) # actually msys
- lt_cv_to_tool_file_cmd=func_convert_file_msys_to_w32
- ;;
- esac
- ;;
-esac
-
-fi
-
-to_tool_file_cmd=$lt_cv_to_tool_file_cmd
-{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_to_tool_file_cmd" >&5
-printf "%s\n" "$lt_cv_to_tool_file_cmd" >&6; }
-
-
-
-
-
-{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $LD option to reload object files" >&5
-printf %s "checking for $LD option to reload object files... " >&6; }
-if test ${lt_cv_ld_reload_flag+y}
-then :
- printf %s "(cached) " >&6
-else $as_nop
- lt_cv_ld_reload_flag='-r'
-fi
-{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ld_reload_flag" >&5
-printf "%s\n" "$lt_cv_ld_reload_flag" >&6; }
-reload_flag=$lt_cv_ld_reload_flag
-case $reload_flag in
-"" | " "*) ;;
-*) reload_flag=" $reload_flag" ;;
-esac
-reload_cmds='$LD$reload_flag -o $output$reload_objs'
-case $host_os in
- cygwin* | mingw* | pw32* | cegcc*)
- if test yes != "$GCC"; then
- reload_cmds=false
- fi
- ;;
- darwin*)
- if test yes = "$GCC"; then
- reload_cmds='$LTCC $LTCFLAGS -nostdlib $wl-r -o $output$reload_objs'
- else
- reload_cmds='$LD$reload_flag -o $output$reload_objs'
- fi
- ;;
-esac
-
-
-
-
-
-
-
-
-
-if test -n "$ac_tool_prefix"; then
- # Extract the first word of "${ac_tool_prefix}file", so it can be a program name with args.
-set dummy ${ac_tool_prefix}file; ac_word=$2
-{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-printf %s "checking for $ac_word... " >&6; }
-if test ${ac_cv_prog_FILECMD+y}
-then :
- printf %s "(cached) " >&6
-else $as_nop
- if test -n "$FILECMD"; then
- ac_cv_prog_FILECMD="$FILECMD" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- case $as_dir in #(((
- '') as_dir=./ ;;
- */) ;;
- *) as_dir=$as_dir/ ;;
- esac
- for ac_exec_ext in '' $ac_executable_extensions; do
- if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
- ac_cv_prog_FILECMD="${ac_tool_prefix}file"
- printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-FILECMD=$ac_cv_prog_FILECMD
-if test -n "$FILECMD"; then
- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $FILECMD" >&5
-printf "%s\n" "$FILECMD" >&6; }
-else
- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
-printf "%s\n" "no" >&6; }
-fi
-
-
-fi
-if test -z "$ac_cv_prog_FILECMD"; then
- ac_ct_FILECMD=$FILECMD
- # Extract the first word of "file", so it can be a program name with args.
-set dummy file; ac_word=$2
-{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-printf %s "checking for $ac_word... " >&6; }
-if test ${ac_cv_prog_ac_ct_FILECMD+y}
-then :
- printf %s "(cached) " >&6
-else $as_nop
- if test -n "$ac_ct_FILECMD"; then
- ac_cv_prog_ac_ct_FILECMD="$ac_ct_FILECMD" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- case $as_dir in #(((
- '') as_dir=./ ;;
- */) ;;
- *) as_dir=$as_dir/ ;;
- esac
- for ac_exec_ext in '' $ac_executable_extensions; do
- if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
- ac_cv_prog_ac_ct_FILECMD="file"
- printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_FILECMD=$ac_cv_prog_ac_ct_FILECMD
-if test -n "$ac_ct_FILECMD"; then
- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_FILECMD" >&5
-printf "%s\n" "$ac_ct_FILECMD" >&6; }
-else
- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
-printf "%s\n" "no" >&6; }
-fi
-
- if test "x$ac_ct_FILECMD" = x; then
- FILECMD=":"
- else
- case $cross_compiling:$ac_tool_warned in
-yes:)
-{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
- FILECMD=$ac_ct_FILECMD
- fi
-else
- FILECMD="$ac_cv_prog_FILECMD"
-fi
-
-
-
-
-
-
-
-if test -n "$ac_tool_prefix"; then
- # Extract the first word of "${ac_tool_prefix}objdump", so it can be a program name with args.
-set dummy ${ac_tool_prefix}objdump; ac_word=$2
-{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-printf %s "checking for $ac_word... " >&6; }
-if test ${ac_cv_prog_OBJDUMP+y}
-then :
- printf %s "(cached) " >&6
-else $as_nop
- if test -n "$OBJDUMP"; then
- ac_cv_prog_OBJDUMP="$OBJDUMP" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- case $as_dir in #(((
- '') as_dir=./ ;;
- */) ;;
- *) as_dir=$as_dir/ ;;
- esac
- for ac_exec_ext in '' $ac_executable_extensions; do
- if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
- ac_cv_prog_OBJDUMP="${ac_tool_prefix}objdump"
- printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-OBJDUMP=$ac_cv_prog_OBJDUMP
-if test -n "$OBJDUMP"; then
- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $OBJDUMP" >&5
-printf "%s\n" "$OBJDUMP" >&6; }
-else
- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
-printf "%s\n" "no" >&6; }
-fi
-
-
-fi
-if test -z "$ac_cv_prog_OBJDUMP"; then
- ac_ct_OBJDUMP=$OBJDUMP
- # Extract the first word of "objdump", so it can be a program name with args.
-set dummy objdump; ac_word=$2
-{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-printf %s "checking for $ac_word... " >&6; }
-if test ${ac_cv_prog_ac_ct_OBJDUMP+y}
-then :
- printf %s "(cached) " >&6
-else $as_nop
- if test -n "$ac_ct_OBJDUMP"; then
- ac_cv_prog_ac_ct_OBJDUMP="$ac_ct_OBJDUMP" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- case $as_dir in #(((
- '') as_dir=./ ;;
- */) ;;
- *) as_dir=$as_dir/ ;;
- esac
- for ac_exec_ext in '' $ac_executable_extensions; do
- if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
- ac_cv_prog_ac_ct_OBJDUMP="objdump"
- printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_OBJDUMP=$ac_cv_prog_ac_ct_OBJDUMP
-if test -n "$ac_ct_OBJDUMP"; then
- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_OBJDUMP" >&5
-printf "%s\n" "$ac_ct_OBJDUMP" >&6; }
-else
- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
-printf "%s\n" "no" >&6; }
-fi
-
- if test "x$ac_ct_OBJDUMP" = x; then
- OBJDUMP="false"
- else
- case $cross_compiling:$ac_tool_warned in
-yes:)
-{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
- OBJDUMP=$ac_ct_OBJDUMP
- fi
-else
- OBJDUMP="$ac_cv_prog_OBJDUMP"
-fi
-
-test -z "$OBJDUMP" && OBJDUMP=objdump
-
-
-
-
-
-
-{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking how to recognize dependent libraries" >&5
-printf %s "checking how to recognize dependent libraries... " >&6; }
-if test ${lt_cv_deplibs_check_method+y}
-then :
- printf %s "(cached) " >&6
-else $as_nop
- lt_cv_file_magic_cmd='$MAGIC_CMD'
-lt_cv_file_magic_test_file=
-lt_cv_deplibs_check_method='unknown'
-# Need to set the preceding variable on all platforms that support
-# interlibrary dependencies.
-# 'none' -- dependencies not supported.
-# 'unknown' -- same as none, but documents that we really don't know.
-# 'pass_all' -- all dependencies passed with no checks.
-# 'test_compile' -- check by making test program.
-# 'file_magic [[regex]]' -- check by looking for files in library path
-# that responds to the $file_magic_cmd with a given extended regex.
-# If you have 'file' or equivalent on your system and you're not sure
-# whether 'pass_all' will *always* work, you probably want this one.
-
-case $host_os in
-aix[4-9]*)
- lt_cv_deplibs_check_method=pass_all
- ;;
-
-beos*)
- lt_cv_deplibs_check_method=pass_all
- ;;
-
-bsdi[45]*)
- lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (shared object|dynamic lib)'
- lt_cv_file_magic_cmd='$FILECMD -L'
- lt_cv_file_magic_test_file=/shlib/libc.so
- ;;
-
-cygwin*)
- # func_win32_libid is a shell function defined in ltmain.sh
- lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL'
- lt_cv_file_magic_cmd='func_win32_libid'
- ;;
-
-mingw* | pw32*)
- # Base MSYS/MinGW do not provide the 'file' command needed by
- # func_win32_libid shell function, so use a weaker test based on 'objdump',
- # unless we find 'file', for example because we are cross-compiling.
- if ( file / ) >/dev/null 2>&1; then
- lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL'
- lt_cv_file_magic_cmd='func_win32_libid'
- else
- # Keep this pattern in sync with the one in func_win32_libid.
- lt_cv_deplibs_check_method='file_magic file format (pei*-i386(.*architecture: i386)?|pe-arm-wince|pe-x86-64)'
- lt_cv_file_magic_cmd='$OBJDUMP -f'
- fi
- ;;
-
-cegcc*)
- # use the weaker test based on 'objdump'. See mingw*.
- lt_cv_deplibs_check_method='file_magic file format pe-arm-.*little(.*architecture: arm)?'
- lt_cv_file_magic_cmd='$OBJDUMP -f'
- ;;
-
-darwin* | rhapsody*)
- lt_cv_deplibs_check_method=pass_all
- ;;
-
-freebsd* | dragonfly* | midnightbsd*)
- if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then
- case $host_cpu in
- i*86 )
- # Not sure whether the presence of OpenBSD here was a mistake.
- # Let's accept both of them until this is cleared up.
- lt_cv_deplibs_check_method='file_magic (FreeBSD|OpenBSD|DragonFly)/i[3-9]86 (compact )?demand paged shared library'
- lt_cv_file_magic_cmd=$FILECMD
- lt_cv_file_magic_test_file=`echo /usr/lib/libc.so.*`
- ;;
- esac
- else
- lt_cv_deplibs_check_method=pass_all
- fi
- ;;
-
-haiku*)
- lt_cv_deplibs_check_method=pass_all
- ;;
-
-hpux10.20* | hpux11*)
- lt_cv_file_magic_cmd=$FILECMD
- case $host_cpu in
- ia64*)
- lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF-[0-9][0-9]) shared object file - IA64'
- lt_cv_file_magic_test_file=/usr/lib/hpux32/libc.so
- ;;
- hppa*64*)
- lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF[ -][0-9][0-9])(-bit)?( [LM]SB)? shared object( file)?[, -]* PA-RISC [0-9]\.[0-9]'
- lt_cv_file_magic_test_file=/usr/lib/pa20_64/libc.sl
- ;;
- *)
- lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|PA-RISC[0-9]\.[0-9]) shared library'
- lt_cv_file_magic_test_file=/usr/lib/libc.sl
- ;;
- esac
- ;;
-
-interix[3-9]*)
- # PIC code is broken on Interix 3.x, that's why |\.a not |_pic\.a here
- lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so|\.a)$'
- ;;
-
-irix5* | irix6* | nonstopux*)
- case $LD in
- *-32|*"-32 ") libmagic=32-bit;;
- *-n32|*"-n32 ") libmagic=N32;;
- *-64|*"-64 ") libmagic=64-bit;;
- *) libmagic=never-match;;
- esac
- lt_cv_deplibs_check_method=pass_all
- ;;
-
-# This must be glibc/ELF.
-linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*)
- lt_cv_deplibs_check_method=pass_all
- ;;
-
-netbsd* | netbsdelf*-gnu)
- if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then
- lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|_pic\.a)$'
- else
- lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so|_pic\.a)$'
- fi
- ;;
-
-newos6*)
- lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (executable|dynamic lib)'
- lt_cv_file_magic_cmd=$FILECMD
- lt_cv_file_magic_test_file=/usr/lib/libnls.so
- ;;
-
-*nto* | *qnx*)
- lt_cv_deplibs_check_method=pass_all
- ;;
-
-openbsd* | bitrig*)
- if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`"; then
- lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|\.so|_pic\.a)$'
- else
- lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|_pic\.a)$'
- fi
- ;;
-
-osf3* | osf4* | osf5*)
- lt_cv_deplibs_check_method=pass_all
- ;;
-
-rdos*)
- lt_cv_deplibs_check_method=pass_all
- ;;
-
-solaris*)
- lt_cv_deplibs_check_method=pass_all
- ;;
-
-sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*)
- lt_cv_deplibs_check_method=pass_all
- ;;
-
-sysv4 | sysv4.3*)
- case $host_vendor in
- motorola)
- lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (shared object|dynamic lib) M[0-9][0-9]* Version [0-9]'
- lt_cv_file_magic_test_file=`echo /usr/lib/libc.so*`
- ;;
- ncr)
- lt_cv_deplibs_check_method=pass_all
- ;;
- sequent)
- lt_cv_file_magic_cmd='/bin/file'
- lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [LM]SB (shared object|dynamic lib )'
- ;;
- sni)
- lt_cv_file_magic_cmd='/bin/file'
- lt_cv_deplibs_check_method="file_magic ELF [0-9][0-9]*-bit [LM]SB dynamic lib"
- lt_cv_file_magic_test_file=/lib/libc.so
- ;;
- siemens)
- lt_cv_deplibs_check_method=pass_all
- ;;
- pc)
- lt_cv_deplibs_check_method=pass_all
- ;;
- esac
- ;;
-
-tpf*)
- lt_cv_deplibs_check_method=pass_all
- ;;
-os2*)
- lt_cv_deplibs_check_method=pass_all
- ;;
-esac
-
-fi
-{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_deplibs_check_method" >&5
-printf "%s\n" "$lt_cv_deplibs_check_method" >&6; }
-
-file_magic_glob=
-want_nocaseglob=no
-if test "$build" = "$host"; then
- case $host_os in
- mingw* | pw32*)
- if ( shopt | grep nocaseglob ) >/dev/null 2>&1; then
- want_nocaseglob=yes
- else
- file_magic_glob=`echo aAbBcCdDeEfFgGhHiIjJkKlLmMnNoOpPqQrRsStTuUvVwWxXyYzZ | $SED -e "s/\(..\)/s\/[\1]\/[\1]\/g;/g"`
- fi
- ;;
- esac
-fi
-
-file_magic_cmd=$lt_cv_file_magic_cmd
-deplibs_check_method=$lt_cv_deplibs_check_method
-test -z "$deplibs_check_method" && deplibs_check_method=unknown
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-if test -n "$ac_tool_prefix"; then
- # Extract the first word of "${ac_tool_prefix}dlltool", so it can be a program name with args.
-set dummy ${ac_tool_prefix}dlltool; ac_word=$2
-{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-printf %s "checking for $ac_word... " >&6; }
-if test ${ac_cv_prog_DLLTOOL+y}
-then :
- printf %s "(cached) " >&6
-else $as_nop
- if test -n "$DLLTOOL"; then
- ac_cv_prog_DLLTOOL="$DLLTOOL" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- case $as_dir in #(((
- '') as_dir=./ ;;
- */) ;;
- *) as_dir=$as_dir/ ;;
- esac
- for ac_exec_ext in '' $ac_executable_extensions; do
- if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
- ac_cv_prog_DLLTOOL="${ac_tool_prefix}dlltool"
- printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-DLLTOOL=$ac_cv_prog_DLLTOOL
-if test -n "$DLLTOOL"; then
- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $DLLTOOL" >&5
-printf "%s\n" "$DLLTOOL" >&6; }
-else
- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
-printf "%s\n" "no" >&6; }
-fi
-
-
-fi
-if test -z "$ac_cv_prog_DLLTOOL"; then
- ac_ct_DLLTOOL=$DLLTOOL
- # Extract the first word of "dlltool", so it can be a program name with args.
-set dummy dlltool; ac_word=$2
-{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-printf %s "checking for $ac_word... " >&6; }
-if test ${ac_cv_prog_ac_ct_DLLTOOL+y}
-then :
- printf %s "(cached) " >&6
-else $as_nop
- if test -n "$ac_ct_DLLTOOL"; then
- ac_cv_prog_ac_ct_DLLTOOL="$ac_ct_DLLTOOL" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- case $as_dir in #(((
- '') as_dir=./ ;;
- */) ;;
- *) as_dir=$as_dir/ ;;
- esac
- for ac_exec_ext in '' $ac_executable_extensions; do
- if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
- ac_cv_prog_ac_ct_DLLTOOL="dlltool"
- printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_DLLTOOL=$ac_cv_prog_ac_ct_DLLTOOL
-if test -n "$ac_ct_DLLTOOL"; then
- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_DLLTOOL" >&5
-printf "%s\n" "$ac_ct_DLLTOOL" >&6; }
-else
- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
-printf "%s\n" "no" >&6; }
-fi
-
- if test "x$ac_ct_DLLTOOL" = x; then
- DLLTOOL="false"
- else
- case $cross_compiling:$ac_tool_warned in
-yes:)
-{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
- DLLTOOL=$ac_ct_DLLTOOL
- fi
-else
- DLLTOOL="$ac_cv_prog_DLLTOOL"
-fi
-
-test -z "$DLLTOOL" && DLLTOOL=dlltool
-
-
-
-
-
-
-
-{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking how to associate runtime and link libraries" >&5
-printf %s "checking how to associate runtime and link libraries... " >&6; }
-if test ${lt_cv_sharedlib_from_linklib_cmd+y}
-then :
- printf %s "(cached) " >&6
-else $as_nop
- lt_cv_sharedlib_from_linklib_cmd='unknown'
-
-case $host_os in
-cygwin* | mingw* | pw32* | cegcc*)
- # two different shell functions defined in ltmain.sh;
- # decide which one to use based on capabilities of $DLLTOOL
- case `$DLLTOOL --help 2>&1` in
- *--identify-strict*)
- lt_cv_sharedlib_from_linklib_cmd=func_cygming_dll_for_implib
- ;;
- *)
- lt_cv_sharedlib_from_linklib_cmd=func_cygming_dll_for_implib_fallback
- ;;
- esac
- ;;
-*)
- # fallback: assume linklib IS sharedlib
- lt_cv_sharedlib_from_linklib_cmd=$ECHO
- ;;
-esac
-
-fi
-{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_sharedlib_from_linklib_cmd" >&5
-printf "%s\n" "$lt_cv_sharedlib_from_linklib_cmd" >&6; }
-sharedlib_from_linklib_cmd=$lt_cv_sharedlib_from_linklib_cmd
-test -z "$sharedlib_from_linklib_cmd" && sharedlib_from_linklib_cmd=$ECHO
-
-
-
-
-
-
-
-if test -n "$ac_tool_prefix"; then
- for ac_prog in ar
- do
- # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.
-set dummy $ac_tool_prefix$ac_prog; ac_word=$2
-{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-printf %s "checking for $ac_word... " >&6; }
-if test ${ac_cv_prog_AR+y}
-then :
- printf %s "(cached) " >&6
-else $as_nop
- if test -n "$AR"; then
- ac_cv_prog_AR="$AR" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- case $as_dir in #(((
- '') as_dir=./ ;;
- */) ;;
- *) as_dir=$as_dir/ ;;
- esac
- for ac_exec_ext in '' $ac_executable_extensions; do
- if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
- ac_cv_prog_AR="$ac_tool_prefix$ac_prog"
- printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-AR=$ac_cv_prog_AR
-if test -n "$AR"; then
- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $AR" >&5
-printf "%s\n" "$AR" >&6; }
-else
- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
-printf "%s\n" "no" >&6; }
-fi
-
-
- test -n "$AR" && break
- done
-fi
-if test -z "$AR"; then
- ac_ct_AR=$AR
- for ac_prog in ar
-do
- # Extract the first word of "$ac_prog", so it can be a program name with args.
-set dummy $ac_prog; ac_word=$2
-{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-printf %s "checking for $ac_word... " >&6; }
-if test ${ac_cv_prog_ac_ct_AR+y}
-then :
- printf %s "(cached) " >&6
-else $as_nop
- if test -n "$ac_ct_AR"; then
- ac_cv_prog_ac_ct_AR="$ac_ct_AR" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- case $as_dir in #(((
- '') as_dir=./ ;;
- */) ;;
- *) as_dir=$as_dir/ ;;
- esac
- for ac_exec_ext in '' $ac_executable_extensions; do
- if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
- ac_cv_prog_ac_ct_AR="$ac_prog"
- printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_AR=$ac_cv_prog_ac_ct_AR
-if test -n "$ac_ct_AR"; then
- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_AR" >&5
-printf "%s\n" "$ac_ct_AR" >&6; }
-else
- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
-printf "%s\n" "no" >&6; }
-fi
-
-
- test -n "$ac_ct_AR" && break
-done
-
- if test "x$ac_ct_AR" = x; then
- AR="false"
- else
- case $cross_compiling:$ac_tool_warned in
-yes:)
-{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
- AR=$ac_ct_AR
- fi
-fi
-
-: ${AR=ar}
-
-
-
-
-
-
-# Use ARFLAGS variable as AR's operation code to sync the variable naming with
-# Automake. If both AR_FLAGS and ARFLAGS are specified, AR_FLAGS should have
-# higher priority because thats what people were doing historically (setting
-# ARFLAGS for automake and AR_FLAGS for libtool). FIXME: Make the AR_FLAGS
-# variable obsoleted/removed.
-
-test ${AR_FLAGS+y} || AR_FLAGS=${ARFLAGS-cr}
-lt_ar_flags=$AR_FLAGS
-
-
-
-
-
-
-# Make AR_FLAGS overridable by 'make ARFLAGS='. Don't try to run-time override
-# by AR_FLAGS because that was never working and AR_FLAGS is about to die.
-
-
-
-
-
-
-{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for archiver @FILE support" >&5
-printf %s "checking for archiver @FILE support... " >&6; }
-if test ${lt_cv_ar_at_file+y}
-then :
- printf %s "(cached) " >&6
-else $as_nop
- lt_cv_ar_at_file=no
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-int main (void)
-{
-
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"
-then :
- echo conftest.$ac_objext > conftest.lst
- lt_ar_try='$AR $AR_FLAGS libconftest.a @conftest.lst >&5'
- { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$lt_ar_try\""; } >&5
- (eval $lt_ar_try) 2>&5
- ac_status=$?
- printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; }
- if test 0 -eq "$ac_status"; then
- # Ensure the archiver fails upon bogus file names.
- rm -f conftest.$ac_objext libconftest.a
- { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$lt_ar_try\""; } >&5
- (eval $lt_ar_try) 2>&5
- ac_status=$?
- printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; }
- if test 0 -ne "$ac_status"; then
- lt_cv_ar_at_file=@
- fi
- fi
- rm -f conftest.* libconftest.a
-
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
-
-fi
-{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ar_at_file" >&5
-printf "%s\n" "$lt_cv_ar_at_file" >&6; }
-
-if test no = "$lt_cv_ar_at_file"; then
- archiver_list_spec=
-else
- archiver_list_spec=$lt_cv_ar_at_file
-fi
-
-
-
-
-
-
-
-if test -n "$ac_tool_prefix"; then
- # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args.
-set dummy ${ac_tool_prefix}strip; ac_word=$2
-{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-printf %s "checking for $ac_word... " >&6; }
-if test ${ac_cv_prog_STRIP+y}
-then :
- printf %s "(cached) " >&6
-else $as_nop
- if test -n "$STRIP"; then
- ac_cv_prog_STRIP="$STRIP" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- case $as_dir in #(((
- '') as_dir=./ ;;
- */) ;;
- *) as_dir=$as_dir/ ;;
- esac
- for ac_exec_ext in '' $ac_executable_extensions; do
- if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
- ac_cv_prog_STRIP="${ac_tool_prefix}strip"
- printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-STRIP=$ac_cv_prog_STRIP
-if test -n "$STRIP"; then
- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $STRIP" >&5
-printf "%s\n" "$STRIP" >&6; }
-else
- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
-printf "%s\n" "no" >&6; }
-fi
-
-
-fi
-if test -z "$ac_cv_prog_STRIP"; then
- ac_ct_STRIP=$STRIP
- # Extract the first word of "strip", so it can be a program name with args.
-set dummy strip; ac_word=$2
-{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-printf %s "checking for $ac_word... " >&6; }
-if test ${ac_cv_prog_ac_ct_STRIP+y}
-then :
- printf %s "(cached) " >&6
-else $as_nop
- if test -n "$ac_ct_STRIP"; then
- ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- case $as_dir in #(((
- '') as_dir=./ ;;
- */) ;;
- *) as_dir=$as_dir/ ;;
- esac
- for ac_exec_ext in '' $ac_executable_extensions; do
- if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
- ac_cv_prog_ac_ct_STRIP="strip"
- printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP
-if test -n "$ac_ct_STRIP"; then
- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_STRIP" >&5
-printf "%s\n" "$ac_ct_STRIP" >&6; }
-else
- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
-printf "%s\n" "no" >&6; }
-fi
-
- if test "x$ac_ct_STRIP" = x; then
- STRIP=":"
- else
- case $cross_compiling:$ac_tool_warned in
-yes:)
-{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
- STRIP=$ac_ct_STRIP
- fi
-else
- STRIP="$ac_cv_prog_STRIP"
-fi
-
-test -z "$STRIP" && STRIP=:
-
-
-
-
-
-
-if test -n "$ac_tool_prefix"; then
- # Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args.
-set dummy ${ac_tool_prefix}ranlib; ac_word=$2
-{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-printf %s "checking for $ac_word... " >&6; }
-if test ${ac_cv_prog_RANLIB+y}
-then :
- printf %s "(cached) " >&6
-else $as_nop
- if test -n "$RANLIB"; then
- ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- case $as_dir in #(((
- '') as_dir=./ ;;
- */) ;;
- *) as_dir=$as_dir/ ;;
- esac
- for ac_exec_ext in '' $ac_executable_extensions; do
- if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
- ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib"
- printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-RANLIB=$ac_cv_prog_RANLIB
-if test -n "$RANLIB"; then
- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $RANLIB" >&5
-printf "%s\n" "$RANLIB" >&6; }
-else
- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
-printf "%s\n" "no" >&6; }
-fi
-
-
-fi
-if test -z "$ac_cv_prog_RANLIB"; then
- ac_ct_RANLIB=$RANLIB
- # Extract the first word of "ranlib", so it can be a program name with args.
-set dummy ranlib; ac_word=$2
-{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-printf %s "checking for $ac_word... " >&6; }
-if test ${ac_cv_prog_ac_ct_RANLIB+y}
-then :
- printf %s "(cached) " >&6
-else $as_nop
- if test -n "$ac_ct_RANLIB"; then
- ac_cv_prog_ac_ct_RANLIB="$ac_ct_RANLIB" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- case $as_dir in #(((
- '') as_dir=./ ;;
- */) ;;
- *) as_dir=$as_dir/ ;;
- esac
- for ac_exec_ext in '' $ac_executable_extensions; do
- if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
- ac_cv_prog_ac_ct_RANLIB="ranlib"
- printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_RANLIB=$ac_cv_prog_ac_ct_RANLIB
-if test -n "$ac_ct_RANLIB"; then
- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_RANLIB" >&5
-printf "%s\n" "$ac_ct_RANLIB" >&6; }
-else
- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
-printf "%s\n" "no" >&6; }
-fi
-
- if test "x$ac_ct_RANLIB" = x; then
- RANLIB=":"
- else
- case $cross_compiling:$ac_tool_warned in
-yes:)
-{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
- RANLIB=$ac_ct_RANLIB
- fi
-else
- RANLIB="$ac_cv_prog_RANLIB"
-fi
-
-test -z "$RANLIB" && RANLIB=:
-
-
-
-
-
-
-# Determine commands to create old-style static archives.
-old_archive_cmds='$AR $AR_FLAGS $oldlib$oldobjs'
-old_postinstall_cmds='chmod 644 $oldlib'
-old_postuninstall_cmds=
-
-if test -n "$RANLIB"; then
- case $host_os in
- bitrig* | openbsd*)
- old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB -t \$tool_oldlib"
- ;;
- *)
- old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB \$tool_oldlib"
- ;;
- esac
- old_archive_cmds="$old_archive_cmds~\$RANLIB \$tool_oldlib"
-fi
-
-case $host_os in
- darwin*)
- lock_old_archive_extraction=yes ;;
- *)
- lock_old_archive_extraction=no ;;
-esac
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-# If no C compiler was specified, use CC.
-LTCC=${LTCC-"$CC"}
-
-# If no C compiler flags were specified, use CFLAGS.
-LTCFLAGS=${LTCFLAGS-"$CFLAGS"}
-
-# Allow CC to be a program name with arguments.
-compiler=$CC
-
-
-# Check for command to grab the raw symbol name followed by C symbol from nm.
-{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking command to parse $NM output from $compiler object" >&5
-printf %s "checking command to parse $NM output from $compiler object... " >&6; }
-if test ${lt_cv_sys_global_symbol_pipe+y}
-then :
- printf %s "(cached) " >&6
-else $as_nop
-
-# These are sane defaults that work on at least a few old systems.
-# [They come from Ultrix. What could be older than Ultrix?!! ;)]
-
-# Character class describing NM global symbol codes.
-symcode='[BCDEGRST]'
-
-# Regexp to match symbols that can be accessed directly from C.
-sympat='\([_A-Za-z][_A-Za-z0-9]*\)'
-
-# Define system-specific variables.
-case $host_os in
-aix*)
- symcode='[BCDT]'
- ;;
-cygwin* | mingw* | pw32* | cegcc*)
- symcode='[ABCDGISTW]'
- ;;
-hpux*)
- if test ia64 = "$host_cpu"; then
- symcode='[ABCDEGRST]'
- fi
- ;;
-irix* | nonstopux*)
- symcode='[BCDEGRST]'
- ;;
-osf*)
- symcode='[BCDEGQRST]'
- ;;
-solaris*)
- symcode='[BDRT]'
- ;;
-sco3.2v5*)
- symcode='[DT]'
- ;;
-sysv4.2uw2*)
- symcode='[DT]'
- ;;
-sysv5* | sco5v6* | unixware* | OpenUNIX*)
- symcode='[ABDT]'
- ;;
-sysv4)
- symcode='[DFNSTU]'
- ;;
-esac
-
-# If we're using GNU nm, then use its standard symbol codes.
-case `$NM -V 2>&1` in
-*GNU* | *'with BFD'*)
- symcode='[ABCDGIRSTW]' ;;
-esac
-
-if test "$lt_cv_nm_interface" = "MS dumpbin"; then
- # Gets list of data symbols to import.
- lt_cv_sys_global_symbol_to_import="$SED -n -e 's/^I .* \(.*\)$/\1/p'"
- # Adjust the below global symbol transforms to fixup imported variables.
- lt_cdecl_hook=" -e 's/^I .* \(.*\)$/extern __declspec(dllimport) char \1;/p'"
- lt_c_name_hook=" -e 's/^I .* \(.*\)$/ {\"\1\", (void *) 0},/p'"
- lt_c_name_lib_hook="\
- -e 's/^I .* \(lib.*\)$/ {\"\1\", (void *) 0},/p'\
- -e 's/^I .* \(.*\)$/ {\"lib\1\", (void *) 0},/p'"
-else
- # Disable hooks by default.
- lt_cv_sys_global_symbol_to_import=
- lt_cdecl_hook=
- lt_c_name_hook=
- lt_c_name_lib_hook=
-fi
-
-# Transform an extracted symbol line into a proper C declaration.
-# Some systems (esp. on ia64) link data and code symbols differently,
-# so use this general approach.
-lt_cv_sys_global_symbol_to_cdecl="$SED -n"\
-$lt_cdecl_hook\
-" -e 's/^T .* \(.*\)$/extern int \1();/p'"\
-" -e 's/^$symcode$symcode* .* \(.*\)$/extern char \1;/p'"
-
-# Transform an extracted symbol line into symbol name and symbol address
-lt_cv_sys_global_symbol_to_c_name_address="$SED -n"\
-$lt_c_name_hook\
-" -e 's/^: \(.*\) .*$/ {\"\1\", (void *) 0},/p'"\
-" -e 's/^$symcode$symcode* .* \(.*\)$/ {\"\1\", (void *) \&\1},/p'"
-
-# Transform an extracted symbol line into symbol name with lib prefix and
-# symbol address.
-lt_cv_sys_global_symbol_to_c_name_address_lib_prefix="$SED -n"\
-$lt_c_name_lib_hook\
-" -e 's/^: \(.*\) .*$/ {\"\1\", (void *) 0},/p'"\
-" -e 's/^$symcode$symcode* .* \(lib.*\)$/ {\"\1\", (void *) \&\1},/p'"\
-" -e 's/^$symcode$symcode* .* \(.*\)$/ {\"lib\1\", (void *) \&\1},/p'"
-
-# Handle CRLF in mingw tool chain
-opt_cr=
-case $build_os in
-mingw*)
- opt_cr=`$ECHO 'x\{0,1\}' | tr x '\015'` # option cr in regexp
- ;;
-esac
-
-# Try without a prefix underscore, then with it.
-for ac_symprfx in "" "_"; do
-
- # Transform symcode, sympat, and symprfx into a raw symbol and a C symbol.
- symxfrm="\\1 $ac_symprfx\\2 \\2"
-
- # Write the raw and C identifiers.
- if test "$lt_cv_nm_interface" = "MS dumpbin"; then
- # Fake it for dumpbin and say T for any non-static function,
- # D for any global variable and I for any imported variable.
- # Also find C++ and __fastcall symbols from MSVC++ or ICC,
- # which start with @ or ?.
- lt_cv_sys_global_symbol_pipe="$AWK '"\
-" {last_section=section; section=\$ 3};"\
-" /^COFF SYMBOL TABLE/{for(i in hide) delete hide[i]};"\
-" /Section length .*#relocs.*(pick any)/{hide[last_section]=1};"\
-" /^ *Symbol name *: /{split(\$ 0,sn,\":\"); si=substr(sn[2],2)};"\
-" /^ *Type *: code/{print \"T\",si,substr(si,length(prfx))};"\
-" /^ *Type *: data/{print \"I\",si,substr(si,length(prfx))};"\
-" \$ 0!~/External *\|/{next};"\
-" / 0+ UNDEF /{next}; / UNDEF \([^|]\)*()/{next};"\
-" {if(hide[section]) next};"\
-" {f=\"D\"}; \$ 0~/\(\).*\|/{f=\"T\"};"\
-" {split(\$ 0,a,/\||\r/); split(a[2],s)};"\
-" s[1]~/^[@?]/{print f,s[1],s[1]; next};"\
-" s[1]~prfx {split(s[1],t,\"@\"); print f,t[1],substr(t[1],length(prfx))}"\
-" ' prfx=^$ac_symprfx"
- else
- lt_cv_sys_global_symbol_pipe="$SED -n -e 's/^.*[ ]\($symcode$symcode*\)[ ][ ]*$ac_symprfx$sympat$opt_cr$/$symxfrm/p'"
- fi
- lt_cv_sys_global_symbol_pipe="$lt_cv_sys_global_symbol_pipe | $SED '/ __gnu_lto/d'"
-
- # Check to see that the pipe works correctly.
- pipe_works=no
-
- rm -f conftest*
- cat > conftest.$ac_ext <<_LT_EOF
-#ifdef __cplusplus
-extern "C" {
-#endif
-char nm_test_var;
-void nm_test_func(void);
-void nm_test_func(void){}
-#ifdef __cplusplus
-}
-#endif
-int main(){nm_test_var='a';nm_test_func();return(0);}
-_LT_EOF
-
- if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
- (eval $ac_compile) 2>&5
- ac_status=$?
- printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; }; then
- # Now try to grab the symbols.
- nlist=conftest.nm
- $ECHO "$as_me:$LINENO: $NM conftest.$ac_objext | $lt_cv_sys_global_symbol_pipe > $nlist" >&5
- if eval "$NM" conftest.$ac_objext \| "$lt_cv_sys_global_symbol_pipe" \> $nlist 2>&5 && test -s "$nlist"; then
- # Try sorting and uniquifying the output.
- if sort "$nlist" | uniq > "$nlist"T; then
- mv -f "$nlist"T "$nlist"
- else
- rm -f "$nlist"T
- fi
-
- # Make sure that we snagged all the symbols we need.
- if $GREP ' nm_test_var$' "$nlist" >/dev/null; then
- if $GREP ' nm_test_func$' "$nlist" >/dev/null; then
- cat <<_LT_EOF > conftest.$ac_ext
-/* Keep this code in sync between libtool.m4, ltmain, lt_system.h, and tests. */
-#if defined _WIN32 || defined __CYGWIN__ || defined _WIN32_WCE
-/* DATA imports from DLLs on WIN32 can't be const, because runtime
- relocations are performed -- see ld's documentation on pseudo-relocs. */
-# define LT_DLSYM_CONST
-#elif defined __osf__
-/* This system does not cope well with relocations in const data. */
-# define LT_DLSYM_CONST
-#else
-# define LT_DLSYM_CONST const
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-_LT_EOF
- # Now generate the symbol file.
- eval "$lt_cv_sys_global_symbol_to_cdecl"' < "$nlist" | $GREP -v main >> conftest.$ac_ext'
-
- cat <<_LT_EOF >> conftest.$ac_ext
-
-/* The mapping between symbol names and symbols. */
-LT_DLSYM_CONST struct {
- const char *name;
- void *address;
-}
-lt__PROGRAM__LTX_preloaded_symbols[] =
-{
- { "@PROGRAM@", (void *) 0 },
-_LT_EOF
- $SED "s/^$symcode$symcode* .* \(.*\)$/ {\"\1\", (void *) \&\1},/" < "$nlist" | $GREP -v main >> conftest.$ac_ext
- cat <<\_LT_EOF >> conftest.$ac_ext
- {0, (void *) 0}
-};
-
-/* This works around a problem in FreeBSD linker */
-#ifdef FREEBSD_WORKAROUND
-static const void *lt_preloaded_setup() {
- return lt__PROGRAM__LTX_preloaded_symbols;
-}
-#endif
-
-#ifdef __cplusplus
-}
-#endif
-_LT_EOF
- # Now try linking the two files.
- mv conftest.$ac_objext conftstm.$ac_objext
- lt_globsym_save_LIBS=$LIBS
- lt_globsym_save_CFLAGS=$CFLAGS
- LIBS=conftstm.$ac_objext
- CFLAGS="$CFLAGS$lt_prog_compiler_no_builtin_flag"
- if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5
- (eval $ac_link) 2>&5
- ac_status=$?
- printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; } && test -s conftest$ac_exeext; then
- pipe_works=yes
- fi
- LIBS=$lt_globsym_save_LIBS
- CFLAGS=$lt_globsym_save_CFLAGS
- else
- echo "cannot find nm_test_func in $nlist" >&5
- fi
- else
- echo "cannot find nm_test_var in $nlist" >&5
- fi
- else
- echo "cannot run $lt_cv_sys_global_symbol_pipe" >&5
- fi
- else
- echo "$progname: failed program was:" >&5
- cat conftest.$ac_ext >&5
- fi
- rm -rf conftest* conftst*
-
- # Do not use the global_symbol_pipe unless it works.
- if test yes = "$pipe_works"; then
- break
- else
- lt_cv_sys_global_symbol_pipe=
- fi
-done
-
-fi
-
-if test -z "$lt_cv_sys_global_symbol_pipe"; then
- lt_cv_sys_global_symbol_to_cdecl=
-fi
-if test -z "$lt_cv_sys_global_symbol_pipe$lt_cv_sys_global_symbol_to_cdecl"; then
- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: failed" >&5
-printf "%s\n" "failed" >&6; }
-else
- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: ok" >&5
-printf "%s\n" "ok" >&6; }
-fi
-
-# Response file support.
-if test "$lt_cv_nm_interface" = "MS dumpbin"; then
- nm_file_list_spec='@'
-elif $NM --help 2>/dev/null | grep '[@]FILE' >/dev/null; then
- nm_file_list_spec='@'
-fi
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for sysroot" >&5
-printf %s "checking for sysroot... " >&6; }
-
-# Check whether --with-sysroot was given.
-if test ${with_sysroot+y}
-then :
- withval=$with_sysroot;
-else $as_nop
- with_sysroot=no
-fi
-
-
-lt_sysroot=
-case $with_sysroot in #(
- yes)
- if test yes = "$GCC"; then
- lt_sysroot=`$CC --print-sysroot 2>/dev/null`
- fi
- ;; #(
- /*)
- lt_sysroot=`echo "$with_sysroot" | $SED -e "$sed_quote_subst"`
- ;; #(
- no|'')
- ;; #(
- *)
- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $with_sysroot" >&5
-printf "%s\n" "$with_sysroot" >&6; }
- as_fn_error $? "The sysroot must be an absolute path." "$LINENO" 5
- ;;
-esac
-
- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: ${lt_sysroot:-no}" >&5
-printf "%s\n" "${lt_sysroot:-no}" >&6; }
-
-
-
-
-
-{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for a working dd" >&5
-printf %s "checking for a working dd... " >&6; }
-if test ${ac_cv_path_lt_DD+y}
-then :
- printf %s "(cached) " >&6
-else $as_nop
- printf 0123456789abcdef0123456789abcdef >conftest.i
-cat conftest.i conftest.i >conftest2.i
-: ${lt_DD:=$DD}
-if test -z "$lt_DD"; then
- ac_path_lt_DD_found=false
- # Loop through the user's path and test for each of PROGNAME-LIST
- as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- case $as_dir in #(((
- '') as_dir=./ ;;
- */) ;;
- *) as_dir=$as_dir/ ;;
- esac
- for ac_prog in dd
- do
- for ac_exec_ext in '' $ac_executable_extensions; do
- ac_path_lt_DD="$as_dir$ac_prog$ac_exec_ext"
- as_fn_executable_p "$ac_path_lt_DD" || continue
-if "$ac_path_lt_DD" bs=32 count=1