diff options
author | Michael Woerister <michaelwoerister@posteo> | 2019-01-30 13:27:12 +0100 |
---|---|---|
committer | Michael Woerister <michaelwoerister@posteo> | 2019-01-30 16:21:43 +0100 |
commit | dc20c8cc25a6d1bc9baaa4cc3a879a9c0f9f6657 (patch) | |
tree | 87d735a84a4d3003d5e9d87d51ecc2ac154fd550 | |
parent | 4f534ffbdb9bb9897ea6a1f7290e5e6fb4d86f02 (diff) | |
download | rust-dc20c8cc25a6d1bc9baaa4cc3a879a9c0f9f6657.tar.gz |
bootstrap: Expose LLVM_USE_LINKER cmake option to config.toml.
-rw-r--r-- | config.toml.example | 4 | ||||
-rw-r--r-- | src/bootstrap/config.rs | 3 | ||||
-rw-r--r-- | src/bootstrap/native.rs | 4 |
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); } |