about summary refs log tree commit diff
path: root/src
diff options
context:
space:
mode:
authorAlex Crichton <alex@alexcrichton.com>2016-11-29 13:40:43 -0800
committerAlex Crichton <alex@alexcrichton.com>2016-11-29 13:40:43 -0800
commit8e9f7f58368b1f104bbfb8c4e69f5df9fcba2a33 (patch)
tree2255a476115e66c86943b42e2c8dde20761bf1c2 /src
parent5de15be5ec9144f6701c8de606fdf83c6eefefef (diff)
downloadrust-8e9f7f58368b1f104bbfb8c4e69f5df9fcba2a33.tar.gz
rust-8e9f7f58368b1f104bbfb8c4e69f5df9fcba2a33.zip
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
Diffstat (limited to 'src')
-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 4c1f58e52d9..c5516f26fb4 100644
--- a/src/bootstrap/step.rs
+++ b/src/bootstrap/step.rs
@@ -148,6 +148,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))