rust/qemu-api: Fix binding path in source directory
The build.rs had supported placing bindings.inc.rs in rust/qemu-api/src,
but this "not encouraged" feature is broken.
Considering that manually copying bindings.inc.rs to the development
directory is also useful, fix the bindings.inc.rs path generation to
give this feature another chance.
Fixes: commit 1ae4ca0463 ("rust: move rust.bindgen to qemu-api crate")
Signed-off-by: Zhao Liu <zhao1.liu@intel.com>
Link: https://lore.kernel.org/r/20250623073436.1833357-1-zhao1.liu@intel.com
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
This commit is contained in:
parent
df6fe2abf2
commit
bffbb430ee
1 changed files with 7 additions and 5 deletions
|
|
@ -9,12 +9,14 @@ use std::os::windows::fs::symlink_file;
|
|||
use std::{env, fs::remove_file, io::Result, path::Path};
|
||||
|
||||
fn main() -> Result<()> {
|
||||
// Placing bindings.inc.rs in the source directory is supported
|
||||
// but not documented or encouraged.
|
||||
let path = env::var("MESON_BUILD_ROOT")
|
||||
.unwrap_or_else(|_| format!("{}/src", env!("CARGO_MANIFEST_DIR")));
|
||||
let file = if let Ok(root) = env::var("MESON_BUILD_ROOT") {
|
||||
format!("{root}/rust/qemu-api/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"))
|
||||
};
|
||||
|
||||
let file = format!("{path}/rust/qemu-api/bindings.inc.rs");
|
||||
let file = Path::new(&file);
|
||||
if !Path::new(&file).exists() {
|
||||
panic!(concat!(
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue