about summary refs log tree commit diff
path: root/src
diff options
context:
space:
mode:
authorAlex Crichton <alex@alexcrichton.com>2017-01-05 11:16:48 -0800
committerAlex Crichton <alex@alexcrichton.com>2017-01-05 11:17:57 -0800
commitbe5e322f040b2b8e29173fc054a3b40f75ab311a (patch)
treeef254526120f3462d10c6b1171fb3b338b9ae6fd /src
parent74e5b7d96af721b98474f6d4982b5eb594cd022c (diff)
downloadrust-be5e322f040b2b8e29173fc054a3b40f75ab311a.tar.gz
rust-be5e322f040b2b8e29173fc054a3b40f75ab311a.zip
rustbuild: Don't build target compilers in stage0
The `doc-book` and `doc-nomicon` steps accidentally depended on a rustbook
compiled by a cross-compiled compiler, which isn't necessary. Be sure to set the
`host` on these dependency edges to the build compiler to ensure that we're
always using a tool compiled for the host platform.

This was discovered trawling the build logs for the new dist bots and
discovering that they're building one too many compilers in stage0.
Diffstat (limited to 'src')
-rw-r--r--src/bootstrap/step.rs14
1 files changed, 12 insertions, 2 deletions
diff --git a/src/bootstrap/step.rs b/src/bootstrap/step.rs
index bf815a817ed..c3e10405eb5 100644
--- a/src/bootstrap/step.rs
+++ b/src/bootstrap/step.rs
@@ -517,11 +517,21 @@ pub fn build_rules<'a>(build: &'a Build) -> Rules {
     // ========================================================================
     // Documentation targets
     rules.doc("doc-book", "src/doc/book")
-         .dep(move |s| s.name("tool-rustbook").target(&build.config.build).stage(0))
+         .dep(move |s| {
+             s.name("tool-rustbook")
+              .host(&build.config.build)
+              .target(&build.config.build)
+              .stage(0)
+         })
          .default(build.config.docs)
          .run(move |s| doc::rustbook(build, s.target, "book"));
     rules.doc("doc-nomicon", "src/doc/nomicon")
-         .dep(move |s| s.name("tool-rustbook").target(&build.config.build).stage(0))
+         .dep(move |s| {
+             s.name("tool-rustbook")
+              .host(&build.config.build)
+              .target(&build.config.build)
+              .stage(0)
+         })
          .default(build.config.docs)
          .run(move |s| doc::rustbook(build, s.target, "nomicon"));
     rules.doc("doc-standalone", "src/doc")