Struct gcc::Config
[-] [+]
[src]
pub struct Config { // some fields omitted }
Extra configuration to pass to gcc.
Methods
impl Config
fn new() -> Config
Construct a new instance of a blank set of configuration.
This builder is finished with the compile
function.
fn include<P: AsRef<Path>>(&mut self, dir: P) -> &mut Config
Add a directory to the -I
or include path for headers
fn define(&mut self, var: &str, val: Option<&str>) -> &mut Config
Specify a -D
variable with an optional value.
fn object<P: AsRef<Path>>(&mut self, obj: P) -> &mut Config
Add an arbitrary object file to link in
fn flag(&mut self, flag: &str) -> &mut Config
Add an arbitrary flag to the invocation of the compiler
fn file<P: AsRef<Path>>(&mut self, p: P) -> &mut Config
Add a file which will be compiled
fn cpp(&mut self, cpp: bool) -> &mut Config
Set C++ support.
The other cpp_*
options will only become active if this is set to
true
.
fn cpp_link_stdlib(&mut self, cpp_link_stdlib: Option<&str>) -> &mut Config
Set the standard library to link against when compiling with C++ support.
The default value of this property depends on the current target: On
OS X Some("c++")
is used, when compiling for a Visual Studio based
target None
is used and for other targets Some("stdc++")
is used.
A value of None
indicates that no automatic linking should happen,
otherwise cargo will link against the specified library.
The given library name must not contain the lib
prefix.
fn cpp_set_stdlib(&mut self, cpp_set_stdlib: Option<&str>) -> &mut Config
Force the C++ compiler to use the specified standard library.
Setting this option will automatically set cpp_link_stdlib
to the same
value.
The default value of this option is always None
.
This option has no effect when compiling for a Visual Studio based target.
This option sets the -stdlib
flag, which is only supported by some
compilers (clang, icc) but not by others (gcc). The library will not
detect which compiler is used, as such it is the responsibility of the
caller to ensure that this option is only used in conjuction with a
compiler which supports the -stdlib
flag.
A value of None
indicates that no specific C++ standard library should
be used, otherwise -stdlib
is added to the compile invocation.
The given library name must not contain the lib
prefix.
fn compile(&self, output: &str)
Run the compiler, generating the file output
The name output
must begin with lib
and end with .a