]> git.ipfire.org Git - thirdparty/pdns.git/blobdiff - meson_options.txt
Merge pull request #14195 from rgacogne/ddist-no-assertions
[thirdparty/pdns.git] / meson_options.txt
index bff10b76043a6768de6fe5680cb3f7ba77b1fc9b..c33ae9b8db155930dc44b0b6e23afb306760375a 100644 (file)
@@ -1,42 +1,43 @@
-option('lua', type: 'combo', choices: ['auto', 'luajit', 'lua'], value: 'auto', description: 'Which Lua implementation to use')
+option('lua', type: 'combo', choices: ['auto', 'luajit', 'lua'], value: 'auto', description: 'Lua implementation to use')
 option('hardening', type: 'feature', value: 'auto', description: 'Compiler security checks')
-option('fortify-source', type: 'combo', choices: ['auto', 'disabled', '1', '2', '3'], value: '2', description: 'Source fortification level')
-option('kiss-rng', type: 'boolean', value: false, description: 'Use the unsafe KISS RNG')
-option('libsodium', type: 'feature', value: 'auto', description: 'Build support for libsodium-based signers')
-option('libdecaf', type: 'feature', value: 'auto', description: 'Build support for libdecaf-based signers')
-option('libcrypto', type: 'string', value: 'auto', description: 'Build support for libcrypto-based signers (auto, yes, no, or a path)')
-option('libssl', type: 'feature', value: 'auto', description: 'Build support for libssl')
-option('gnutls', type: 'feature', value: 'auto', description: 'Build support for GnuTLS')
-option('dns-over-tls', type: 'boolean', value: false, description: 'Enable DNS over TLS (requires GnuTLS or OpenSSL)')
-option('ipcipher', type: 'feature', value: 'auto', description: 'Enable ipcipher support (requires libcrypto)')
-option('unit-tests', type: 'boolean', value: false, description: 'Enable building unit tests')
-option('backend-unit-tests', type: 'boolean', value: false, description: 'Enable building backend unit tests')
-option('reproducible', type: 'boolean', value: false, description: 'Create reproducible builds. Use this only if you are a distribution maintainer and need reproducible builds. If you compile PowerDNS yourself, leave this disabled, as it might make debugging harder')
+option('hardening-experimental-cf', type: 'combo', choices: ['disabled', 'full', 'branch', 'return', 'check'], value: 'disabled', description: 'Control Flow hardening')
+option('hardening-experimental-scp', type: 'feature', value: 'disabled', description: 'Stack Clash Protection')
+option('hardening-fortify-source', type: 'combo', choices: ['auto', 'disabled', '1', '2', '3'], value: '2', description: 'Source fortification level')
+option('rng-kiss', type: 'boolean', value: false, description: 'Use the unsafe KISS RNG')
+option('signers-libsodium', type: 'feature', value: 'auto', description: 'Enable libsodium-based signers')
+option('signers-libdecaf', type: 'feature', value: 'auto', description: 'Enable libdecaf-based signers')
+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('ipcipher', type: 'feature', value: 'auto', description: 'IPcipher (requires libcrypto)')
+option('unit-tests', type: 'boolean', value: false, description: 'Build and run unit tests')
+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('fuzz-targets', type: 'boolean', value: false, description: 'Enable fuzzing targets')
 option('verbose-logging', type: 'boolean', value: false, description: 'Enable verbose logging')
-option('pkcs11', type: 'boolean', value: false, description: 'Enable PKCS11 support (experimental)')
-option('gss-tsig', type: 'boolean', value: false, description: 'Enable GSS-TSIG support (experimental)')
+option('experimental-pkcs11', type: 'feature', value: 'disabled', description: 'PKCS11 support')
+option('experimental-gss-tsig', type: 'feature', value: 'disabled', description: 'GSS-TSIG support')
 option('socket-dir', type: 'string', value: '/var/run', description: 'Where the control socket lives')
