Struct cc::Tool[][src]

pub struct Tool { /* fields omitted */ }
Expand description

Configuration used to represent an invocation of a C compiler.

This can be used to figure out what compiler is in use, what the arguments to it are, and what the environment variables look like for the compiler. This can be used to further configure other build systems (e.g. forward along CC and/or CFLAGS) or the to_command method can be used to run the compiler itself.

Implementations

impl Tool[src]

pub fn to_command(&self) -> Command[src]

Converts this compiler into a Command that’s ready to be run.

This is useful for when the compiler needs to be executed and the command returned will already have the initial arguments and environment variables configured.

pub fn path(&self) -> &Path[src]

Returns the path for this compiler.

Note that this may not be a path to a file on the filesystem, e.g. “cc”, but rather something which will be resolved when a process is spawned.

pub fn args(&self) -> &[OsString][src]

Returns the default set of arguments to the compiler needed to produce executables for the target this compiler generates.

pub fn env(&self) -> &[(OsString, OsString)][src]

Returns the set of environment variables needed for this compiler to operate.

This is typically only used for MSVC compilers currently.

pub fn cc_env(&self) -> OsString[src]

Returns the compiler command in format of CC environment variable. Or empty string if CC env was not present

This is typically used by configure script

pub fn cflags_env(&self) -> OsString[src]

Returns the compiler flags in format of CFLAGS environment variable. Important here - this will not be CFLAGS from env, its internal gcc’s flags to use as CFLAGS This is typically used by configure script

pub fn is_like_gnu(&self) -> bool[src]

Whether the tool is GNU Compiler Collection-like.

pub fn is_like_clang(&self) -> bool[src]

Whether the tool is Clang-like.

pub fn is_like_msvc(&self) -> bool[src]

Whether the tool is MSVC-like.

Trait Implementations

impl Clone for Tool[src]

fn clone(&self) -> Tool[src]

Returns a copy of the value. Read more

fn clone_from(&mut self, source: &Self)1.0.0[src]

Performs copy-assignment from source. Read more

impl Debug for Tool[src]

fn fmt(&self, f: &mut Formatter<'_>) -> Result[src]

Formats the value using the given formatter. Read more

Auto Trait Implementations

impl RefUnwindSafe for Tool

impl Send for Tool

impl Sync for Tool

impl Unpin for Tool

impl UnwindSafe for Tool

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

pub fn type_id(&self) -> TypeId[src]

Gets the TypeId of self. Read more

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

pub fn borrow(&self) -> &T[src]

Immutably borrows from an owned value. Read more

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

pub fn borrow_mut(&mut self) -> &mut T[src]

Mutably borrows from an owned value. Read more

impl<T> From<T> for T[src]

pub fn from(t: T) -> T[src]

Performs the conversion.

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

pub fn into(self) -> U[src]

Performs the conversion.

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

The resulting type after obtaining ownership.

pub fn to_owned(&self) -> T[src]

Creates owned data from borrowed data, usually by cloning. Read more

pub fn clone_into(&self, target: &mut T)[src]

🔬 This is a nightly-only experimental API. (toowned_clone_into)

recently added

Uses borrowed data to replace owned data, usually by cloning. Read more

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

pub fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>[src]

Performs the conversion.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.

pub fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>[src]

Performs the conversion.