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