From: Fred Morcos Date: Fri, 11 Aug 2023 11:51:35 +0000 (+0200) Subject: Meson: libpdns, libpdns_bindparser and libpdns_auth X-Git-Tag: rec-5.1.0-alpha1~80^2~264 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=64d4c7c035b234196782527b78dff33fb627ecf6;p=thirdparty%2Fpdns.git Meson: libpdns, libpdns_bindparser and libpdns_auth --- diff --git a/meson.build b/meson.build index 7d932f28ab..9a1eb32fb4 100644 --- a/meson.build +++ b/meson.build @@ -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 index 0000000000..5004df46e6 --- /dev/null +++ b/pdns/meson.build @@ -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], +)