Favor accessing cx.build_config directly.
crate_type,
flavor,
unit.target.kind(),
- cx.target_triple(),
+ cx.build_config.target_triple(),
)?;
match file_types {
does not support these crate types",
unsupported.join(", "),
unit.pkg,
- cx.target_triple()
+ cx.build_config.target_triple()
)
}
bail!(
"cannot compile `{}` as the target `{}` does not \
support any of the output crate types",
unit.pkg,
- cx.target_triple()
+ cx.build_config.target_triple()
);
}
info!("Target filenames: {:?}", ret);
let __cargo_default_lib_metadata = env::var("__CARGO_DEFAULT_LIB_METADATA");
if !(unit.profile.test || unit.profile.check)
&& (unit.target.is_dylib() || unit.target.is_cdylib()
- || (unit.target.is_bin() && cx.target_triple().starts_with("wasm32-")))
+ || (unit.target.is_bin() && cx.build_config.target_triple().starts_with("wasm32-")))
&& unit.pkg.package_id().source_id().is_path()
&& __cargo_default_lib_metadata.is_err()
{
self.compilation.native_dirs.insert(dir.clone());
}
}
- self.compilation.target = self.target_triple().to_string();
+ self.compilation.target = self.build_config.target_triple().to_string();
Ok(self.compilation)
}
self.files.as_mut().unwrap()
}
- /// Return the target triple which this context is targeting.
- pub fn target_triple(&self) -> &str {
- self.build_config
- .requested_target
- .as_ref()
- .map(|s| &s[..])
- .unwrap_or_else(|| &self.build_config.host_triple)
- }
-
/// Return the filenames that the given target for the given profile will
/// generate as a list of 3-tuples (filename, link_dst, linkable)
///
};
let (name, info) = match kind {
Kind::Host => (self.build_config.host_triple.as_ref(), &self.host_info),
- Kind::Target => (self.target_triple(), &self.target_info),
+ Kind::Target => (self.build_config.target_triple(), &self.target_info),
};
platform.matches(name, info.cfg())
}
.env_remove("RUST_LOG");
if kind == Kind::Target {
- process.arg("--target").arg(&cx.target_triple());
+ process.arg("--target").arg(&cx.build_config.target_triple());
}
let crate_type_process = process.clone();
} else {
rustlib.push("lib");
rustlib.push("rustlib");
- rustlib.push(cx.target_triple());
+ rustlib.push(cx.build_config.target_triple());
rustlib.push("lib");
sysroot_libdir = Some(rustlib);
}
"TARGET",
&match unit.kind {
Kind::Host => &cx.build_config.host_triple,
- Kind::Target => cx.target_triple(),
+ Kind::Target => cx.build_config.target_triple(),
},
)
.env("DEBUG", &profile.debuginfo.is_some().to_string())
..Default::default()
})
}
+
+ pub fn target_triple(&self) -> &str {
+ self.requested_target
+ .as_ref()
+ .unwrap_or_else(|| &self.host_triple)
+ }
}
/// Information required to build for a target