summaryrefslogtreecommitdiff
path: root/experimental/rust-beta/0003-Fix-rustdoc-when-cross-compiling-on-musl.patch
blob: e1546dfc6e6c7d6424b751b2ba48e71a3f1f69c1 (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
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
@@ -7,6 +7,6 @@ use std::ffi::OsString;
 use std::process::Command;
 
 use shared_helpers::{
-    dylib_path, dylib_path_var, maybe_dump, parse_rustc_stage, parse_rustc_verbose,
+    dylib_path_var, maybe_dump, parse_rustc_stage, parse_rustc_verbose,
     parse_value_from_args,
 };
@@ -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:?}");