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

diff --git a/meson/libdecaf/meson.build b/meson/libdecaf/meson.build
new file mode 100644 (file)
index 0000000..060ccbe
--- /dev/null
@@ -0,0 +1,43 @@
+# Libdecaf-based signers
+# Inputs: deps conf
+
+opt_libdecaf = get_option('libdecaf')
+dep_libdecaf = dependency('', required: false)
+
+if not opt_libdecaf.disabled()
+  dep_libdecaf = dependency('libdecaf', required: false)
+  if not dep_libdecaf.found()
+    dep_libdecaf = cxx.find_library('decaf', dirs: ['/usr', '/usr/local'], required: opt_libdecaf)
+  endif
+
+  found_header = false
+  header_path = ''
+  if dep_libdecaf.found()
+    include_dirs = ['/usr/include', '/usr/local/include']
+    headers = ['decaf.hxx', 'decaf/decaf.hxx']
+
+    do_break = false
+    foreach dirname: include_dirs
+      dir = include_directories(dirname, is_system: true)
+      foreach header: headers
+        header_path = dirname / header
+        message('Libdecaf: Checking for ' + header_path)
+        found_header = cxx.has_header(header, dependencies: dep_libdecaf, required: false, include_directories: dir)
+        if found_header
+          add_global_arguments('-I' + header_path, language: 'cpp')
+          do_break = true
+          break
+        endif
+      endforeach
+
+      if do_break
+        break
+      endif
+    endforeach
+  endif
+
+  show_colors = dep_libdecaf.found() or not opt_libdecaf.auto()
+  conf.set10('HAVE_LIBDECAF', dep_libdecaf.found() and found_header, description: 'Whether we build libdecaf-based signers')
+  summary('libdecaf', dep_libdecaf.found(), bool_yn: show_colors, section: 'Configuration')
+  summary('libdecaf headers', found_header ? header_path : found_header, bool_yn: show_colors, section: 'Configuration')
+endif