git: e77a1bb27574 - main - Reorganize libclang_rt Makefile and make more lib/arch combos available

From: Dimitry Andric <dim_at_FreeBSD.org>
Date: Thu, 28 Dec 2023 12:58:35 UTC
The branch main has been updated by dim:

URL: https://cgit.FreeBSD.org/src/commit/?id=e77a1bb2757471ab3fed0750b76eeb15d0c7b10a

commit e77a1bb2757471ab3fed0750b76eeb15d0c7b10a
Author:     Dimitry Andric <dim@FreeBSD.org>
AuthorDate: 2023-12-28 12:57:41 +0000
Commit:     Dimitry Andric <dim@FreeBSD.org>
CommitDate: 2023-12-28 12:57:41 +0000

    Reorganize libclang_rt Makefile and make more lib/arch combos available
    
    Upstream has made more clang runtime libraries available for more
    architectures, so add them. To make this easier, split up subdir lists
    into functional parts (asan, tsan, etc), and put each architecture into
    its own .if block.
    
    Effectively, this adds the following libraries for aarch64: asan, cfi,
    fuzzer, msan, safestack, stats, tsan, ubsan, xray.
    
    PR:             262706
    MFC after:      3 days
---
 lib/libclang_rt/Makefile | 162 ++++++++++++++++++++++++++---------------------
 1 file changed, 91 insertions(+), 71 deletions(-)

diff --git a/lib/libclang_rt/Makefile b/lib/libclang_rt/Makefile
index 40fd7dfab8fb..46f7fdf814be 100644
--- a/lib/libclang_rt/Makefile
+++ b/lib/libclang_rt/Makefile
@@ -1,75 +1,95 @@
 
