From 963e5d726f753d1816eae560b99b241934abe786 Mon Sep 17 00:00:00 2001
From: Samuel Holland <samuel@sholland.org>
Date: Sun, 6 Oct 2019 17:30:11 -0500
Subject: [PATCH 11/18] Use rustc-workspace-hack for rustbook

As rustbook now depends transitively on openssl, it needs access to the
rustc-workspace-hack/all-static feature to pick up openssl-sys/vendored.
This fixes the rust build with `all-static = true` on systems where
openssl is not installed (e.g. when cross-compiling).
---
 Cargo.lock                    | 1 +
 src/bootstrap/tool.rs         | 1 +
 src/tools/rustbook/Cargo.toml | 5 +++++
 3 files changed, 7 insertions(+)

diff --git a/Cargo.lock b/Cargo.lock
index ab6731e4d43..54177b36827 100644
--- a/Cargo.lock
+++ b/Cargo.lock
@@ -2577,6 +2577,7 @@ dependencies = [
  "failure 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)",
  "mdbook 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
  "mdbook-linkcheck 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)",
+ "rustc-workspace-hack 1.0.0",
 ]
 
 [[package]]
diff --git a/src/bootstrap/tool.rs b/src/bootstrap/tool.rs
index df7eb7c455d..c91ccc79aa1 100644
--- a/src/bootstrap/tool.rs
+++ b/src/bootstrap/tool.rs
@@ -248,6 +248,7 @@ pub fn prepare_tool_cargo(
             path.ends_with("rls") ||
             path.ends_with("clippy") ||
             path.ends_with("miri") ||
+            path.ends_with("rustbook") ||
             path.ends_with("rustfmt")
         {
             cargo.env("LIBZ_SYS_STATIC", "1");
diff --git a/src/tools/rustbook/Cargo.toml b/src/tools/rustbook/Cargo.toml
index a7188f0d11e..89bbde4d5a9 100644
--- a/src/tools/rustbook/Cargo.toml
+++ b/src/tools/rustbook/Cargo.toml
@@ -13,6 +13,11 @@ clap = "2.25.0"
 failure = "0.1"
 mdbook-linkcheck = { version = "0.3.0", optional = true }
 
+# A noop dependency that changes in the Rust repository, it's a bit of a hack.
+# See the `src/tools/rustc-workspace-hack/README.md` file in `rust-lang/rust`
+# for more information.
+rustc-workspace-hack = "1.0.0"
+
 [dependencies.mdbook]
 version = "0.3.0"
 default-features = false
-- 
2.21.0