about summary refs log tree commit diff
diff options
context:
space:
mode:
authorSamuel Holland <samuel@sholland.org>2017-08-22 16:24:29 -0500
committerSamuel Holland <samuel@sholland.org>2017-08-22 16:24:29 -0500
commit52832439ad00fcb23a96ef79a216ed9f62c467c5 (patch)
tree88c1c76ac541b279ad5775edc9160e7dc633bc76
parent4b09dc6e394c3d2397ad46530a96fd5f63a1c88c (diff)
downloadrust-52832439ad00fcb23a96ef79a216ed9f62c467c5.tar.gz
rust-52832439ad00fcb23a96ef79a216ed9f62c467c5.zip
Inline crt-static choice for pc-windows-msvc
This avoids the possibility of a duplicate or conflicting crt-static
command line option sent to rustc.
-rw-r--r--src/bootstrap/bin/rustc.rs5
-rw-r--r--src/bootstrap/lib.rs8
2 files changed, 6 insertions, 7 deletions
diff --git a/src/bootstrap/bin/rustc.rs b/src/bootstrap/bin/rustc.rs
index d098806a8a0..0baca9e58f4 100644
--- a/src/bootstrap/bin/rustc.rs
+++ b/src/bootstrap/bin/rustc.rs
@@ -237,11 +237,6 @@ fn main() {
             }
         }
 
-        if target.contains("pc-windows-msvc") {
-            cmd.arg("-Z").arg("unstable-options");
-            cmd.arg("-C").arg("target-feature=+crt-static");
-        }
-
         if let Ok(s) = env::var("RUSTC_CRT_STATIC") {
             if s == "true" {
                 cmd.arg("-C").arg("target-feature=+crt-static");
diff --git a/src/bootstrap/lib.rs b/src/bootstrap/lib.rs
index d6afc562f3d..55358f2ffcb 100644
--- a/src/bootstrap/lib.rs
+++ b/src/bootstrap/lib.rs
@@ -658,8 +658,12 @@ impl Build {
 
     /// Returns if this target should statically link the C runtime, if specified
     fn crt_static(&self, target: Interned<String>) -> Option<bool> {
-        self.config.target_config.get(&target)
-            .and_then(|t| t.crt_static)
+        if target.contains("pc-windows-msvc") {
+            Some(true)
+        } else {
+            self.config.target_config.get(&target)
+                .and_then(|t| t.crt_static)
+        }
     }
 
     /// Returns the "musl root" for this `target`, if defined