Files
RuDS/crates/bds-cli/build.rs
Chili Palmer 067e9a61e8
Some checks failed
Weekly OSV dependency audit / dependency-audit (push) Failing after 6s
Run the debug CLI without Cargo loader paths
- Add the Rust target library directory to the Linux debug CLI rpath
- Test that the built CLI runs without `LD_LIBRARY_PATH`
2026-08-19 21:26:39 +02:00

31 lines
962 B
Rust

use std::{env, process::Command};
fn main() {
println!("cargo:rerun-if-env-changed=RUSTC");
if env::var("CARGO_CFG_TARGET_OS").as_deref() != Ok("linux")
|| env::var("PROFILE").as_deref() != Ok("debug")
{
return;
}
let rustc = env::var_os("RUSTC").unwrap_or_else(|| "rustc".into());
let target = env::var("TARGET").expect("Cargo must provide the build target");
let output = Command::new(rustc)
.args(["--target", &target, "--print", "target-libdir"])
.output()
.expect("query Rust target library directory");
assert!(
output.status.success(),
"rustc --print target-libdir failed: {}",
String::from_utf8_lossy(&output.stderr)
);
let target_libdir =
String::from_utf8(output.stdout).expect("Rust target library directory must be UTF-8");
println!(
"cargo:rustc-link-arg-bin=bds-cli=-Wl,-rpath,{}",
target_libdir.trim()
);
}