Sha256: 91dd121dd1aa749c8c0c24bda658309d1313baa022afbc5af1fabd1104622376
Contents?: true
Size: 1.08 KB
Versions: 8
Compression:
Stored size: 1.08 KB
Contents
//! This build script detects target platforms that lack proper support for //! atomics and sets `cfg` flags accordingly. use std::env; use std::str; fn main() { let target = match rustc_target() { Some(target) => target, None => return, }; 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[..] { "thumbv4t-none-eabi" | "msp430-none-elf" | "riscv32i-unknown-none-elf" | "riscv32imc-unknown-none-elf" => false, _ => true, } } fn rustc_target() -> Option<String> { env::var("TARGET").ok() }
Version data entries
8 entries across 8 versions & 1 rubygems