python = find_program('python3')
rust_lib_sources = custom_target(
+ 'rust-lib-sources',
command: [python, '@INPUT0@', '@SOURCE_ROOT@', '@SOURCE_ROOT@/dnsdist-rust-lib', '@OUTDIR@'],
input: sources,
output: generated,
echo Running autoreconf -vi so distfile is still usable for autotools building
# Run autoconf for people using autotools to build, this creates a configure sc
autoreconf -vi
+rm -rf "$MESON_PROJECT_DIST_ROOT"/autom4te.cache
-# Generate man pages
cd "$MESON_PROJECT_BUILD_ROOT"
-meson compile man-pages
-cp -vp *.1 "$MESON_PROJECT_DIST_ROOT"
-rm -rf "$MESON_PROJECT_DIST_ROOT"/autom4te.cache
+# Generate YAML documentation
+meson compile yaml-settings-docs
+cp -vp "$MESON_SOURCE_ROOT"/docs/reference/yaml-*.rst "$MESON_PROJECT_DIST_ROOT"/docs/reference/
# Generate a few files to reduce build dependencies
echo 'If the below command generates an error, remove dnslabeltext.cc from source dir (remains of an autotools build?) and start again with a clean meson setup'
ninja libdnsdist-common.a.p/dnslabeltext.cc
cp -vp libdnsdist-common.a.p/dnslabeltext.cc "$MESON_PROJECT_DIST_ROOT"
+
+# Generate rules (selectors, actions)
+meson compile rules
+cp -vp dnsdist-*generated.hh dnsdist-*generated-body.hh "$MESON_PROJECT_DIST_ROOT"
+
+# Generate the sources for our Rust-based library
+meson compile rust-lib-sources
+cp -vp dnsdist-rust-lib/*.cc *.hh "$MESON_PROJECT_DIST_ROOT"/dnsdist-rust-lib/
+cp -vp "$MESON_SOURCE_ROOT"/dnsdist-rust-lib/rust/src/lib.rs "$MESON_PROJECT_DIST_ROOT"/dnsdist-rust-lib/rust/src/
+
+# Generate man pages
+meson compile man-pages
+cp -vp *.1 "$MESON_PROJECT_DIST_ROOT"