fn main() {
println!("cargo::rustc-check-cfg=cfg(static_generics_fallback)");
println!("cargo::rustc-check-cfg=cfg(miri)");
println!("cargo::rustc-check-cfg=cfg(loom)");
println!("cargo::rerun-if-env-changed=CARGO_ENCODED_RUSTFLAGS");
println!("cargo::rerun-if-env-changed=RUSTFLAGS");
println!("cargo::rerun-if-env-changed=STATIC_GENERICS_FORCE_FALLBACK");
println!("cargo::rerun-if-env-changed=CARGO_PROFILE_DEV_CODEGEN_BACKEND");
println!("cargo::rerun-if-env-changed=CARGO_PROFILE_RELEASE_CODEGEN_BACKEND");
if std::env::var("STATIC_GENERICS_FORCE_FALLBACK").as_deref() == Ok("1") {
println!("cargo::rustc-cfg=static_generics_fallback");
return;
}
let envs = [
std::env::var("CARGO_ENCODED_RUSTFLAGS").unwrap_or_default(),
std::env::var("RUSTFLAGS").unwrap_or_default(),
std::env::var("CARGO_PROFILE_DEV_CODEGEN_BACKEND").unwrap_or_default(),
std::env::var("CARGO_PROFILE_RELEASE_CODEGEN_BACKEND").unwrap_or_default(),
];
let hit = envs
.iter()
.any(|s| s.contains("cranelift") || s.contains("cg_clif"));
if hit {
println!("cargo::rustc-cfg=static_generics_fallback");
}
}