1*810390e3Srobertset(ARM64 aarch64)
2*810390e3Srobertset(ARM32 arm armhf)
3*810390e3Srobertset(HEXAGON hexagon)
4*810390e3Srobertset(X86 i386)
5*810390e3Srobertset(X86_64 x86_64)
6*810390e3Srobertset(LOONGARCH64 loongarch64)
7*810390e3Srobertset(MIPS32 mips mipsel)
8*810390e3Srobertset(MIPS64 mips64 mips64el)
9*810390e3Srobertset(PPC32 powerpc powerpcspe)
10*810390e3Srobertset(PPC64 powerpc64 powerpc64le)
11*810390e3Srobertset(RISCV32 riscv32)
12*810390e3Srobertset(RISCV64 riscv64)
13*810390e3Srobertset(S390X s390x)
14*810390e3Srobertset(SPARC sparc)
15*810390e3Srobertset(SPARCV9 sparcv9)
16*810390e3Srobertset(WASM32 wasm32)
17*810390e3Srobertset(WASM64 wasm64)
18*810390e3Srobertset(VE ve)
19*810390e3Srobert
20*810390e3Srobertif(APPLE)
21*810390e3Srobert  set(ARM64 arm64)
22*810390e3Srobert  set(ARM32 armv7 armv7s armv7k)
23*810390e3Srobert  set(X86_64 x86_64 x86_64h)
24*810390e3Srobertendif()
25*810390e3Srobert
26*810390e3Srobertset(ALL_SANITIZER_COMMON_SUPPORTED_ARCH ${X86} ${X86_64} ${PPC64} ${RISCV64}
27*810390e3Srobert    ${ARM32} ${ARM64} ${MIPS32} ${MIPS64} ${S390X} ${SPARC} ${SPARCV9}
28*810390e3Srobert    ${HEXAGON} ${LOONGARCH64})
29*810390e3Srobertset(ALL_ASAN_SUPPORTED_ARCH ${X86} ${X86_64} ${ARM32} ${ARM64} ${RISCV64}
30*810390e3Srobert    ${MIPS32} ${MIPS64} ${PPC64} ${S390X} ${SPARC} ${SPARCV9} ${HEXAGON}
31*810390e3Srobert    ${LOONGARCH64})
32*810390e3Srobertset(ALL_DFSAN_SUPPORTED_ARCH ${X86_64} ${MIPS64} ${ARM64})
33*810390e3Srobert
34*810390e3Srobertif(ANDROID)
35*810390e3Srobert  set(OS_NAME "Android")
36*810390e3Srobertelse()
37*810390e3Srobert  set(OS_NAME "${CMAKE_SYSTEM_NAME}")
38*810390e3Srobertendif()
39*810390e3Srobert
40*810390e3Srobertif(OS_NAME MATCHES "Linux")
41*810390e3Srobert  set(ALL_FUZZER_SUPPORTED_ARCH ${X86} ${X86_64} ${ARM32} ${ARM64} ${S390X})
42*810390e3Srobertelseif (OS_NAME MATCHES "Windows")
43*810390e3Srobert  set(ALL_FUZZER_SUPPORTED_ARCH ${X86} ${X86_64})
44*810390e3Srobertelseif(OS_NAME MATCHES "Android")
45*810390e3Srobert  set(ALL_FUZZER_SUPPORTED_ARCH ${X86} ${X86_64} ${ARM32} ${ARM64})
46*810390e3Srobertelse()
47*810390e3Srobert  set(ALL_FUZZER_SUPPORTED_ARCH ${X86_64} ${ARM64})
48*810390e3Srobertendif()
49*810390e3Srobert
50*810390e3Srobertset(ALL_GWP_ASAN_SUPPORTED_ARCH ${X86} ${X86_64} ${ARM32} ${ARM64})
51*810390e3Srobertif(APPLE)
52*810390e3Srobert  set(ALL_LSAN_SUPPORTED_ARCH ${X86} ${X86_64} ${MIPS64} ${ARM64})
53*810390e3Srobertelse()
54*810390e3Srobert  set(ALL_LSAN_SUPPORTED_ARCH ${X86} ${X86_64} ${MIPS64} ${ARM64} ${ARM32}
55*810390e3Srobert      ${PPC64} ${S390X} ${RISCV64} ${HEXAGON} ${LOONGARCH64})
56*810390e3Srobertendif()
57*810390e3Srobertset(ALL_MSAN_SUPPORTED_ARCH ${X86_64} ${MIPS64} ${ARM64} ${PPC64} ${S390X})
58*810390e3Srobertset(ALL_HWASAN_SUPPORTED_ARCH ${X86_64} ${ARM64} ${RISCV64})
59*810390e3Srobertset(ALL_MEMPROF_SUPPORTED_ARCH ${X86_64})
60*810390e3Srobertset(ALL_PROFILE_SUPPORTED_ARCH ${X86} ${X86_64} ${ARM32} ${ARM64} ${PPC32} ${PPC64}
61*810390e3Srobert    ${MIPS32} ${MIPS64} ${S390X} ${SPARC} ${SPARCV9} ${HEXAGON}
62*810390e3Srobert    ${RISCV32} ${RISCV64})
63*810390e3Srobertset(ALL_TSAN_SUPPORTED_ARCH ${X86_64} ${MIPS64} ${ARM64} ${PPC64} ${S390X}
64*810390e3Srobert    ${LOONGARCH64})
65*810390e3Srobertset(ALL_UBSAN_SUPPORTED_ARCH ${X86} ${X86_64} ${ARM32} ${ARM64} ${RISCV64}
66*810390e3Srobert    ${MIPS32} ${MIPS64} ${PPC64} ${S390X} ${SPARC} ${SPARCV9} ${HEXAGON}
67*810390e3Srobert    ${LOONGARCH64})
68*810390e3Srobertset(ALL_SAFESTACK_SUPPORTED_ARCH ${X86} ${X86_64} ${ARM64} ${MIPS32} ${MIPS64}
69*810390e3Srobert    ${HEXAGON} ${LOONGARCH64})
70*810390e3Srobertset(ALL_CFI_SUPPORTED_ARCH ${X86} ${X86_64} ${ARM32} ${ARM64} ${MIPS64}
71*810390e3Srobert    ${HEXAGON})
72*810390e3Srobertset(ALL_SCUDO_STANDALONE_SUPPORTED_ARCH ${X86} ${X86_64} ${ARM32} ${ARM64}
73*810390e3Srobert    ${MIPS32} ${MIPS64} ${PPC64} ${HEXAGON} ${LOONGARCH64})
74*810390e3Srobertif(APPLE)
75*810390e3Srobertset(ALL_XRAY_SUPPORTED_ARCH ${X86_64})
76*810390e3Srobertelse()
77*810390e3Srobertset(ALL_XRAY_SUPPORTED_ARCH ${X86_64} ${ARM32} ${ARM64} ${MIPS32} ${MIPS64}
78*810390e3Srobert		powerpc64le ${HEXAGON})
79*810390e3Srobertendif()
80*810390e3Srobertset(ALL_SHADOWCALLSTACK_SUPPORTED_ARCH ${ARM64})
81*810390e3Srobert
82*810390e3Srobertif (UNIX)
83*810390e3Srobertset(ALL_ORC_SUPPORTED_ARCH ${X86_64} ${ARM64} ${ARM32})
84*810390e3Srobertendif()
85*810390e3Srobert
86*810390e3Srobertif (WIN32)
87*810390e3Srobert  set(ALL_ORC_SUPPORTED_ARCH ${X86_64})
88*810390e3Srobertendif()
89