|  | set(LLVM_LINK_COMPONENTS | 
|  | core | 
|  | native | 
|  | MC | 
|  | Option | 
|  | OrcJit | 
|  | OrcDebugging | 
|  | OrcShared | 
|  | OrcTargetProcess | 
|  | Support | 
|  | Target | 
|  | TargetParser | 
|  | TransformUtils | 
|  | ) | 
|  |  | 
|  | if (EMSCRIPTEN AND "lld" IN_LIST LLVM_ENABLE_PROJECTS) | 
|  | set(WASM_SRC Wasm.cpp) | 
|  | set(WASM_LINK lldWasm) | 
|  | set(COMMON_LINK lldCommon) | 
|  | endif() | 
|  |  | 
|  | add_clang_library(clangInterpreter | 
|  | DeviceOffload.cpp | 
|  | CodeCompletion.cpp | 
|  | IncrementalExecutor.cpp | 
|  | IncrementalParser.cpp | 
|  | Interpreter.cpp | 
|  | InterpreterValuePrinter.cpp | 
|  | InterpreterUtils.cpp | 
|  | Value.cpp | 
|  | ${WASM_SRC} | 
|  | PARTIAL_SOURCES_INTENDED | 
|  |  | 
|  | DEPENDS | 
|  | intrinsics_gen | 
|  | ClangDriverOptions | 
|  |  | 
|  | LINK_LIBS | 
|  | clangAST | 
|  | clangAnalysis | 
|  | clangBasic | 
|  | clangCodeGen | 
|  | clangDriver | 
|  | clangFrontend | 
|  | clangFrontendTool | 
|  | clangLex | 
|  | clangParse | 
|  | clangSema | 
|  | clangSerialization | 
|  | ${WASM_LINK} | 
|  | ${COMMON_LINK} | 
|  | ) | 
|  |  | 
|  | if ((MINGW OR CYGWIN) AND BUILD_SHARED_LIBS) | 
|  | # The DLLs are supposed to export all symbols (except for ones that are | 
|  | # explicitly hidden). Normally, this is what happens anyway, but if there | 
|  | # are symbols that are marked explicitly as dllexport, we'd only export them | 
|  | # and nothing else. The Interpreter contains a few cases of such dllexports | 
|  | # (for symbols that need to be exported even from standalone exe files); | 
|  | # therefore, add --export-all-symbols to make sure we export all symbols | 
|  | # despite potential dllexports. | 
|  | target_link_options(clangInterpreter PRIVATE LINKER:--export-all-symbols) | 
|  | endif() |