]> git.lizzy.rs Git - rust.git/commitdiff
Force tool-rust-installer deps to build-only
authorJosh Stone <jistone@redhat.com>
Tue, 9 May 2017 18:43:48 +0000 (11:43 -0700)
committerJosh Stone <jistone@redhat.com>
Mon, 15 May 2017 04:06:23 +0000 (21:06 -0700)
src/bootstrap/step.rs

index 99f0e17abab3ed0bad900935778c4f0b26c69b87..92666e8e63907caec309922aae24759a968fdd33 100644 (file)
@@ -708,7 +708,7 @@ fn crate_rule<'a, 'b>(build: &'a Build,
          .host(true)
          .only_host_build(true)
          .default(true)
-         .dep(|s| s.name("tool-rust-installer").stage(0))
+         .dep(move |s| tool_rust_installer(build, s))
          .run(move |s| dist::rustc(build, s.stage, s.target));
     rules.dist("dist-std", "src/libstd")
          .dep(move |s| {
@@ -723,12 +723,12 @@ fn crate_rule<'a, 'b>(build: &'a Build,
          })
          .default(true)
          .only_host_build(true)
-         .dep(|s| s.name("tool-rust-installer").stage(0))
+         .dep(move |s| tool_rust_installer(build, s))
          .run(move |s| dist::std(build, &s.compiler(), s.target));
     rules.dist("dist-mingw", "path/to/nowhere")
          .default(true)
          .only_host_build(true)
-         .dep(|s| s.name("tool-rust-installer").stage(0))
+         .dep(move |s| tool_rust_installer(build, s))
          .run(move |s| {
              if s.target.contains("pc-windows-gnu") {
                  dist::mingw(build, s.target)
@@ -739,25 +739,25 @@ fn crate_rule<'a, 'b>(build: &'a Build,
          .host(true)
          .only_build(true)
          .only_host_build(true)
-         .dep(|s| s.name("tool-rust-installer").stage(0))
+         .dep(move |s| tool_rust_installer(build, s))
          .run(move |_| dist::rust_src(build));
     rules.dist("dist-docs", "src/doc")
          .default(true)
          .only_host_build(true)
          .dep(|s| s.name("default:doc"))
-         .dep(|s| s.name("tool-rust-installer").stage(0))
+         .dep(move |s| tool_rust_installer(build, s))
          .run(move |s| dist::docs(build, s.stage, s.target));
     rules.dist("dist-analysis", "analysis")
          .default(build.config.extended)
          .dep(|s| s.name("dist-std"))
          .only_host_build(true)
-         .dep(|s| s.name("tool-rust-installer").stage(0))
+         .dep(move |s| tool_rust_installer(build, s))
          .run(move |s| dist::analysis(build, &s.compiler(), s.target));
     rules.dist("dist-rls", "rls")
          .host(true)
          .only_host_build(true)
          .dep(|s| s.name("tool-rls"))
-         .dep(|s| s.name("tool-rust-installer").stage(0))
+         .dep(move |s| tool_rust_installer(build, s))
          .run(move |s| dist::rls(build, s.stage, s.target));
     rules.dist("install", "path/to/nowhere")
          .dep(|s| s.name("default:dist"))
@@ -766,7 +766,7 @@ fn crate_rule<'a, 'b>(build: &'a Build,
          .host(true)
          .only_host_build(true)
          .dep(|s| s.name("tool-cargo"))
-         .dep(|s| s.name("tool-rust-installer").stage(0))
+         .dep(move |s| tool_rust_installer(build, s))
          .run(move |s| dist::cargo(build, s.stage, s.target));
     rules.dist("dist-extended", "extended")
          .default(build.config.extended)
@@ -779,7 +779,7 @@ fn crate_rule<'a, 'b>(build: &'a Build,
          .dep(|d| d.name("dist-cargo"))
          .dep(|d| d.name("dist-rls"))
          .dep(|d| d.name("dist-analysis"))
-         .dep(|s| s.name("tool-rust-installer").stage(0))
+         .dep(move |s| tool_rust_installer(build, s))
          .run(move |s| dist::extended(build, s.stage, s.target));
 
     rules.dist("dist-sign", "hash-and-sign")
@@ -791,6 +791,14 @@ fn crate_rule<'a, 'b>(build: &'a Build,
 
     rules.verify();
     return rules;
+
+    /// Helper to depend on a stage0 build-only rust-installer tool.
+    fn tool_rust_installer<'a>(build: &'a Build, step: &Step<'a>) -> Step<'a> {
+        step.name("tool-rust-installer")
+            .host(&build.config.build)
+            .target(&build.config.build)
+            .stage(0)
+    }
 }
 
 #[derive(PartialEq, Eq, Hash, Clone, Debug)]