You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
46 lines
1.7 KiB
46 lines
1.7 KiB
From 4b7e0a0b56aa2446e670dfd6558380a1039a86aa Mon Sep 17 00:00:00 2001
|
|
From: Arlo Siemsen <arsiem@microsoft.com>
|
|
Date: Thu, 4 Jan 2024 11:40:56 -0600
|
|
Subject: [PATCH] Handle vendored sources when remapping paths
|
|
|
|
Signed-off-by: Randy Barlow <randy@electronsweatshop.com>
|
|
---
|
|
src/bootstrap/src/core/builder.rs | 19 ++++++++++++-------
|
|
1 file changed, 12 insertions(+), 7 deletions(-)
|
|
|
|
diff --git a/src/bootstrap/src/core/builder.rs b/src/bootstrap/src/core/builder.rs
|
|
index 4e20babc55a..3770d0687b2 100644
|
|
--- a/src/bootstrap/src/core/builder.rs
|
|
+++ b/src/bootstrap/src/core/builder.rs
|
|
@@ -1799,15 +1799,20 @@ pub fn cargo(
|
|
}
|
|
|
|
if self.config.rust_remap_debuginfo {
|
|
- // FIXME: handle vendored sources
|
|
- let registry_src = t!(home::cargo_home()).join("registry").join("src");
|
|
let mut env_var = OsString::new();
|
|
- for entry in t!(std::fs::read_dir(registry_src)) {
|
|
- if !env_var.is_empty() {
|
|
- env_var.push("\t");
|
|
- }
|
|
- env_var.push(t!(entry).path());
|
|
+ if self.config.vendor {
|
|
+ let vendor = self.build.src.join("vendor");
|
|
+ env_var.push(vendor);
|
|
env_var.push("=/rust/deps");
|
|
+ } else {
|
|
+ let registry_src = t!(home::cargo_home()).join("registry").join("src");
|
|
+ for entry in t!(std::fs::read_dir(registry_src)) {
|
|
+ if !env_var.is_empty() {
|
|
+ env_var.push("\t");
|
|
+ }
|
|
+ env_var.push(t!(entry).path());
|
|
+ env_var.push("=/rust/deps");
|
|
+ }
|
|
}
|
|
cargo.env("RUSTC_CARGO_REGISTRY_SRC_TO_REMAP", env_var);
|
|
}
|
|
--
|
|
2.43.0
|
|
|