From c8869b82b7b47ce88a84b4e12ff6173797b7ad2a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Stefan=20M=C3=BCller?= Date: Thu, 16 Feb 2017 09:44:43 +0100 Subject: [PATCH] Use $OBJCOPY environment var if present This helps to build the crate in yocto/ openembedded environments. See: https://github.com/rust-embedded/meta-rust-bin/issues/16 and: https://github.com/alexcrichton/backtrace-rs/issues/25#issuecomment-279742551 --- backtrace-sys/build.rs | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/backtrace-sys/build.rs b/backtrace-sys/build.rs index 216ce8b3..8a50977f 100644 --- a/backtrace-sys/build.rs +++ b/backtrace-sys/build.rs @@ -100,7 +100,13 @@ fn main() { t!(fs::remove_file(&lib)); let mut objs = Vec::new(); - let objcopy = find_tool(&compiler, cc, "objcopy"); + // yocto/ openembedded provide a OBJCOPY environment var. Use these or get from cc + let objcopy; + if let Ok(var) = env::var("OBJCOPY") { + objcopy = PathBuf::from(var); + } else { + objcopy = find_tool(&compiler, cc, "objcopy"); + } for obj in t!(tmpdir.read_dir()) { let obj = t!(obj); run(Command::new(&objcopy)