58 lines
2.4 KiB
Diff
58 lines
2.4 KiB
Diff
|
From c97759699264c6b1fa0e88420cd3c720df25e594 Mon Sep 17 00:00:00 2001
|
||
|
From: Marc-Antoine Perennou <Marc-Antoine@Perennou.com>
|
||
|
Date: Tue, 11 Aug 2015 01:09:21 +0200
|
||
|
Subject: [PATCH] rustc_back: add configure options for default linker and ar
|
||
|
|
||
|
Signed-off-by: Marc-Antoine Perennou <Marc-Antoine@Perennou.com>
|
||
|
---
|
||
|
configure | 4 ++++
|
||
|
mk/target.mk | 4 ++++
|
||
|
src/librustc_back/target/mod.rs | 4 ++--
|
||
|
3 files changed, 10 insertions(+), 2 deletions(-)
|
||
|
|
||
|
diff --git a/configure b/configure
|
||
|
index 071788c..dc9d7d7 100755
|
||
|
--- a/configure
|
||
|
+++ b/configure
|
||
|
@@ -607,6 +607,10 @@ valopt aarch64-linux-android-ndk "" "aarch64-linux-android NDK standalone path"
|
||
|
valopt release-channel "dev" "the name of the release channel to build"
|
||
|
valopt musl-root "/usr/local" "MUSL root installation directory"
|
||
|
|
||
|
+# Used on systems where "cc" and "ar" are unavailable
|
||
|
+valopt default-linker "cc" "the default linker"
|
||
|
+valopt default-ar "ar" "the default ar"
|
||
|
+
|
||
|
# Many of these are saved below during the "writing configuration" step
|
||
|
# (others are conditionally saved).
|
||
|
opt_nosave manage-submodules 1 "let the build manage the git submodules"
|
||
|
diff --git a/mk/target.mk b/mk/target.mk
|
||
|
index aae66c4..408ab96 100644
|
||
|
--- a/mk/target.mk
|
||
|
+++ b/mk/target.mk
|
||
|
@@ -13,6 +13,10 @@
|
||
|
# this exists can be found on issue #2400
|
||
|
export CFG_COMPILER_HOST_TRIPLE
|
||
|
|
||
|
+# Used as defaults for the runtime ar and cc tools
|
||
|
+export CFG_DEFAULT_LINKER
|
||
|
+export CFG_DEFAULT_AR
|
||
|
+
|
||
|
# The standard libraries should be held up to a higher standard than any old
|
||
|
# code, make sure that these common warnings are denied by default. These can
|
||
|
# be overridden during development temporarily. For stage0, we allow warnings
|
||
|
diff --git a/src/librustc_back/target/mod.rs b/src/librustc_back/target/mod.rs
|
||
|
index d9cfdaa..542791a 100644
|
||
|
--- a/src/librustc_back/target/mod.rs
|
||
|
+++ b/src/librustc_back/target/mod.rs
|
||
|
@@ -185,8 +185,8 @@ impl Default for TargetOptions {
|
||
|
fn default() -> TargetOptions {
|
||
|
TargetOptions {
|
||
|
data_layout: String::new(),
|
||
|
- linker: "cc".to_string(),
|
||
|
- ar: "ar".to_string(),
|
||
|
+ linker: option_env!("CFG_DEFAULT_LINKER").unwrap_or("cc").to_string(),
|
||
|
+ ar: option_env!("CFG_DEFAULT_AR").unwrap_or("ar").to_string(),
|
||
|
pre_link_args: Vec::new(),
|
||
|
post_link_args: Vec::new(),
|
||
|
cpu: "generic".to_string(),
|