opt_libssl = get_option('tls-libssl')
-dep_libssl = dependency('libssl', required: opt_libssl)
+opt_libssl_dir = get_option('tls-libssl-dir')
+
+
+if opt_libssl_dir != ''
+ dep_libssl = declare_dependency(
+ include_directories: [opt_libssl_dir / 'include'],
+ )
+ add_global_link_arguments(
+ ['-L' + opt_libssl_dir / 'lib', '-lssl'],
+ language: ['c', 'cpp'],
+ )
+else
+ dep_libssl = dependency('libssl', required: opt_libssl)
+endif
if dep_libssl.found()
funcs = [
option('signers-libcrypto', type: 'feature', value: 'auto', description: 'Enable OpenSSL libcrypto-based signers)')
option('signers-libcrypto-path', type: 'string', value: '', description: 'Custom path to find OpenSSL libcrypto')
option('tls-libssl', type: 'feature', value: 'auto', description: 'OpenSSL-based TLS')
+option('tls-libssl-dir', type: 'string', value: '', description: 'Alternate OpenSSL location')
option('tls-gnutls', type: 'feature', value: 'auto', description: 'GnuTLS-based TLS')
option('dns-over-tls', type: 'feature', value: 'auto', description: 'DNS over TLS (requires GnuTLS or OpenSSL)')
option('ipcipher', type: 'feature', value: 'auto', description: 'IPcipher (requires libcrypto)')
option('hardening-fortify-source', type: 'combo', choices: ['auto', 'disabled', '1', '2', '3'], value: '2', description: 'Source fortification level')
option('ipcipher', type: 'feature', value: 'auto', description: 'IPCipher')
option('tls-libssl', type: 'feature', value: 'auto', description: 'OpenSSL-based TLS')
+option('tls-libssl-dir', type: 'string', value: '', description: 'Alternate OpenSSL location')
option('tls-libssl-engines', type: 'boolean', value: false, description: 'OpenSSL-based TLS with TLS engines')
option('tls-libssl-providers', type: 'boolean', value: false, description: 'OpenSSL-based TLS with TLS providers')
option('dns-over-tls', type: 'feature', value: 'auto', description: 'DNS over TLS (requires GnuTLS or OpenSSL)')
option('signers-libcrypto', type: 'feature', value: 'auto', description: 'Enable OpenSSL libcrypto-based signers)')
option('signers-libcrypto-path', type: 'string', value: '', description: 'Custom path to find OpenSSL libcrypto')
option('tls-libssl', type: 'feature', value: 'auto', description: 'OpenSSL-based TLS')
-option('dns-over-tls', type: 'feature', value: 'auto', description: 'DNS over TLS (requires OpenSSL)')
+option('tls-libssl-dir', type: 'string', value: '', description: 'Alternate OpenSSL location')
+option('dns-over-tls', type: 'feature', value: 'auto', description: 'DNS over TLS (requires GnuTLS or OpenSSL)')
option('unit-tests', type: 'boolean', value: false, description: 'Build and run unit tests')
option('unit-tests-backends', type: 'boolean', value: false, description: 'Not relevant for recursor')
option('reproducible', type: 'boolean', value: false, description: 'Reproducible builds (for distro maintainers, makes debugging difficult)')