about summary refs log tree commit diff
path: root/src/bootstrap
diff options
context:
space:
mode:
authorCameron Hart <cameron.hart@gmail.com>2016-08-06 15:54:28 +1000
committerCameron Hart <cameron.hart@gmail.com>2016-08-10 22:24:51 +1000
commit05045da9fdab511f39e88335b1bc7f92ea7973ba (patch)
treeeef12c3b5cf630b63cea179bf6a8ef7a7d0eacbb /src/bootstrap
parentcbb88faad77d2c9d3de07a1e4b676f95c6780727 (diff)
downloadrust-05045da9fdab511f39e88335b1bc7f92ea7973ba.tar.gz
rust-05045da9fdab511f39e88335b1bc7f92ea7973ba.zip
Improved checking of target's llvm_config
Point llvm @bitshifter branch until PR accepted

Use today's date for LLVM auto clean trigger

Update LLVM submodule to point at rust-lang fork.

Handle case when target is set
Diffstat (limited to 'src/bootstrap')
-rw-r--r--src/bootstrap/compile.rs2
-rw-r--r--src/bootstrap/lib.rs10
2 files changed, 11 insertions, 1 deletions
diff --git a/src/bootstrap/compile.rs b/src/bootstrap/compile.rs
index 9e1ee7ccd1e..155848901cd 100644
--- a/src/bootstrap/compile.rs
+++ b/src/bootstrap/compile.rs
@@ -199,7 +199,7 @@ pub fn rustc<'a>(build: &'a Build, target: &str, compiler: &Compiler<'a>) {
         cargo.env("CFG_DISABLE_UNSTABLE_FEATURES", "1");
     }
     // Flag that rust llvm is in use
-    if build.config.target_config.get(target).is_none() {
+    if build.is_rust_llvm(target) {
         cargo.env("LLVM_RUSTLLVM", "1");
     }
     cargo.env("LLVM_CONFIG", build.llvm_config(target));
diff --git a/src/bootstrap/lib.rs b/src/bootstrap/lib.rs
index acb7e0fadd9..5d61abe5e08 100644
--- a/src/bootstrap/lib.rs
+++ b/src/bootstrap/lib.rs
@@ -727,6 +727,16 @@ impl Build {
         self.out.join(target).join("llvm")
     }
 
+    /// Returns true if no custom `llvm-config` is set for the specified target.
+    ///
+    /// If no custom `llvm-config` was specified then Rust's llvm will be used.
+    fn is_rust_llvm(&self, target: &str) -> bool {
+        match self.config.target_config.get(target) {
+            Some(ref c) => c.llvm_config.is_none(),
+            None => true
+        }
+    }
+
     /// Returns the path to `llvm-config` for the specified target.
     ///
     /// If a custom `llvm-config` was specified for target then that's returned