From b27fca71d46b2da88611bb5cc8cfb6e90c0a4af0 Mon Sep 17 00:00:00 2001 From: Vadim Petrochenkov Date: Mon, 7 Sep 2020 00:39:58 +0300 Subject: rustbuild: Deduplicate LLD checks slightly --- src/bootstrap/lib.rs | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) (limited to 'src/bootstrap/lib.rs') diff --git a/src/bootstrap/lib.rs b/src/bootstrap/lib.rs index 642f1ea9c00..8d60284cd4f 100644 --- a/src/bootstrap/lib.rs +++ b/src/bootstrap/lib.rs @@ -863,15 +863,19 @@ impl Build { && !target.contains("msvc") { Some(self.cc(target)) - } else if target.contains("msvc") && self.config.use_lld && self.build == target { - // `rust.use_lld` means using LLD directly only for MSVC, for other targets it only - // adds `-fuse-ld=lld` to already selected linker. + } else if self.config.use_lld && !self.is_fuse_ld_lld(target) && self.build == target { Some(&self.initial_lld) } else { None } } + // LLD is used through `-fuse-ld=lld` rather than directly. + // Only MSVC targets use LLD directly at the moment. + fn is_fuse_ld_lld(&self, target: TargetSelection) -> bool { + self.config.use_lld && !target.contains("msvc") + } + /// Returns if this target should statically link the C runtime, if specified fn crt_static(&self, target: TargetSelection) -> Option { if target.contains("pc-windows-msvc") { -- cgit 1.4.1-3-g733a5