mirror of
https://gitlab.isc.org/isc-projects/bind9
synced 2025-08-22 10:10:06 +00:00
191 lines
3.7 KiB
Meson
191 lines
3.7 KiB
Meson
|
# Copyright (C) Internet Systems Consortium, Inc. ("ISC")
|
||
|
#
|
||
|
# SPDX-License-Identifier: MPL-2.0
|
||
|
#
|
||
|
# This Source Code Form is subject to the terms of the Mozilla Public
|
||
|
# License, v. 2.0. If a copy of the MPL was not distributed with this
|
||
|
# file, you can obtain one at https://mozilla.org/MPL/2.0/.
|
||
|
#
|
||
|
# See the COPYRIGHT file distributed with this work for additional
|
||
|
# information regarding copyright ownership.
|
||
|
|
||
|
# Features
|
||
|
option(
|
||
|
'doc',
|
||
|
type: 'feature',
|
||
|
value: 'auto',
|
||
|
description: 'Enable sphinx-based documentation generation',
|
||
|
)
|
||
|
|
||
|
option(
|
||
|
'cap',
|
||
|
type: 'feature',
|
||
|
value: 'auto',
|
||
|
description: 'Enable libcap-based capability support',
|
||
|
)
|
||
|
|
||
|
option(
|
||
|
'dnstap',
|
||
|
type: 'feature',
|
||
|
value: 'auto',
|
||
|
description: 'Enable dnstap packet logging, requires fstrm and protobuf-c',
|
||
|
)
|
||
|
|
||
|
option(
|
||
|
'doh',
|
||
|
type: 'feature',
|
||
|
value: 'auto',
|
||
|
description: 'Enable DNS over HTTPS, requires libnghttp2',
|
||
|
)
|
||
|
|
||
|
option(
|
||
|
'fips',
|
||
|
type: 'feature',
|
||
|
value: 'disabled',
|
||
|
description: 'Enable FIPS mode toggle',
|
||
|
)
|
||
|
|
||
|
option(
|
||
|
'geoip',
|
||
|
type: 'feature',
|
||
|
value: 'auto',
|
||
|
description: 'Enable GeoIP support, requires libmaxminddb',
|
||
|
)
|
||
|
|
||
|
option(
|
||
|
'gssapi',
|
||
|
type: 'feature',
|
||
|
value: 'auto',
|
||
|
description: 'Enable GSSAPI support, requires krb5 and gssapi',
|
||
|
)
|
||
|
|
||
|
option(
|
||
|
'idn',
|
||
|
type: 'feature',
|
||
|
value: 'auto',
|
||
|
description: 'Enable IDN support, requires libidn2',
|
||
|
)
|
||
|
|
||
|
option(
|
||
|
'line',
|
||
|
type: 'feature',
|
||
|
value: 'auto',
|
||
|
description: 'Enable line editing in nsupdate and nslookup, requires libedit',
|
||
|
)
|
||
|
|
||
|
option(
|
||
|
'lmdb',
|
||
|
type: 'feature',
|
||
|
value: 'auto',
|
||
|
description: 'LMDB database to store configuration for "addzone" zones',
|
||
|
)
|
||
|
|
||
|
option(
|
||
|
'stats-json',
|
||
|
type: 'feature',
|
||
|
value: 'auto',
|
||
|
description: 'Enable JSON statistics, requires json-c',
|
||
|
)
|
||
|
|
||
|
option(
|
||
|
'stats-xml',
|
||
|
type: 'feature',
|
||
|
value: 'auto',
|
||
|
description: 'Enable XML statistics, requires libxml2',
|
||
|
)
|
||
|
|
||
|
option(
|
||
|
'zlib',
|
||
|
type: 'feature',
|
||
|
value: 'auto',
|
||
|
description: 'Enable HTTP zlib compression, requires zlib',
|
||
|
)
|
||
|
|
||
|
# Internals
|
||
|
option(
|
||
|
'cachedb',
|
||
|
type: 'combo',
|
||
|
choices: ['qpcache'],
|
||
|
description: 'Default cache database type',
|
||
|
)
|
||
|
|
||
|
option(
|
||
|
'zonedb',
|
||
|
type: 'combo',
|
||
|
choices: ['qpzone'],
|
||
|
description: 'Default zone database type',
|
||
|
)
|
||
|
|
||
|
option(
|
||
|
'locktype',
|
||
|
type: 'combo',
|
||
|
choices: ['adaptive', 'system'],
|
||
|
description: 'Mutex lock type',
|
||
|
)
|
||
|
|
||
|
option(
|
||
|
'jemalloc',
|
||
|
type: 'feature',
|
||
|
value: 'auto',
|
||
|
description: 'Use jemalloc for allocation',
|
||
|
)
|
||
|
|
||
|
option(
|
||
|
'rcu-flavor',
|
||
|
type: 'combo',
|
||
|
choices: ['membarrier', 'bp', 'mb', 'qsbr'],
|
||
|
description: 'Userspace RCU Flavor (non-membarrier RCU is only allowed in development builds)',
|
||
|
)
|
||
|
|
||
|
option(
|
||
|
'tracing',
|
||
|
type: 'feature',
|
||
|
value: 'auto',
|
||
|
description: 'Enable User Statically Defined Tracing support, requires dtrace or systemtap',
|
||
|
)
|
||
|
|
||
|
# Behavior
|
||
|
option(
|
||
|
'auto-validation',
|
||
|
type: 'feature',
|
||
|
value: 'enabled',
|
||
|
description: 'Turn on DNSSEC validation by default, using the IANA root key',
|
||
|
)
|
||
|
|
||
|
# Development
|
||
|
option(
|
||
|
'developer',
|
||
|
type: 'feature',
|
||
|
value: 'disabled',
|
||
|
description: 'Enable development mode',
|
||
|
)
|
||
|
|
||
|
option(
|
||
|
'cmocka',
|
||
|
type: 'feature',
|
||
|
value: 'auto',
|
||
|
description: 'Enable cmocka based tests',
|
||
|
)
|
||
|
|
||
|
option(
|
||
|
'fuzzing',
|
||
|
type: 'combo',
|
||
|
choices: ['none', 'afl', 'libfuzzer', 'oss-fuzz'],
|
||
|
description: 'Enable fuzzing',
|
||
|
)
|
||
|
|
||
|
option(
|
||
|
'trace-logging',
|
||
|
type: 'array',
|
||
|
value: [],
|
||
|
choices: ['query', 'single'],
|
||
|
description: 'Enable very verbose (single-)query trace logging',
|
||
|
)
|
||
|
|
||
|
option(
|
||
|
'leak-detection',
|
||
|
type: 'feature',
|
||
|
value: 'disabled',
|
||
|
description: 'enable the memory leak detection in external libraries (libxml2, libuv, OpenSSL)',
|
||
|
)
|