• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 #![deny(warnings)]
2 
3 use std::env;
4 
main()5 fn 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