4 set(llvm_raw_libs bitwriter bpfcodegen debuginfodwarf irreader linker
5 mcjit objcarcopts option passes lto)
6 if(ENABLE_LLVM_NATIVECODEGEN)
7 set(llvm_raw_libs ${llvm_raw_libs} nativecodegen)
9 list(FIND LLVM_AVAILABLE_LIBS "LLVMCoverage" _llvm_coverage)
10 if (${_llvm_coverage} GREATER -1)
11 list(APPEND llvm_raw_libs coverage)
13 list(FIND LLVM_AVAILABLE_LIBS "LLVMCoroutines" _llvm_coroutines)
14 if (${_llvm_coroutines} GREATER -1)
15 list(APPEND llvm_raw_libs coroutines)
17 list(FIND LLVM_AVAILABLE_LIBS "LLVMFrontendOpenMP" _llvm_frontendOpenMP)
18 if (${_llvm_frontendOpenMP} GREATER -1)
19 list(APPEND llvm_raw_libs frontendopenmp)
21 if (${LLVM_PACKAGE_VERSION} VERSION_EQUAL 6 OR ${LLVM_PACKAGE_VERSION} VERSION_GREATER 6)
22 list(APPEND llvm_raw_libs bpfasmparser)
23 list(APPEND llvm_raw_libs bpfdisassembler)
25 llvm_map_components_to_libnames(_llvm_libs ${llvm_raw_libs})
26 llvm_expand_dependencies(llvm_libs ${_llvm_libs})
29 if(ENABLE_LLVM_SHARED AND NOT libclang-shared STREQUAL "libclang-shared-NOTFOUND")
30 set(clang_libs ${libclang-shared})
35 ${libclangSerialization}
38 if (${LLVM_PACKAGE_VERSION} VERSION_EQUAL 8 OR ${LLVM_PACKAGE_VERSION} VERSION_GREATER 8)
39 list(APPEND clang_libs ${libclangASTMatchers})
42 list(APPEND clang_libs
54 # prune unused llvm static library stuff when linking into the new .so
56 foreach(_lib ${clang_libs})
57 get_filename_component(_lib ${_lib} NAME)
58 set(_exclude_flags "${_exclude_flags} -Wl,--exclude-libs=${_lib}")
60 set(clang_lib_exclude_flags "${_exclude_flags}")
63 foreach(_lib ${llvm_libs})
64 get_filename_component(_lib ${_lib} NAME)
65 set(_exclude_flags "${_exclude_flags} -Wl,--exclude-libs=lib${_lib}.a")
67 set(llvm_lib_exclude_flags "${_exclude_flags}")