diff --git a/src/bootstrap/compile.rs b/src/bootstrap/compile.rs index 4515c7d672d8a..af80c8a6bd78b 100644 --- a/src/bootstrap/compile.rs +++ b/src/bootstrap/compile.rs @@ -185,6 +185,11 @@ pub fn std_cargo(builder: &Builder<'_>, String::new() }; + if let Some(ar) = builder.ar(target) { + cargo.env("RUSTBUILD_AR", ar); + } + cargo.env("RUSTBUILD_CC", builder.cc(target)); + if builder.no_std(target) == Some(true) { let mut features = "compiler-builtins-mem".to_string(); features.push_str(&compiler_builtins_c_feature); diff --git a/src/libunwind/build.rs b/src/libunwind/build.rs index 20280aa3c4130..763799988d25f 100644 --- a/src/libunwind/build.rs +++ b/src/libunwind/build.rs @@ -53,6 +53,12 @@ mod llvm_libunwind { let target_vendor = env::var("CARGO_CFG_TARGET_VENDOR").unwrap(); let cfg = &mut cc::Build::new(); + if let Ok(build_ar) = env::var("RUSTBUILD_AR") { + cfg.archiver(build_ar); + } + if let Ok(build_cc) = env::var("RUSTBUILD_CC") { + cfg.compiler(build_cc); + } cfg.cpp(true); cfg.cpp_set_stdlib(None); cfg.warnings(false);