set(LLVM_LINK_COMPONENTS | |
${LLVM_TARGETS_TO_BUILD} | |
Analysis | |
BitReader | |
BitWriter | |
Core | |
IPO | |
IRReader | |
InstCombine | |
Instrumentation | |
Linker | |
MC | |
ObjCARCOpts | |
ProfileData | |
ScalarOpts | |
Support | |
TransformUtils | |
) | |
# In a standard Clang+LLVM build, we need to generate intrinsics before | |
# building codegen. In a standalone build, LLVM is already built and we don't | |
# need this dependency. Furthermore, LLVM doesn't export it so we can't have | |
# this dependency. | |
set(codegen_deps intrinsics_gen) | |
if (CLANG_BUILT_STANDALONE) | |
set(codegen_deps) | |
endif() | |
add_clang_library(clangCodeGen | |
BackendUtil.cpp | |
CGAtomic.cpp | |
CGBlocks.cpp | |
CGBuiltin.cpp | |
CGCUDANV.cpp | |
CGCUDARuntime.cpp | |
CGCXX.cpp | |
CGCXXABI.cpp | |
CGCall.cpp | |
CGClass.cpp | |
CGCleanup.cpp | |
CGDebugInfo.cpp | |
CGDecl.cpp | |
CGDeclCXX.cpp | |
CGException.cpp | |
CGExpr.cpp | |
CGExprAgg.cpp | |
CGExprCXX.cpp | |
CGExprComplex.cpp | |
CGExprConstant.cpp | |
CGExprScalar.cpp | |
CGLoopInfo.cpp | |
CGObjC.cpp | |
CGObjCGNU.cpp | |
CGObjCMac.cpp | |
CGObjCRuntime.cpp | |
CGOpenCLRuntime.cpp | |
CGOpenMPRuntime.cpp | |
CGRecordLayoutBuilder.cpp | |
CGStmt.cpp | |
CGStmtOpenMP.cpp | |
CGVTT.cpp | |
CGVTables.cpp | |
CodeGenABITypes.cpp | |
CodeGenAction.cpp | |
CodeGenFunction.cpp | |
CodeGenModule.cpp | |
CodeGenModuleContainer.cpp | |
CodeGenPGO.cpp | |
CodeGenTBAA.cpp | |
CodeGenTypes.cpp | |
CoverageMappingGen.cpp | |
ItaniumCXXABI.cpp | |
MicrosoftCXXABI.cpp | |
ModuleBuilder.cpp | |
SanitizerMetadata.cpp | |
TargetInfo.cpp | |
DEPENDS | |
${codegen_deps} | |
LINK_LIBS | |
clangAST | |
clangBasic | |
clangFrontend | |
clangLex | |
) |