Meson 1.7.0 and 1.8.0 include improved support for Rust, namely:
* support for "objects" in Rust executables
* support for doctest targets
* invoking clippy and rustdoc
Use it to remove BQL-related hacks, fix --enable-modules --enable-rust
and also simplify the Meson logic for building the qemu-api crate
(which may help splitting the crate, too).
Note that this does *not* yet require 1.8.1 for all of QEMU; the
requirement is only there if Rust is enabled.
Paolo
Supersedes: <20250405100603.253421-1-pbonzini@redhat.com>
Paolo Bonzini (6):
meson: update to version 1.8.1
rust: use "objects" for Rust executables as well
build, dockerfiles: add support for detecting rustdoc
rust: add qemu-api doctests to "meson test"
rust: cell: remove support for running doctests with "cargo test
--doc"
rust: use native Meson support for clippy and rustdoc
docs/devel/rust.rst | 12 ++++---
configure | 16 +++++++++
meson.build | 4 ++-
.gitlab-ci.d/buildtest-template.yml | 3 +-
.gitlab-ci.d/buildtest.yml | 11 ++-----
rust/clippy.toml => clippy.toml | 0
python/scripts/vendor.py | 4 +--
python/wheels/meson-1.5.0-py3-none-any.whl | Bin 959846 -> 0 bytes
python/wheels/meson-1.8.1-py3-none-any.whl | Bin 0 -> 1013001 bytes
pythondeps.toml | 2 +-
rust/Cargo.toml | 1 -
rust/meson.build | 14 ++------
rust/qemu-api/meson.build | 31 +++++++-----------
rust/qemu-api/src/cell.rs | 22 +++++--------
scripts/rust/rustc_args.py | 5 +--
.../dockerfiles/fedora-rust-nightly.docker | 2 ++
tests/docker/dockerfiles/ubuntu2204.docker | 1 +
tests/lcitool/mappings.yml | 6 +++-
tests/lcitool/refresh | 3 ++
19 files changed, 69 insertions(+), 68 deletions(-)
rename rust/clippy.toml => clippy.toml (100%)
delete mode 100644 python/wheels/meson-1.5.0-py3-none-any.whl
create mode 100644 python/wheels/meson-1.8.1-py3-none-any.whl
--
2.49.0