about summary refs log tree commit diff
path: root/src
diff options
context:
space:
mode:
authorMatthew Healy <matthew.healy@soundcloud.com>2020-01-09 23:13:57 +0100
committerMatthew Healy <matthew.healy@soundcloud.com>2020-01-10 11:13:49 +0100
commit7e50b599bfeb75f7be1d5a1fa855e37ec6d0e65d (patch)
treef406ec8afdbc381b53a5419570e246124ae42271 /src
parent0bbbd5d418f764146afdde3460c170db205ba0fa (diff)
downloadrust-7e50b599bfeb75f7be1d5a1fa855e37ec6d0e65d.tar.gz
rust-7e50b599bfeb75f7be1d5a1fa855e37ec6d0e65d.zip
Prefer llvm-skip-rebuild flag value over config.toml
Diffstat (limited to 'src')
-rw-r--r--src/bootstrap/config.rs8
1 files changed, 6 insertions, 2 deletions
diff --git a/src/bootstrap/config.rs b/src/bootstrap/config.rs
index 944df66431f..110c8b844d5 100644
--- a/src/bootstrap/config.rs
+++ b/src/bootstrap/config.rs
@@ -493,9 +493,13 @@ impl Config {
             config.mandir = install.mandir.clone().map(PathBuf::from);
         }
 
+        // We want the llvm-skip-rebuild flag to take precedence over the
+        // skip-rebuild config.toml option so we store it separately
+        // so that we can infer the right value
+        let mut llvm_skip_rebuild = flags.llvm_skip_rebuild;
+
         // Store off these values as options because if they're not provided
         // we'll infer default values for them later
-        let mut llvm_skip_rebuild = None;
         let mut llvm_assertions = None;
         let mut debug = None;
         let mut debug_assertions = None;
@@ -517,7 +521,7 @@ impl Config {
             }
             set(&mut config.ninja, llvm.ninja);
             llvm_assertions = llvm.assertions;
-            llvm_skip_rebuild = llvm.skip_rebuild;
+            llvm_skip_rebuild = llvm_skip_rebuild.or(llvm.skip_rebuild);
             set(&mut config.llvm_optimize, llvm.optimize);
             set(&mut config.llvm_thin_lto, llvm.thin_lto);
             set(&mut config.llvm_release_debuginfo, llvm.release_debuginfo);