Upgrade rust/crates/log to 0.4.14
Test: make
Change-Id: I5abe243d26889b36f56963e9a9d22185dd5b9558
diff --git a/build.rs b/build.rs
index 65d2398..22cfa78 100644
--- a/build.rs
+++ b/build.rs
@@ -2,13 +2,42 @@
//! atomics and sets `cfg` flags accordingly.
use std::env;
+use std::str;
fn main() {
- let target = env::var("TARGET").unwrap();
+ let target = match rustc_target() {
+ Some(target) => target,
+ None => return,
+ };
- if !target.starts_with("thumbv6") {
+ if target_has_atomic_cas(&target) {
println!("cargo:rustc-cfg=atomic_cas");
}
+ if target_has_atomics(&target) {
+ println!("cargo:rustc-cfg=has_atomics");
+ }
+
println!("cargo:rerun-if-changed=build.rs");
}
+
+fn target_has_atomic_cas(target: &str) -> bool {
+ match &target[..] {
+ "thumbv6m-none-eabi"
+ | "msp430-none-elf"
+ | "riscv32i-unknown-none-elf"
+ | "riscv32imc-unknown-none-elf" => false,
+ _ => true,
+ }
+}
+
+fn target_has_atomics(target: &str) -> bool {
+ match &target[..] {
+ "msp430-none-elf" | "riscv32i-unknown-none-elf" | "riscv32imc-unknown-none-elf" => false,
+ _ => true,
+ }
+}
+
+fn rustc_target() -> Option<String> {
+ env::var("TARGET").ok()
+}