#
0aece8f6 |
| 26-Aug-2024 |
Viktor Szakats |
tidy-up: indent, whitespace, `#error` in make files Replace invalid C with `#error`. Cherry-picked from #14692 Closes #14997
|
#
60c3d044 |
| 06-Sep-2024 |
Viktor Szakats |
autotools: add support for 'unity' builds, enable in CI Implement the "unity" builds as known from CMake, but for autotools. It's limited to `lib` and `src` (CMake also supports it in `t
autotools: add support for 'unity' builds, enable in CI Implement the "unity" builds as known from CMake, but for autotools. It's limited to `lib` and `src` (CMake also supports it in `tests`). Enable with: `--enable-unity` (disabled by default) Unity builds speed up builds significantly. Cygwin and Windows builds in particular, but the effect is noticeable on most systems. It also allows discovering unity issues with autotools, benefitting also CMake when building the same combination. In CI it makes turnaround times quicker. This closes build performance with CMake. autotools still lags behind because it builds shared and static libcurl in two, separate passes. CMake does it in one. Manpage compilation isn't batched, it is in CMake. After unity and test bundle support the slowest parts of the build are the configuration phase (which is effectively a tedious, non-parallel, compilation and/or linking of 300+ tiny programs. The next bottleneck is compiling individual examples and finally test servers (only slow with autotools). The autotools implementation is slightly less efficient than CMake, because 3 sources are permanently excluded while in CMake this isn't necessary and solved more efficiently while building libtests. There is also no 'unity' support for tests, making them a less efficient also. Enable it in CI for most `configure` jobs. Except in GHA/dist (though it works fine there too), to use the default config there. Also skip for the Linux AWC-LC job where it made builds time a few seconds longer (reason undiscovered.) Autotools test suite builds compared between master -> `--enable-unity`: - GHA/Linux: 32s -> 12s https://github.com/curl/curl/actions/runs/10705668823/job/29681617374 https://github.com/curl/curl/actions/runs/10742978889/job/29796766297 - GHA/macOS: 37s -> 10s https://github.com/curl/curl/actions/runs/10705668813/job/29681632885 https://github.com/curl/curl/actions/runs/10742978699/job/29796768875 - GHA/FreeBSD: 15m25 -> 10m58 (full workflow time, ~qemu) https://github.com/curl/curl/actions/runs/10705668811/job/29681607915 https://github.com/curl/curl/actions/runs/10742978937/job/29796766115 - GHA/Cygwin: 3m32 -> 1m21 https://github.com/curl/curl/actions/runs/10705668809/job/29681609965 https://github.com/curl/curl/actions/runs/10742978645/job/29796756933 - GHA/MSYS2: 2m42 -> 50s https://github.com/curl/curl/actions/runs/10705668808/job/29681621166 https://github.com/curl/curl/actions/runs/10742978662/job/29799739289 - GHA/mingw-w64: 5m32 -> 1m23 https://github.com/curl/curl/actions/runs/10705668808/job/29681628787 https://github.com/curl/curl/actions/runs/10742978662/job/29799741568 Closes #14815
show more ...
|
#
5c14d696 |
| 05-Sep-2024 |
Daniel Stenberg |
maketgz: move from / into scripts Closes #14797
|
#
59b419f1 |
| 23-Aug-2024 |
Dan Fandrich |
CI: add a script and job to run cmakelint A number of checks don't match our style or are buggy and so are disabled. Co-authored-by: Viktor Szakats <vszakats@users.noreply.github.co
CI: add a script and job to run cmakelint A number of checks don't match our style or are buggy and so are disabled. Co-authored-by: Viktor Szakats <vszakats@users.noreply.github.com> Fixes #14580 Closes #14665
show more ...
|
#
0066d169 |
| 14-Aug-2024 |
Daniel Stenberg |
managen: wordwrap long example lines in ASCII output The entire ASCII version of the manpage word wraps at a fixed column, while example command lines can easily go wider than so.
managen: wordwrap long example lines in ASCII output The entire ASCII version of the manpage word wraps at a fixed column, while example command lines can easily go wider than so. This change now makes manage work on wrapping long example command lines to make them look nicer. And also to avoid triggering the build error caused by too long lines in the output. Quoted lines cannot be wrapped, so managen now errors out if they are "too long". With this addition, the 'maxline' script is removed as it is no longer needed. Closes #14543
show more ...
|
#
badbd4eb |
| 06-Aug-2024 |
Daniel Stenberg |
manpage: ensure a maximum width for the text version ... using the new script 'maxline' to which we specify the maximum number of columns we allow any single line to be, or it will cause
manpage: ensure a maximum width for the text version ... using the new script 'maxline' to which we specify the maximum number of columns we allow any single line to be, or it will cause an error. Starting out with a max width at 100 columns. Bonus: shorten the long line in the --ipfs-gateway section. Closes #14423
show more ...
|
#
86039e6e |
| 02-Aug-2024 |
Daniel Stenberg |
verify-release: shell script that verifies a release tarball This script remakes a provided curl release and verifies that the newly built version is identical to the original file.
verify-release: shell script that verifies a release tarball This script remakes a provided curl release and verifies that the newly built version is identical to the original file. Due to bugs in releases up to and including curl 8.9.1, it does not work on tarballs generated before commit 754acd1a9dc6. Closes #14350
show more ...
|
#
754acd1a |
| 01-Aug-2024 |
Daniel Stenberg |
dist: fix reproducible build from release tarball Make it possible to rebuild an identical copy from a release tarball. It was previously only possible from a checked out git repository.
dist: fix reproducible build from release tarball Make it possible to rebuild an identical copy from a release tarball. It was previously only possible from a checked out git repository. - add release-tools.sh to dist - keep Makefile.dist around to include it in dist - regenerate tool_huge.c with the new version in dist - fix the dist CI job to not do make clean like before Closes #14336
show more ...
|
#
d28f7491 |
| 16-Apr-2024 |
Daniel Stenberg |
dmaketgz: release tarball generation using docker For easier reproducibility. Mention using this script in RELEASE-PROCEDURE Closes #13388
|
#
1ccf1cd9 |
| 08-Mar-2024 |
Daniel Stenberg |
scripts/managen: the new name and home for the manpage generator It was previously docs/cmdline-opts/gen.pl Closes #13089
|
#
f03c8563 |
| 04-Mar-2024 |
Daniel Stenberg |
docs: ascii version of manpage without nroff Create ASCII version of manpage without nroff - build src/tool_hugegelp.c from the ascii manpage - move the the manpage and the as
docs: ascii version of manpage without nroff Create ASCII version of manpage without nroff - build src/tool_hugegelp.c from the ascii manpage - move the the manpage and the ascii version build to docs/cmdline-opts - remove all use of nroff from the build process - should make the build entirely reproducible (by avoiding nroff) - partly reverts 2620aa9 to build libcurl option man pages one by one in cmake because the appveyor builds got all crazy until I did The ASCII version of the manpage - is built with gen.pl, just like the manpage is - has a right-justified column making the appearance similar to the previous version - uses a 4-space indent per level (instead of the old version's 7) - does not do hyphenation of words (which nroff does) History We first made the curl build use nroff for building the hugehelp file in December 1998, for curl 5.2. Closes #13047
show more ...
|
#
ab173d14 |
| 02-Mar-2024 |
Dan Fandrich |
configure: Don't build shell completions when disabled With the recent changes to completion file building, the files were built always and only installation was selectively disabled. N
configure: Don't build shell completions when disabled With the recent changes to completion file building, the files were built always and only installation was selectively disabled. Now, when they are disabled they aren't even built, avoiding a build-time error in environments where it's not possible to run the curl binary that was just created (e.g. if library paths were not set up correctly). Follow-up to 0f7aba83c Reported-by: av223119 on github Fixes #13027 Closes #13030
show more ...
|
#
0f7aba83 |
| 01-Mar-2024 |
Dan Fandrich |
configure: Don't make shell completions without perl The code that attempted to skip building the shell completions didn't work properly and tried to build them even if perl wasn't avail
configure: Don't make shell completions without perl The code that attempted to skip building the shell completions didn't work properly and tried to build them even if perl wasn't available. This step, as well as the install step, is now properly skipped without perl. Follow-up to 89733e2dd Closes #13022
show more ...
|
#
89733e2d |
| 08-Feb-2024 |
Dan Fandrich |
configure: build & install shell completions when enabled The --with-fish-functions-dir and --with-zsh-functions-dir options currently have no effect on a normal build because the script
configure: build & install shell completions when enabled The --with-fish-functions-dir and --with-zsh-functions-dir options currently have no effect on a normal build because the scripts/ directory where they're used is not built. Add scripts/ to a normal build and change the completion options to default to off to preserve the existing behaviour. Closes: #12906
show more ...
|
#
eefcc1bd |
| 17-Jan-2024 |
Daniel Stenberg |
docs: introduce "curldown" for libcurl man page format curldown is this new file format for libcurl man pages. It is markdown inspired with differences: - Each file has a set of
docs: introduce "curldown" for libcurl man page format curldown is this new file format for libcurl man pages. It is markdown inspired with differences: - Each file has a set of leading headers with meta-data - Supports a small subset of markdown - Uses .md file extensions for editors/IDE/GitHub to treat them nicely - Generates man pages very similar to the previous ones - Generates man pages that still convert nicely to HTML on the website - Detects and highlights mentions of curl symbols automatically (when their man page section is specified) tools: - cd2nroff: converts from curldown to nroff man page - nroff2cd: convert an (old) nroff man page to curldown - cdall: convert many nroff pages to curldown versions - cd2cd: verifies and updates a curldown to latest curldown This setup generates .3 versions of all the curldown versions at build time. CI: Since the documentation is now technically markdown in the eyes of many things, the CI runs many more tests and checks on this documentation, including proselint, link checkers and tests that make sure we capitalize the first letter after a period... Closes #12730
show more ...
|
#
d6447b1b |
| 17-Nov-2023 |
Daniel Stenberg |
scripts: add schemetable.c This tool generates a scheme-matching table. It iterates over a number of different initial and shift values in order to find the hash algorithm that
scripts: add schemetable.c This tool generates a scheme-matching table. It iterates over a number of different initial and shift values in order to find the hash algorithm that needs the smallest possible table. The generated hash function, table and table size then needs to be used by the url.c:Curl_getn_scheme_handler() function.
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 ...
|
#
ad9bc597 |
| 17-May-2022 |
max.mehl |
copyright: make repository REUSE compliant Add licensing and copyright information for all files in this repository. This either happens in the file itself as a comment header or in the
copyright: make repository REUSE compliant Add licensing and copyright information for all files in this repository. This either happens in the file itself as a comment header or in the file `.reuse/dep5`. This commit also adds a Github workflow to check pull requests and adapts copyright.pl to the changes. Closes #8869
show more ...
|
#
8e22fc68 |
| 23-Mar-2022 |
Daniel Stenberg |
scripts: move three scripts from lib/ to scripts/ Move checksrc.pl, firefox-db2pem.sh and mk-ca-bundle.pl since they don't particularly belong in lib/ Also created an EXTRA_DIST
scripts: move three scripts from lib/ to scripts/ Move checksrc.pl, firefox-db2pem.sh and mk-ca-bundle.pl since they don't particularly belong in lib/ Also created an EXTRA_DIST= in scripts/Makefile.am instead of specifying those files in the root Makefile.am Closes #8625
show more ...
|
Revision tags: curl-7_76_1, curl-7_76_0, curl-7_75_0, curl-7_74_0 |
|
#
4d2f8006 |
| 04-Nov-2020 |
Daniel Stenberg |
curl.se: new home Closes #6172
|
Revision tags: curl-7_73_0, tiny-curl-7_72_0, curl-7_72_0, curl-7_71_1, curl-7_71_0, curl-7_70_0 |
|
#
9a8b3b3e |
| 23-Mar-2020 |
Daniel Stenberg |
copyright: fix out-of-date copyright ranges and missing headers Reported by the new script 'scripts/copyright.pl'. The script has a regex whitelist for the files that don't need copyrigh
copyright: fix out-of-date copyright ranges and missing headers Reported by the new script 'scripts/copyright.pl'. The script has a regex whitelist for the files that don't need copyright headers. Removed three (mostly usesless) README files from docs/ Closes #5141
show more ...
|
Revision tags: curl-7_69_1, curl-7_69_0, curl-7_68_0, curl-7_67_0, curl-7_66_0, curl-7_65_3, curl-7_65_2, curl-7_65_1, curl-7_65_0, curl-7_64_1 |
|
#
e075b214 |
| 10-Feb-2019 |
Simon Legner |
scripts/completion.pl: also generate fish completion file This is the renamed script formerly known as zsh.pl Closes #3545
|
Revision tags: curl-7_64_0, curl-7_63_0, curl-7_62_0, curl-7_61_1, curl-7_61_0 |
|
#
0b4ccc97 |
| 07-Jul-2018 |
Dave Reisner |
scripts: include _curl as part of CLEANFILES Closes #2718
|
Revision tags: curl-7_60_0, curl-7_59_0, curl-7_58_0, curl-7_57_0, curl-7_56_1, curl-7_56_0, curl-7_55_1, curl-7_55_0, curl-7_54_1, curl-7_54_0, curl-7_53_1, curl-7_53_0, curl-7_52_1, curl-7_52_0, curl-7_51_0, curl-7_50_3, curl-7_50_2, curl-7_50_1, curl-7_50_0, curl-7_49_1, curl-7_49_0 |
|
#
4cbaee45 |
| 18-Apr-2016 |
Daniel Stenberg |
scripts/make: use $(EXEEXT) for executables Reported-by: bodop Fixes #771
|
Revision tags: curl-7_48_0, curl-7_47_1 |
|
#
4af40b36 |
| 02-Feb-2016 |
Daniel Stenberg |
URLs: change all http:// URLs to https://
|