summaryrefslogtreecommitdiff
path: root/user/rust/0003-Fix-rustdoc-when-cross-compiling-on-musl.patch
blob: cfcc2ad83f842e68b6320f0d7f9e5d97544dafbd (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
From cb97ef40ec507c7ff20f7c0857b1892a1946a0f3 Mon Sep 17 00:00:00 2001
From: Samuel Holland <samuel@sholland.org>
Date: Sat, 2 Dec 2017 17:25:44 -0600
Subject: [PATCH 03/12] Fix rustdoc when cross-compiling on musl

musl can't handle foreign-architecture libraries in LD_LIBRARY_PATH.
---
 src/bootstrap/src/bin/rustdoc.rs | 10 ++++------
 1 file changed, 4 insertions(+), 6 deletions(-)

diff --git a/src/bootstrap/src/bin/rustdoc.rs b/src/bootstrap/src/bin/rustdoc.rs
index dbbce6fe22047..3d3cb241eaab6 100644
--- a/src/bootstrap/src/bin/rustdoc.rs
+++ b/src/bootstrap/src/bin/rustdoc.rs
@@ -6,12 +6,13 @@ use std::ffi::OsString;
 use std::path::PathBuf;
 use std::process::Command;
 
-use dylib_util::{dylib_path, dylib_path_var};
+use dylib_util::dylib_path_var;
 
 #[path = "../utils/bin_helpers.rs"]
 mod bin_helpers;
 
 #[path = "../utils/dylib.rs"]
+#[allow(dead_code)]
 mod dylib_util;
 
 fn main() {
@@ -28,9 +29,6 @@ fn main() {
     // is passed (a bit janky...)
     let target = args.windows(2).find(|w| &*w[0] == "--target").and_then(|w| w[1].to_str());
 
-    let mut dylib_path = dylib_path();
-    dylib_path.insert(0, PathBuf::from(libdir.clone()));
-
     let mut cmd = Command::new(rustdoc);
 
     if target.is_some() {
@@ -43,7 +41,7 @@ fn main() {
     }
 
     cmd.args(&args);
-    cmd.env(dylib_path_var(), env::join_paths(&dylib_path).unwrap());
+    cmd.env(dylib_path_var(), PathBuf::from(libdir.clone()));
 
     // Force all crates compiled by this compiler to (a) be unstable and (b)
     // allow the `rustc_private` feature to link to other unstable crates
@@ -68,7 +66,7 @@ fn main() {
         eprintln!(
             "rustdoc command: {:?}={:?} {:?}",
             dylib_path_var(),
-            env::join_paths(&dylib_path).unwrap(),
+            PathBuf::from(libdir.clone()),
             cmd,
         );
         eprintln!("sysroot: {sysroot:?}");