about summary refs log tree commit diff
diff options
context:
space:
mode:
authorAlex Zepeda <github@inferiorhumanorgans.com>2023-08-02 17:57:13 -0700
committerAlex Zepeda <github@inferiorhumanorgans.com>2023-08-02 17:57:13 -0700
commitc5d4f7339ad576502f0a27a4bb8e917509000099 (patch)
tree4c298f3c061cf1c1d40b1a1d3fbb2b894144117d
parentd398ad3326780598bbf1480014f4c59fbf6461a7 (diff)
downloadrust-c5d4f7339ad576502f0a27a4bb8e917509000099.tar.gz
rust-c5d4f7339ad576502f0a27a4bb8e917509000099.zip
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();