let empty_dir = build.out.join("tmp/empty_dir");
t!(fs::create_dir_all(&empty_dir));
if build.config.docs {
- install_sh(&build, "docs", "rust-docs", stage, host, &prefix,
- &docdir, &libdir, &mandir, &empty_dir);
+ install_sh(&build, "docs", "rust-docs", &build.rust_package_vers(),
+ stage, host, &prefix, &docdir, &libdir, &mandir, &empty_dir);
}
for target in build.config.target.iter() {
- install_sh(&build, "std", "rust-std", stage, target, &prefix,
- &docdir, &libdir, &mandir, &empty_dir);
+ install_sh(&build, "std", "rust-std", &build.rust_package_vers(),
+ stage, target, &prefix, &docdir, &libdir, &mandir, &empty_dir);
}
- install_sh(&build, "rustc", "rustc", stage, host, &prefix,
- &docdir, &libdir, &mandir, &empty_dir);
+ if build.config.extended {
+ install_sh(&build, "cargo", "cargo", &build.cargo_package_vers(),
+ stage, host, &prefix, &docdir, &libdir, &mandir, &empty_dir);
+ install_sh(&build, "rls", "rls", &build.rls_package_vers(),
+ stage, host, &prefix, &docdir, &libdir, &mandir, &empty_dir);
+ }
+
+ install_sh(&build, "rustc", "rustc", &build.rust_package_vers(),
+ stage, host, &prefix, &docdir, &libdir, &mandir, &empty_dir);
+
t!(fs::remove_dir_all(&empty_dir));
}
-fn install_sh(build: &Build, package: &str, name: &str, stage: u32, host: &str,
+fn install_sh(build: &Build, package: &str, name: &str, version: &str, stage: u32, host: &str,
prefix: &Path, docdir: &Path, libdir: &Path, mandir: &Path, empty_dir: &Path) {
println!("Install {} stage{} ({})", package, stage, host);
- let package_name = format!("{}-{}-{}", name, build.rust_package_vers(), host);
+ let package_name = format!("{}-{}-{}", name, version, host);
let mut cmd = Command::new("sh");
cmd.current_dir(empty_dir)
.dep(|s| s.name("libstd-tool"))
.run(move |s| compile::tool(build, s.stage, s.target, "remote-test-client"));
rules.build("tool-cargo", "cargo")
+ .host(true)
+ .default(build.config.extended)
.dep(|s| s.name("maybe-clean-tools"))
.dep(|s| s.name("libstd-tool"))
.dep(|s| s.stage(0).host(s.target).name("openssl"))
.run(move |s| compile::tool(build, s.stage, s.target, "cargo"));
rules.build("tool-rls", "rls")
.host(true)
+ .default(build.config.extended)
.dep(|s| s.name("librustc-tool"))
.dep(|s| s.stage(0).host(s.target).name("openssl"))
.dep(move |s| {