@@ -1352,7 +1352,11 @@ if https_backend == 'auto' and security_framework.found()
endif
openssl_required = 'openssl' in [csprng_backend, https_backend, sha1_backend, sha1_unsafe_backend, sha256_backend]
-openssl = dependency('openssl', required: openssl_required, default_options: ['default_library=static'])
+openssl = dependency('openssl',
+ required: openssl_required,
+ allow_fallback: openssl_required or https_backend == 'auto',
+ default_options: ['default_library=static'],
+)
if https_backend == 'auto' and openssl.found()
https_backend = 'openssl'
endif
@@ -1366,6 +1370,7 @@ elif https_backend == 'openssl'
else
# We either couldn't find any dependencies with 'auto' or the user requested
# 'none'. Both cases are benign.
+ https_backend = 'none'
endif
if https_backend != 'openssl'
When OpenSSL isn't provided by the system we know to fall back to the subproject wrapper. This is especially helpful on Windows systems, where you typically don't have OpenSSL available, in order to reduce the number of required dependencies. The fallback is broken though when the OpenSSL backend is set to 'auto' as we end up calling `dependency('openssl', required: false)` in that case, which implicitly disables falling back to the wrapper. Fix the issue by re-allowing the fallback in case either OpenSSL is required or in case the backend is set to 'auto'. While at it, fix reporting of the backend in case the user asked us to pick no HTTPS backend at all. Signed-off-by: Patrick Steinhardt <ps@pks.im> --- meson.build | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-)