39 lines
1.6 KiB
Diff
39 lines
1.6 KiB
Diff
From 73369f32621f6a844a80a8513ae3ded901e4a406 Mon Sep 17 00:00:00 2001
|
|
From: Mark Rousskov <mark.simulacrum@gmail.com>
|
|
Date: Tue, 5 Nov 2019 11:16:46 -0500
|
|
Subject: [PATCH] Hopefully fix rustdoc build
|
|
|
|
It's super unclear why this broke when we switched to beta but not
|
|
previously -- but at least it's hopefully fixed now.
|
|
---
|
|
src/bootstrap/builder.rs | 13 ++++++++++++-
|
|
1 file changed, 12 insertions(+), 1 deletion(-)
|
|
|
|
diff --git a/src/bootstrap/builder.rs b/src/bootstrap/builder.rs
|
|
index 2748903f2d47..2edcef203ad2 100644
|
|
--- a/src/bootstrap/builder.rs
|
|
+++ b/src/bootstrap/builder.rs
|
|
@@ -886,7 +886,18 @@ impl<'a> Builder<'a> {
|
|
// things still build right, please do!
|
|
match mode {
|
|
Mode::Std => metadata.push_str("std"),
|
|
- _ => {},
|
|
+ // When we're building rustc tools, they're built with a search path
|
|
+ // that contains things built during the rustc build. For example,
|
|
+ // bitflags is built during the rustc build, and is a dependency of
|
|
+ // rustdoc as well. We're building rustdoc in a different target
|
|
+ // directory, though, which means that Cargo will rebuild the
|
|
+ // dependency. When we go on to build rustdoc, we'll look for
|
|
+ // bitflags, and find two different copies: one built during the
|
|
+ // rustc step and one that we just built. This isn't always a
|
|
+ // problem, somehow -- not really clear why -- but we know that this
|
|
+ // fixes things.
|
|
+ Mode::ToolRustc => metadata.push_str("tool-rustc"),
|
|
+ _ => {}
|
|
}
|
|
cargo.env("__CARGO_DEFAULT_LIB_METADATA", &metadata);
|
|
|
|
--
|
|
2.23.0
|
|
|