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-pbonz...@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


Reply via email to