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 if version_check::Version::read().map_or(false, |v| v.at_most("1.77.9")) {
11 println!("cargo:rustc-cfg=feature=\"stdsimd\"");
15 let os = env::var("CARGO_CFG_TARGET_OS").expect("CARGO_CFG_TARGET_OS was not set");
16 if os.eq_ignore_ascii_case("linux")
17 || os.eq_ignore_ascii_case("android")
18 || os.eq_ignore_ascii_case("windows")
19 || os.eq_ignore_ascii_case("macos")
20 || os.eq_ignore_ascii_case("ios")
21 || os.eq_ignore_ascii_case("freebsd")
22 || os.eq_ignore_ascii_case("openbsd")
23 || os.eq_ignore_ascii_case("dragonfly")
24 || os.eq_ignore_ascii_case("solaris")
25 || os.eq_ignore_ascii_case("illumos")
26 || os.eq_ignore_ascii_case("fuchsia")
27 || os.eq_ignore_ascii_case("redox")
28 || os.eq_ignore_ascii_case("cloudabi")
29 || os.eq_ignore_ascii_case("haiku")
30 || os.eq_ignore_ascii_case("vxworks")
31 || os.eq_ignore_ascii_case("emscripten")
32 || os.eq_ignore_ascii_case("wasi")
34 println!("cargo:rustc-cfg=feature=\"runtime-rng\"");
36 let arch = env::var("CARGO_CFG_TARGET_ARCH").expect("CARGO_CFG_TARGET_ARCH was not set");
37 if arch.eq_ignore_ascii_case("x86_64")
38 || arch.eq_ignore_ascii_case("aarch64")
39 || arch.eq_ignore_ascii_case("mips64")
40 || arch.eq_ignore_ascii_case("powerpc64")
41 || arch.eq_ignore_ascii_case("riscv64gc")
42 || arch.eq_ignore_ascii_case("s390x")
44 println!("cargo:rustc-cfg=feature=\"folded_multiply\"");