Add a distcheck for rust-src completeness
This commit is contained in:
parent
b9bdb1766d
commit
c5cd4cb51e
|
@ -663,6 +663,7 @@ pub fn distcheck(build: &Build) {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
|
println!("Distcheck");
|
||||||
let dir = build.out.join("tmp").join("distcheck");
|
let dir = build.out.join("tmp").join("distcheck");
|
||||||
let _ = fs::remove_dir_all(&dir);
|
let _ = fs::remove_dir_all(&dir);
|
||||||
t!(fs::create_dir_all(&dir));
|
t!(fs::create_dir_all(&dir));
|
||||||
|
@ -680,6 +681,26 @@ pub fn distcheck(build: &Build) {
|
||||||
build.run(Command::new(build_helper::make(&build.config.build))
|
build.run(Command::new(build_helper::make(&build.config.build))
|
||||||
.arg("check")
|
.arg("check")
|
||||||
.current_dir(&dir));
|
.current_dir(&dir));
|
||||||
|
|
||||||
|
// Now make sure that rust-src has all of libstd's dependencies
|
||||||
|
println!("Distcheck rust-src");
|
||||||
|
let dir = build.out.join("tmp").join("distcheck-src");
|
||||||
|
let _ = fs::remove_dir_all(&dir);
|
||||||
|
t!(fs::create_dir_all(&dir));
|
||||||
|
|
||||||
|
let mut cmd = Command::new("tar");
|
||||||
|
cmd.arg("-xzf")
|
||||||
|
.arg(dist::rust_src_installer(build))
|
||||||
|
.arg("--strip-components=1")
|
||||||
|
.current_dir(&dir);
|
||||||
|
build.run(&mut cmd);
|
||||||
|
|
||||||
|
let toml = dir.join("rust-src/lib/rustlib/src/rust/src/libstd/Cargo.toml");
|
||||||
|
build.run(Command::new(&build.cargo)
|
||||||
|
.arg("generate-lockfile")
|
||||||
|
.arg("--manifest-path")
|
||||||
|
.arg(&toml)
|
||||||
|
.current_dir(&dir));
|
||||||
}
|
}
|
||||||
|
|
||||||
/// Test the build system itself
|
/// Test the build system itself
|
||||||
|
|
|
@ -310,11 +310,18 @@ pub fn std(build: &Build, compiler: &Compiler, target: &str) {
|
||||||
t!(fs::remove_dir_all(&image));
|
t!(fs::remove_dir_all(&image));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// The path to the complete rustc-src tarball
|
||||||
pub fn rust_src_location(build: &Build) -> PathBuf {
|
pub fn rust_src_location(build: &Build) -> PathBuf {
|
||||||
let plain_name = format!("rustc-{}-src", build.rust_package_vers());
|
let plain_name = format!("rustc-{}-src", build.rust_package_vers());
|
||||||
distdir(build).join(&format!("{}.tar.gz", plain_name))
|
distdir(build).join(&format!("{}.tar.gz", plain_name))
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// The path to the rust-src component installer
|
||||||
|
pub fn rust_src_installer(build: &Build) -> PathBuf {
|
||||||
|
let name = pkgname(build, "rust-src");
|
||||||
|
distdir(build).join(&format!("{}.tar.gz", name))
|
||||||
|
}
|
||||||
|
|
||||||
/// Creates a tarball of save-analysis metadata, if available.
|
/// Creates a tarball of save-analysis metadata, if available.
|
||||||
pub fn analysis(build: &Build, compiler: &Compiler, target: &str) {
|
pub fn analysis(build: &Build, compiler: &Compiler, target: &str) {
|
||||||
assert!(build.config.extended);
|
assert!(build.config.extended);
|
||||||
|
|
Loading…
Reference in New Issue