about summary refs log tree commit diff
path: root/src/bootstrap/lib.rs
diff options
context:
space:
mode:
authorVadim Petrochenkov <vadim.petrochenkov@gmail.com>2017-10-16 03:20:01 +0300
committerVadim Petrochenkov <vadim.petrochenkov@gmail.com>2017-10-16 03:22:17 +0300
commit0577b60832627e774337456ecbb9bfc9dbb0b0fc (patch)
treea1243abb48b2a56e4fd68bbb4d3a76e5c2ad158b /src/bootstrap/lib.rs
parent89d9ce4ec3c134ab62e9eea18a9620face8f88b7 (diff)
downloadrust-0577b60832627e774337456ecbb9bfc9dbb0b0fc.tar.gz
rust-0577b60832627e774337456ecbb9bfc9dbb0b0fc.zip
Re-enable linker override for cross-compilation
Diffstat (limited to 'src/bootstrap/lib.rs')
-rw-r--r--src/bootstrap/lib.rs5
1 files changed, 3 insertions, 2 deletions
diff --git a/src/bootstrap/lib.rs b/src/bootstrap/lib.rs
index 63dc17910f0..6ac919d3fbd 100644
--- a/src/bootstrap/lib.rs
+++ b/src/bootstrap/lib.rs
@@ -661,8 +661,9 @@ impl Build {
 
     /// Returns the path to the linker for the given target if it needs to be overriden.
     fn linker(&self, target: Interned<String>) -> Option<&Path> {
-        if let Some(config) = self.config.target_config.get(&target) {
-            config.linker.as_ref().map(|p| &**p)
+        if let Some(linker) = self.config.target_config.get(&target)
+                                                       .and_then(|c| c.linker.as_ref()) {
+            Some(linker)
         } else if target != self.config.build &&
                   !target.contains("msvc") && !target.contains("emscripten") {
             Some(self.cc(target))