]> git.ipfire.org Git - thirdparty/bind9.git/commit
replace the build system with meson
authorAydın Mercan <aydin@isc.org>
Tue, 16 Apr 2024 12:13:53 +0000 (15:13 +0300)
committerAydın Mercan <aydin@isc.org>
Wed, 11 Jun 2025 07:30:12 +0000 (10:30 +0300)
commit5cd6c173ff74309ae7fb73b3e4c754f1589eaddc
treeef1023c41e3f6e0e9192a36d52a715877c46288b
parent24026bae481842589876e10d6ffb192491420b15
replace the build system with meson

Meson is a modern build system that has seen a rise in adoption and some
version of it is available in almost every platform supported.

Compared to automake, meson has the following advantages:

* Meson provides a significant boost to the build and configuration time
  by better exploiting parallelism.

* Meson is subjectively considered to be better in readability.

These merits alone justify experimenting with meson as a way of
improving development time and ergonomics. However, there are some
compromises to ensure the transition goes relatively smooth:

* The system tests currently rely on various files within the source
  directory. Changing this requirement is a non-trivial task that can't
  be currently justified. Currently the last compiled build directory
  writes into the source tree which is in turn used by pytest.

* The minimum version supported has been fixed at 0.61. Increasing this
  value will require choosing a baseline of distributions that can
  package with meson. On the contrary, there will likely be an attempt
  to decrease this value to ensure almost universal support for building
  BIND 9 with meson.
