1set(LLVM_LINK_COMPONENTS
2  Analysis
3  BitReader
4  BitWriter
5  Core
6  Coverage
7  IPO
8  IRReader
9  InstCombine
10  Instrumentation
11  Linker
12  MC
13  ObjCARCOpts
14  Object
15  ProfileData
16  ScalarOpts
17  Support
18  Target
19  TransformUtils
20  )
21
22# In a standard Clang+LLVM build, we need to generate intrinsics before
23# building codegen. In a standalone build, LLVM is already built and we don't
24# need this dependency. Furthermore, LLVM doesn't export it so we can't have
25# this dependency.
26set(codegen_deps intrinsics_gen)
27if (CLANG_BUILT_STANDALONE)
28  set(codegen_deps)
29endif()
30
31add_clang_library(clangCodeGen
32  BackendUtil.cpp
33  CGAtomic.cpp
34  CGBlocks.cpp
35  CGBuiltin.cpp
36  CGCUDABuiltin.cpp
37  CGCUDANV.cpp
38  CGCUDARuntime.cpp
39  CGCXX.cpp
40  CGCXXABI.cpp
41  CGCall.cpp
42  CGClass.cpp
43  CGCleanup.cpp
44  CGDebugInfo.cpp
45  CGDecl.cpp
46  CGDeclCXX.cpp
47  CGException.cpp
48  CGExpr.cpp
49  CGExprAgg.cpp
50  CGExprCXX.cpp
51  CGExprComplex.cpp
52  CGExprConstant.cpp
53  CGExprScalar.cpp
54  CGLoopInfo.cpp
55  CGObjC.cpp
56  CGObjCGNU.cpp
57  CGObjCMac.cpp
58  CGObjCRuntime.cpp
59  CGOpenCLRuntime.cpp
60  CGOpenMPRuntime.cpp
61  CGOpenMPRuntimeNVPTX.cpp
62  CGRecordLayoutBuilder.cpp
63  CGStmt.cpp
64  CGStmtOpenMP.cpp
65  CGVTT.cpp
66  CGVTables.cpp
67  CodeGenABITypes.cpp
68  CodeGenAction.cpp
69  CodeGenFunction.cpp
70  CodeGenModule.cpp
71  CodeGenPGO.cpp
72  CodeGenTBAA.cpp
73  CodeGenTypes.cpp
74  CoverageMappingGen.cpp
75  ItaniumCXXABI.cpp
76  MicrosoftCXXABI.cpp
77  ModuleBuilder.cpp
78  ObjectFilePCHContainerOperations.cpp
79  SanitizerMetadata.cpp
80  SwiftCallingConv.cpp
81  TargetInfo.cpp
82
83  DEPENDS
84  ${codegen_deps}
85
86  LINK_LIBS
87  clangAST
88  clangBasic
89  clangFrontend
90  clangLex
91  )
92