From 05045da9fdab511f39e88335b1bc7f92ea7973ba Mon Sep 17 00:00:00 2001 From: Cameron Hart Date: Sat, 6 Aug 2016 15:54:28 +1000 Subject: [PATCH] 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 --- src/bootstrap/compile.rs | 2 +- src/bootstrap/lib.rs | 10 ++++++++++ src/llvm | 2 +- src/rustllvm/llvm-auto-clean-trigger | 2 +- 4 files changed, 13 insertions(+), 3 deletions(-) diff --git a/src/bootstrap/compile.rs b/src/bootstrap/compile.rs index 9e1ee7ccd1e19..155848901cdb4 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 acb7e0fadd90a..5d61abe5e086a 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 diff --git a/src/llvm b/src/llvm index d295833b77331..786aad117be48 160000 --- a/src/llvm +++ b/src/llvm @@ -1 +1 @@ -Subproject commit d295833b773313dbef26041f481fc91a2954fbb9 +Subproject commit 786aad117be48547f4ca50fae84c4879fa992d4d diff --git a/src/rustllvm/llvm-auto-clean-trigger b/src/rustllvm/llvm-auto-clean-trigger index e871763a48dc3..378810a8b89fc 100644 --- a/src/rustllvm/llvm-auto-clean-trigger +++ b/src/rustllvm/llvm-auto-clean-trigger @@ -1,4 +1,4 @@ # If this file is modified, then llvm will be forcibly cleaned and then rebuilt. # The actual contents of this file do not matter, but to trigger a change on the # build bots then the contents should be changed so git updates the mtime. -2016-07-25b +2016-08-07