about summary refs log tree commit diff
diff options
context:
space:
mode:
authorPietro Albini <pietro.albini@ferrous-systems.com>2021-08-26 16:47:42 +0200
committerPietro Albini <pietro.albini@ferrous-systems.com>2021-08-26 16:48:19 +0200
commit9df630707efbb1fbd92e14f06b7d23ec947f3602 (patch)
treeb86bf3ced929ccc1921384e683dbae0b19749a72
parent20997f6ad81721542e9ef97bb2f58190903a34d8 (diff)
make sure FileCheck is copied in the LLVM output directory
The tool, which is needed by parts of our test suite, is built as part
of LLVM but is *not* copied to the directory containing the output LLVM
binaries. This adds a flag to ensure the binary is copied.

This shouldn't add any extra built time, as the flag just installs extra
binaries that were already compiled.
-rw-r--r--src/bootstrap/native.rs5
1 files changed, 5 insertions, 0 deletions
diff --git a/src/bootstrap/native.rs b/src/bootstrap/native.rs
index 2172b01706d..d0f6e42553c 100644
--- a/src/bootstrap/native.rs
+++ b/src/bootstrap/native.rs
@@ -189,6 +189,11 @@ impl Step for Llvm {
             .define("LLVM_TARGET_ARCH", target_native.split('-').next().unwrap())
             .define("LLVM_DEFAULT_TARGET_TRIPLE", target_native);
 
+        // Parts of our test suite rely on the `FileCheck` tool, which is built by default in
+        // `build/$TARGET/llvm/build/bin` is but *not* then installed to `build/$TARGET/llvm/bin`.
+        // This flag makes sure `FileCheck` is copied in the final binaries directory.
+        cfg.define("LLVM_INSTALL_UTILS", "ON");
+
         if builder.config.llvm_profile_generate {
             cfg.define("LLVM_BUILD_INSTRUMENTED", "IR");
             cfg.define("LLVM_BUILD_RUNTIME", "No");