xref: /openbmc/openbmc/poky/meta/recipes-devtools/rust/files/Zdual-proc-macros-additional-check.patch (revision c9537f57ab488bf5d90132917b0184e2527970a5)
1Fix bootstrap failure when multilibs are enabled.
2
3Upstream-Status: Backport [https://github.com/rust-lang/rust/commit/139d6ba054a1a4cc5fe64981ad46fd5547bd4916]
4
5Signed-off-by: Deepesh Varatharajan <Deepesh.Varatharajan@windriver.com>
6---
7diff --git a/src/bootstrap/src/core/builder/cargo.rs b/src/bootstrap/src/core/builder/cargo.rs
8index 066e6bf53f..a2f6fac4b1 100644
9--- a/src/bootstrap/src/core/builder/cargo.rs
10+++ b/src/bootstrap/src/core/builder/cargo.rs
11@@ -646,7 +646,10 @@ impl Builder<'_> {
12                 // Build proc macros both for the host and the target unless proc-macros are not
13                 // supported by the target.
14                 if target != compiler.host && cmd_kind != Kind::Check {
15-                    let error = command(self.rustc(compiler))
16+                    let mut rustc_cmd = command(self.rustc(compiler));
17+                    self.add_rustc_lib_path(compiler, &mut rustc_cmd);
18+
19+                    let error = rustc_cmd
20                         .arg("--target")
21                         .arg(target.rustc_target_arg())
22                         .arg("--print=file-names")
23@@ -654,6 +657,7 @@ impl Builder<'_> {
24                         .arg("-")
25                         .run_capture(self)
26                         .stderr();
27+
28                     let not_supported = error
29                         .lines()
30                         .any(|line| line.contains("unsupported crate type `proc-macro`"));
31
32