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