about summary refs log tree commit diff
diff options
context:
space:
mode:
authorbors <bors@rust-lang.org>2017-01-08 17:48:14 +0000
committerbors <bors@rust-lang.org>2017-01-08 17:48:14 +0000
commit302602bcb3c608979bb9122960fbe037d92666e9 (patch)
tree4c0eb6cec2a07d6fad4f5da1be7187e7ce982494
parentd2c795932b58d910c179236d1070e04e8cb54faf (diff)
parentbe5e322f040b2b8e29173fc054a3b40f75ab311a (diff)
Auto merge of #38853 - alexcrichton:better-dist, r=brson
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.
-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")