about summary refs log tree commit diff
path: root/src/bootstrap/test.rs
diff options
context:
space:
mode:
authorAlex Crichton <alex@alexcrichton.com>2018-03-05 09:47:54 -0800
committerAlex Crichton <alex@alexcrichton.com>2018-03-09 07:29:08 -0800
commitbe902e7168505954b85e1bbb35322f8df8a29c19 (patch)
tree1c68f40b0ae7d2c2b8a6e51064e18ab1dc601ca1 /src/bootstrap/test.rs
parentfedce67cd21dc08ece5a484fe1a060346acac98a (diff)
downloadrust-be902e7168505954b85e1bbb35322f8df8a29c19.tar.gz
rust-be902e7168505954b85e1bbb35322f8df8a29c19.zip
rustbuild: Fix MSBuild location of `llvm-config.exe`
For LLD integration the path to `llvm-config` needed to change to inside the
build directory itself (for whatever reason) but the build directory is
different on MSBuild than it is on `ninja` for MSVC builds, so the path to
`llvm-config.exe` was actually wrong and not working!

This commit removes the `Build::llvm_config` function in favor of the source of
truth, the `Llvm` build step itself. The build step was then updated to find the
right build directory for MSBuild as well as `ninja` for where `llvm-config.exe`
is located.

Closes #48749
Diffstat (limited to 'src/bootstrap/test.rs')
-rw-r--r--src/bootstrap/test.rs7
1 files changed, 5 insertions, 2 deletions
diff --git a/src/bootstrap/test.rs b/src/bootstrap/test.rs
index 48490493525..cf88916ea70 100644
--- a/src/bootstrap/test.rs
+++ b/src/bootstrap/test.rs
@@ -915,7 +915,10 @@ impl Step for Compiletest {
         }
 
         if build.config.llvm_enabled {
-            let llvm_config = build.llvm_config(build.config.build);
+            let llvm_config = builder.ensure(native::Llvm {
+                target: build.config.build,
+                emscripten: false,
+            });
             let llvm_version = output(Command::new(&llvm_config).arg("--version"));
             cmd.arg("--llvm-version").arg(llvm_version);
             if !build.is_rust_llvm(target) {
@@ -1382,7 +1385,7 @@ impl Step for Crate {
         let mut cargo = builder.cargo(compiler, mode, target, test_kind.subcommand());
         match mode {
             Mode::Libstd => {
-                compile::std_cargo(build, &compiler, target, &mut cargo);
+                compile::std_cargo(builder, &compiler, target, &mut cargo);
             }
             Mode::Libtest => {
                 compile::test_cargo(build, &compiler, target, &mut cargo);