use std::env;
fn main() {
println!("cargo:rerun-if-env-changed=CARGO_ENCODED_RUSTFLAGS");
let flags = env::var("CARGO_ENCODED_RUSTFLAGS").unwrap_or_default();
let has = |needle: &str| flags.split('\u{1f}').any(|t| t.contains(needle));
let hp_static_dispatch = has("hp_static_dispatch");
let pinned_cpu = has("target-cpu=");
let hp_no_ilp = has("hp_no_ilp");
let arch = env::var("CARGO_CFG_TARGET_ARCH").unwrap_or_default();
if !(hp_static_dispatch && pinned_cpu) || hp_no_ilp || arch == "spirv" {
return;
}
let k: u8 = match arch.as_str() {
"aarch64" => 8,
"x86_64" | "x86" | "riscv64" | "wasm32" => 4,
_ => 1,
};
println!("cargo:rustc-cfg=hp_resolved_unroll");
println!("cargo:rustc-env=HP_STATIC_UNROLL={k}");
}