205 files changed:
.editorconfig
.gitattributes
.gitlab-ci.yml
.reuse/dep5
LICENSES/Autoconf-exception-3.0.txt [deleted file]
LICENSES/FSFAP.txt [deleted file]
LICENSES/GPL-3.0-or-later.txt [deleted file]
Makefile.am [deleted file]
Makefile.docs [deleted file]
Makefile.dtrace [deleted file]
Makefile.tests [deleted file]
Makefile.top [deleted file]
README.md
bin/Makefile.am [deleted file]
bin/check/Makefile.am [deleted file]
bin/check/meson.build [new file with mode: 0644]
bin/confgen/Makefile.am [deleted file]
bin/confgen/meson.build [new file with mode: 0644]
bin/delv/Makefile.am [deleted file]
bin/delv/meson.build [new file with mode: 0644]
bin/dig/Makefile.am [deleted file]
bin/dig/meson.build [new file with mode: 0644]
bin/dnssec/Makefile.am [deleted file]
bin/dnssec/meson.build [new file with mode: 0644]
bin/meson.build [new file with mode: 0644]
bin/named/Makefile.am [deleted file]
bin/named/main.c
bin/named/meson.build [new file with mode: 0644]
bin/named/named.conf.rst
bin/named/server.c
bin/named/xsl_c.in [new file with mode: 0644]
bin/nsupdate/Makefile.am [deleted file]
bin/nsupdate/meson.build [new file with mode: 0644]
bin/plugins/Makefile.am [deleted file]
bin/plugins/meson.build [new file with mode: 0644]
bin/rndc/Makefile.am [deleted file]
bin/rndc/meson.build [new file with mode: 0644]
bin/tests/Makefile.am [deleted file]
bin/tests/meson.build [new file with mode: 0644]
bin/tests/system/.gitignore
bin/tests/system/Makefile.am [deleted file]
bin/tests/system/conf.sh
bin/tests/system/conftest.py
bin/tests/system/dlzexternal/driver/Makefile.am [deleted file]
bin/tests/system/dlzexternal/ns1/named.conf.in
bin/tests/system/dyndb/driver/Makefile.am [deleted file]
bin/tests/system/dyndb/driver/driver.c
bin/tests/system/dyndb/ns1/named.conf.j2
bin/tests/system/filter-aaaa/conf/bad1.conf.in [moved from bin/tests/system/filter-aaaa/conf/bad1.conf with 89% similarity]
bin/tests/system/filter-aaaa/conf/bad2.conf.in [moved from bin/tests/system/filter-aaaa/conf/bad2.conf with 93% similarity]
bin/tests/system/filter-aaaa/conf/bad3.conf.in [moved from bin/tests/system/filter-aaaa/conf/bad3.conf with 89% similarity]
bin/tests/system/filter-aaaa/conf/bad4.conf.in [moved from bin/tests/system/filter-aaaa/conf/bad4.conf with 89% similarity]
bin/tests/system/filter-aaaa/conf/bad5.conf.in [moved from bin/tests/system/filter-aaaa/conf/bad5.conf with 90% similarity]
bin/tests/system/filter-aaaa/conf/good1.conf.in [moved from bin/tests/system/filter-aaaa/conf/good1.conf with 89% similarity]
bin/tests/system/filter-aaaa/conf/good2.conf.in [moved from bin/tests/system/filter-aaaa/conf/good2.conf with 89% similarity]
bin/tests/system/filter-aaaa/conf/good3.conf.in [moved from bin/tests/system/filter-aaaa/conf/good3.conf with 90% similarity]
bin/tests/system/filter-aaaa/conf/good4.conf.in [moved from bin/tests/system/filter-aaaa/conf/good4.conf with 89% similarity]
bin/tests/system/filter-aaaa/conf/good5.conf.in [moved from bin/tests/system/filter-aaaa/conf/good5.conf with 90% similarity]
bin/tests/system/filter-aaaa/ns1/named1.conf.in
bin/tests/system/filter-aaaa/ns1/named2.conf.in
bin/tests/system/filter-aaaa/ns2/named1.conf.in
bin/tests/system/filter-aaaa/ns2/named2.conf.in
bin/tests/system/filter-aaaa/ns3/named1.conf.in
bin/tests/system/filter-aaaa/ns3/named2.conf.in
bin/tests/system/filter-aaaa/ns4/named1.conf.in
bin/tests/system/filter-aaaa/ns4/named2.conf.in
bin/tests/system/filter-aaaa/ns5/named.conf.in
bin/tests/system/filter-aaaa/setup.sh
bin/tests/system/filter-aaaa/tests_sh_filter_aaaa.py
bin/tests/system/get_core_dumps.sh
bin/tests/system/hooks/driver/Makefile.am [deleted file]
bin/tests/system/hooks/ns1/named.conf.j2
bin/tests/system/ifconfig.sh.in
bin/tests/system/isctest/vars/.ac_vars/TOP_BUILDDIR.in [deleted file]
bin/tests/system/isctest/vars/.ac_vars/TOP_SRCDIR.in [deleted file]
bin/tests/system/isctest/vars/.build_vars/CURL.in [moved from bin/tests/system/isctest/vars/.ac_vars/CURL.in with 100% similarity]
bin/tests/system/isctest/vars/.build_vars/FSTRM_CAPTURE.in [moved from bin/tests/system/isctest/vars/.ac_vars/FSTRM_CAPTURE.in with 100% similarity]
bin/tests/system/isctest/vars/.build_vars/NC.in [moved from bin/tests/system/isctest/vars/.ac_vars/NC.in with 100% similarity]
bin/tests/system/isctest/vars/.build_vars/PERL.in [moved from bin/tests/system/isctest/vars/.ac_vars/PERL.in with 100% similarity]
bin/tests/system/isctest/vars/.build_vars/PYTEST.in [moved from bin/tests/system/isctest/vars/.ac_vars/PYTEST.in with 100% similarity]
bin/tests/system/isctest/vars/.build_vars/PYTHON.in [moved from bin/tests/system/isctest/vars/.ac_vars/PYTHON.in with 100% similarity]
bin/tests/system/isctest/vars/.build_vars/SHELL.in [moved from bin/tests/system/isctest/vars/.ac_vars/SHELL.in with 100% similarity]
bin/tests/system/isctest/vars/.build_vars/TOP_BUILDDIR.in [new file with mode: 0644]
bin/tests/system/isctest/vars/.build_vars/TOP_SRCDIR.in [new file with mode: 0644]
bin/tests/system/isctest/vars/.build_vars/XSLTPROC.in [moved from bin/tests/system/isctest/vars/.ac_vars/XSLTPROC.in with 100% similarity]
bin/tests/system/isctest/vars/.build_vars/meson.build [new file with mode: 0644]
bin/tests/system/isctest/vars/all.py
bin/tests/system/isctest/vars/autoconf.py [deleted file]
bin/tests/system/isctest/vars/basic.py
bin/tests/system/isctest/vars/build.py [new file with mode: 0644]
bin/tests/system/isctest/vars/dirs.py
bin/tests/system/meson.build [new file with mode: 0644]
bin/tests/system/rsabigexponent/bigkey.c
bin/tests/system/start.pl
bin/tests/system/stop.pl
bin/tests/system/stop.sh.in
bin/tests/system/wire-test.c [moved from bin/tests/wire_test.c with 100% similarity]
bin/tools/Makefile.am [deleted file]
bin/tools/meson.build [new file with mode: 0644]
ci/amd64cross32.ini [new file with mode: 0644]
ci/cross_version_config_test.sh [new file with mode: 0755]
ci/freebsd.ini [new file with mode: 0644]
configure.ac [deleted file]
dnstap.proto [moved from lib/dns/dnstap.proto with 100% similarity]
doc/Makefile.am [deleted file]
doc/arm/Makefile.am [deleted file]
doc/arm/_ext/mergegrammar.py
doc/arm/_ext/namedconf.py
doc/arm/_ext/rndcconf.py
doc/arm/build.inc.rst
doc/arm/conf.py
doc/arm/meson.build [new file with mode: 0644]
doc/dev/style.md
doc/dnssec-guide/img/meson.build [new file with mode: 0644]
doc/dnssec-guide/meson.build [new file with mode: 0644]
doc/ext/configblock.py [new file with mode: 0644]
doc/ext/meson.build [new file with mode: 0644]
doc/man/Makefile.am [deleted file]
doc/man/conf.py
doc/man/meson.build [new file with mode: 0644]
doc/meson.build [new file with mode: 0644]
doc/misc/Makefile.am [deleted file]
doc/misc/forward.zoneopt [deleted file]
doc/misc/hint.zoneopt [deleted file]
doc/misc/in-view.zoneopt [deleted file]
doc/misc/meson.build [new file with mode: 0644]
doc/misc/mirror.zoneopt [deleted file]
doc/misc/options [deleted file]
doc/misc/primary.zoneopt [deleted file]
doc/misc/redirect.zoneopt [deleted file]
doc/misc/rndc.grammar [deleted file]
doc/misc/secondary.zoneopt [deleted file]
doc/misc/static-stub.zoneopt [deleted file]
doc/misc/stub.zoneopt [deleted file]
fuzz/Makefile.am [deleted file]
fuzz/afl.ini [new file with mode: 0644]
fuzz/libfuzzer.ini [new file with mode: 0644]
fuzz/meson.build [new file with mode: 0644]
gcovr.cfg [new file with mode: 0644]
lib/Makefile.am [deleted file]
lib/dns/Makefile.am [deleted file]
lib/dns/include/dns/meson.build [new file with mode: 0644]
lib/dns/include/meson.build [new file with mode: 0644]
lib/dns/meson.build [new file with mode: 0644]
lib/dns/rdata/any_255/meson.build [new file with mode: 0644]
lib/dns/rdata/ch_3/meson.build [new file with mode: 0644]
lib/dns/rdata/generic/meson.build [new file with mode: 0644]
lib/dns/rdata/hs_4/meson.build [new file with mode: 0644]
lib/dns/rdata/in_1/meson.build [new file with mode: 0644]
lib/dns/rdata/meson.build [new file with mode: 0644]
lib/isc/Makefile.am [deleted file]
lib/isc/meson.build [new file with mode: 0644]
lib/isc/netmgr/meson.build [new file with mode: 0644]
lib/isccc/Makefile.am [deleted file]
lib/isccc/meson.build [new file with mode: 0644]
lib/isccfg/Makefile.am [deleted file]
lib/isccfg/meson.build [new file with mode: 0644]
lib/meson.build [new file with mode: 0644]
lib/ns/Makefile.am [deleted file]
lib/ns/meson.build [new file with mode: 0644]
m4/ax_check_compile_flag.m4 [deleted file]
m4/ax_check_link_flag.m4 [deleted file]
m4/ax_check_preproc_flag.m4 [deleted file]
m4/ax_gcc_func_attribute.m4 [deleted file]
m4/ax_jemalloc.m4 [deleted file]
m4/ax_lib_lmdb.m4 [deleted file]
m4/ax_perl_module.m4 [deleted file]
m4/ax_posix_shell.m4 [deleted file]
m4/ax_prog_cc_for_build.m4 [deleted file]
m4/ax_pthread.m4 [deleted file]
m4/ax_python_module.m4 [deleted file]
m4/ax_restore_flags.m4 [deleted file]
m4/ax_save_flags.m4 [deleted file]
m4/compat.m4 [deleted file]
m4/pkg-modversion.m4 [deleted file]
meson.build [new file with mode: 0644]
meson.format [new file with mode: 0644]
meson_options.txt [new file with mode: 0644]
tests/Makefile.am [deleted file]
tests/bench/Makefile.am [deleted file]
tests/bench/meson.build [new file with mode: 0644]
tests/dns/Makefile.am [deleted file]
tests/dns/meson.build [new file with mode: 0644]
tests/dns/sigs_test.c
tests/dns/testdata/master/master18.data.in
tests/dns/testdata/master/meson.build [new file with mode: 0644]
tests/isc/Makefile.am [deleted file]
tests/isc/meson.build [new file with mode: 0644]
tests/isccfg/Makefile.am [deleted file]
tests/isccfg/meson.build [new file with mode: 0644]
tests/libtest/Makefile.am [deleted file]
tests/meson.build [new file with mode: 0644]
tests/ns/Makefile.am [deleted file]
tests/ns/meson.build [new file with mode: 0644]
tests/unit-test-driver.sh.in [deleted file]
util/check-make-install.in
util/dtrace.sh
util/generate-stress-test-configs.py
util/meson-dist-package.sh [new file with mode: 0644]
util/meson-glob.sh [new file with mode: 0755]
util/meson-system-test-init.sh [new file with mode: 0644]
util/meson.build [new file with mode: 0644]
util/pairwise-construct.jq [new file with mode: 0755]
util/pairwise-testing.sh
util/select-baseline-version.jq [new file with mode: 0755]