-.if ${MACHINE_CPUARCH} == "amd64" || ${MACHINE_CPUARCH} == "i386"
-SUBDIR+=	include
-SUBDIR+=	asan
-SUBDIR+=	asan-preinit
-SUBDIR+=	asan_cxx
-SUBDIR+=	asan_dynamic
-SUBDIR+=	asan_static
-SUBDIR+=	cfi
-SUBDIR+=	cfi_diag
-SUBDIR+=	safestack
-SUBDIR+=	stats
-SUBDIR+=	stats_client
-SUBDIR+=	ubsan_minimal
-SUBDIR+=	ubsan_standalone
-SUBDIR+=	ubsan_standalone_cxx
-.endif # amd64 || i386
-
-.if ${MACHINE_CPUARCH} == "amd64"
-SUBDIR+=	dd
-SUBDIR+=	fuzzer
-SUBDIR+=	fuzzer_interceptors
-SUBDIR+=	fuzzer_no_main
-SUBDIR+=	msan
-SUBDIR+=	msan_cxx
-SUBDIR+=	tsan
-SUBDIR+=	tsan_cxx
-SUBDIR+=	xray
-SUBDIR+=	xray-basic
-SUBDIR+=	xray-fdr
-SUBDIR+=	xray-profiling
-.endif # amd64
-
-.if ${MACHINE_ARCH} == "powerpc64" || ${MACHINE_ARCH} == "powerpc64le"
-SUBDIR+=	include
-SUBDIR+=	asan
-SUBDIR+=	asan-preinit
-SUBDIR+=	asan_cxx
-SUBDIR+=	asan_dynamic
-SUBDIR+=	asan_static
-SUBDIR+=	msan
-SUBDIR+=	msan_cxx
-SUBDIR+=	stats
-SUBDIR+=	stats_client
-SUBDIR+=	tsan
-SUBDIR+=	tsan_cxx
-SUBDIR+=	ubsan_minimal
-SUBDIR+=	ubsan_standalone
-SUBDIR+=	ubsan_standalone_cxx
-.endif # powerpc64 || powerpc64le
-
-.if ${MACHINE_ARCH} == "powerpc64le"
-SUBDIR+=	xray
-SUBDIR+=	xray-basic
-SUBDIR+=	xray-fdr
-SUBDIR+=	xray-profiling
-.endif # powerpc64le
-
-.if ${MACHINE_CPUARCH} == "riscv"
-SUBDIR+=	include
-SUBDIR+=	asan
-SUBDIR+=	asan-preinit
-SUBDIR+=	asan_cxx
-SUBDIR+=	asan_dynamic
-SUBDIR+=	stats
-SUBDIR+=	stats_client
-SUBDIR+=	ubsan_minimal
-SUBDIR+=	ubsan_standalone
-SUBDIR+=	ubsan_standalone_cxx
-.endif # riscv
-
-SUBDIR+=	profile
+SD_ASAN+=	asan
+SD_ASAN+=	asan-preinit
+SD_ASAN+=	asan_cxx
+SD_ASAN+=	asan_dynamic
+SD_ASAN+=	asan_static
+
+SD_CFI+=	cfi
+SD_CFI+= 	cfi_diag
+
+SD_DD+=		dd
+
+SD_FUZZER+=	fuzzer
+SD_FUZZER+=	fuzzer_interceptors
+SD_FUZZER+=	fuzzer_no_main
+
+SD_INCLUDE+=	include
+
+SD_MSAN+=	msan
+SD_MSAN+=	msan_cxx
+
+SD_PROFILE+=	profile
+
+SD_SAFESTACK+=	safestack
+
+SD_STATS+=	stats
+SD_STATS+=	stats_client
+
+SD_TSAN+=	tsan
+SD_TSAN+=	tsan_cxx
+
+SD_UBSAN+=	ubsan_minimal
+SD_UBSAN+=	ubsan_standalone
+SD_UBSAN+=	ubsan_standalone_cxx
+
+SD_XRAY+=	xray
+SD_XRAY+=	xray-basic
+SD_XRAY+=	xray-fdr
+SD_XRAY+=	xray-profiling
+
+.if ${MACHINE_CPUARCH} == "aarch64"
+SUBDIR+=	${SD_ASAN}
+SUBDIR+=	${SD_CFI}
+SUBDIR+=	${SD_FUZZER}
+SUBDIR+=	${SD_MSAN}
+SUBDIR+=	${SD_SAFESTACK}
+SUBDIR+=	${SD_STATS}
+SUBDIR+=	${SD_TSAN}
+SUBDIR+=	${SD_UBSAN}
+SUBDIR+=	${SD_XRAY}
+.elif ${MACHINE_CPUARCH} == "amd64"
+SUBDIR+=	${SD_ASAN}
+SUBDIR+=	${SD_CFI}
+SUBDIR+=	${SD_DD}
+SUBDIR+=	${SD_FUZZER}
+SUBDIR+=	${SD_MSAN}
+SUBDIR+=	${SD_SAFESTACK}
+SUBDIR+=	${SD_STATS}
+SUBDIR+=	${SD_TSAN}
+SUBDIR+=	${SD_UBSAN}
+SUBDIR+=	${SD_XRAY}
+.elif ${MACHINE_CPUARCH} == "arm"
+# nothing for 32-bit arm
+.elif ${MACHINE_CPUARCH} == "i386"
+SUBDIR+=	${SD_ASAN}
+SUBDIR+=	${SD_CFI}
+SUBDIR+=	${SD_SAFESTACK}
+SUBDIR+=	${SD_STATS}
+SUBDIR+=	${SD_UBSAN}
+.elif ${MACHINE_CPUARCH} == "powerpc"
+# nothing for 32-bit powerpc
+.elif ${MACHINE_ARCH} == "powerpc64"
+SUBDIR+=	${SD_ASAN}
+SUBDIR+=	${SD_MSAN}
+SUBDIR+=	${SD_STATS}
+SUBDIR+=	${SD_TSAN}
+SUBDIR+=	${SD_UBSAN}
+.elif ${MACHINE_ARCH} == "powerpc64le"
+SUBDIR+=	${SD_ASAN}
+SUBDIR+=	${SD_MSAN}
+SUBDIR+=	${SD_STATS}
+SUBDIR+=	${SD_TSAN}
+SUBDIR+=	${SD_UBSAN}
+SUBDIR+=	${SD_XRAY}
+.elif ${MACHINE_CPUARCH} == "riscv"
+SUBDIR+=	${SD_ASAN}
+SUBDIR+=	${SD_STATS}
+SUBDIR+=	${SD_UBSAN}
+.endif
+
+SUBDIR+=	${SD_INCLUDE}
+SUBDIR+=	${SD_PROFILE}
 
 SUBDIR_PARALLEL=