curl/docs
Viktor Szakats 784400806c
Makefile.m32: deduplicate build rules [ci skip]
After this patch, we reduce the three copies of most `Makefile.m32`
logic to one. This now resides in `lib/Makefile.m32`. It makes future
updates easier, the code shorter, with a small amount of added
complexity.

`Makefile.m32` reduction:

|                   |  bytes | LOC total |  blank |  comment |  code |
|-------------------|-------:|----------:|-------:|---------:|------:|
| 7.85.0            |  34772 |      1337 |     79 |      192 |  1066 |
| before this patch |  17601 |       625 |     62 |      106 |   457 |
| after this patch  |  11680 |       392 |     52 |      104 |   236 |

Details:

- Change rules to create objects for the `v*` subdirs in the `lib` dir.
  This allows to use a shared compile rule and assumes that filenames
  are not (and will not be) colliding across these directories.
  `Makefile.m32` now also stores a list of these subdirs. They are
  changing rarely though.

- Sync as much as possible between the three `Makefile.m32` scripts'
  rules and their source/target sections.

- After this patch `CPPFLAGS` are all applied to the `src` sources once
  again. This matches the behaviour of cmake/autotools. Only zlib ones
  are actually required there.

- Use `.rc` names from `Makefile.inc` instead of keeping a duplicate.

- Change examples to link `libcurl.dll` by default. This makes building
  trivial, even as a cross-build:
    `CC=x86_64-w64-mingw32-gcc make -f Makefile.m32`
  To run them, you need to move/copy or add-to-path `libcurl.dll`.
  You can select static mode via `CFG=-static`.

- List more of the `Makefile.m32` config variables.

- Drop `.rc` support from examples. It made it fragile without much
  benefit.

- Include a necessary system lib for the `externalsocket.c` example.

- Exclude unnecessary systems libs when building in `-dyn` mode.

Closes #9642
2022-10-04 17:11:02 +00:00
..
cmdline-opts lib: sanitize conditional exclusion around MIME 2022-09-29 10:51:04 +02:00
examples Makefile.m32: deduplicate build rules [ci skip] 2022-10-04 17:11:02 +00:00
libcurl CURLOPT_COOKIELIST.3: fix formatting mistake 2022-10-04 11:59:55 +02:00
.gitignore copyright: make repository REUSE compliant 2022-06-13 09:13:00 +02:00
ALTSVC.md docs: minor grammar fixes 2022-09-29 10:44:12 +02:00
BINDINGS.md docs: update sourceforge project links [ci skip] 2022-10-01 18:40:47 +00:00
BUFREF.md docs: spellfixes 2022-09-21 15:20:08 +02:00
BUG-BOUNTY.md BUG-BOUNTY.md: mention the audit exception 2022-05-19 11:14:54 +02:00
BUGS.md docs: minor grammar fixes 2022-09-29 10:44:12 +02:00
CHECKSRC.md docs: spellfixes 2022-09-21 15:20:08 +02:00
CIPHERS.md docs: spellfixes 2022-09-21 15:20:08 +02:00
CMakeLists.txt copyright: make repository REUSE compliant 2022-06-13 09:13:00 +02:00
CODE_OF_CONDUCT.md
CODE_REVIEW.md docs: spellfixes 2022-09-21 15:20:08 +02:00
CODE_STYLE.md
CONTRIBUTE.md docs: spellfixes 2022-09-21 15:20:08 +02:00
curl-config.1 docs: spellfixes 2022-09-21 15:20:08 +02:00
CURL-DISABLE.md docs: spellfixes 2022-09-21 15:20:08 +02:00
DEPRECATE.md configure: deprecate builds with small curl_off_t 2022-09-28 08:19:06 +02:00
DYNBUF.md docs: spellfixes 2022-09-21 15:20:08 +02:00
EXPERIMENTAL.md docs: spellfixes 2022-09-21 15:20:08 +02:00
FAQ docs: spelling nits 2022-09-29 21:29:04 +00:00
FEATURES.md docs: spellfixes 2022-09-21 15:20:08 +02:00
GOVERNANCE.md docs: spellfixes 2022-09-21 15:20:08 +02:00
HELP-US.md
HISTORY.md docs: spellfixes 2022-09-21 15:20:08 +02:00
HSTS.md docs: spellfixes 2022-09-21 15:20:08 +02:00
HTTP2.md docs: spellfixes 2022-09-21 15:20:08 +02:00
HTTP3.md HTTP3.md: update Caddy example 2022-09-30 08:21:15 +02:00
HTTP-COOKIES.md docs: spellfixes 2022-09-21 15:20:08 +02:00
HYPER.md
INSTALL
INSTALL.cmake
INSTALL.md Makefile.m32: major rework [ci skip] 2022-10-03 19:46:56 +00:00
INTERNALS.md docs: spellfixes 2022-09-21 15:20:08 +02:00
KNOWN_BUGS docs: spellfixes 2022-09-21 15:20:08 +02:00
MAIL-ETIQUETTE docs: remove him/her/he/she from documentation 2022-07-27 13:52:53 +02:00
Makefile.am docs: use "WebSocket" in singular 2022-09-13 10:04:46 +02:00
MANUAL.md docs: spellfixes 2022-09-21 15:20:08 +02:00
mk-ca-bundle.1 docs: spellfixes 2022-09-21 15:20:08 +02:00
MQTT.md
NEW-PROTOCOL.md docs: minor grammar fixes 2022-09-29 10:44:12 +02:00
options-in-versions curl: add --rate to set max request rate per time unit 2022-05-23 17:59:56 +02:00
PARALLEL-TRANSFERS.md docs: spellfixes 2022-09-21 15:20:08 +02:00
README.md
RELEASE-PROCEDURE.md docs: spellfixes 2022-09-21 15:20:08 +02:00
ROADMAP.md
RUSTLS.md
SECURITY-PROCESS.md docs: minor grammar fixes 2022-09-29 10:44:12 +02:00
SSL-PROBLEMS.md docs: spellfixes 2022-09-21 15:20:08 +02:00
SSLCERTS.md docs: spellfixes 2022-09-21 15:20:08 +02:00
THANKS THANKS: add contributors from the 7.85.0 release 2022-08-31 08:09:21 +02:00
THANKS-filter THANKS: merged two entries for Evgeny Grin 2022-07-01 09:49:14 +02:00
TheArtOfHttpScripting.md docs: spellfixes 2022-09-21 15:20:08 +02:00
TODO TODO: Provide the error body from a CONNECT response 2022-09-23 23:31:08 +02:00
URL-SYNTAX.md docs: spellfixes 2022-09-21 15:20:08 +02:00
VERSIONS.md docs: spellfixes 2022-09-21 15:20:08 +02:00
WEBSOCKET.md docs: spellfixes 2022-09-21 15:20:08 +02:00

curl logo

Documentation

you will find a mix of various documentation in this directory and subdirectories, using several different formats. Some of them are not ideal for reading directly in your browser.

If you would rather see the rendered version of the documentation, check out the curl website's documentation section for general curl stuff or the libcurl section for libcurl related documentation.