eacbcd
From ed8e55fe8d732d8a87343441db3bfbb974f043df Mon Sep 17 00:00:00 2001
eacbcd
From: Josh Stone <jistone@redhat.com>
eacbcd
Date: Wed, 8 Jan 2020 09:44:45 -0800
eacbcd
Subject: [PATCH 1/2] Remove obsolete llvm_tools flag
eacbcd
eacbcd
---
eacbcd
 src/bootstrap/tool.rs | 12 +-----------
eacbcd
 1 file changed, 1 insertion(+), 11 deletions(-)
eacbcd
eacbcd
diff --git a/src/bootstrap/tool.rs b/src/bootstrap/tool.rs
eacbcd
index 815498047fd5..f785a0989a36 100644
eacbcd
--- a/src/bootstrap/tool.rs
eacbcd
+++ b/src/bootstrap/tool.rs
eacbcd
@@ -293,7 +293,6 @@ fn rustbook_features() -> Vec<String> {
eacbcd
 macro_rules! bootstrap_tool {
eacbcd
     ($(
eacbcd
         $name:ident, $path:expr, $tool_name:expr
eacbcd
-        $(,llvm_tools = $llvm:expr)*
eacbcd
         $(,is_external_tool = $external:expr)*
eacbcd
         $(,features = $features:expr)*
eacbcd
         ;
eacbcd
@@ -305,15 +304,6 @@ macro_rules! bootstrap_tool {
eacbcd
             )+
eacbcd
         }
eacbcd
 
eacbcd
-        impl Tool {
eacbcd
-            /// Whether this tool requires LLVM to run
eacbcd
-            pub fn uses_llvm_tools(&self) -> bool {
eacbcd
-                match self {
eacbcd
-                    $(Tool::$name => false $(|| $llvm)*,)+
eacbcd
-                }
eacbcd
-            }
eacbcd
-        }
eacbcd
-
eacbcd
         impl<'a> Builder<'a> {
eacbcd
             pub fn tool_exe(&self, tool: Tool) -> PathBuf {
eacbcd
                 match tool {
eacbcd
@@ -381,7 +371,7 @@ bootstrap_tool!(
eacbcd
     Tidy, "src/tools/tidy", "tidy";
eacbcd
     Linkchecker, "src/tools/linkchecker", "linkchecker";
eacbcd
     CargoTest, "src/tools/cargotest", "cargotest";
eacbcd
-    Compiletest, "src/tools/compiletest", "compiletest", llvm_tools = true;
eacbcd
+    Compiletest, "src/tools/compiletest", "compiletest";
eacbcd
     BuildManifest, "src/tools/build-manifest", "build-manifest";
eacbcd
     RemoteTestClient, "src/tools/remote-test-client", "remote-test-client";
eacbcd
     RustInstaller, "src/tools/rust-installer", "fabricate", is_external_tool = true;
eacbcd
-- 
eacbcd
2.24.1
eacbcd
eacbcd
eacbcd
From cc4688d66d75e149a0136f701045cbf7ee672725 Mon Sep 17 00:00:00 2001
eacbcd
From: Josh Stone <jistone@redhat.com>
eacbcd
Date: Wed, 8 Jan 2020 10:04:18 -0800
eacbcd
Subject: [PATCH 2/2] Build compiletest with in-tree libtest
eacbcd
eacbcd
---
eacbcd
 src/bootstrap/tool.rs | 10 ++++++++--
eacbcd
 1 file changed, 8 insertions(+), 2 deletions(-)
eacbcd
eacbcd
diff --git a/src/bootstrap/tool.rs b/src/bootstrap/tool.rs
eacbcd
index f785a0989a36..73a4dda74e88 100644
eacbcd
--- a/src/bootstrap/tool.rs
eacbcd
+++ b/src/bootstrap/tool.rs
eacbcd
@@ -294,6 +294,7 @@ macro_rules! bootstrap_tool {
eacbcd
     ($(
eacbcd
         $name:ident, $path:expr, $tool_name:expr
eacbcd
         $(,is_external_tool = $external:expr)*
eacbcd
+        $(,is_unstable_tool = $unstable:expr)*
eacbcd
         $(,features = $features:expr)*
eacbcd
         ;
eacbcd
     )+) => {
eacbcd
@@ -344,7 +345,12 @@ macro_rules! bootstrap_tool {
eacbcd
                     compiler: self.compiler,
eacbcd
                     target: self.target,
eacbcd
                     tool: $tool_name,
eacbcd
-                    mode: Mode::ToolBootstrap,
eacbcd
+                    mode: if false $(|| $unstable)* {
eacbcd
+                        // use in-tree libraries for unstable features
eacbcd
+                        Mode::ToolStd
eacbcd
+                    } else {
eacbcd
+                        Mode::ToolBootstrap
eacbcd
+                    },
eacbcd
                     path: $path,
eacbcd
                     is_optional_tool: false,
eacbcd
                     source_type: if false $(|| $external)* {
eacbcd
@@ -371,7 +377,7 @@ bootstrap_tool!(
eacbcd
     Tidy, "src/tools/tidy", "tidy";
eacbcd
     Linkchecker, "src/tools/linkchecker", "linkchecker";
eacbcd
     CargoTest, "src/tools/cargotest", "cargotest";
eacbcd
-    Compiletest, "src/tools/compiletest", "compiletest";
eacbcd
+    Compiletest, "src/tools/compiletest", "compiletest", is_unstable_tool = true;
eacbcd
     BuildManifest, "src/tools/build-manifest", "build-manifest";
eacbcd
     RemoteTestClient, "src/tools/remote-test-client", "remote-test-client";
eacbcd
     RustInstaller, "src/tools/rust-installer", "fabricate", is_external_tool = true;
eacbcd
-- 
eacbcd
2.24.1
eacbcd