From d6a0d6d42ced205fcba8734cfa9e8f021dbc2e9b Mon Sep 17 00:00:00 2001 From: Fred Morcos Date: Wed, 30 Aug 2023 14:30:31 +0200 Subject: [PATCH] Meson: Conditionally check for ragel for dnslabeltext.cc --- meson.build | 1 - meson/ragel/meson.build | 11 ----------- pdns/meson.build | 18 +++++++++++++++++- 3 files changed, 17 insertions(+), 13 deletions(-) delete mode 100644 meson/ragel/meson.build diff --git a/meson.build b/meson.build index 4e937cae1a..7f04c9136b 100644 --- a/meson.build +++ b/meson.build @@ -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 index d77aa37e21..0000000000 --- a/meson/ragel/meson.build +++ /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@'], -) diff --git a/pdns/meson.build b/pdns/meson.build index 4bae747047..2e9213c144 100644 --- a/pdns/meson.build +++ b/pdns/meson.build @@ -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', -- 2.47.2