Struct cargo::core::compiler::TargetInfo
source · pub struct TargetInfo {
pub sysroot: PathBuf,
pub sysroot_host_libdir: PathBuf,
pub sysroot_target_libdir: PathBuf,
pub rustflags: Vec<String>,
pub rustdocflags: Vec<String>,
/* private fields */
}
Expand description
Information about the platform target gleaned from querying rustc.
RustcTargetData
keeps several of these, one for the host and the others
for other specified targets. If no target is specified, it uses a clone from
the host.
Fields§
§sysroot: PathBuf
Path to the sysroot.
sysroot_host_libdir: PathBuf
Path to the “lib” or “bin” directory that rustc uses for its dynamic libraries.
sysroot_target_libdir: PathBuf
Path to the “lib” directory in the sysroot which rustc uses for linking target libraries.
rustflags: Vec<String>
Extra flags to pass to rustc
, see [extra_args
].
rustdocflags: Vec<String>
Extra flags to pass to rustdoc
, see [extra_args
].
Implementations§
source§impl TargetInfo
impl TargetInfo
sourcepub fn new(
config: &Config,
requested_kinds: &[CompileKind],
rustc: &Rustc,
kind: CompileKind
) -> CargoResult<TargetInfo>
pub fn new( config: &Config, requested_kinds: &[CompileKind], rustc: &Rustc, kind: CompileKind ) -> CargoResult<TargetInfo>
Learns the information of target platform from rustc
invocation(s).
Generally, the first time calling this function is expensive, as it may
query rustc
several times. To reduce the cost, output of each rustc
invocation is cached by Rustc::cached_output
.
Search Tricky
to learn why querying rustc
several times is needed.
sourcepub fn rustc_outputs(
&self,
mode: CompileMode,
target_kind: &TargetKind,
target_triple: &str
) -> CargoResult<(Vec<FileType>, Vec<CrateType>)>
pub fn rustc_outputs( &self, mode: CompileMode, target_kind: &TargetKind, target_triple: &str ) -> CargoResult<(Vec<FileType>, Vec<CrateType>)>
Returns all the file types generated by rustc for the given mode/target_kind.
The first value is a Vec of file types generated, the second value is a list of CrateTypes that are not supported by the given target.
sourcepub fn supports_debuginfo_split(&self, split: InternedString) -> bool
pub fn supports_debuginfo_split(&self, split: InternedString) -> bool
Checks if the debuginfo-split value is supported by this target
Trait Implementations§
source§impl Clone for TargetInfo
impl Clone for TargetInfo
source§fn clone(&self) -> TargetInfo
fn clone(&self) -> TargetInfo
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read more