pub struct ResolvedToolchain {
pub cxx: ResolvedTool,
pub ar: ResolvedTool,
pub cc: Option<ResolvedTool>,
}Expand description
Fully-resolved C/C++ toolchain.
The build planner reads cxx, cc, and ar directly. Build
scripts get every entry exposed through CABIN_* environment
variables. cabin metadata reports the same struct serialized
to JSON.
Fields§
§cxx: ResolvedToolC++ compiler. Always populated. Used for .cc / .cpp /
.cxx / .c++ / .C compiles and for linking any target
whose object set contains a C++ translation unit.
ar: ResolvedToolStatic-library archiver. Always populated.
cc: Option<ResolvedTool>C compiler. Used for .c compiles and as the link driver
for targets whose objects are pure C. Optional: the resolver
also probes the documented fallback list (cc, clang,
gcc) so any standard system populates this without an
explicit selection. Only None when no candidate exists on
PATH; the planner then errors with MissingCCompiler if a
.c source is encountered.
Implementations§
Trait Implementations§
Source§impl Clone for ResolvedToolchain
impl Clone for ResolvedToolchain
Source§fn clone(&self) -> ResolvedToolchain
fn clone(&self) -> ResolvedToolchain
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for ResolvedToolchain
impl Debug for ResolvedToolchain
Source§impl<'de> Deserialize<'de> for ResolvedToolchain
impl<'de> Deserialize<'de> for ResolvedToolchain
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Source§impl PartialEq for ResolvedToolchain
impl PartialEq for ResolvedToolchain
Source§fn eq(&self, other: &ResolvedToolchain) -> bool
fn eq(&self, other: &ResolvedToolchain) -> bool
self and other values to be equal, and is used by ==.Source§impl Serialize for ResolvedToolchain
impl Serialize for ResolvedToolchain
impl Eq for ResolvedToolchain
impl StructuralPartialEq for ResolvedToolchain
Auto Trait Implementations§
impl Freeze for ResolvedToolchain
impl RefUnwindSafe for ResolvedToolchain
impl Send for ResolvedToolchain
impl Sync for ResolvedToolchain
impl Unpin for ResolvedToolchain
impl UnsafeUnpin for ResolvedToolchain
impl UnwindSafe for ResolvedToolchain
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.