about summary refs log tree commit diff
diff options
context:
space:
mode:
authorbors <bors@rust-lang.org>2016-12-08 03:03:51 +0000
committerbors <bors@rust-lang.org>2016-12-08 03:03:51 +0000
commitd9aae6362d566497d55a94da060ec163cd874a41 (patch)
treedd6662db3470a215dfc690533dcc06b3856a104a
parent7b06438d8349c1a6bbeb29c2a1bd874553a8625c (diff)
parent8e9f7f58368b1f104bbfb8c4e69f5df9fcba2a33 (diff)
downloadrust-d9aae6362d566497d55a94da060ec163cd874a41.tar.gz
rust-d9aae6362d566497d55a94da060ec163cd874a41.zip
Auto merge of #38076 - alexcrichton:another-rustbuild-bug, r=japaric
rustbuild: Use src/rustc for assembled compilers

The `src/rustc` path is intended for assembling a compiler (e.g. the bare bones)
not actually compiling the whole compiler itself. This path was accidentally
getting hijacked to represent the whole compiler being compiled, so let's
redirect that elsewhere for that particular cargo project.

Closes #38039
-rw-r--r--src/bootstrap/step.rs8
1 files changed, 8 insertions, 0 deletions
diff --git a/src/bootstrap/step.rs b/src/bootstrap/step.rs
index ca169bd146c..f9eae41a330 100644
--- a/src/bootstrap/step.rs
+++ b/src/bootstrap/step.rs
@@ -198,6 +198,14 @@ pub fn build_rules(build: &Build) -> Rules {
              });
     }
     for (krate, path, default) in krates("rustc-main") {
+        // We hijacked the `src/rustc` path above for "build just the compiler"
+        // so let's not reinterpret it here as everything and redirect the
+        // `src/rustc` path to a nonexistent path.
+        let path = if path == "src/rustc" {
+            "path/to/nowhere"
+        } else {
+            path
+        };
         rules.build(&krate.build_step, path)
              .dep(|s| s.name("libtest"))
              .dep(move |s| s.name("llvm").host(&build.config.build).stage(0))