meson: simplify conditions for HTTPS and SHA1 dependencies

The conditions used to figure out whteher the Security framework or
OpenSSL library is required are a bit convoluted because they can be
pulled in via the HTTPS, SHA1 or SHA256 backends. Refactor them to be
easier to read.

Signed-off-by: Patrick Steinhardt <ps@pks.im>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
Patrick Steinhardt
2024-12-30 15:24:07 +01:00
committed by Junio C Hamano
parent d6787d9751
commit 6d8aa2aec8

View File

@ -1329,13 +1329,13 @@ https_backend = get_option('https_backend')
sha1_backend = get_option('sha1_backend')
sha256_backend = get_option('sha256_backend')
security_framework = dependency('Security', required: https_backend == 'CommonCrypto' or sha1_backend == 'CommonCrypto')
security_framework = dependency('Security', required: 'CommonCrypto' in [https_backend, sha1_backend])
core_foundation_framework = dependency('CoreFoundation', required: security_framework.found())
if https_backend == 'auto' and security_framework.found()
https_backend = 'CommonCrypto'
endif
openssl_required = https_backend == 'openssl' or sha1_backend == 'openssl' or sha256_backend == 'openssl'
openssl_required = 'openssl' in [https_backend, sha1_backend, sha256_backend]
openssl = dependency('openssl', required: openssl_required, default_options: ['default_library=static'])
if https_backend == 'auto' and openssl.found()
https_backend = 'openssl'