mirror of
https://github.com/curl/curl.git
synced 2026-07-22 21:47:16 +03:00
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, before59dc9f7e69(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
This commit is contained in:
parent
0002184015
commit
2d5a063121
35 changed files with 58 additions and 146 deletions
|
|
@ -57,9 +57,6 @@ endif
|
|||
if DEBUGBUILD
|
||||
AM_CPPFLAGS += -DDEBUGBUILD
|
||||
endif
|
||||
if CURLDEBUG
|
||||
AM_CPPFLAGS += -DCURLDEBUG
|
||||
endif
|
||||
|
||||
if USE_CPPFLAG_CURL_STATICLIB
|
||||
curlx_c_lib =
|
||||
|
|
|
|||
|
|
@ -122,7 +122,7 @@ int cgetopt(int argc, const char * const argv[], const char *optstring)
|
|||
}
|
||||
}
|
||||
|
||||
#ifdef CURLDEBUG
|
||||
#ifdef CURL_MEMDEBUG
|
||||
static void memory_tracking_init(void)
|
||||
{
|
||||
const char *env;
|
||||
|
|
|
|||
|
|
@ -656,8 +656,8 @@ sub checksystemfeatures {
|
|||
elsif($_ =~ /^Features: (.*)/i) {
|
||||
$feat = $1;
|
||||
|
||||
# built with memory tracking support (--enable-curldebug); may be disabled later
|
||||
$feature{"TrackMemory"} = $feat =~ /TrackMemory/i;
|
||||
# built with memory tracking support (--enable-debug); may be disabled later
|
||||
$feature{"TrackMemory"} = $feat =~ /Debug/i;
|
||||
# curl was built with --enable-debug
|
||||
$feature{"Debug"} = $feat =~ /Debug/i;
|
||||
# ssl enabled
|
||||
|
|
@ -846,7 +846,7 @@ sub checksystemfeatures {
|
|||
|
||||
if($torture && !$feature{"TrackMemory"}) {
|
||||
die "cannot run torture tests since curl was built without ".
|
||||
"TrackMemory feature (--enable-curldebug)";
|
||||
"TrackMemory feature (--enable-debug)";
|
||||
}
|
||||
|
||||
my $hostname=join(' ', runclientoutput("hostname"));
|
||||
|
|
|
|||
|
|
@ -54,9 +54,6 @@ AM_CPPFLAGS += -DCURL_STATICLIB -DUNITTESTS
|
|||
if DEBUGBUILD
|
||||
AM_CPPFLAGS += -DDEBUGBUILD
|
||||
endif
|
||||
if CURLDEBUG
|
||||
AM_CPPFLAGS += -DCURLDEBUG
|
||||
endif
|
||||
|
||||
if BUILD_UNITTESTS
|
||||
$(BUNDLE).c: $(top_srcdir)/scripts/mk-unity.pl Makefile.inc $(FIRST_C) $(TESTS_C)
|
||||
|
|
|
|||
|
|
@ -53,9 +53,6 @@ AM_CPPFLAGS += -DCURL_STATICLIB -DUNITTESTS
|
|||
if DEBUGBUILD
|
||||
AM_CPPFLAGS += -DDEBUGBUILD
|
||||
endif
|
||||
if CURLDEBUG
|
||||
AM_CPPFLAGS += -DCURLDEBUG
|
||||
endif
|
||||
# unit tests are small pretend-libcurl-programs, pass BUILDING_LIBCURL to reflect that
|
||||
AM_CPPFLAGS += -DBUILDING_LIBCURL
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue