Patrick Steinhardt <ps@xxxxxx> writes: > 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@xxxxxx> > --- > 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', > So here, curl is defined as a dependency on 'libcurl'. Ok makes sense. > -- > 2.49.0.604.gff1f9ca942.dirty
Attachment:
signature.asc
Description: PGP signature