Bug 1850713: remove duplicated setting of early hint preloader id in `ScriptLoader...
[gecko.git] / third_party / rust / log / build.rs
blob30c7edb3700d219cd3758d04eb713de66a901f07
1 //! This build script detects target platforms that lack proper support for\r
2 //! atomics and sets `cfg` flags accordingly.\r
3 \r
4 use std::env;\r
5 use std::str;\r
6 \r
7 fn main() {\r
8     let target = match rustc_target() {\r
9         Some(target) => target,\r
10         None => return,\r
11     };\r
13     if target_has_atomic_cas(&target) {\r
14         println!("cargo:rustc-cfg=atomic_cas");\r
15     }\r
17     if target_has_atomics(&target) {\r
18         println!("cargo:rustc-cfg=has_atomics");\r
19     }\r
21     println!("cargo:rerun-if-changed=build.rs");\r
22 }\r
24 fn target_has_atomic_cas(target: &str) -> bool {\r
25     match &target[..] {\r
26         "thumbv6m-none-eabi"\r
27         | "msp430-none-elf"\r
28         | "riscv32i-unknown-none-elf"\r
29         | "riscv32imc-unknown-none-elf" => false,\r
30         _ => true,\r
31     }\r
32 }\r
34 fn target_has_atomics(target: &str) -> bool {\r
35     match &target[..] {\r
36         "thumbv4t-none-eabi"\r
37         | "msp430-none-elf"\r
38         | "riscv32i-unknown-none-elf"\r
39         | "riscv32imc-unknown-none-elf" => false,\r
40         _ => true,\r
41     }\r
42 }\r
44 fn rustc_target() -> Option<String> {\r
45     env::var("TARGET").ok()\r
46 }\r