curl-curl/m4
Viktor Szakats 2d5a063121
build: merge TrackMemory (CURLDEBUG) into debug-enabled option
Drop separate `TrackMemory` (aka `CURLDEBUG`) debug feature.

After recent changes (thread-safety,
193cb00ce9, and updates leading up to
it), `TrackMemory` is unlikely to cause build or runtime issues.

To simplify builds and debug options, enable `TrackMemory`
unconditionally for debug-enabled (aka `DEBUGBUILD`) builds. Before
this patch, this was already the default, with an option to disable
it, or enable it in non-debug-enabled builds.

Note, in practice these two debug options already went hand in hand. It
was not possible to toggle them separately for a long time due to bugs,
before 59dc9f7e69 (2024-05-28) fixed it.

This patch also removes/deprecates separate knobs and feature flags for
`TrackMemory`:
- autotools: `--enable-curldebug`/`--disable-curldebug`
- cmake: `-DENABLE_CURLDEBUG=ON`/`OFF`
- C macro: `CURLDEBUG`
- libcurl: `CURL_VERSION_CURLDEBUG` symbol deprecated in favor
  of `CURL_VERSION_DEBUG`. They always return the same value after this
  patch.

Also:
- drop `TrackMemory` from `curl -V` output.
- rename internal `CURLDEBUG` macro to `CURL_MEMDEBUG` internally.
  To avoid confusion with `DEBUGBUILD`, but to keep guarding
  `TrackMemory`-related internals for readability.
- runtests: bind `TrackMemory` to debug feature. Keep it a separate
  test feature requirement, for clarity.
- CI: drop test builds for combinations of the two options.
- GHA/linux: no longer disable TrackMemory in the TSAN job.

Ref: https://github.com/curl/curl/pull/20328#issuecomment-3754528407

Closes #20331
2026-01-19 18:43:17 +01:00
..
.gitignore tidy-up: .gitignore lines mostly 2025-01-27 20:59:46 +01:00
curl-amissl.m4 openssl: drop includes unused or duplicate 2025-12-20 13:51:05 +01:00
curl-apple-sectrust.m4 autotools: tidy-up if expressions 2025-12-10 22:29:19 +01:00
curl-compilers.m4 build: replace -pedantic with -Wpedantic when supported 2025-12-18 01:35:59 +01:00
curl-confopts.m4 build: merge TrackMemory (CURLDEBUG) into debug-enabled option 2026-01-19 18:43:17 +01:00
curl-functions.m4 badwords: catch and fix threading-related words 2025-12-16 21:26:58 +01:00
curl-gnutls.m4 autotools: tidy-up if expressions 2025-12-10 22:29:19 +01:00
curl-mbedtls.m4 autotools: tidy-up if expressions 2025-12-10 22:29:19 +01:00
curl-openssl.m4 vquic: drop support for OpenSSL-QUIC 2026-01-17 22:49:34 +01:00
curl-override.m4 badwords: add more contractions, fix fallouts 2025-11-17 19:29:15 +01:00
curl-reentrant.m4 tidy-up: miscellaneous 2025-12-18 21:27:58 +01:00
curl-rustls.m4 autotools: tidy-up if expressions 2025-12-10 22:29:19 +01:00
curl-schannel.m4 autotools: tidy-up if expressions 2025-12-10 22:29:19 +01:00
curl-sysconfig.m4 autotools: tidy-up if expressions 2025-12-10 22:29:19 +01:00
curl-wolfssl.m4 lib: use (u)int64_t instead of long long 2026-01-10 12:40:54 +01:00
xc-am-iface.m4 misc: cleanup after removing years from copyright 2024-07-30 14:11:48 +02:00
xc-cc-check.m4 misc: cleanup after removing years from copyright 2024-07-30 14:11:48 +02:00
xc-lt-iface.m4 autotools: tidy-up if expressions 2025-12-10 22:29:19 +01:00
xc-val-flgs.m4 autotools: tidy-up if expressions 2025-12-10 22:29:19 +01:00
zz40-xc-ovr.m4 autotools: tidy-up if expressions 2025-12-10 22:29:19 +01:00
zz50-xc-ovr.m4 badwords: add more contractions, fix fallouts 2025-11-17 19:29:15 +01:00