blob: 8366a11e820e2679e5888269c6399233b1c8c88d [file] [log] [blame]
Colin Crosscfa17642016-12-06 11:18:29 -08001cc_defaults {
2 name: "clang-defaults",
3 defaults: [
4 "llvm-defaults",
Colin Crosscfa17642016-12-06 11:18:29 -08005 ],
Colin Crosscfa17642016-12-06 11:18:29 -08006
Colin Crossfa52df72016-12-14 16:45:19 -08007 header_libs: ["clang-headers"],
8
Colin Crosscfa17642016-12-06 11:18:29 -08009 cflags: [
10 "-pedantic",
Yi Kongf6c01d12018-01-03 11:58:13 -080011 "-Wno-cast-qual",
Colin Crosscfa17642016-12-06 11:18:29 -080012 "-Wno-long-long",
Chih-Hung Hsieh7ce1af52018-02-14 11:36:54 -080013 "-Wno-unused-private-field",
Colin Crosscfa17642016-12-06 11:18:29 -080014 ],
15
16 include_dirs: [
17 "external/clang/include",
18 "external/clang/lib/CodeGen",
19 ],
20
Chih-Hung Hsieh3d555632017-08-09 15:52:17 -070021 tidy_checks: [
22 "-google-runtime-member-string-references",
23 ],
24
Colin Crosscfa17642016-12-06 11:18:29 -080025 target: {
26 windows: {
27 enabled: true,
28 cflags: [
29 // This triggers an assertion on cross Windows builds.
30 "-Wno-error=uninitialized",
31 ],
32 },
Pirama Arumuga Nainardf01d332017-10-31 13:48:44 -070033 not_windows: {
34 cflags: [
35 "-Wno-unused-lambda-capture",
36 ],
37 },
Colin Crosscfa17642016-12-06 11:18:29 -080038 },
39
40}
41
Colin Crossfa52df72016-12-14 16:45:19 -080042clang_generated_headers = [
43 "clang-gen-options",
44 "clang-gen-attributes",
45 "clang-gen-checkers",
46 "clang-gen-comment-commands",
47 "clang-gen-comment-html-named-character-references",
48 "clang-gen-html-tags",
49 "clang-gen-comment-nodes",
50 "clang-gen-diagnostics",
51 "clang-gen-declnodes",
52 "clang-gen-statnodes",
53 "clang-gen-arm-neon",
54 "clang-version",
55 "llvm-gen-attributes",
56 "llvm-gen-intrinsics",
57]
58
59cc_library_headers {
60 name: "clang-headers",
Jiyong Park636d6152017-08-10 20:34:59 +090061 vendor_available: true,
Colin Crossfa52df72016-12-14 16:45:19 -080062 host_supported: true,
63 generated_headers: clang_generated_headers,
64 export_include_dirs: ["include"],
65 export_generated_headers: clang_generated_headers,
66 target: {
67 windows: {
68 enabled: true,
69 },
70 },
Colin Crosscfa17642016-12-06 11:18:29 -080071}
72
73llvm_tblgen {
74 name: "clang-gen-options",
75 in: "include/clang/Driver/Options.td",
76 outs: ["clang/Driver/Options.inc"],
77}
78
79clang_tblgen {
80 name: "clang-gen-attributes",
81 in: "include/clang/Basic/Attr.td",
82 outs: [
83 "clang/AST/AttrDump.inc",
84 "clang/AST/AttrImpl.inc",
85 "clang/AST/Attrs.inc",
86 "clang/AST/AttrVisitor.inc",
87 "clang/Basic/AttrHasAttributeImpl.inc",
88 "clang/Basic/AttrList.inc",
89 "clang/Parse/AttrParserStringSwitches.inc",
90 "clang/Sema/AttrParsedAttrImpl.inc",
91 "clang/Sema/AttrParsedAttrKinds.inc",
92 "clang/Sema/AttrParsedAttrList.inc",
93 "clang/Sema/AttrSpellingListIndex.inc",
94 "clang/Sema/AttrTemplateInstantiate.inc",
95 "clang/Serialization/AttrPCHRead.inc",
96 "clang/Serialization/AttrPCHWrite.inc",
97 ],
98}
99
100clang_tblgen {
101 name: "clang-gen-checkers",
102 in: "include/clang/StaticAnalyzer/Checkers/Checkers.td",
103 outs: ["clang/StaticAnalyzer/Checkers/Checkers.inc"],
104}
105
106clang_tblgen {
107 name: "clang-gen-comment-commands",
108 in: "include/clang/AST/CommentCommands.td",
109 outs: [
110 "clang/AST/CommentCommandInfo.inc",
111 "clang/AST/CommentCommandList.inc",
112 ],
113}
114
115clang_tblgen {
116 name: "clang-gen-comment-html-named-character-references",
117 in: "include/clang/AST/CommentHTMLNamedCharacterReferences.td",
118 outs: ["clang/AST/CommentHTMLNamedCharacterReferences.inc"],
119}
120
121clang_tblgen {
122 name: "clang-gen-html-tags",
123 in: "include/clang/AST/CommentHTMLTags.td",
124 outs: [
125 "clang/AST/CommentHTMLTagsProperties.inc",
126 "clang/AST/CommentHTMLTags.inc",
127 ],
128}
129
130clang_tblgen {
131 name: "clang-gen-comment-nodes",
132 in: "include/clang/Basic/CommentNodes.td",
133 outs: ["clang/AST/CommentNodes.inc"],
134}
135
136clang_tblgen {
137 name: "clang-gen-diagnostics",
138 in: "include/clang/Basic/Diagnostic.td",
139 outs: [
140 "clang/Basic/DiagnosticAnalysisKinds.inc",
141 "clang/Basic/DiagnosticASTKinds.inc",
142 "clang/Basic/DiagnosticCommentKinds.inc",
143 "clang/Basic/DiagnosticCommonKinds.inc",
144 "clang/Basic/DiagnosticDriverKinds.inc",
145 "clang/Basic/DiagnosticFrontendKinds.inc",
146 "clang/Basic/DiagnosticLexKinds.inc",
147 "clang/Basic/DiagnosticParseKinds.inc",
148 "clang/Basic/DiagnosticSemaKinds.inc",
149 "clang/Basic/DiagnosticSerializationKinds.inc",
150 "clang/Basic/DiagnosticGroups.inc",
151 "clang/Basic/DiagnosticIndexName.inc",
152 ],
153}
154
155clang_tblgen {
156 name: "clang-gen-declnodes",
157 in: "include/clang/Basic/DeclNodes.td",
158 outs: ["clang/AST/DeclNodes.inc"],
159}
160
161clang_tblgen {
162 name: "clang-gen-statnodes",
163 in: "include/clang/Basic/StmtNodes.td",
164 outs: ["clang/AST/StmtNodes.inc"],
165}
166
167clang_tblgen {
168 name: "clang-gen-arm-neon",
169 in: "include/clang/Basic/arm_neon.td",
170 outs: [
171 "clang/Basic/arm_neon.inc",
172 "clang/Basic/arm_neon.h",
173 ],
174}
175
176genrule {
177 name: "clang-version",
178 cmd: "$(location) $(in) > $(out)",
179 tool_files: [
180 "clang-version-inc.py",
181 "version.py",
182 ],
183 srcs: [
184 "include/clang/Basic/Version.inc.in",
185 ],
186 out: ["clang/Basic/Version.inc"],
187}
188
Pirama Arumuga Nainard5a81972017-08-03 11:29:27 -0700189cc_library_shared {
190 name: "libclang_android",
Colin Crossa7df7912016-12-08 10:07:05 -0800191 defaults: [
192 "clang-defaults",
193 "force_build_llvm_components",
194 ],
Colin Crosscfa17642016-12-06 11:18:29 -0800195
196 host_supported: true,
197
198 whole_static_libs: [
199 "libclangAnalysis",
200 "libclangAST",
201 "libclangASTMatchers",
202 "libclangBasic",
203 "libclangCodeGen",
204 "libclangDriver",
205 "libclangEdit",
206 "libclangFormat",
207 "libclangFrontend",
208 "libclangIndex",
209 "libclangLex",
210 "libclangLibclang",
211 "libclangParse",
212 "libclangRewrite",
213 "libclangRewriteFrontend",
214 "libclangSema",
215 "libclangSerialization",
216 "libclangTooling",
217 "libclangToolingCore",
218 ],
219
Pirama Arumuga Nainard5a81972017-08-03 11:29:27 -0700220 export_shared_lib_headers: ["libLLVM_android"],
221 shared_libs: ["libLLVM_android"],
Colin Crossfa52df72016-12-14 16:45:19 -0800222 export_header_lib_headers: ["clang-headers"],
Colin Crosscfa17642016-12-06 11:18:29 -0800223
224 target: {
225 windows: {
226 host_ldlibs: [
227 "-limagehlp",
228 "-lpsapi",
229 "-lversion",
230 ],
231 },
Dan Willemsen7669bc12017-09-28 17:30:40 -0700232 not_windows: {
Colin Crosscfa17642016-12-06 11:18:29 -0800233 shared_libs: ["libc++"],
Colin Crosscfa17642016-12-06 11:18:29 -0800234 },
235 },
236
237 product_variables: {
238 unbundled_build: {
239 // Don't build the library in unbundled branches.
240 enabled: false,
241 },
242 },
243}
244
Colin Crosscfa17642016-12-06 11:18:29 -0800245subdirs = [
246 "lib",
247 "soong",
248 "utils/TableGen",
249 "tools/clang-check",
250 "tools/clang-format",
251 "tools/driver",
252 "tools/libclang",
253]