target-spec
Evaluate Cargo.toml
target specifications against platform triples.
Cargo supports platform-specific dependencies. These dependencies can be specified in one of two ways:
# 1. As Rust-like `#[cfg]` syntax.
[]
= { = "native/x86_64" }
# 2. Listing out the full target triple.
[]
= "0.4.0"
target-spec
provides the eval
API which can be used to figure out whether such a
dependency will be included on a particular platform.
use eval;
// Evaluate Rust-like `#[cfg]` syntax.
let cfg_target = "cfg(all(unix, target_arch = \"x86_64\"))";
assert_eq!;
assert_eq!;
assert_eq!;
// Evaluate a full target-triple.
assert_eq!;
assert_eq!;
For more advanced usage, see Platform
and TargetSpec
.
Optional features
summaries
: Adds thesummaries
module to enable serialization ofPlatform
andTargetFeatures
.proptest1
: Enables support for property-based testing ofPlatform
andTargetFeatures
usingproptest
.
Minimum supported Rust version
The minimum supported Rust version (MSRV) is Rust 1.54. Within the 1.x series, MSRV bumps will be accompanied by a minor version update.
Contributing
See the CONTRIBUTING file for how to help out.
License
This project is available under the terms of either the Apache 2.0 license or the MIT license.