about summary refs log tree commit diff
diff options
context:
space:
mode:
authorJohannes Nixdorf <mixi@exherbo.org>2018-04-29 11:21:47 +0200
committerJohannes Nixdorf <mixi@exherbo.org>2018-04-29 11:30:56 +0200
commitec2b861c2f8013e10ab1f6e01c9aed9ad1daaefe (patch)
tree5f6bac64dd3f396d419baea312dd6500057648aa
parent5ecf29df052c7eca10fccc96f4179d338fe0014e (diff)
downloadrust-ec2b861c2f8013e10ab1f6e01c9aed9ad1daaefe.tar.gz
rust-ec2b861c2f8013e10ab1f6e01c9aed9ad1daaefe.zip
bootstrap: pass crt-static for the compiler host as well
-rw-r--r--src/bootstrap/bin/rustc.rs9
-rw-r--r--src/bootstrap/builder.rs4
2 files changed, 13 insertions, 0 deletions
diff --git a/src/bootstrap/bin/rustc.rs b/src/bootstrap/bin/rustc.rs
index b6ae824c376..05fe7753720 100644
--- a/src/bootstrap/bin/rustc.rs
+++ b/src/bootstrap/bin/rustc.rs
@@ -261,6 +261,15 @@ fn main() {
         if let Ok(host_linker) = env::var("RUSTC_HOST_LINKER") {
             cmd.arg(format!("-Clinker={}", host_linker));
         }
+
+        if let Ok(s) = env::var("RUSTC_HOST_CRT_STATIC") {
+            if s == "true" {
+                cmd.arg("-C").arg("target-feature=+crt-static");
+            }
+            if s == "false" {
+                cmd.arg("-C").arg("target-feature=-crt-static");
+            }
+        }
     }
 
     if env::var_os("RUSTC_PARALLEL_QUERIES").is_some() {
diff --git a/src/bootstrap/builder.rs b/src/bootstrap/builder.rs
index 08bb8ab4815..4e0f71086a3 100644
--- a/src/bootstrap/builder.rs
+++ b/src/bootstrap/builder.rs
@@ -663,6 +663,10 @@ impl<'a> Builder<'a> {
             cargo.env("RUSTC_CRT_STATIC", x.to_string());
         }
 
+        if let Some(x) = self.crt_static(compiler.host) {
+            cargo.env("RUSTC_HOST_CRT_STATIC", x.to_string());
+        }
+
         // Enable usage of unstable features
         cargo.env("RUSTC_BOOTSTRAP", "1");
         self.add_rust_test_threads(&mut cargo);