#
7060b9b0 |
| 25-Sep-2024 |
Daniel Stenberg |
build: fix cross-compile check for poll with bionic Since it seems the _POSIX_C_SOURCE "trick" does not work there, the check does not find poll(). Fixes #15013 Reported-by:
build: fix cross-compile check for poll with bionic Since it seems the _POSIX_C_SOURCE "trick" does not work there, the check does not find poll(). Fixes #15013 Reported-by: vvb2060 on github Closes #15037
show more ...
|
#
68a224c2 |
| 28-Aug-2024 |
Viktor Szakats |
tidy-up: indentation in autotools sources Indentation in `configure.ac` and `.m4` files. Closes #14692
|
#
30ab1133 |
| 29-Aug-2024 |
Viktor Szakats |
configure: catch Apple in more target triplets Before this patch, only these triplets were considered Apple: `<cpu>-apple-darwin` After this patch, these are also considered App
configure: catch Apple in more target triplets Before this patch, only these triplets were considered Apple: `<cpu>-apple-darwin` After this patch, these are also considered Apple: `<cpu>-apple-(ios*|tvos*|visionos*|watchos*|<ETC>)` `$host_os` (the last third of the triplet) still has a valid use to differentiate between OS flavours, though for now this isn't used, aligning with CMake. Closes #14728
show more ...
|
#
04e3621d |
| 29-Aug-2024 |
Viktor Szakats |
build: add `poll()` detection for cross-builds For cross-builds rely on `_POSIX_C_SOURCE` to decide if `poll()` is supported, rather than just assuming it isn't. This may still
build: add `poll()` detection for cross-builds For cross-builds rely on `_POSIX_C_SOURCE` to decide if `poll()` is supported, rather than just assuming it isn't. This may still miss to detect `poll()` support, as seen for example with Linux MUSL cross-builds. Also: - GHA/curl-for-win: enable RISC-V 64 cross-target for Linux MUSL. (to test this case with cmake, with a false-negative.) The first RISC-V 64 build in curl's CI. - GHA/curl-for-win: add arm64/intel64 job for Linux glibc. (to test this case with cmake, and succeed.) - cmake: delete unnecessary `#include <sys/time.h>` from non-cross-build `poll()` detection snippet. Follow-up tp cc8b8137659e1733fdd3810c19ff5ec8db438509 #14718 Fixes #14714 Closes #14734
show more ...
|
#
cc8b8137 |
| 29-Aug-2024 |
Viktor Szakats |
build: drop unused feature-detection code for Apple `poll()` Drop Apple-specific detection logic for `poll()`. This detection snippet has been disabled for Apple in both configure and cm
build: drop unused feature-detection code for Apple `poll()` Drop Apple-specific detection logic for `poll()`. This detection snippet has been disabled for Apple in both configure and cmake, for `poll()` being broken on Apple since 10.12 Sierra (2016). Also replace `exit(1);` with `return 1;` in configure, to make the snippets match. Added in 9297ca49f5f3caca938a679b9c1feeb719e61ddb #1057 (2016-10-11). Disabled for: configure/darwin in a34c7ce7546f39f24692925d66c2f42324dd94e9 (2016-10-18) cmake/macOS in 825911be587bbabc3b7e4777ed3bd1bb7c858b58 #7619 cmake/iOS in d14831233df3a15b14db563156614c9ea60fcf06 #8244 cmake/all Apple in a86254b39307af1a53735b065a382567805cd9b8 #12515 Closes #14718
show more ...
|
#
26ab9027 |
| 26-Aug-2024 |
Viktor Szakats |
configure: fix indentation more Follow-up to 0052b4b52dfbd6455a24dd95837e5236dc8e1f5d #14628 Closes #14682
|
#
f81f351b |
| 02-Aug-2024 |
Viktor Szakats |
tidy-up: OS names Use these words and casing more consistently across text, comments and one curl tool output: AIX, ALPN, ANSI, BSD, Cygwin, Darwin, FreeBSD, GitHub, HP-UX, Linux,
tidy-up: OS names Use these words and casing more consistently across text, comments and one curl tool output: AIX, ALPN, ANSI, BSD, Cygwin, Darwin, FreeBSD, GitHub, HP-UX, Linux, macOS, MS-DOS, MSYS, MinGW, NTLM, POSIX, Solaris, UNIX, Unix, Unicode, WINE, WebDAV, Win32, winbind, WinIDN, Windows, Windows CE, Winsock. Mostly OS names and a few more. Also a couple of other minor text fixups. Closes #14360
show more ...
|
#
4c22d97b |
| 13-Jul-2024 |
Viktor Szakats |
build: use `#error` instead of invalid syntax It reduces configure log noise. Follow-up to 20c1b2d75ee38189ffa75d21ed04108e1e0630ae #13287 Closes #14181
|
#
59bc9a1d |
| 07-Jul-2024 |
Viktor Szakats |
configure: sort feature list, lowercase protocols, use backticks - sort features case-insensitively to match `curl -V` and cmake. `sort -f` is POSIX, but check if it's available anyway
configure: sort feature list, lowercase protocols, use backticks - sort features case-insensitively to match `curl -V` and cmake. `sort -f` is POSIX, but check if it's available anyway. - make protocols lowercase to match `curl -V` and cmake. - replace two outlier `$()` with backticks. Closes #14117
show more ...
|
#
c8925f3e |
| 12-May-2024 |
Orgad Shaneh |
autotools: delete unused functions Closes #13605
|
#
b65f0e04 |
| 10-May-2024 |
Viktor Szakats |
autotools: fix `HAVE_IOCTLSOCKET_FIONBIO` test for gcc 14 ``` conftest.c:152:41: error: passing argument 3 of 'ioctlsocket' from incompatible pointer type [-Wincompatible-pointer-types]
autotools: fix `HAVE_IOCTLSOCKET_FIONBIO` test for gcc 14 ``` conftest.c:152:41: error: passing argument 3 of 'ioctlsocket' from incompatible pointer type [-Wincompatible-pointer-types] 152 | if(0 != ioctlsocket(0, FIONBIO, &flags)) | ^~~~~~ | | | int * ``` Reported-by: LigH Fixes #13579 Closes #13587
show more ...
|
#
03e7dff8 |
| 12-Dec-2023 |
Viktor Szakats |
windows: delete redundant headers `winsock2.h` pulls in `windows.h`. `ws2tcpip.h` pulls in `winsock2.h`. `winsock2.h` and `ws2tcpip.h` are also pulled by `curl/curl.h`. Keep onl
windows: delete redundant headers `winsock2.h` pulls in `windows.h`. `ws2tcpip.h` pulls in `winsock2.h`. `winsock2.h` and `ws2tcpip.h` are also pulled by `curl/curl.h`. Keep only those headers that are not already included, or the code under it uses something from that specific header. Closes #12539
show more ...
|
#
c1bc090d |
| 09-Dec-2023 |
Viktor Szakats |
windows: simplify detecting and using system headers - autotools, cmake: assume that if we detect Windows, `windows.h`, `winsock2.h` and `ws2tcpip.h` do exist. - lib: fix 3 outlier
windows: simplify detecting and using system headers - autotools, cmake: assume that if we detect Windows, `windows.h`, `winsock2.h` and `ws2tcpip.h` do exist. - lib: fix 3 outlier `#if` conditions to use `USE_WINSOCK` instead of looking for `winsock2.h`. - autotools: merge 3 Windows check methods into one. - move Watt-32 and lwIP socket support to `setup-win32.h` from `config-win32.h`. It opens up using these with all build tools. Also merge logic with Windows Sockets. - fix to assume Windows sockets with the mingw32ce toolchain. Follow-up to: 2748c64d605b19fb419ae56810ad8da36487a2d4 - cmake: delete unused variable `signature_call_conv` since eb33ccd5332435fa50f1758e5debb869c6942b7f. - autotools: simplify `CURL_CHECK_WIN32_LARGEFILE` detection. - examples/externalsocket: fix header order. - cmake/OtherTests.cmake: delete Windows-specific `_source_epilogue` that wasn't used anymore. - cmake/OtherTests.cmake: set `WIN32_LEAN_AND_MEAN` for test `SIZEOF_STRUCT_SOCKADDR_STORAGE`. After this patch curl universally uses `_WIN32` to guard Windows-specific logic. It guards Windows Sockets-specific logic with `USE_WINSOCK` (this might need further work). Reviewed-by: Jay Satiro Closes #12495
show more ...
|
#
ede2e812 |
| 07-Dec-2023 |
Viktor Szakats |
tidy-up: whitespace Closes #12484
|
#
60359ad5 |
| 06-Nov-2023 |
Viktor Szakats |
build: delete `HAVE_STDINT_H` and `HAVE_INTTYPES_H` We use `stdint.h` unconditionally in all places except one. These uses are imposed by external dependencies / features. nghttp2, quic,
build: delete `HAVE_STDINT_H` and `HAVE_INTTYPES_H` We use `stdint.h` unconditionally in all places except one. These uses are imposed by external dependencies / features. nghttp2, quic, wolfSSL and `HAVE_MACH_ABSOLUTE_TIME` do require this C99 header. It means that any of these features make curl require a C99 compiler. (In case of MSVC, this means Visual Studio 2010 or newer.) This patch changes the single use of `stdint.h` guarded by `HAVE_STDINT_H` to use `stdint.h` unconditionally. Also stop using `inttypes.h` as an alternative there. `HAVE_INTTYPES_H` wasn't used anywhere else, allowing to delete this feature check as well. Closes #12275
show more ...
|
#
2100d9fd |
| 05-Oct-2023 |
Viktor Szakats |
cmake: pre-fill rest of detection values for Windows The goal of this patch is to avoid unnecessary feature detection work when doing Windows builds with CMake. Do this by pre-filling we
cmake: pre-fill rest of detection values for Windows The goal of this patch is to avoid unnecessary feature detection work when doing Windows builds with CMake. Do this by pre-filling well-known detection results for Windows and specifically for mingw-w64 and MSVC compilers. Also limit feature checks to platforms where the results are actually used. Drop a few redundant ones. And some tidying up. - pre-fill remaining detection values in Windows CMake builds. Based on actual detection results observed in CI runs, preceding similar work over libssh2 and matching up values with `lib/config-win32.h`. This brings down CMake configuration time from 58 to 14 seconds on the same local machine. On AppVeyor CI this translates to: - 128 seconds -> 50 seconds VS2022 MSVC with OpenSSL (per CMake job): https://ci.appveyor.com/project/curlorg/curl/builds/48208419/job/4gw66ecrjpy7necb#L296 https://ci.appveyor.com/project/curlorg/curl/builds/48217440/job/8m4fwrr2fe249uo8#L186 - 62 seconds -> 16 seconds VS2017 MINGW (per CMake job): https://ci.appveyor.com/project/curlorg/curl/builds/48208419/job/s1y8q5ivlcs7ub29?fullLog=true#L290 https://ci.appveyor.com/project/curlorg/curl/builds/48217440/job/pchpxyjsyc9kl13a?fullLog=true#L194 The formula is about 1-3 seconds delay for each detection. Almost all of these trigger a full compile-link cycle behind the scenes, slow even today, both cross and native, mingw-w64 and apparently MSVC too. Enabling .map files or other custom build features slows it down further. (Similar is expected for autotools configure.) - stop detecting `idn2.h` if idn2 was deselected. autotools does this. - stop detecting `idn2.h` if idn2 was not found. This deviates from autotools. Source code requires both header and lib, so this is still correct, but faster. - limit `ADDRESS_FAMILY` detection to Windows. - normalize `HAVE_WIN32_WINNT` value to lowercase `0x0a12` format. - pre-fill `HAVE_WIN32_WINNT`-dependent detection results. Saving 4 (slow) feature-detections in most builds: `getaddrinfo`, `freeaddrinfo`, `inet_ntop`, `inet_pton` - fix pre-filled `HAVE_SYS_TIME_H`, `HAVE_SYS_PARAM_H`, `HAVE_GETTIMEOFDAY` for mingw-w64. Luckily this do not change build results, as `WIN32` took priority over `HAVE_GETTIMEOFDAY` with the current source code. - limit `HAVE_CLOCK_GETTIME_MONOTONIC_RAW` and `HAVE_CLOCK_GETTIME_MONOTONIC` detections to non-Windows. We're not using these in the source code for Windows. - reduce compiler warning noise in CMake internal logs: - fix to include `winsock2.h` before `windows.h`. Apply it to autotools test snippets too. - delete previous `-D_WINSOCKAPI_=` hack that aimed to fix the above. - cleanup `CMake/CurlTests.c` to emit less warnings. - delete redundant `HAVE_MACRO_SIGSETJMP` feature check. It was the same check as `HAVE_SIGSETJMP`. - delete 'experimental' marking from `CURL_USE_OPENSSL`. - show CMake version via `CMakeLists.txt`. Credit to the `zlib-ng` project for the idea: https://github.com/zlib-ng/zlib-ng/blob/61e181c8ae93dbf56040336179c9954078bd1399/CMakeLists.txt#L7 - make `CMake/CurlTests.c` pass `checksrc`. - `CMake/WindowsCache.cmake` tidy-ups. - replace `WIN32` guard with `_WIN32` in `CMake/CurlTests.c`. Closes #12044
show more ...
|
#
4c6365af |
| 02-Oct-2023 |
Viktor Szakats |
autotools: restore `HAVE_IOCTL_*` detections This restores `CURL_CHECK_FUNC_IOCTL` detection. I deleted it in 4d73854462f30948acab12984b611e9e33ee41e6 and c3456652a0c72d1845d08df9769
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
show more ...
|
#
2ba80494 |
| 27-Sep-2023 |
Daniel Stenberg |
configure: remove unused checks - for sys/uio.h - for fork - for connect Ref: #11964 Closes #11973
|
#
a7f8d04e |
| 27-Sep-2023 |
Viktor Szakats |
curl-functions.m4: fixup recent bad edits Follow-up to 96c29900bcec32dd6bc8e9857c8871ff4b8b8ed9 #11940 Closes #11966
|
#
d14089df |
| 27-Sep-2023 |
Daniel Stenberg |
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!
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
show more ...
|
#
96c29900 |
| 25-Sep-2023 |
Viktor Szakats |
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`,
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` in CMake) Closes #11940
show more ...
|
#
b78ca50c |
| 16-May-2023 |
Daniel Stenberg |
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,
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
show more ...
|
#
2bc1d775 |
| 02-Jan-2023 |
Daniel Stenberg |
copyright: update all copyright lines and remove year ranges - they are mostly pointless in all major jurisdictions - many big corporations and projects already don't use them - save
copyright: update all copyright lines and remove year ranges - they are mostly pointless in all major jurisdictions - many big corporations and projects already don't use them - saves us from pointless churn - git keeps history for us - the year range is kept in COPYING checksrc is updated to allow non-year using copyright statements Closes #10205
show more ...
|
#
9e11c279 |
| 11-Aug-2022 |
Daniel Stenberg |
configure: introduce CURL_SIZEOF This is a rewrite of the previously used GPLv3+exception licensed file. With this change, there is no more reference to GPL so we can remove that fro
configure: introduce CURL_SIZEOF This is a rewrite of the previously used GPLv3+exception licensed file. With this change, there is no more reference to GPL so we can remove that from LICENSES/. Ref: #9220 Closes #9291
show more ...
|
#
c6631e82 |
| 07-Aug-2022 |
Futaura |
configure: fixup bsdsocket detection code for AmigaOS 4.x The code that detects bsdsocket.library for AmigaOS did not work for AmigaOS 4.x. This has been fixed and also cleaned up a litt
configure: fixup bsdsocket detection code for AmigaOS 4.x The code that detects bsdsocket.library for AmigaOS did not work for AmigaOS 4.x. This has been fixed and also cleaned up a little to reduce duplication. Wasn't technically necessary before, but is required when building with AmiSSL instead of OpenSSL. Closes #9268
show more ...
|