about summary refs log tree commit diff
diff options
context:
space:
mode:
authorWang Xuerui <git@xen0n.name>2017-01-02 04:12:49 +0800
committerWang Xuerui <git@xen0n.name>2017-01-02 04:12:49 +0800
commit24c7340e3e620d0901dfeeab080110193611a6c8 (patch)
tree3e17b8e467a9ee2eaf9d29d3c66c2d4aba1291a5
parent7b659cfdbce094a790dbb246da2681a47565782a (diff)
rustbuild: fix dist-analysis with full bootstrap disabled
-rw-r--r--src/bootstrap/dist.rs10
1 files changed, 9 insertions, 1 deletions
diff --git a/src/bootstrap/dist.rs b/src/bootstrap/dist.rs
index 428c3da7764..9b0c7a04d6b 100644
--- a/src/bootstrap/dist.rs
+++ b/src/bootstrap/dist.rs
@@ -320,10 +320,18 @@ pub fn analysis(build: &Build, compiler: &Compiler, target: &str) {
         return
     }
 
+    // Package save-analysis from stage1 if not doing a full bootstrap, as the
+    // stage2 artifacts is simply copied from stage1 in that case.
+    let compiler = if build.force_use_stage1(compiler, target) {
+        Compiler::new(1, compiler.host)
+    } else {
+        compiler.clone()
+    };
+
     let name = format!("rust-analysis-{}", package_vers(build));
     let image = tmpdir(build).join(format!("{}-{}-image", name, target));
 
-    let src = build.stage_out(compiler, Mode::Libstd).join(target).join("release").join("deps");
+    let src = build.stage_out(&compiler, Mode::Libstd).join(target).join("release").join("deps");
 
     let image_src = src.join("save-analysis");
     let dst = image.join("lib/rustlib").join(target).join("analysis");