]> git.ipfire.org Git - thirdparty/pdns.git/commitdiff
Meson: GnuTLS
authorFred Morcos <fred.morcos@open-xchange.com>
Tue, 4 Jul 2023 11:34:35 +0000 (13:34 +0200)
committerFred Morcos <fred.morcos@open-xchange.com>
Wed, 20 Mar 2024 12:28:26 +0000 (13:28 +0100)
meson.build
meson/gnutls/meson.build [new file with mode: 0644]
meson_options.txt

index eb166f803400f92e1b02e4b0a3657873936553ab..655c54c14ef9581e17f92768d4a1c34b93293be8 100644 (file)
@@ -35,6 +35,7 @@ subdir('meson/libsodium')       # Libsodium-based signers
 subdir('meson/libdecaf')        # Libdecaf-based signers
 subdir('meson/libcrypto')       # OpenSSL-based signers
 subdir('meson/libssl')          # OpenSSL libssl
+subdir('meson/gnutls')          # GnuTLS
 
 # Generate config.h ----------------------------------------------------------------------
 config_h = configure_file(configuration: conf, output: 'config.h')
diff --git a/meson/gnutls/meson.build b/meson/gnutls/meson.build
new file mode 100644 (file)
index 0000000..fce3197
--- /dev/null
@@ -0,0 +1,23 @@
+# GnuTLS
+# Inputs: conf deps
+
+opt_gnutls = get_option('gnutls')
+dep_gnutls = dependency('gnutls', version: '>= 3.1.11', required: opt_gnutls)
+
+if dep_gnutls.found()
+  funcs = [
+    'gnutls_memset',
+    'gnutls_session_set_verify_cert',
+    'gnutls_session_get_verify_cert_status',
+    'gnutls_alpn_set_protocols',
+  ]
+
+  foreach func: funcs
+    has = cxx.has_function(func, dependencies: dep_gnutls)
+    conf.set10('HAVE_' + func.to_upper(), has, description: 'Whether we have ' + func)
+  endforeach
+endif
+
+deps += dep_gnutls
+conf.set10('HAVE_GNUTLS', dep_gnutls.found(), description: 'Whether we support GnuTLS')
+summary('GnuTLS', dep_gnutls.found(), bool_yn: dep_gnutls.found() or not opt_gnutls.auto(), section: 'Configuration')
index 45829cf0b936829dbc0d979073b158f1d0aaccf9..331acc1b165a2abf8c3d9ff585675f0f82747702 100644 (file)
@@ -6,3 +6,4 @@ option('libsodium', type: 'feature', value: 'auto', description: 'Build support
 option('libdecaf', type: 'feature', value: 'auto', description: 'Build support for libdecaf-based signers')
 option('libcrypto', type: 'string', value: 'auto', description: 'Build support for libcrypto-based signers (auto, yes, no, or a path)')
 option('libssl', type: 'feature', value: 'auto', description: 'Build support for libssl')
+option('gnutls', type: 'feature', value: 'auto', description: 'Build support for GnuTLS')