Expand description

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

Structs

Combined information about a build target.

Enums

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.

Functions

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.