about summary refs log tree commit diff
diff options
context:
space:
mode:
authorSeo Sanghyeon <sanxiyn@gmail.com>2016-12-20 19:48:14 +0900
committerSeo Sanghyeon <sanxiyn@gmail.com>2016-12-20 19:48:14 +0900
commit73877a0bc882abc2a88fe9c0d4fb95d49c1ba492 (patch)
tree06957f3293e6fec24503407ced2be73298ee5d0a
parent94ae2a2e6791e0c4ab6fba836b2b09a07f2d3c8a (diff)
downloadrust-73877a0bc882abc2a88fe9c0d4fb95d49c1ba492.tar.gz
rust-73877a0bc882abc2a88fe9c0d4fb95d49c1ba492.zip
Find FileCheck using llvm-config
-rw-r--r--src/bootstrap/lib.rs3
-rw-r--r--src/bootstrap/sanity.rs2
2 files changed, 3 insertions, 2 deletions
diff --git a/src/bootstrap/lib.rs b/src/bootstrap/lib.rs
index f6db6e786db..128e03fe8f8 100644
--- a/src/bootstrap/lib.rs
+++ b/src/bootstrap/lib.rs
@@ -721,7 +721,8 @@ impl Build {
     fn llvm_filecheck(&self, target: &str) -> PathBuf {
         let target_config = self.config.target_config.get(target);
         if let Some(s) = target_config.and_then(|c| c.llvm_config.as_ref()) {
-            s.parent().unwrap().join(exe("FileCheck", target))
+            let llvm_bindir = output(Command::new(s).arg("--bindir"));
+            Path::new(llvm_bindir.trim()).join(exe("FileCheck", target))
         } else {
             let base = self.llvm_out(&self.config.build).join("build");
             let exe = exe("FileCheck", target);
diff --git a/src/bootstrap/sanity.rs b/src/bootstrap/sanity.rs
index 2992099687d..5d543419fc9 100644
--- a/src/bootstrap/sanity.rs
+++ b/src/bootstrap/sanity.rs
@@ -143,7 +143,7 @@ pub fn check(build: &mut Build) {
     // Externally configured LLVM requires FileCheck to exist
     let filecheck = build.llvm_filecheck(&build.config.build);
     if !filecheck.starts_with(&build.out) && !filecheck.exists() && build.config.codegen_tests {
-        panic!("filecheck executable {:?} does not exist", filecheck);
+        panic!("FileCheck executable {:?} does not exist", filecheck);
     }
 
     for target in build.config.target.iter() {