From: Patrick Steinhardt <ps@pks.im>
To: git@vger.kernel.org
Cc: Junio C Hamano <gitster@pobox.com>, Sam James <sam@gentoo.org>,
Eli Schwartz <eschwartz@gentoo.org>,
Thorsten Glaser <tg@debian.org>,
Peter Seiderer <ps.report@gmx.net>,
Johannes Schindelin <Johannes.Schindelin@gmx.de>
Subject: [PATCH v2 1/5] meson: fix handling of '-Dcurl=auto'
Date: Mon, 31 Mar 2025 10:33:07 +0200 [thread overview]
Message-ID: <20250331-b4-pks-collect-build-fixes-v2-1-6b06136808f3@pks.im> (raw)
In-Reply-To: <20250331-b4-pks-collect-build-fixes-v2-0-6b06136808f3@pks.im>
The "curl" option controls whether or not a couple of features that
depend on curl shall be included. Most importantly, these features
include the HTTP remote helpers, which are rather quintessential for a
well-functioning Git installation. So while the dependency can in theory
be dropped, most users wouldn't consider the resulting installation to
be fully functional.
The "curl" option is defined as a feature, which means that it can be
"enabled", "disabled" or "auto", which has the effect that the feature
will be enabled if the dependency itself has been found. While most of
the other features have "auto" as default value, the "curl" option is
set to "enabled" by default due to it being so important. Consequently,
autoconfiguration of Git will fail by default if the library cannot be
found.
There is a bug though with how we handle the option in case the user
overrides the feature with `meson setup -Dcurl=auto`: while we will try
to find the library in that case, we won't ever use it because we later
on check for `get_option('curl').enabled()` when deciding whether or not
we want to build dependent sources. But `enabled()` only returns true if
the option has the value "enabled", for "auto" it will return false.
Fix the issue by instead checking for `curl.found()`, which is only true
if the library has been found. And as we only try to find the library
when `get_option('curl')` returns "true" or "auto" this is exactly what
we want.
Signed-off-by: Patrick Steinhardt <ps@pks.im>
---
meson.build | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/meson.build b/meson.build
index efe2871c9db..a8d1e63ccc6 100644
--- a/meson.build
+++ b/meson.build
@@ -1686,7 +1686,7 @@ bin_wrappers += executable('scalar',
install_dir: get_option('libexecdir') / 'git-core',
)
-if get_option('curl').enabled()
+if curl.found()
libgit_curl = declare_dependency(
sources: [
'http.c',
--
2.49.0.604.gff1f9ca942.dirty
next prev parent reply other threads:[~2025-03-31 8:33 UTC|newest]
Thread overview: 22+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-03-28 8:38 [PATCH 0/4] Collection of build fixes Patrick Steinhardt
2025-03-28 8:38 ` [PATCH 1/4] meson: fix handling of '-Dcurl=auto' Patrick Steinhardt
2025-03-28 8:38 ` [PATCH 2/4] gitweb: fix generation of "gitweb.js" Patrick Steinhardt
2025-03-28 8:38 ` [PATCH 3/4] meson: require Perl when building docs Patrick Steinhardt
2025-03-29 17:56 ` Junio C Hamano
2025-03-31 5:59 ` Patrick Steinhardt
2025-03-28 8:38 ` [PATCH 4/4] meson: respect 'tests' build option in contrib Patrick Steinhardt
2025-03-28 18:25 ` Sam James
2025-03-31 8:33 ` [PATCH v2 0/5] Collection of build fixes Patrick Steinhardt
2025-03-31 8:33 ` Patrick Steinhardt [this message]
2025-04-03 8:24 ` [PATCH v2 1/5] meson: fix handling of '-Dcurl=auto' Karthik Nayak
2025-03-31 8:33 ` [PATCH v2 2/5] gitweb: fix generation of "gitweb.js" Patrick Steinhardt
2025-04-01 16:30 ` Johannes Schindelin
2025-04-02 6:40 ` Patrick Steinhardt
2025-04-01 16:30 ` Toon Claes
2025-03-31 8:33 ` [PATCH v2 3/5] meson: respect 'tests' build option in contrib Patrick Steinhardt
2025-04-01 16:31 ` Johannes Schindelin
2025-03-31 8:33 ` [PATCH v2 4/5] meson: distinguish build and target host binaries Patrick Steinhardt
2025-04-03 8:38 ` Karthik Nayak
2025-03-31 8:33 ` [PATCH v2 5/5] ci: use Visual Studio for win+meson job on GitHub Workflows Patrick Steinhardt
2025-04-01 16:41 ` [PATCH v2 0/5] Collection of build fixes Johannes Schindelin
2025-04-03 8:39 ` Karthik Nayak
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20250331-b4-pks-collect-build-fixes-v2-1-6b06136808f3@pks.im \
--to=ps@pks.im \
--cc=Johannes.Schindelin@gmx.de \
--cc=eschwartz@gentoo.org \
--cc=git@vger.kernel.org \
--cc=gitster@pobox.com \
--cc=ps.report@gmx.net \
--cc=sam@gentoo.org \
--cc=tg@debian.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).