]> git.ipfire.org Git - thirdparty/pdns.git/commitdiff
Meson: libpdns, libpdns_bindparser and libpdns_auth
authorFred Morcos <fred.morcos@open-xchange.com>
Fri, 11 Aug 2023 11:51:35 +0000 (13:51 +0200)
committerFred Morcos <fred.morcos@open-xchange.com>
Wed, 20 Mar 2024 12:28:35 +0000 (13:28 +0100)
meson.build
pdns/meson.build [new file with mode: 0644]

index 7d932f28ab1bf8b260556668533ae5c977f63d25..9a1eb32fb49fbbc8141c16560a62985c58189853 100644 (file)
@@ -169,9 +169,13 @@ conf.set_quoted('PDNS_DYN_MODULES', ' '.join(selected_dyn_modules), description:
 ext_modules = ['yahttp', 'ipcrypt', 'json11']
 subdir('ext')
 
+# Pdns
+subdir('pdns')
+
 # Generate config.h ----------------------------------------------------------------------
 config_h = configure_file(configuration: conf, output: 'config.h')
 # summary('Defines', conf.keys(), section: 'Build Configuration') # TODO Meson 0.57
 
 # TODO: Add source files
-auth = executable('pdns', config_h, dependencies: deps, export_dynamic: true)
+internal_deps = [libpdns, libpdns_bindparser, libpdns_auth]
+auth = executable('pdns_server', config_h, dependencies: deps, link_with: internal_deps, export_dynamic: true)
diff --git a/pdns/meson.build b/pdns/meson.build
new file mode 100644 (file)
index 0000000..5004df4
--- /dev/null
@@ -0,0 +1,203 @@
+# libpdns-bindparser
+libpdns_bindparser_sources = [
+  'zoneparser-tng.cc',
+  'zoneparser-tng.hh',
+
+  flex_generator.process('bindlexer.l'),
+  bison_generator.process('bindparser.yy'),
+]
+
+libpdns_bindparser = static_library(
+  'pdns-bindparser',
+  libpdns_bindparser_sources,
+  include_directories: toplevel_includes,
+  # dependencies: [dep_pkcs11, dep_gss_tsig],
+)
+
+# libpdns
+libpdns_sources = [
+  'arguments.cc',
+  'arguments.hh',
+  'axfr-retriever.cc',
+  'axfr-retriever.hh',
+  'backends/gsql/gsqlbackend.cc',
+  'backends/gsql/gsqlbackend.hh',
+  'backends/gsql/ssql.hh',
+  'base32.cc',
+  'base32.hh',
+  'base64.cc',
+  'base64.hh',
+  'bind-dnssec.schema.sqlite3.sql.h',
+  'burtle.hh',
+  'cachecleaner.hh',
+  'circular_buffer.hh',
+  'comment.hh',
+  'communicator.cc',
+  'communicator.hh',
+  'credentials.cc',
+  'credentials.hh',
+  'dbdnsseckeeper.cc',
+  'digests.hh',
+  'distributor.hh',
+  'dns.cc',
+  'dns.hh',
+  'dns_random.hh',
+  'dnsbackend.cc',
+  'dnsbackend.hh',
+  'dnslabeltext.cc',
+  'dnsname.cc',
+  'dnsname.hh',
+  'dnspacket.cc',
+  'dnspacket.hh',
+  'dnsparser.cc',
+  'dnsparser.hh',
+  'dnsproxy.cc',
+  'dnsproxy.hh',
+  'dnsrecords.cc',
+  'dnsrecords.hh',
+  'dnssecinfra.cc',
+  'dnssecinfra.hh',
+  'dnsseckeeper.hh',
+  'dnssecsigner.cc',
+  'dnswriter.cc',
+  'dnswriter.hh',
+  'dynhandler.cc',
+  'dynhandler.hh',
+  'dynlistener.cc',
+  'dynlistener.hh',
+  'dynmessenger.hh',
+  'ednscookies.cc',
+  'ednscookies.hh',
+  'ednsoptions.cc',
+  'ednsoptions.hh',
+  'ednssubnet.cc',
+  'ednssubnet.hh',
+  'gettime.cc',
+  'gettime.hh',
+  'gss_context.cc',
+  'gss_context.hh',
+  'histogram.hh',
+  'iputils.cc',
+  'iputils.hh',
+  'ixfr.cc',
+  'ixfr.hh',
+  'json.cc',
+  'json.hh',
+  'lock.hh',
+  'logger.cc',
+  'logger.hh',
+  'logging.hh',
+  'lua-auth4.cc',
+  'lua-auth4.hh',
+  'lua-base4.cc',
+  'lua-base4.hh',
+  'mastercommunicator.cc',
+  'misc.cc',
+  'misc.hh',
+  'nameserver.cc',
+  'nameserver.hh',
+  'namespaces.hh',
+  'noinitvector.hh',
+  'nsecrecords.cc',
+  'nsecrecords.cc',
+  'opensslsigners.cc',
+  'opensslsigners.hh',
+  'packetcache.hh',
+  'packethandler.cc',
+  'packethandler.hh',
+  'pdnsexception.hh',
+  'proxy-protocol.cc',
+  'proxy-protocol.hh',
+  'qtype.cc',
+  'qtype.hh',
+  'query-local-address.cc',
+  'query-local-address.hh',
+  'rcpgenerator.cc',
+  'rcpgenerator.hh',
+  'resolver.cc',
+  'resolver.hh',
+  'responsestats-auth.cc',
+  'responsestats.cc',
+  'responsestats.hh',
+  'rfc2136handler.cc',
+  'secpoll-auth.cc',
+  'secpoll-auth.hh',
+  'secpoll.cc',
+  'secpoll.hh',
+  'serialtweaker.cc',
+  'sha.hh',
+  'shuffle.cc',
+  'shuffle.hh',
+  'signingpipe.cc',
+  'signingpipe.hh',
+  'sillyrecords.cc',
+  'sillyrecords.cc',
+  'slavecommunicator.cc',
+  'stat_t.hh',
+  'statbag.cc',
+  'statbag.hh',
+  'stubresolver.cc',
+  'stubresolver.hh',
+  'svc-records.cc',
+  'svc-records.hh',
+  'tcpreceiver.cc',
+  'tcpreceiver.hh',
+  'threadname.cc',
+  'threadname.hh',
+  'tkey.cc',
+  'trusted-notification-proxy.cc',
+  'trusted-notification-proxy.hh',
+  'tsigutils.cc',
+  'tsigutils.hh',
+  'tsigverifier.cc',
+  'tsigverifier.hh',
+  'ueberbackend.cc',
+  'ueberbackend.hh',
+  'unix_semaphore.cc',
+  'unix_utility.cc',
+  'unix_utility.cc',
+  'utility.hh',
+  'utility.hh',
+  'uuid-utils.cc',
+  'uuid-utils.hh',
+  'version.cc',
+  'version.hh',
+  'webserver.cc',
+  'webserver.hh',
+  'ws-api.cc',
+  'ws-api.hh',
+  'ws-auth.cc',
+  'ws-auth.hh',
+  'zoneparser-tng.cc',
+]
+
+libpdns = static_library(
+  'pdns',
+  libpdns_sources,
+  include_directories: toplevel_includes,
+  dependencies: [deps, dep_pkcs11, dep_gss_tsig, dep_json11, dep_yahttp],
+)
+
+# libpdns-auth
+libpdns_auth_sources = [
+  'auth-caches.cc',
+  'auth-caches.hh',
+  'auth-carbon.cc',
+  'auth-catalogzone.cc',
+  'auth-catalogzone.hh',
+  'auth-main.cc',
+  'auth-main.hh',
+  'auth-packetcache.cc',
+  'auth-packetcache.hh',
+  'auth-querycache.cc',
+  'auth-querycache.hh',
+  'auth-zonecache.cc',
+  'auth-zonecache.hh',
+]
+
+libpdns_auth = static_library(
+  'pdns-auth',
+  libpdns_auth_sources,
+  include_directories: toplevel_includes,
+  dependencies: [deps, dep_yahttp, dep_json11],
+)