diff options
Diffstat (limited to 'build.rs')
-rw-r--r-- | build.rs | 29 |
1 files changed, 25 insertions, 4 deletions
@@ -1,12 +1,33 @@ +// The rustc-cfg listed below are considered public API, but it is *unstable* +// and outside of the normal semver guarantees: +// +// - `crossbeam_no_atomic_cas` +// Assume the target does *not* support atomic CAS operations. +// This is usually detected automatically by the build script, but you may +// need to enable it manually when building for custom targets or using +// non-cargo build systems that don't run the build script. +// +// - `crossbeam_no_atomic` +// Assume the target does *not* support any atomic operations. +// This is usually detected automatically by the build script, but you may +// need to enable it manually when building for custom targets or using +// non-cargo build systems that don't run the build script. +// +// - `crossbeam_no_atomic_64` +// Assume the target does *not* support AtomicU64/AtomicI64. +// This is usually detected automatically by the build script, but you may +// need to enable it manually when building for custom targets or using +// non-cargo build systems that don't run the build script. +// +// With the exceptions mentioned above, the rustc-cfg emitted by the build +// script are *not* public API. + #![warn(rust_2018_idioms)] use std::env; include!("no_atomic.rs"); -// The rustc-cfg strings below are *not* public API. Please let us know by -// opening a GitHub issue if your build environment requires some way to enable -// these cfgs other than by executing our build script. fn main() { let target = match env::var("TARGET") { Ok(target) => target, @@ -33,7 +54,7 @@ fn main() { } else if NO_ATOMIC_64.contains(&&*target) { println!("cargo:rustc-cfg=crossbeam_no_atomic_64"); } else { - // Otherwise, assuming `"max-atomic-width" == 64`. + // Otherwise, assuming `"max-atomic-width" == 64` or `"max-atomic-width" == 128`. } println!("cargo:rerun-if-changed=no_atomic.rs"); |