git: 6354328d5f77 - main - devel/llvm12: address build issues in some configs
Brooks Davis
brooks at FreeBSD.org
Mon May 3 17:39:08 UTC 2021
The branch main has been updated by brooks:
URL: https://cgit.FreeBSD.org/ports/commit/?id=6354328d5f77001b261a22475dbf4f465d3e4758
commit 6354328d5f77001b261a22475dbf4f465d3e4758
Author: Brooks Davis <brooks at FreeBSD.org>
AuthorDate: 2021-05-03 17:13:52 +0000
Commit: Brooks Davis <brooks at FreeBSD.org>
CommitDate: 2021-05-03 17:35:40 +0000
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
---
devel/llvm12/Makefile | 6 +++++-
1 file changed, 5 insertions(+), 1 deletion(-)
diff --git a/devel/llvm12/Makefile b/devel/llvm12/Makefile
index d8f7bddbaa66..7f371832fed3 100644
--- a/devel/llvm12/Makefile
+++ b/devel/llvm12/Makefile
@@ -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
More information about the dev-commits-ports-all
mailing list