subdir('meson' / 'libcrypto') # OpenSSL-based signers
subdir('meson' / 'libssl') # OpenSSL libssl
subdir('meson' / 'libsnmp') # SNMP
-subdir('meson' / 'gnutls') # GnuTLS
subdir('meson' / 'dot') # DNS over TLS
subdir('meson' / 'clock-gettime') # Clock_gettime
subdir('meson' / 'boost') # Boost
sh_program = find_program('sh')
dep_no_config_in_source_check = custom_target(
input: [],
- output: ['config.h file in source directory check'],
+ output: ['check absense of config.h file in source directory'],
command: [sh_program, '-c', 'test ! -e @SOURCE_ROOT@/config.h'],
build_always_stale: true,
)
dep_libsnmp,
dep_libsodium,
dep_libssl,
- dep_gnutls,
dep_lua,
dep_protozero,
dep_yahttp,
# Conditional sources that need to be separated into standalone libraries for special
# linking without implicitly getting rid of symbols.
-libpdns_signers_sodium = dependency('', required: false)
+librec_signers_sodium = dependency('', required: false)
if dep_libsodium.found()
- libpdns_signers_sodium = declare_dependency(
+ librec_signers_sodium = declare_dependency(
link_whole: static_library(
- 'pdns-signers-sodium',
+ 'rec-signers-sodium',
sources: files(src_dir / 'sodiumsigners.cc'),
dependencies: [dep_boost, dep_libsodium],
)
)
endif
-libpdns_signers_decaf = dependency('', required: false)
+librec_signers_decaf = dependency('', required: false)
if dep_libdecaf.found()
- libpdns_signers_decaf = declare_dependency(
+ librec_signers_decaf = declare_dependency(
link_whole: static_library(
- 'pdns-signers-decaf',
+ 'rec-signers-decaf',
sources: files(src_dir / 'decafsigners.cc'),
dependencies: [dep_boost, dep_libdecaf],
)
)
endif
-libpdns_signers_openssl = declare_dependency(
+librec_signers_openssl = declare_dependency(
link_whole: static_library(
- 'pdns-signers-openssl',
+ 'rec-signers-openssl',
sources: files(src_dir / 'opensslsigners.cc'),
dependencies: [dep_boost, dep_libssl],
)
sources: pubsuffix_cc
)
-libpdns_dnslabeltext_source = src_dir / 'dnslabeltext.rl'
-libpdns_dnslabeltext_gen = src_dir / 'dnslabeltext.cc'
-if not fs.is_file(libpdns_dnslabeltext_gen)
+librec_dnslabeltext_source = src_dir / 'dnslabeltext.rl'
+librec_dnslabeltext_gen = src_dir / 'dnslabeltext.cc'
+if not fs.is_file(librec_dnslabeltext_gen)
ragel = find_program('ragel', required: true)
summary('Ragel', ragel.found(), bool_yn: ragel.found(), section: 'DNS Labels')
arguments: ['@INPUT@', '-o', '@OUTPUT@'],
)
- libpdns_dnslabeltext_gen = ragel_generator.process(libpdns_dnslabeltext_source)
+ librec_dnslabeltext_gen = ragel_generator.process(librec_dnslabeltext_source)
endif
-libpdns_dnslabeltext = declare_dependency(
+librec_dnslabeltext = declare_dependency(
link_with: static_library(
- 'pdns-dnslabeltext',
- libpdns_dnslabeltext_gen,
+ 'rec-dnslabeltext',
+ librec_dnslabeltext_gen,
dependencies: deps,
)
)
-libpdns_common = declare_dependency(
+librec_common = declare_dependency(
link_with: static_library(
- 'pdns-common',
+ 'rec-common',
common_sources,
config_h,
dependencies: [
deps,
- libpdns_dnslabeltext,
+ librec_dnslabeltext,
],
)
)
dep_settings,
dep_rust_settings,
dep_systemd,
- libpdns_signers_openssl,
- libpdns_signers_decaf,
- libpdns_signers_sodium,
+ librec_signers_openssl,
+ librec_signers_decaf,
+ librec_signers_sodium,
dep_pubsuffix,
],
},
'rec_control': {
'main': src_dir / 'rec_control.cc',
- 'manpages': ['pdns_control.1'],
+ 'manpages': ['rec_control.1'],
'deps-extra': [
dep_boost,
dep_settings,
dep_nod,
dep_settings,
dep_rust_settings,
- libpdns_signers_openssl,
- libpdns_signers_decaf,
- libpdns_signers_sodium,
+ librec_signers_openssl,
+ librec_signers_decaf,
+ librec_signers_sodium,
],
)
)
files_extra,
export_dynamic: export_dynamic,
dependencies: [
- libpdns_common,
+ librec_common,
deps_extra,
],
)
option('signers-libcrypto', type: 'feature', value: 'auto', description: 'Enable OpenSSL libcrypto-based signers)')
option('signers-libcrypto-path', type: 'string', value: '', description: 'Custom path to find OpenSSL libcrypto')
option('tls-libssl', type: 'feature', value: 'auto', description: 'OpenSSL-based TLS')
-option('tls-gnutls', type: 'feature', value: 'auto', description: 'GnuTLS-based TLS')
option('dns-over-tls', type: 'boolean', value: false, description: 'DNS over TLS (requires GnuTLS or OpenSSL)')
option('unit-tests', type: 'boolean', value: false, description: 'Build and run unit tests')
-# not relevant for rec, but access by boost meson.build
+# not relevant for rec, but accessed by boost meson.build
option('unit-tests-backends', type: 'boolean', value: false, description: 'Build and run backend unit tests')
option('reproducible', type: 'boolean', value: false, description: 'Reproducible builds (for distro maintainers, makes debugging difficult)')
option('systemd', type: 'feature', value: 'auto', description: 'Systemd notification (requires libsystemd)')
+option('systemd-service-user', type: 'string', value: 'pdns', description: 'Systemd service user (setuid and unit file; user is not created)')
+option('systemd-service-group', type: 'string', value: 'pdns', description: 'Systemd service group (setgid and unit file; group is not created)')
option('auto-var-init', type: 'combo', value: 'disabled', choices: ['zero', 'pattern', 'disabled'], description: 'Enable initialization of automatic variables')
option('malloc-trace', type: 'boolean', value: false, description: 'Enable malloc-trace')
option('socket-dir', type: 'string', value: '/var/run', description: 'Where the control socket lives')