about summary refs log tree commit diff
diff options
context:
space:
mode:
authorbors <bors@rust-lang.org>2023-08-23 07:29:30 +0000
committerbors <bors@rust-lang.org>2023-08-23 07:29:30 +0000
commitf5b7c60ff7a79bfb3e10f3e98c81b7bb4cb53c68 (patch)
treebb60f249d77bee8b376f469ff1bc33b6b89b12f1
parent8b8c7d7ffdeac951c1742bfbb082fcbaf433885f (diff)
parentc5d4f7339ad576502f0a27a4bb8e917509000099 (diff)
downloadrust-f5b7c60ff7a79bfb3e10f3e98c81b7bb4cb53c68.tar.gz
rust-f5b7c60ff7a79bfb3e10f3e98c81b7bb4cb53c68.zip
Auto merge of #15385 - inferiorhumanorgans:explicit-cross-target, r=Veykril
proc-macro-test: Pass target to cargo invocation

When cross compiling macos → dragonfly the dist build fails in the proc-maro-test-impl crate with the following error:

`ld: unknown option: -z\nclang: error: linker command failed with exit code 1 (use -v to see invocation)`

This appears to be a wart stemming from using an Apple host for cross compiling.  Passing the target along to cargo allows it to pick up a linker that it understands and DTRT.
-rw-r--r--crates/proc-macro-test/build.rs4
1 files changed, 4 insertions, 0 deletions
diff --git a/crates/proc-macro-test/build.rs b/crates/proc-macro-test/build.rs
index 19a5caa4ccd..7827157865a 100644
--- a/crates/proc-macro-test/build.rs
+++ b/crates/proc-macro-test/build.rs
@@ -71,6 +71,10 @@ fn main() {
         .arg("--target-dir")
         .arg(&target_dir);
 
+    if let Ok(target) = std::env::var("TARGET") {
+        cmd.args(["--target", &target]);
+    }
+
     println!("Running {cmd:?}");
 
     let output = cmd.output().unwrap();