xref: /aosp_15_r20/external/bcc/cmake/clang_libs.cmake (revision 387f9dfdfa2baef462e92476d413c7bc2470293e)
1*387f9dfdSAndroid Build Coastguard Workerif(ENABLE_LLVM_SHARED)
2*387f9dfdSAndroid Build Coastguard Workerset(llvm_libs "LLVM")
3*387f9dfdSAndroid Build Coastguard Workerelse()
4*387f9dfdSAndroid Build Coastguard Workerset(llvm_raw_libs bitwriter bpfcodegen debuginfodwarf irreader linker
5*387f9dfdSAndroid Build Coastguard Worker  mcjit objcarcopts option passes lto)
6*387f9dfdSAndroid Build Coastguard Workerif(ENABLE_LLVM_NATIVECODEGEN)
7*387f9dfdSAndroid Build Coastguard Workerset(llvm_raw_libs ${llvm_raw_libs} nativecodegen)
8*387f9dfdSAndroid Build Coastguard Workerendif()
9*387f9dfdSAndroid Build Coastguard Workerlist(FIND LLVM_AVAILABLE_LIBS "LLVMCoverage" _llvm_coverage)
10*387f9dfdSAndroid Build Coastguard Workerif (${_llvm_coverage} GREATER -1)
11*387f9dfdSAndroid Build Coastguard Worker  list(APPEND llvm_raw_libs coverage)
12*387f9dfdSAndroid Build Coastguard Workerendif()
13*387f9dfdSAndroid Build Coastguard Workerlist(FIND LLVM_AVAILABLE_LIBS "LLVMCoroutines" _llvm_coroutines)
14*387f9dfdSAndroid Build Coastguard Workerif (${_llvm_coroutines} GREATER -1)
15*387f9dfdSAndroid Build Coastguard Worker  list(APPEND llvm_raw_libs coroutines)
16*387f9dfdSAndroid Build Coastguard Workerendif()
17*387f9dfdSAndroid Build Coastguard Workerlist(FIND LLVM_AVAILABLE_LIBS "LLVMFrontendOpenMP" _llvm_frontendOpenMP)
18*387f9dfdSAndroid Build Coastguard Workerif (${_llvm_frontendOpenMP} GREATER -1)
19*387f9dfdSAndroid Build Coastguard Worker  list(APPEND llvm_raw_libs frontendopenmp)
20*387f9dfdSAndroid Build Coastguard Workerendif()
21*387f9dfdSAndroid Build Coastguard Workerif (${LLVM_PACKAGE_VERSION} VERSION_EQUAL 6 OR ${LLVM_PACKAGE_VERSION} VERSION_GREATER 6)
22*387f9dfdSAndroid Build Coastguard Worker  list(APPEND llvm_raw_libs bpfasmparser)
23*387f9dfdSAndroid Build Coastguard Worker  list(APPEND llvm_raw_libs bpfdisassembler)
24*387f9dfdSAndroid Build Coastguard Workerendif()
25*387f9dfdSAndroid Build Coastguard Workerif (${LLVM_PACKAGE_VERSION} VERSION_EQUAL 15 OR ${LLVM_PACKAGE_VERSION} VERSION_GREATER 15)
26*387f9dfdSAndroid Build Coastguard Worker  list(APPEND llvm_raw_libs windowsdriver)
27*387f9dfdSAndroid Build Coastguard Workerendif()
28*387f9dfdSAndroid Build Coastguard Workerif (${LLVM_PACKAGE_VERSION} VERSION_EQUAL 16 OR ${LLVM_PACKAGE_VERSION} VERSION_GREATER 16)
29*387f9dfdSAndroid Build Coastguard Worker  list(APPEND llvm_raw_libs frontendhlsl)
30*387f9dfdSAndroid Build Coastguard Workerendif()
31*387f9dfdSAndroid Build Coastguard Worker
32*387f9dfdSAndroid Build Coastguard Workerllvm_map_components_to_libnames(_llvm_libs ${llvm_raw_libs})
33*387f9dfdSAndroid Build Coastguard Workerllvm_expand_dependencies(llvm_libs ${_llvm_libs})
34*387f9dfdSAndroid Build Coastguard Workerendif()
35*387f9dfdSAndroid Build Coastguard Worker
36*387f9dfdSAndroid Build Coastguard Workerif(ENABLE_LLVM_SHARED AND NOT libclang-shared STREQUAL "libclang-shared-NOTFOUND")
37*387f9dfdSAndroid Build Coastguard Workerset(clang_libs ${libclang-shared})
38*387f9dfdSAndroid Build Coastguard Workerelse()
39*387f9dfdSAndroid Build Coastguard Worker# order is important
40*387f9dfdSAndroid Build Coastguard Workerset(clang_libs
41*387f9dfdSAndroid Build Coastguard Worker  ${libclangFrontend}
42*387f9dfdSAndroid Build Coastguard Worker  ${libclangSerialization}
43*387f9dfdSAndroid Build Coastguard Worker  ${libclangDriver})
44*387f9dfdSAndroid Build Coastguard Worker
45*387f9dfdSAndroid Build Coastguard Workerif (${LLVM_PACKAGE_VERSION} VERSION_EQUAL 8 OR ${LLVM_PACKAGE_VERSION} VERSION_GREATER 8)
46*387f9dfdSAndroid Build Coastguard Worker  list(APPEND clang_libs ${libclangASTMatchers})
47*387f9dfdSAndroid Build Coastguard Workerendif()
48*387f9dfdSAndroid Build Coastguard Worker
49*387f9dfdSAndroid Build Coastguard Workerlist(APPEND clang_libs
50*387f9dfdSAndroid Build Coastguard Worker  ${libclangParse}
51*387f9dfdSAndroid Build Coastguard Worker  ${libclangSema}
52*387f9dfdSAndroid Build Coastguard Worker  ${libclangCodeGen}
53*387f9dfdSAndroid Build Coastguard Worker  ${libclangAnalysis}
54*387f9dfdSAndroid Build Coastguard Worker  ${libclangRewrite}
55*387f9dfdSAndroid Build Coastguard Worker  ${libclangEdit}
56*387f9dfdSAndroid Build Coastguard Worker  ${libclangAST}
57*387f9dfdSAndroid Build Coastguard Worker  ${libclangLex})
58*387f9dfdSAndroid Build Coastguard Worker
59*387f9dfdSAndroid Build Coastguard Worker# if (${LLVM_PACKAGE_VERSION} VERSION_EQUAL 15 OR ${LLVM_PACKAGE_VERSION} VERSION_GREATER 15)
60*387f9dfdSAndroid Build Coastguard Worker  list(APPEND clang_libs ${libclangSupport})
61*387f9dfdSAndroid Build Coastguard Worker# endif()
62*387f9dfdSAndroid Build Coastguard Worker
63*387f9dfdSAndroid Build Coastguard Workerlist(APPEND clang_libs
64*387f9dfdSAndroid Build Coastguard Worker  ${libclangBasic})
65*387f9dfdSAndroid Build Coastguard Workerendif()
66*387f9dfdSAndroid Build Coastguard Worker
67*387f9dfdSAndroid Build Coastguard Worker# prune unused llvm static library stuff when linking into the new .so
68*387f9dfdSAndroid Build Coastguard Workerset(_exclude_flags)
69*387f9dfdSAndroid Build Coastguard Workerforeach(_lib ${clang_libs})
70*387f9dfdSAndroid Build Coastguard Worker  get_filename_component(_lib ${_lib} NAME)
71*387f9dfdSAndroid Build Coastguard Worker  set(_exclude_flags "${_exclude_flags} -Wl,--exclude-libs=${_lib}")
72*387f9dfdSAndroid Build Coastguard Workerendforeach(_lib)
73*387f9dfdSAndroid Build Coastguard Workerset(clang_lib_exclude_flags "${_exclude_flags}")
74*387f9dfdSAndroid Build Coastguard Worker
75*387f9dfdSAndroid Build Coastguard Workerset(_exclude_flags)
76*387f9dfdSAndroid Build Coastguard Workerforeach(_lib ${llvm_libs})
77*387f9dfdSAndroid Build Coastguard Worker  get_filename_component(_lib ${_lib} NAME)
78*387f9dfdSAndroid Build Coastguard Worker  set(_exclude_flags "${_exclude_flags} -Wl,--exclude-libs=lib${_lib}.a")
79*387f9dfdSAndroid Build Coastguard Workerendforeach(_lib)
80*387f9dfdSAndroid Build Coastguard Workerset(llvm_lib_exclude_flags "${_exclude_flags}")
81