bootstrap: take target by value in is_builder_target
This commit is contained in:
parent
b621a485fa
commit
7b118168c7
7 changed files with 19 additions and 19 deletions
|
|
@ -154,7 +154,7 @@ impl Step for Std {
|
|||
|
||||
// When using `download-rustc`, we already have artifacts for the host available. Don't
|
||||
// recompile them.
|
||||
if builder.download_rustc() && target == builder.build.build
|
||||
if builder.download_rustc() && builder.is_builder_target(target)
|
||||
// NOTE: the beta compiler may generate different artifacts than the downloaded compiler, so
|
||||
// its artifacts can't be reused.
|
||||
&& compiler.stage != 0
|
||||
|
|
@ -232,7 +232,7 @@ impl Step for Std {
|
|||
// The LLD wrappers and `rust-lld` are self-contained linking components that can be
|
||||
// necessary to link the stdlib on some targets. We'll also need to copy these binaries to
|
||||
// the `stage0-sysroot` to ensure the linker is found when bootstrapping on such a target.
|
||||
if compiler.stage == 0 && builder.is_builder_target(&compiler.host) {
|
||||
if compiler.stage == 0 && builder.is_builder_target(compiler.host) {
|
||||
trace!(
|
||||
"(build == host) copying linking components to `stage0-sysroot` for bootstrapping"
|
||||
);
|
||||
|
|
@ -1559,7 +1559,7 @@ impl Step for CodegenBackend {
|
|||
#[cfg_attr(
|
||||
feature = "tracing",
|
||||
instrument(
|
||||
level = "debug",
|
||||
level = "debug",
|
||||
name = "CodegenBackend::run",
|
||||
skip_all,
|
||||
fields(
|
||||
|
|
@ -2485,7 +2485,7 @@ pub fn strip_debug(builder: &Builder<'_>, target: TargetSelection, path: &Path)
|
|||
// FIXME: to make things simpler for now, limit this to the host and target where we know
|
||||
// `strip -g` is both available and will fix the issue, i.e. on a x64 linux host that is not
|
||||
// cross-compiling. Expand this to other appropriate targets in the future.
|
||||
if target != "x86_64-unknown-linux-gnu" || !builder.is_builder_target(&target) || !path.exists()
|
||||
if target != "x86_64-unknown-linux-gnu" || !builder.is_builder_target(target) || !path.exists()
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -584,7 +584,7 @@ impl Step for DebuggerScripts {
|
|||
fn skip_host_target_lib(builder: &Builder<'_>, compiler: Compiler) -> bool {
|
||||
// The only true set of target libraries came from the build triple, so
|
||||
// let's reduce redundant work by only producing archives from that host.
|
||||
if !builder.is_builder_target(&compiler.host) {
|
||||
if !builder.is_builder_target(compiler.host) {
|
||||
builder.info("\tskipping, not a build host");
|
||||
true
|
||||
} else {
|
||||
|
|
@ -639,7 +639,7 @@ fn copy_target_libs(
|
|||
for (path, dependency_type) in builder.read_stamp_file(stamp) {
|
||||
if dependency_type == DependencyType::TargetSelfContained {
|
||||
builder.copy_link(&path, &self_contained_dst.join(path.file_name().unwrap()));
|
||||
} else if dependency_type == DependencyType::Target || builder.is_builder_target(&target) {
|
||||
} else if dependency_type == DependencyType::Target || builder.is_builder_target(target) {
|
||||
builder.copy_link(&path, &dst.join(path.file_name().unwrap()));
|
||||
}
|
||||
}
|
||||
|
|
@ -788,7 +788,7 @@ impl Step for Analysis {
|
|||
fn run(self, builder: &Builder<'_>) -> Option<GeneratedTarball> {
|
||||
let compiler = self.compiler;
|
||||
let target = self.target;
|
||||
if !builder.is_builder_target(&compiler.host) {
|
||||
if !builder.is_builder_target(compiler.host) {
|
||||
return None;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -518,7 +518,7 @@ impl Step for Llvm {
|
|||
}
|
||||
|
||||
// https://llvm.org/docs/HowToCrossCompileLLVM.html
|
||||
if !builder.is_builder_target(&target) {
|
||||
if !builder.is_builder_target(target) {
|
||||
let LlvmResult { llvm_config, .. } =
|
||||
builder.ensure(Llvm { target: builder.config.build });
|
||||
if !builder.config.dry_run() {
|
||||
|
|
@ -670,7 +670,7 @@ fn configure_cmake(
|
|||
}
|
||||
cfg.target(&target.triple).host(&builder.config.build.triple);
|
||||
|
||||
if !builder.is_builder_target(&target) {
|
||||
if !builder.is_builder_target(target) {
|
||||
cfg.define("CMAKE_CROSSCOMPILING", "True");
|
||||
|
||||
if target.contains("netbsd") {
|
||||
|
|
@ -1133,7 +1133,7 @@ impl Step for Lld {
|
|||
.define("LLVM_CMAKE_DIR", llvm_cmake_dir)
|
||||
.define("LLVM_INCLUDE_TESTS", "OFF");
|
||||
|
||||
if !builder.is_builder_target(&target) {
|
||||
if !builder.is_builder_target(target) {
|
||||
// Use the host llvm-tblgen binary.
|
||||
cfg.define(
|
||||
"LLVM_TABLEGEN_EXE",
|
||||
|
|
|
|||
|
|
@ -2743,7 +2743,7 @@ impl Step for Crate {
|
|||
cargo
|
||||
} else {
|
||||
// Also prepare a sysroot for the target.
|
||||
if !builder.is_builder_target(&target) {
|
||||
if !builder.is_builder_target(target) {
|
||||
builder.ensure(compile::Std::new(compiler, target).force_recompile(true));
|
||||
builder.ensure(RemoteCopyLibs { compiler, target });
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1080,7 +1080,7 @@ fn test_is_builder_target() {
|
|||
let build = Build::new(config);
|
||||
let builder = Builder::new(&build);
|
||||
|
||||
assert!(builder.is_builder_target(&target1));
|
||||
assert!(!builder.is_builder_target(&target2));
|
||||
assert!(builder.is_builder_target(target1));
|
||||
assert!(!builder.is_builder_target(target2));
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -329,7 +329,7 @@ than building it.
|
|||
if target.contains("musl") && !target.contains("unikraft") {
|
||||
// If this is a native target (host is also musl) and no musl-root is given,
|
||||
// fall back to the system toolchain in /usr before giving up
|
||||
if build.musl_root(*target).is_none() && build.is_builder_target(target) {
|
||||
if build.musl_root(*target).is_none() && build.is_builder_target(*target) {
|
||||
let target = build.config.target_config.entry(*target).or_default();
|
||||
target.musl_root = Some("/usr".into());
|
||||
}
|
||||
|
|
|
|||
|
|
@ -748,7 +748,7 @@ impl Build {
|
|||
/// Note that if LLVM is configured externally then the directory returned
|
||||
/// will likely be empty.
|
||||
fn llvm_out(&self, target: TargetSelection) -> PathBuf {
|
||||
if self.config.llvm_from_ci && self.is_builder_target(&target) {
|
||||
if self.config.llvm_from_ci && self.is_builder_target(target) {
|
||||
self.config.ci_llvm_root()
|
||||
} else {
|
||||
self.out.join(target).join("llvm")
|
||||
|
|
@ -798,7 +798,7 @@ impl Build {
|
|||
fn is_system_llvm(&self, target: TargetSelection) -> bool {
|
||||
match self.config.target_config.get(&target) {
|
||||
Some(Target { llvm_config: Some(_), .. }) => {
|
||||
let ci_llvm = self.config.llvm_from_ci && self.is_builder_target(&target);
|
||||
let ci_llvm = self.config.llvm_from_ci && self.is_builder_target(target);
|
||||
!ci_llvm
|
||||
}
|
||||
// We're building from the in-tree src/llvm-project sources.
|
||||
|
|
@ -1286,7 +1286,7 @@ Executed at: {executed_at}"#,
|
|||
// need to use CXX compiler as linker to resolve the exception functions
|
||||
// that are only existed in CXX libraries
|
||||
Some(self.cxx.borrow()[&target].path().into())
|
||||
} else if !self.is_builder_target(&target)
|
||||
} else if !self.is_builder_target(target)
|
||||
&& helpers::use_host_linker(target)
|
||||
&& !target.is_msvc()
|
||||
{
|
||||
|
|
@ -1939,8 +1939,8 @@ to download LLVM rather than building it.
|
|||
}
|
||||
|
||||
/// Checks if the given target is the same as the builder target.
|
||||
fn is_builder_target(&self, target: &TargetSelection) -> bool {
|
||||
&self.config.build == target
|
||||
fn is_builder_target(&self, target: TargetSelection) -> bool {
|
||||
self.config.build == target
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue