]> git.ipfire.org Git - thirdparty/pdns.git/commitdiff
Meson: Generate the sqlite3 bind-dnssec schema code
authorFred Morcos <fred.morcos@open-xchange.com>
Wed, 16 Aug 2023 21:46:05 +0000 (23:46 +0200)
committerFred Morcos <fred.morcos@open-xchange.com>
Wed, 20 Mar 2024 12:28:43 +0000 (13:28 +0100)
pdns/generate-bind-dnssec-schema.py [new file with mode: 0644]
pdns/meson.build

diff --git a/pdns/generate-bind-dnssec-schema.py b/pdns/generate-bind-dnssec-schema.py
new file mode 100644 (file)
index 0000000..0a04349
--- /dev/null
@@ -0,0 +1,15 @@
+"""Produce BIND DNSSEC schema usable from C."""
+
+import sys
+
+sql_filename = sys.argv[1]
+
+with open(sql_filename, mode="r", encoding="utf-8") as f_in:
+    contents = f_in.read()
+
+    print("#pragma once")
+    print()
+    print("static char sqlCreate[] __attribute__((unused)) =")
+    for line in contents.split("\n"):
+        print(f'"{line}"')
+    print(";")
index c8ef0199e14cb52ab623c4dd460148a7ee810103..4b161e11f256cd210dcb227c21f45aae3db55ab8 100644 (file)
@@ -1,3 +1,21 @@
+libpdns_bind_dnssec_schema = custom_target(
+  'libpdns-bind-dnssec-schema',
+  command: [
+    python_prog,
+    '@INPUT0@',
+    '@INPUT1@',
+  ],
+  input: [
+    'generate-bind-dnssec-schema.py',
+    'bind-dnssec.schema.sqlite3.sql',
+  ],
+  output: 'bind-dnssec.schema.sqlite3.sql.h',
+  capture: true,
+)
+libpdns_bind_dnssec_schema = declare_dependency(
+  sources: [libpdns_bind_dnssec_schema],
+)
+
 libpdns_bind_parser = declare_dependency(
   link_with: static_library(
     'pdns-bind-parser',
@@ -162,7 +180,6 @@ libpdns = declare_dependency(
       'backends/gsql/ssql.hh',
       'base32.hh',
       'base64.hh',
-      'bind-dnssec.schema.sqlite3.sql.h',
       'burtle.hh',
       'cachecleaner.hh',
       'circular_buffer.hh',
@@ -228,6 +245,7 @@ libpdns = declare_dependency(
     ],
     dependencies: [
       deps,
+      libpdns_bind_dnssec_schema,
       libpdns_bind_parser,
       libpdns_lua,
       libpdns_lua_records,