option('lua', type: 'combo', choices: ['auto', 'luajit', 'lua', 'lua51', 'lua-5.1', 'lua5.1', 'lua52', 'lua-5.2', 'lua5.2', 'lua53', 'lua-5.3', 'lua5.3', 'lua54', 'lua-5.4', 'lua5.4'], value: 'auto', description: 'Lua implementation to use')
option('hardening', type: 'feature', value: 'auto', description: 'Compiler security checks')
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: 'auto', description: 'Source fortification level')
option('signers-libsodium', type: 'feature', value: 'auto', description: 'Enable libsodium-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-libssl-dir', type: 'string', value: '', description: 'Alternate OpenSSL location')
option('dns-over-tls', type: 'feature', value: 'auto', description: 'DNS over TLS (requires GnuTLS or OpenSSL)')
option('unit-tests', type: 'boolean', value: false, description: 'Build and run unit tests')
option('unit-tests-backends', type: 'boolean', value: false, description: 'Not relevant for recursor')
option('reproducible', type: 'boolean', value: false, description: 'Reproducible builds (for distro maintainers, makes debugging difficult)')
option('systemd-service', type: 'feature', value: 'auto', description: 'Systemd integration (requires libsystemd)')
option('systemd-service-user', type: 'string', value: 'pdns-recursor', description: 'Systemd service user (setuid and unit file; user is not created)')
option('systemd-service-group', type: 'string', value: 'pdns-recursor', 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')
option('snmp', type: 'feature', value: 'disabled', description: 'Enable SNMP')
option('dnstap', type: 'feature', value: 'auto', description: 'Enable DNSTAP support through libfstrm')
option('libcurl', type: 'feature', value: 'auto', description: 'Enable Curl support')
option('nod', type: 'feature', value: 'enabled', description: 'Enable Newly Observed Domains')
option('libcap', type: 'feature', value: 'auto', description: 'Enable libcap for capabilities handling')
option('clang-coverage-format', type: 'boolean', value: false, description: 'Whether to generate coverage data in clang format')
option('tls-gnutls', type: 'feature', value: 'auto', description: 'GnuTLS-based TLS')