-option('module-bind', type: 'boolean', value: true, description: 'Build the bind backend')
-option('module-bind-dyn', type: 'boolean', value: false, description: 'Build the dynamically loadable bind backend')
-option('module-gmysql', type: 'boolean', value: true, description: 'Build the gmysql backend')
-option('module-gmysql-dyn', type: 'boolean', value: false, description: 'Build the dynamically loadable gmysql backend')
-option('module-godbc', type: 'boolean', value: false, description: 'Build the godbc backend')
-option('module-godbc-dyn', type: 'boolean', value: false, description: 'Build the dynamically loadable godbc backend')
-option('module-gpgsql', type: 'boolean', value: false, description: 'Build the gpgsql backend')
-option('module-gpgsql-dyn', type: 'boolean', value: false, description: 'Build the dynamically loadable gpgsql backend')
-option('module-gsqlite3', type: 'boolean', value: false, description: 'Build the gsqlite3 backend')
-option('module-gsqlite3-dyn', type: 'boolean', value: false, description: 'Build the dynamically loadable gsqlite3 backend')
-option('module-ldap', type: 'boolean', value: false, description: 'Build the LDAP backend')
-option('module-ldap-dyn', type: 'boolean', value: false, description: 'Build the dynamically loadable LDAP backend')
-option('module-remote', type: 'combo', choices: ['disabled', 'with-zeromq', 'without-zeromq'], value: 'with-zeromq', description: 'Build the remote backend')
-option('module-remote-dyn', type: 'combo', choices: ['disabled', 'with-zeromq', 'without-zeromq'], value: 'disabled', description: 'Build the dynamically loadable remote backend')
-option('module-tinydns', type: 'boolean', value: false, description: 'Build the tinyDNS backend')
-option('module-tinydns-dyn', type: 'boolean', value: false, description: 'Build the dynamically loadable tinyDNS backend')
-option('module-geoip', type: 'boolean', value: false, description: 'Build the GeoIP backend')
-option('module-geoip-dyn', type: 'boolean', value: false, description: 'Build the dynamically loadable GeoIP backend')
-option('module-lmdb', type: 'boolean', value: false, description: 'Build the LMDB backend')
-option('module-lmdb-dyn', type: 'boolean', value: false, description: 'Build the dynamically loadable LMDB backend')
-option('tools', type: 'boolean', value: false, description: 'Build the extra tools')
-option('ixfrdist', type: 'boolean', value: false, description: 'Build ixfrdist')
-option('lua-records', type: 'boolean', value: true, description: 'Build support for Lua records')
+option('module-bind', type: 'combo', choices: ['disabled', 'static', 'dynamic'], value: 'static', description: 'Bind backend')
+option('module-pipe', type: 'combo', choices: ['disabled', 'static', 'dynamic'], value: 'dynamic', description: 'Pipe backend')
+option('module-gmysql', type: 'combo', choices: ['disabled', 'static', 'dynamic'], value: 'disabled', description: 'Generic MySQL backend')
+option('module-godbc', type: 'combo', choices: ['disabled', 'static', 'dynamic'], value: 'disabled', description: 'Generic ODBC backend')
+option('module-gpgsql', type: 'combo', choices: ['disabled', 'static', 'dynamic'], value: 'disabled', description: 'Generic PostgreSQL backend')
+option('module-gsqlite3', type: 'combo', choices: ['disabled', 'static', 'dynamic'], value: 'disabled', description: 'Generic SQLite3 backend')
+option('module-ldap', type: 'combo', choices: ['disabled', 'static', 'dynamic'], value: 'disabled', description: 'LDAP backend')
+option('module-remote', type: 'combo', choices: ['disabled', 'static', 'dynamic'], value: 'disabled', description: 'Remote backend')
+option('module-remote-zeromq', type: 'boolean', value: false, description: 'Use ZeroMQ in the Remote backend')
+option('module-tinydns', type: 'combo', choices: ['disabled', 'static', 'dynamic'], value: 'disabled', description: 'TinyDNS backend')
+option('module-geoip', type: 'combo', choices: ['disabled', 'static', 'dynamic'], value: 'disabled', description: 'GeoIP backend')
+option('module-lmdb', type: 'combo', choices: ['disabled', 'static', 'dynamic'], value: 'disabled', description: 'LMDB backend')
+option('module-lua2', type: 'combo', choices: ['disabled', 'static', 'dynamic'], value: 'disabled', description: 'Lua2 backend')
+option('tools', type: 'boolean', value: false, description: 'Build extra tools')
+option('tools-ixfrdist', type: 'boolean', value: false, description: 'Build ixfrdist')
+option('lua-records', type: 'boolean', value: true, description: 'Support Lua records')
+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')