On Wed, Aug 27, 2025 at 02:41:26PM +0400, marcandre.lur...@redhat.com wrote: > Date: Wed, 27 Aug 2025 14:41:26 +0400 > From: marcandre.lur...@redhat.com > Subject: [PATCH 04/22] rust: make build.rs generic over various > ./rust/projects > > From: Marc-André Lureau <marcandre.lur...@redhat.com> > > Guess the name of the subdir from the manifest directory, instead of > hard-coding it. In the following commits, other crates can then link to > this file, instead of maintaining their own copy. > > Signed-off-by: Marc-André Lureau <marcandre.lur...@redhat.com> > --- > rust/qemu-api/build.rs | 10 ++++++++-- > 1 file changed, 8 insertions(+), 2 deletions(-) > > diff --git a/rust/qemu-api/build.rs b/rust/qemu-api/build.rs > index 29d0945625..92237183ec 100644 > --- a/rust/qemu-api/build.rs > +++ b/rust/qemu-api/build.rs > @@ -9,12 +9,14 @@ > use std::{env, fs::remove_file, io::Result, path::Path}; > > fn main() -> Result<()> { > + let manifest_dir = env!("CARGO_MANIFEST_DIR"); > let file = if let Ok(root) = env::var("MESON_BUILD_ROOT") { > - format!("{root}/rust/qemu-api/bindings.inc.rs") > + let sub = get_rust_subdir(manifest_dir).unwrap(); > + format!("{root}/{sub}/bindings.inc.rs") > } else { > // Placing bindings.inc.rs in the source directory is supported > // but not documented or encouraged. > - format!("{}/src/bindings.inc.rs", env!("CARGO_MANIFEST_DIR")) > + format!("{}/src/bindings.inc.rs", manifest_dir)
Only a nit: cargo clippy suggests this inline style: format!("{manifest_dir}/src/bindings.inc.rs") > };