summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael Woerister <michaelwoerister@posteo>2019-01-30 13:27:12 +0100
committerMichael Woerister <michaelwoerister@posteo>2019-01-30 16:21:43 +0100
commitdc20c8cc25a6d1bc9baaa4cc3a879a9c0f9f6657 (patch)
tree87d735a84a4d3003d5e9d87d51ecc2ac154fd550
parent4f534ffbdb9bb9897ea6a1f7290e5e6fb4d86f02 (diff)
downloadrust-dc20c8cc25a6d1bc9baaa4cc3a879a9c0f9f6657.tar.gz
bootstrap: Expose LLVM_USE_LINKER cmake option to config.toml.
-rw-r--r--config.toml.example4
-rw-r--r--src/bootstrap/config.rs3
-rw-r--r--src/bootstrap/native.rs4
3 files changed, 11 insertions, 0 deletions
diff --git a/config.toml.example b/config.toml.example
index 23943d34b7c..548aa691633 100644
--- a/config.toml.example
+++ b/config.toml.example
@@ -96,6 +96,10 @@
# that your host compiler ships with libc++.
#use-libcxx = true
+# The value specified here will be passed as `-DLLVM_USE_LINKER` to CMake.
+#use-linker = "lld"
+
+
# =============================================================================
# General build configuration options
# =============================================================================
diff --git a/src/bootstrap/config.rs b/src/bootstrap/config.rs
index 9421817ae6d..2871db2c9a2 100644
--- a/src/bootstrap/config.rs
+++ b/src/bootstrap/config.rs
@@ -77,6 +77,7 @@ pub struct Config {
pub llvm_experimental_targets: String,
pub llvm_link_jobs: Option<u32>,
pub llvm_version_suffix: Option<String>,
+ pub llvm_use_linker: Option<String>,
pub lld_enabled: bool,
pub lldb_enabled: bool,
@@ -255,6 +256,7 @@ struct Llvm {
version_suffix: Option<String>,
clang_cl: Option<String>,
use_libcxx: Option<bool>,
+ use_linker: Option<String>,
}
#[derive(Deserialize, Default, Clone)]
@@ -517,6 +519,7 @@ impl Config {
config.llvm_version_suffix = llvm.version_suffix.clone();
config.llvm_clang_cl = llvm.clang_cl.clone();
set(&mut config.llvm_use_libcxx, llvm.use_libcxx);
+ config.llvm_use_linker = llvm.use_linker.clone();
}
if let Some(ref rust) = toml.rust {
diff --git a/src/bootstrap/native.rs b/src/bootstrap/native.rs
index cb9c86df550..e4325179f63 100644
--- a/src/bootstrap/native.rs
+++ b/src/bootstrap/native.rs
@@ -231,6 +231,10 @@ impl Step for Llvm {
cfg.define("LLVM_VERSION_SUFFIX", suffix);
}
+ if let Some(ref linker) = builder.config.llvm_use_linker {
+ cfg.define("LLVM_USE_LINKER", linker);
+ }
+
if let Some(ref python) = builder.config.python {
cfg.define("PYTHON_EXECUTABLE", python);
}