Expand description

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


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: {:#?}",

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", ...


Combined information about a build target.


Target CPU architecture

Target enviroment that disambiguates the target platform by ABI / libc.

A a more generic description of a target, such as the family of the operating systems or architectures that the target generally falls into.

Operating system of the target.

Profile of the current build.


Gets the current target information as a Target. This function is equivalent to Target::current().

Gets the current target Arch. This function is equivalent to Arch::target().

Gets the current target Env. This function is equivalent to Env::target().

Gets the current target Family. This function is equivalent to Family::target().

Gets the current target Os. This function is equivalent to Os::target().

Gets the current target triple.