fn main() {
println!("cargo:rerun-if-changed=build.rs");
match std::env::var("DEP_VEROVIO_SANITIZER").as_deref() {
Ok("address") => {
println!("cargo:rustc-link-arg=-fsanitize=address");
println!("cargo:rustc-link-arg=-fsanitize=undefined");
}
Ok("thread") => {
println!("cargo:rustc-link-arg=-fsanitize=thread");
}
_ => {}
}
if !cfg!(target_os = "linux") {
return;
}
let Ok(out) = std::process::Command::new("c++")
.arg("-print-file-name=libstdc++.so.6")
.output()
else {
return;
};
let Ok(path) = std::str::from_utf8(&out.stdout) else {
return;
};
let path = std::path::Path::new(path.trim());
if !path.is_absolute() {
return;
}
if let Some(libdir) = path.parent() {
println!("cargo:rustc-link-arg=-Wl,-rpath,{}", libdir.display());
}
}