]> git.ipfire.org Git - thirdparty/pdns.git/commitdiff
Meson: libsodium signers
authorFred Morcos <fred.morcos@open-xchange.com>
Mon, 3 Jul 2023 10:35:31 +0000 (12:35 +0200)
committerFred Morcos <fred.morcos@open-xchange.com>
Wed, 20 Mar 2024 12:28:26 +0000 (13:28 +0100)
meson/libsodium/meson.build [new file with mode: 0644]

diff --git a/meson/libsodium/meson.build b/meson/libsodium/meson.build
new file mode 100644 (file)
index 0000000..7c96928
--- /dev/null
@@ -0,0 +1,26 @@
+# Libsodium-based signers
+# Inputs: deps conf
+
+opt_libsodium = get_option('libsodium')
+dep_libsodium = dependency('libsodium', required: opt_libsodium, not_found_message: 'libsodium not found')
+
+if dep_libsodium.found()
+  funcs = [
+    'crypto_box_easy_afternm',
+    'crypto_box_curve25519xchacha20poly1305_easy',
+    'randombytes_stir',
+    'sodium_memcmp',
+    'crypto_shorthash'
+  ]
+
+  foreach func: funcs
+    define = 'HAVE_' + func.to_upper()
+    has = cxx.has_function(func, dependencies: dep_libsodium)
+    conf.set10(define, has, description: 'Whether we have ' + func)
+    # summary(func, has, bool_yn: true, section: 'Libsodium Functions')
+  endforeach
+endif
+
+deps += dep_libsodium
+conf.set10('HAVE_LIBSODIUM', dep_libsodium.found(), description: 'Whether we build libsodium-based signers')
+summary('libsodium', dep_libsodium.found(), bool_yn: true, section: 'Configuration')