Junio C Hamano <gitster@xxxxxxxxx> writes: > Unfortunately, we cannot use the same trick, i.e. "Makefile > knows not to even compile when NO_CURL is set", as this change is to > help.c and we cannot say "if you do not have libcURL, you do not get > any help" ;-) > > #ifndef NO_CURL > #include "git-curl-compat.h" > #endif > > may be a simplest workaround, as Makefile does this: > > ifdef NO_CURL > BASIC_CFLAGS += -DNO_CURL > ... So, the version I queued looks like so: diff --git a/help.c b/help.c index ce55aaa2c0..92bfef140b 100644 --- a/help.c +++ b/help.c @@ -15,6 +15,10 @@ #include "prompt.h" #include "fsmonitor-ipc.h" +#ifndef NO_CURL +#include "git-curl-compat.h" /* For LIBCURL_VERSION only */ +#endif + struct category_description { uint32_t category; const char *desc; @@ -757,6 +761,9 @@ void get_version_info(struct strbuf ... if (fsmonitor_ipc__is_supported()) strbuf_addstr(buf, "feature: fsmonitor--daemon\n"); +#if defined LIBCURL_VERSION + strbuf_addf(buf, "libcurl: %s\n", LIBCURL_VERSION); +#endif #if defined OPENSSL_VERSION_TEXT strbuf_addf(buf, "OpenSSL: %s\n", OPENSSL_VERSION_TEXT); #endif but then there are a few "side builds" at GitHub CI, one of which is "minimum fuzzer" build. It compiles bunch of object files without giving much build options but the final target of the build is not "git" but something else [*]. And because the job is not interesting in building a working "git", the environment does not install libcURL, leading to a failed build. I sent a separate patch to address this build failure, which is found at https://lore.kernel.org/git/xmqqwmmhimxx.fsf@gitster.g/ [Reference] * https://github.com/git/git/actions/runs/9623017127/job/26544995557