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