about summary refs log tree commit diff
path: root/src/bootstrap
diff options
context:
space:
mode:
authorDavid Wood <david.wood@huawei.com>2022-04-19 03:32:30 +0100
committerDavid Wood <david.wood@huawei.com>2022-04-20 02:55:18 +0100
commit65cc0ad455634ad75be88781fa373400cfd337a0 (patch)
tree779dcb7a0417a5b9b12c0396173cc7e00501f9d1 /src/bootstrap
parentb786345347d6abf0b2053dfdc70e501940277e62 (diff)
downloadrust-65cc0ad455634ad75be88781fa373400cfd337a0.tar.gz
rust-65cc0ad455634ad75be88781fa373400cfd337a0.zip
bootstrap: non-bootstrap windows split debuginfo
Temporarily, only enable split debuginfo on Windows if not building with
the boostrap compiler as there is a bug that isn't fixed in the
bootstrap compiler which would result in `thorin` being run on Windows.

Signed-off-by: David Wood <david.wood@huawei.com>
Diffstat (limited to 'src/bootstrap')
-rw-r--r--src/bootstrap/builder.rs18
1 files changed, 11 insertions, 7 deletions
diff --git a/src/bootstrap/builder.rs b/src/bootstrap/builder.rs
index 02d4dedec5f..8c68f140727 100644
--- a/src/bootstrap/builder.rs
+++ b/src/bootstrap/builder.rs
@@ -1365,14 +1365,18 @@ impl<'a> Builder<'a> {
             },
         );
 
-        if target.contains("linux") || target.contains("windows") {
-            rustflags.arg("-Zunstable-options");
+        // FIXME(davidtwco): #[cfg(not(bootstrap))] - #95612 needs to be in the bootstrap compiler
+        // for this conditional to be removed.
+        if !target.contains("windows") || compiler.stage >= 1 {
+            if target.contains("linux") || target.contains("windows") {
+                rustflags.arg("-Zunstable-options");
+            }
+            match self.config.rust_split_debuginfo {
+                SplitDebuginfo::Packed => rustflags.arg("-Csplit-debuginfo=packed"),
+                SplitDebuginfo::Unpacked => rustflags.arg("-Csplit-debuginfo=unpacked"),
+                SplitDebuginfo::Off => rustflags.arg("-Csplit-debuginfo=off"),
+            };
         }
-        match self.config.rust_split_debuginfo {
-            SplitDebuginfo::Packed => rustflags.arg("-Csplit-debuginfo=packed"),
-            SplitDebuginfo::Unpacked => rustflags.arg("-Csplit-debuginfo=unpacked"),
-            SplitDebuginfo::Off => rustflags.arg("-Csplit-debuginfo=off"),
-        };
 
         if self.config.cmd.bless() {
             // Bless `expect!` tests.