Struct cc::Tool

source ·
pub struct Tool { /* private fields */ }
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§

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.

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.

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

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

This is typically only used for MSVC compilers currently.

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

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

Whether the tool is GNU Compiler Collection-like.

Whether the tool is Clang-like.

Whether the tool is MSVC-like.

Trait Implementations§

Returns a copy of the value. Read more
Performs copy-assignment from source. Read more
Formats the value using the given formatter. Read more

Auto Trait Implementations§

Blanket Implementations§

Gets the TypeId of self. Read more
Immutably borrows from an owned value. Read more
Mutably borrows from an owned value. Read more

Returns the argument unchanged.

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

The resulting type after obtaining ownership.
Creates owned data from borrowed data, usually by cloning. Read more
Uses borrowed data to replace owned data, usually by cloning. Read more
The type returned in the event of a conversion error.
Performs the conversion.
The type returned in the event of a conversion error.
Performs the conversion.