fn main() { println!("cargo:rerun-if-env-changed=CARGO_CFG_BPF_TARGET_ARCH"); println!("cargo:rerun-if-env-changed=HOST"); print!("cargo::rustc-check-cfg=cfg(bpf_target_arch, values("); for arch in [ "aarch64", "arm", "loongarch64", "mips", "powerpc64", "riscv64", "s390x", "x86_64", ] { print!("\"{arch}\","); } println!("))"); if let Some(arch) = std::env::var_os("CARGO_CFG_BPF_TARGET_ARCH") { let arch = arch.to_str().unwrap(); println!("cargo:rustc-cfg=bpf_target_arch=\"{arch}\""); } else if let Some(host) = std::env::var_os("HOST") { let host = host.to_str().unwrap(); let mut arch = host.split_once('-').map_or(host, |(arch, _rest)| arch); if arch.starts_with("riscv64") { arch = "riscv64"; } println!("cargo:rustc-cfg=bpf_target_arch=\"{arch}\""); } println!("cargo::rustc-check-cfg=cfg(generic_const_exprs)"); check_rust_version(); } #[rustversion::nightly] fn check_rust_version() { // TODO(https://github.com/rust-lang/rust/issues/141492): restore this. // println!("cargo:rustc-cfg=generic_const_exprs"); } #[rustversion::not(nightly)] fn check_rust_version() {}