1 #![deny(warnings)] 2 3 use std::env; 4 main()5fn main() { 6 println!("cargo:rerun-if-changed=build.rs"); 7 if let Some(channel) = version_check::Channel::read() { 8 if channel.supports_features() { 9 println!("cargo:rustc-cfg=feature=\"specialize\""); 10 println!("cargo:rustc-cfg=feature=\"stdsimd\""); 11 } 12 } 13 let os = env::var("CARGO_CFG_TARGET_OS").expect("CARGO_CFG_TARGET_OS was not set"); 14 if os.eq_ignore_ascii_case("linux") 15 || os.eq_ignore_ascii_case("android") 16 || os.eq_ignore_ascii_case("windows") 17 || os.eq_ignore_ascii_case("macos") 18 || os.eq_ignore_ascii_case("ios") 19 || os.eq_ignore_ascii_case("freebsd") 20 || os.eq_ignore_ascii_case("openbsd") 21 || os.eq_ignore_ascii_case("dragonfly") 22 || os.eq_ignore_ascii_case("solaris") 23 || os.eq_ignore_ascii_case("illumos") 24 || os.eq_ignore_ascii_case("fuchsia") 25 || os.eq_ignore_ascii_case("redox") 26 || os.eq_ignore_ascii_case("cloudabi") 27 || os.eq_ignore_ascii_case("haiku") 28 || os.eq_ignore_ascii_case("vxworks") 29 || os.eq_ignore_ascii_case("emscripten") 30 || os.eq_ignore_ascii_case("wasi") 31 { 32 println!("cargo:rustc-cfg=feature=\"runtime-rng\""); 33 } 34 let arch = env::var("CARGO_CFG_TARGET_ARCH").expect("CARGO_CFG_TARGET_ARCH was not set"); 35 if arch.eq_ignore_ascii_case("x86_64") 36 || arch.eq_ignore_ascii_case("aarch64") 37 || arch.eq_ignore_ascii_case("mips64") 38 || arch.eq_ignore_ascii_case("powerpc64") 39 || arch.eq_ignore_ascii_case("riscv64gc") 40 || arch.eq_ignore_ascii_case("s390x") 41 { 42 println!("cargo:rustc-cfg=feature=\"folded_multiply\""); 43 } 44 45 } 46