summaryrefslogtreecommitdiff
path: root/aclocal.m4
diff options
context:
space:
mode:
authorBen Gamari <ben@smart-cactus.org>2017-07-28 11:48:52 -0400
committerBen Gamari <ben@smart-cactus.org>2017-07-28 12:36:48 -0400
commit2974f81f8c3529657a0b808b8415a4d2ad9ed6d1 (patch)
treefadbdc0a46533ad61f6e70b225ba896aeb815d45 /aclocal.m4
parentdac4b9d3cdca83c99d5d894d2743cc0bbca450ac (diff)
downloadhaskell-2974f81f8c3529657a0b808b8415a4d2ad9ed6d1.tar.gz
Fix lld detection if both gold and lld are found
If you have ld.gold and ld.lld, then ld.gold will be selected by the detection logic. This patch prioritizes lld by changing the order. The rationale for checking lld first is that it's (right now) not part of, say, a default Linux distro installation and if it's available, it's very likely that it was installed explicitly and should be seen as a sign of preference. On FreeBSD LLVM is the (default) base toolchain and the changed order makes sense there as well, since ld.gold can be available in /usr/local via ports/pkg. I don't have access to macOS and can't say anything about their LLVM toolchain. At some point we could add a check for LD=ld.lld or LD=ld.gold as an optional override to explicitly select a linker. Since I cannot really remove gcc on Linux, this was the only way to configure GHC to use ld.lld. Reviewers: austin, hvr, bgamari Reviewed By: bgamari Subscribers: rwbarton, thomie, erikd Tags: PHID-PROJ-5azim3sqhsf7wzvlvaag Differential Revision: https://phabricator.haskell.org/D3790
Diffstat (limited to 'aclocal.m4')
-rw-r--r--aclocal.m42
1 files changed, 1 insertions, 1 deletions
diff --git a/aclocal.m4 b/aclocal.m4
index a9788bf5fb..0389474b11 100644
--- a/aclocal.m4
+++ b/aclocal.m4
@@ -2283,7 +2283,7 @@ AC_DEFUN([FIND_LD],[
[enable_ld_override=yes])
if test "x$enable_ld_override" = "xyes"; then
- AC_CHECK_TARGET_TOOLS([TmpLd], [ld.gold ld.lld ld])
+ AC_CHECK_TARGET_TOOLS([TmpLd], [ld.lld ld.gold ld])
out=`$TmpLd --version`
case $out in