Auto merge of #39026 - alexcrichton:more-less-cross-stage0, r=aturon

rustbuild: Actually don't build stage0 target rustc

This was attempted in #38853 but erroneously forgot one more case of where the
compiler was compiled. This commit fixes that up and adds a test to ensure this
doesn't sneak back in.
This commit is contained in:
bors
2017-01-15 00:18:04 +00:00
+13 -1
View File
@@ -545,7 +545,7 @@ fn crate_rule<'a, 'b>(build: &'a Build,
.run(move |s| doc::standalone(build, s.target));
rules.doc("doc-error-index", "src/tools/error_index_generator")
.dep(move |s| s.name("tool-error-index").target(&build.config.build).stage(0))
.dep(move |s| s.name("librustc-link").stage(0))
.dep(move |s| s.name("librustc-link"))
.default(build.config.docs)
.host(true)
.run(move |s| doc::error_index(build, s.target));
@@ -1306,6 +1306,18 @@ fn dist_host_with_target_flag() {
println!("all rules: {:#?}", all);
assert!(!all.contains(&step.name("rustc")));
assert!(!all.contains(&step.name("build-crate-std_shim").stage(1)));
// all stage0 compiles should be for the build target, A
for step in all.iter().filter(|s| s.stage == 0) {
if !step.name.contains("build-crate") {
continue
}
println!("step: {:?}", step);
assert!(step.host != "B");
assert!(step.target != "B");
assert!(step.host != "C");
assert!(step.target != "C");
}
}
#[test]