]> git.ipfire.org Git - thirdparty/pdns.git/commitdiff
Meson: Conditionally check for ragel for dnslabeltext.cc
authorFred Morcos <fred.morcos@open-xchange.com>
Wed, 30 Aug 2023 12:30:31 +0000 (14:30 +0200)
committerFred Morcos <fred.morcos@open-xchange.com>
Wed, 20 Mar 2024 12:28:49 +0000 (13:28 +0100)
meson.build
meson/ragel/meson.build [deleted file]
pdns/meson.build

index 4e937cae1abd15bc4f136e4894c33c189d93eae1..7f04c9136b12a51fe7a4015a4b5a0de6105f5b97 100644 (file)
@@ -39,7 +39,6 @@ subdir('meson' / 'libdir')                  # Libdir
 subdir('meson' / 'platform')                # Platform detection
 subdir('meson' / 'timet-size')              # Check the size of time_t
 subdir('meson' / 'timet-sign')              # Check the sign of time_t
-subdir('meson' / 'ragel')                   # Find ragel and create generator
 subdir('meson' / 'atomics')                 # Check atomics support
 subdir('meson' / 'pthread-headers')         # Check pthread headers
 subdir('meson' / 'pthread-setname')         # Pthread setname madness
diff --git a/meson/ragel/meson.build b/meson/ragel/meson.build
deleted file mode 100644 (file)
index d77aa37..0000000
+++ /dev/null
@@ -1,11 +0,0 @@
-ragel = find_program('ragel', required: false)
-
-summary('Ragel', ragel.found(), bool_yn: ragel.found(), section: 'Programs')
-summary('Ragel Path', ragel.full_path(), section: 'Programs')
-summary('Ragel Version', ragel.version(), section: 'Programs')
-
-ragel_generator = generator(
-  ragel,
-  output: '@BASENAME@.cc',
-  arguments: ['@INPUT@', '-o', '@OUTPUT@'],
-)
index 4bae74704729e3aacf7e5cd7cc32f2396e46f8b9..2e9213c144446072a319f8117000e7fcbeeeb917 100644 (file)
@@ -142,6 +142,22 @@ libpdns_tsig = declare_dependency(
   )
 )
 
+libpdns_dnslabeltext_cc = 'dnslabeltext.cc'
+if not fs.is_file(libpdns_dnslabeltext_cc)
+  ragel = find_program('ragel', required: true)
+  ragel_generator = generator(
+    ragel,
+    output: '@BASENAME@.cc',
+    arguments: ['@INPUT@', '-o', '@OUTPUT@'],
+  )
+
+  summary('Ragel', ragel.found(), bool_yn: ragel.found(), section: 'DNS Labels')
+  summary('Ragel Path', ragel.full_path(), section: 'DNS Labels')
+  summary('Ragel Version', ragel.version(), section: 'DNS Labels')
+
+  libpdns_dnslabeltext_cc = ragel_generator.process('dnslabeltext.rl')
+endif
+
 libpdns = declare_dependency(
   link_with: static_library(
     'pdns',
@@ -205,7 +221,7 @@ libpdns = declare_dependency(
     'uuid-utils.cc',
     'version.cc',
     'zoneparser-tng.cc',
-    fs.is_file('dnslabeltext.cc') ? 'dnslabeltext.cc' : ragel_generator.process('dnslabeltext.rl'),
+    libpdns_dnslabeltext_cc,
     extra_files: [
       'arguments.hh',
       'axfr-retriever.hh',