git: 5c95aeb90f70 - stable/13 - Reorganize libclang_rt Makefile and make more lib/arch combos available

From: Dimitry Andric <dim_at_FreeBSD.org>
Date: Mon, 01 Jan 2024 16:43:00 UTC
The branch stable/13 has been updated by dim:

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

commit 5c95aeb90f70a66c75869fa0de44283c04bbd725
Author:     Dimitry Andric <dim@FreeBSD.org>
AuthorDate: 2023-12-28 12:57:41 +0000
Commit:     Dimitry Andric <dim@FreeBSD.org>
CommitDate: 2024-01-01 16:41:43 +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
    
    (cherry picked from commit e77a1bb2757471ab3fed0750b76eeb15d0c7b10a)
---
 lib/libclang_rt/Makefile | 161 ++++++++++++++++++++++++++---------------------
 1 file changed, 91 insertions(+), 70 deletions(-)

diff --git a/lib/libclang_rt/Makefile b/lib/libclang_rt/Makefile
index 38275400ef3c..46f7fdf814be 100644
--- a/lib/libclang_rt/Makefile
+++ b/lib/libclang_rt/Makefile
@@ -1,74 +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+=	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=