Wednesday, December 04, 2019

arch-defines: also set LLD_EMUL if USE_LLD is set

Currently LLD_EMUL is only set for LLD_ARCHS (aarch64 amd64 arm i386).
A diff to unbreak mupdf build on mips64 requires linking with lld and this
variable is required. Rather than adding a custom LLD_EMUL definition in
mupdf let's just make the arch-defines.mk one reachable.

OK?

Index: arch-defines.mk
===================================================================
RCS file: /cvs/ports/infrastructure/mk/arch-defines.mk,v
retrieving revision 1.69
diff -u -p -1 -1 -r1.69 arch-defines.mk
--- arch-defines.mk 9 Nov 2019 15:08:09 -0000 1.69
+++ arch-defines.mk 4 Dec 2019 10:45:44 -0000
@@ -57,23 +57,23 @@ DEBUG_PACKAGES =
DEBUG_FILES =
.endif

.if ${PROPERTIES:Mclang}
LIBCXX = c++ c++abi pthread
LIBECXX = c++ c++abi pthread
.else
LIBCXX = stdc++ pthread
LIBECXX = estdc++>=17 pthread
.endif

-.if ${PROPERTIES:Mlld}
+.if ${PROPERTIES:Mlld} || defined(USE_LLD) && ${USE_LLD:L} == yes
# see llvm/tools/lld/ELF/Driver.cpp
. for A in aarch64.aarch64elf amd64.elf_amd64 arm.armelf i386.elf_i386 \
mips64.elf64btsmip mips64el.elf64ltsmip powerpc.elf32ppc \
sparc64.elf64_sparc
. if ${MACHINE_ARCH} == ${A:R}
LLD_EMUL = -m${A:E}
. endif
. endfor
.else
LLD_EMUL =
.endif

No comments:

Post a Comment