use std::env;
fn main() {
let host = env::var("HOST").unwrap();
let target = env::var("TARGET").unwrap();
let target_key = target.replace('-', "_").to_uppercase();
println!("cargo:rustc-env=HOST_PLATFORM={host}");
println!("cargo:rerun-if-changed-env=HOST");
println!("cargo:rustc-env=TARGET_PLATFORM={target}");
println!("cargo:rerun-if-changed-env=TARGET");
let link_var = format!("CARGO_TARGET_{target_key}_LINKER");
println!("cargo:rerun-if-changed-env={link_var}");
if let Ok(linker) = env::var(link_var) {
println!("cargo:rustc-env=LINKER={linker}");
}
let run_var = format!("CARGO_TARGET_{target_key}_RUNNER");
println!("cargo:rerun-if-changed-env={run_var}");
if let Ok(runner) = env::var(run_var) {
println!("cargo:rustc-env=RUNNER={runner}");
}
let flag_var = format!("CARGO_TARGET_{target_key}_RUSTFLAGS");
println!("cargo:rerun-if-changed-env={flag_var}");
if let Ok(flags) = env::var(flag_var) {
println!("cargo:rustc-env=FLAGS={flags}");
}
println!("cargo:rerun-if-changed-env=CC");
println!(
"cargo:rerun-if-changed-env=CC_{}",
target_key.to_lowercase()
);
}