1
0
mirror of https://git.FreeBSD.org/ports.git synced 2024-11-20 00:21:35 +00:00

devel/llvm12: address build issues in some configs

In some cases (notably when LLDB is not selected), COMPILER_RT fails to
build owing to not finding unwind.h.  Add USES=localbase to COMPILER_RT
to address this.[0]

When building on amd64 without /usr/lib32 compat libraries installed,
COMPILER_RT doesn't build i386 sanitizer libs.  Detect this case and
don't add to plist.[1]

Submitted by:	Tatsuki Makino [0]
PR:		254048 [0], 255527 [1]
MFH:		2020Q2
This commit is contained in:
Brooks Davis 2021-05-03 18:13:52 +01:00
parent 8b129d0cf6
commit 6354328d5f

View File

@ -117,6 +117,8 @@ COMPILER_RT_DESC= Sanitizer libraries
# but this seems to work as a workaround...
COMPILER_RT_BUILD_DEPENDS= libunwind>0:devel/libunwind
COMPILER_RT_CMAKE_ON= -DCOMPILER_RT_INSTALL_PATH=${LLVM_PREFIX}/lib/clang/${LLVM_RELEASE}
# Allow unwind.h to be found reliably
COMPILER_RT_USES= localbase
COMPILER_RT_PLIST_FILES=${_COMPILER_RT_LIBS:S|^|${_CRTLIBDIR}/|} \
${_COMPILER_RT_BLACKLISTS:S|^|${_CRTBLDIR}/|}
DOCS_BUILD_DEPENDS= ${PYTHON_PKGNAMEPREFIX}sphinx>=0,1:textproc/py-sphinx@${PY_FLAVOR} \
@ -381,7 +383,6 @@ _COMPILER_RT_LIBS_i386= \
_COMPILER_RT_BLACKLISTS+= asan_blacklist.txt
_COMPILER_RT_BLACKLISTS+= msan_blacklist.txt
_COMPILER_RT_LIBS= \
${_COMPILER_RT_LIBS_i386} \
libclang_rt.asan-preinit-x86_64.a \
libclang_rt.asan-x86_64.a \
libclang_rt.asan-x86_64.a.syms \
@ -420,6 +421,9 @@ _COMPILER_RT_LIBS= \
libclang_rt.xray-fdr-x86_64.a \
libclang_rt.xray-profiling-x86_64.a \
libclang_rt.xray-x86_64.a
.if exists(/usr/lib32/libc.so.7)
_COMPILER_RT_LIBS+= ${_COMPILER_RT_LIBS_i386}
.endif
.endif
.if ${ARCH} == "i386"
_COMPILER_RT_BLACKLISTS+= asan_blacklist.txt