Skip to content

Commit ecfdc9a

Browse files
committed
rustbuild: install rust-analysis and rust-src when extended build is enabled
Signed-off-by: Marc-Antoine Perennou <[email protected]>
1 parent 0ed1ec9 commit ecfdc9a

File tree

1 file changed

+18
-8
lines changed

1 file changed

+18
-8
lines changed

src/bootstrap/install.rs

Lines changed: 18 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -55,37 +55,47 @@ pub fn install(build: &Build, stage: u32, host: &str) {
5555
t!(fs::create_dir_all(&empty_dir));
5656
if build.config.docs {
5757
install_sh(&build, "docs", "rust-docs", &build.rust_package_vers(),
58-
stage, host, &prefix, &sysconfdir, &docdir, &bindir, &libdir,
58+
stage, Some(host), &prefix, &sysconfdir, &docdir, &bindir, &libdir,
5959
&mandir, &empty_dir);
6060
}
6161

6262
for target in build.config.target.iter() {
6363
install_sh(&build, "std", "rust-std", &build.rust_package_vers(),
64-
stage, target, &prefix, &sysconfdir, &docdir, &bindir, &libdir,
64+
stage, Some(target), &prefix, &sysconfdir, &docdir, &bindir, &libdir,
6565
&mandir, &empty_dir);
6666
}
6767

6868
if build.config.extended {
6969
install_sh(&build, "cargo", "cargo", &build.cargo_package_vers(),
70-
stage, host, &prefix, &sysconfdir, &docdir, &bindir, &libdir,
70+
stage, Some(host), &prefix, &sysconfdir, &docdir, &bindir, &libdir,
7171
&mandir, &empty_dir);
7272
install_sh(&build, "rls", "rls", &build.rls_package_vers(),
73-
stage, host, &prefix, &sysconfdir, &docdir, &bindir, &libdir,
73+
stage, Some(host), &prefix, &sysconfdir, &docdir, &bindir, &libdir,
74+
&mandir, &empty_dir);
75+
install_sh(&build, "analysis", "rust-analysis", &build.rust_package_vers(),
76+
stage, Some(host), &prefix, &sysconfdir, &docdir, &bindir, &libdir,
77+
&mandir, &empty_dir);
78+
install_sh(&build, "src", "rust-src", &build.rust_package_vers(),
79+
stage, None, &prefix, &sysconfdir, &docdir, &bindir, &libdir,
7480
&mandir, &empty_dir);
7581
}
7682

7783
install_sh(&build, "rustc", "rustc", &build.rust_package_vers(),
78-
stage, host, &prefix, &sysconfdir, &docdir, &bindir, &libdir,
84+
stage, Some(host), &prefix, &sysconfdir, &docdir, &bindir, &libdir,
7985
&mandir, &empty_dir);
8086

8187
t!(fs::remove_dir_all(&empty_dir));
8288
}
8389

84-
fn install_sh(build: &Build, package: &str, name: &str, version: &str, stage: u32, host: &str,
90+
fn install_sh(build: &Build, package: &str, name: &str, version: &str, stage: u32, host: Option<&str>,
8591
prefix: &Path, sysconfdir: &Path, docdir: &Path, bindir: &Path, libdir: &Path,
8692
mandir: &Path, empty_dir: &Path) {
87-
println!("Install {} stage{} ({})", package, stage, host);
88-
let package_name = format!("{}-{}-{}", name, version, host);
93+
println!("Install {} stage{} ({:?})", package, stage, host);
94+
let package_name = if let Some(host) = host {
95+
format!("{}-{}-{}", name, version, host)
96+
} else {
97+
format!("{}-{}", name, version)
98+
};
8999

90100
let mut cmd = Command::new("sh");
91101
cmd.current_dir(empty_dir)

0 commit comments

Comments
 (0)