#build #target #env #utilities

build build-target

A crate that provides programmatic access to information about the current build target

7 unstable releases (3 breaking)

0.4.0 Apr 29, 2022
0.3.1 Oct 14, 2021
0.2.1 Oct 14, 2021
0.2.0 Sep 6, 2021
0.1.1 Aug 1, 2021

#61 in Build Utils

Download history 28890/week @ 2024-01-16 25855/week @ 2024-01-23 24962/week @ 2024-01-30 32199/week @ 2024-02-06 23069/week @ 2024-02-13 18452/week @ 2024-02-20 19681/week @ 2024-02-27 22191/week @ 2024-03-05 18394/week @ 2024-03-12 21305/week @ 2024-03-19 23573/week @ 2024-03-26 29243/week @ 2024-04-02 31989/week @ 2024-04-09 26421/week @ 2024-04-16 25848/week @ 2024-04-23 21859/week @ 2024-04-30

113,013 downloads per month
Used in 38 crates (16 directly)

MIT license

22KB
398 lines

build-target

CI crates.io Documentation dependency status MIT

A crate that provides programmatic access to information about the current build target inside build.rs.

Examples

Prints all available information about the current build target.

// inside build.rs

fn main() {
    // The panic is just used to print the information to the console.
    panic!("current build target: {:#?}",
        build_target::target().unwrap()
    );
}

Gets the parts of the current build target individually.

// inside build.rs

fn main() {
    let arch   = build_target::target_arch().unwrap();   // eg. "x86_64", "aarch64", ...
    let env    = build_target::target_env().unwrap();    // eg. "gnu", "msvc", ...
    let family = build_target::target_family().unwrap(); // eg. "windows", "unix", ...
    let os     = build_target::target_os().unwrap();     // eg. "android", "linux", ...
    let triple = build_target::target_triple().unwrap(); // eg. "x86_64-unknown-linux-gnu", ...
}

Attribution

This crate is inspired by and partially based on platforms.

License

Licensed under MIT license (LICENSE or http://opensource.org/licenses/MIT)

No runtime deps