about summary refs log tree commit diff
path: root/src
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 /src
parent20997f6ad81721542e9ef97bb2f58190903a34d8 (diff)
downloadrust-9df630707efbb1fbd92e14f06b7d23ec947f3602.tar.gz
rust-9df630707efbb1fbd92e14f06b7d23ec947f3602.zip
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.
Diffstat (limited to 'src')
-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");