1 From be91378db0840d26ae20bd4d13a2aa96d3d02249 Mon Sep 17 00:00:00 2001 2 From: Tim Murray <timmurray (a] google.com> 3 Date: Thu, 3 Apr 2014 14:29:15 -0700 4 Subject: [PATCH 4/4] Add Android build system. 5 6 Change-Id: I9738582ea6bcede99a42fd3926ba22e81d5fff02 7 --- 8 Android.mk | 34 +++++ 9 clang-host-build.mk | 38 ++++++ 10 clang-tblgen-rules.mk | 237 +++++++++++++++++++++++++++++++++ 11 clang-version-inc.mk | 36 +++++ 12 clang.mk | 7 + 13 host_shared_clang.mk | 41 ++++++ 14 include/clang/Config/config.h | 25 ++++ 15 lib/ARCMigrate/Android.mk | 51 +++++++ 16 lib/AST/Android.mk | 94 +++++++++++++ 17 lib/Analysis/Android.mk | 51 +++++++ 18 lib/Basic/Android.mk | 57 ++++++++ 19 lib/CodeGen/Android.mk | 75 +++++++++++ 20 lib/Driver/Android.mk | 44 ++++++ 21 lib/Edit/Android.mk | 32 +++++ 22 lib/Format/Android.mk | 43 ++++++ 23 lib/Frontend/Android.mk | 66 +++++++++ 24 lib/FrontendTool/Android.mk | 24 ++++ 25 lib/Headers/Android.mk | 11 ++ 26 lib/Lex/Android.mk | 45 +++++++ 27 lib/Parse/Android.mk | 47 +++++++ 28 lib/Rewrite/Core/Android.mk | 34 +++++ 29 lib/Rewrite/Frontend/Android.mk | 38 ++++++ 30 lib/Sema/Android.mk | 84 ++++++++++++ 31 lib/Serialization/Android.mk | 46 +++++++ 32 lib/StaticAnalyzer/Checkers/Android.mk | 100 ++++++++++++++ 33 lib/StaticAnalyzer/Core/Android.mk | 68 ++++++++++ 34 lib/StaticAnalyzer/Frontend/Android.mk | 40 ++++++ 35 tools/driver/Android.mk | 119 +++++++++++++++++ 36 utils/TableGen/Android.mk | 35 +++++ 37 29 files changed, 1622 insertions(+) 38 create mode 100644 Android.mk 39 create mode 100644 clang-host-build.mk 40 create mode 100644 clang-tblgen-rules.mk 41 create mode 100644 clang-version-inc.mk 42 create mode 100644 clang.mk 43 create mode 100644 host_shared_clang.mk 44 create mode 100644 include/clang/Config/config.h 45 create mode 100644 lib/ARCMigrate/Android.mk 46 create mode 100644 lib/AST/Android.mk 47 create mode 100644 lib/Analysis/Android.mk 48 create mode 100644 lib/Basic/Android.mk 49 create mode 100644 lib/CodeGen/Android.mk 50 create mode 100644 lib/Driver/Android.mk 51 create mode 100644 lib/Edit/Android.mk 52 create mode 100644 lib/Format/Android.mk 53 create mode 100644 lib/Frontend/Android.mk 54 create mode 100644 lib/FrontendTool/Android.mk 55 create mode 100644 lib/Headers/Android.mk 56 create mode 100644 lib/Lex/Android.mk 57 create mode 100644 lib/Parse/Android.mk 58 create mode 100644 lib/Rewrite/Core/Android.mk 59 create mode 100644 lib/Rewrite/Frontend/Android.mk 60 create mode 100644 lib/Sema/Android.mk 61 create mode 100644 lib/Serialization/Android.mk 62 create mode 100644 lib/StaticAnalyzer/Checkers/Android.mk 63 create mode 100644 lib/StaticAnalyzer/Core/Android.mk 64 create mode 100644 lib/StaticAnalyzer/Frontend/Android.mk 65 create mode 100644 tools/driver/Android.mk 66 create mode 100644 utils/TableGen/Android.mk 67 68 diff --git a/Android.mk b/Android.mk 69 new file mode 100644 70 index 0000000..5f62da3 71 --- /dev/null 72 +++ b/Android.mk 73 @@ -0,0 +1,34 @@ 74 +LOCAL_PATH := $(call my-dir) 75 +CLANG_ROOT_PATH := $(LOCAL_PATH) 76 + 77 +include $(CLEAR_VARS) 78 + 79 +subdirs := $(addprefix $(LOCAL_PATH)/,$(addsuffix /Android.mk, \ 80 + lib/Analysis \ 81 + lib/AST \ 82 + lib/ARCMigrate \ 83 + lib/Basic \ 84 + lib/CodeGen \ 85 + lib/Driver \ 86 + lib/Edit \ 87 + lib/Format \ 88 + lib/Frontend \ 89 + lib/FrontendTool \ 90 + lib/Headers \ 91 + lib/Lex \ 92 + lib/Parse \ 93 + lib/Rewrite/Core \ 94 + lib/Rewrite/Frontend \ 95 + lib/Sema \ 96 + lib/Serialization \ 97 + lib/StaticAnalyzer/Checkers \ 98 + lib/StaticAnalyzer/Core \ 99 + lib/StaticAnalyzer/Frontend \ 100 + tools/driver \ 101 + utils/TableGen \ 102 + )) 103 + 104 +include $(LOCAL_PATH)/clang.mk 105 +include $(LOCAL_PATH)/host_shared_clang.mk 106 + 107 +include $(subdirs) 108 diff --git a/clang-host-build.mk b/clang-host-build.mk 109 new file mode 100644 110 index 0000000..e0ba2e6 111 --- /dev/null 112 +++ b/clang-host-build.mk 113 @@ -0,0 +1,38 @@ 114 +LOCAL_CFLAGS := \ 115 + -pedantic \ 116 + -Wcast-qual \ 117 + -Wno-long-long \ 118 + $(LOCAL_CFLAGS) 119 + 120 +LOCAL_CPPFLAGS := \ 121 + -Wno-sign-promo \ 122 + $(LOCAL_CPPFLAGS) 123 + 124 +# Make sure bionic is first so we can include system headers. 125 +LOCAL_C_INCLUDES := \ 126 + $(CLANG_ROOT_PATH)/include \ 127 + $(CLANG_ROOT_PATH)/lib/CodeGen \ 128 + $(LOCAL_C_INCLUDES) 129 + 130 +LLVM_ROOT_PATH := external/llvm 131 +include $(LLVM_ROOT_PATH)/llvm.mk 132 + 133 +ifneq ($(LLVM_HOST_BUILD_MK),) 134 +include $(LLVM_HOST_BUILD_MK) 135 +endif 136 + 137 +########################################################### 138 +## Commands for running tblgen to compile a td file 139 +########################################################### 140 +define transform-host-clang-td-to-out 141 +@mkdir -p $(dir $@) 142 +@echo "Host Clang TableGen: $(TBLGEN_LOCAL_MODULE) (gen-$(1)) <= $<" 143 +$(hide) $(CLANG_TBLGEN) \ 144 + -I $(dir $<) \ 145 + -I $(LLVM_ROOT_PATH)/include \ 146 + -I $(LLVM_ROOT_PATH)/host/include \ 147 + -I $(LLVM_ROOT_PATH)/lib/Target \ 148 + $(if $(strip $(CLANG_ROOT_PATH)),-I $(CLANG_ROOT_PATH)/include,) \ 149 + -gen-$(strip $(1)) \ 150 + -o $@ $< 151 +endef 152 diff --git a/clang-tblgen-rules.mk b/clang-tblgen-rules.mk 153 new file mode 100644 154 index 0000000..a2ae405 155 --- /dev/null 156 +++ b/clang-tblgen-rules.mk 157 @@ -0,0 +1,237 @@ 158 +###################################4######################## 159 +## TableGen: Compile .td files to .inc. 160 +########################################################### 161 +ifeq ($(LOCAL_MODULE_CLASS),) 162 + LOCAL_MODULE_CLASS := STATIC_LIBRARIES 163 +endif 164 + 165 +ifneq ($(strip $(TBLGEN_TABLES)),) 166 + 167 +intermediates := $(call local-intermediates-dir) 168 + 169 +ifneq ($(findstring AttrDump.inc,$(TBLGEN_TABLES)),) 170 +LOCAL_GENERATED_SOURCES += $(intermediates)/include/clang/AST/AttrDump.inc 171 +$(intermediates)/include/clang/AST/AttrDump.inc: TBLGEN_LOCAL_MODULE := $(LOCAL_MODULE) 172 +$(intermediates)/include/clang/AST/AttrDump.inc: $(CLANG_ROOT_PATH)/include/clang/Basic/Attr.td | $(CLANG_TBLGEN) 173 + $(call transform-host-clang-td-to-out,clang-attr-dump) 174 +endif 175 + 176 +ifneq ($(findstring AttrImpl.inc,$(TBLGEN_TABLES)),) 177 +LOCAL_GENERATED_SOURCES += $(intermediates)/include/clang/AST/AttrImpl.inc 178 +$(intermediates)/include/clang/AST/AttrImpl.inc: TBLGEN_LOCAL_MODULE := $(LOCAL_MODULE) 179 +$(intermediates)/include/clang/AST/AttrImpl.inc: $(CLANG_ROOT_PATH)/include/clang/Basic/Attr.td | $(CLANG_TBLGEN) 180 + $(call transform-host-clang-td-to-out,clang-attr-impl) 181 +endif 182 + 183 +ifneq ($(findstring AttrHasAttributeImpl.inc,$(TBLGEN_TABLES)),) 184 +LOCAL_GENERATED_SOURCES += $(intermediates)/include/clang/Basic/AttrHasAttributeImpl.inc 185 +$(intermediates)/include/clang/Basic/AttrHasAttributeImpl.inc: TBLGEN_LOCAL_MODULE := $(LOCAL_MODULE) 186 +$(intermediates)/include/clang/Basic/AttrHasAttributeImpl.inc: $(CLANG_ROOT_PATH)/include/clang/Basic/Attr.td | $(CLANG_TBLGEN) 187 + $(call transform-host-clang-td-to-out,clang-attr-has-attribute-impl) 188 +endif 189 + 190 +ifneq ($(findstring AttrList.inc,$(TBLGEN_TABLES)),) 191 +LOCAL_GENERATED_SOURCES += $(intermediates)/include/clang/Basic/AttrList.inc 192 +$(intermediates)/include/clang/Basic/AttrList.inc: TBLGEN_LOCAL_MODULE := $(LOCAL_MODULE) 193 +$(intermediates)/include/clang/Basic/AttrList.inc: $(CLANG_ROOT_PATH)/include/clang/Basic/Attr.td | $(CLANG_TBLGEN) 194 + $(call transform-host-clang-td-to-out,clang-attr-list) 195 +endif 196 + 197 +ifneq ($(findstring AttrSpellingListIndex.inc,$(TBLGEN_TABLES)),) 198 +LOCAL_GENERATED_SOURCES += $(intermediates)/include/clang/Sema/AttrSpellingListIndex.inc 199 +$(intermediates)/include/clang/Sema/AttrSpellingListIndex.inc: TBLGEN_LOCAL_MODULE := $(LOCAL_MODULE) 200 +$(intermediates)/include/clang/Sema/AttrSpellingListIndex.inc: $(CLANG_ROOT_PATH)/include/clang/Basic/Attr.td | $(CLANG_TBLGEN) 201 + $(call transform-host-clang-td-to-out,clang-attr-spelling-index) 202 +endif 203 + 204 +ifneq ($(findstring AttrPCHRead.inc,$(TBLGEN_TABLES)),) 205 +LOCAL_GENERATED_SOURCES += $(intermediates)/include/clang/Serialization/AttrPCHRead.inc 206 +$(intermediates)/include/clang/Serialization/AttrPCHRead.inc: TBLGEN_LOCAL_MODULE := $(LOCAL_MODULE) 207 +$(intermediates)/include/clang/Serialization/AttrPCHRead.inc: $(CLANG_ROOT_PATH)/include/clang/Basic/Attr.td | $(CLANG_TBLGEN) 208 + $(call transform-host-clang-td-to-out,clang-attr-pch-read) 209 +endif 210 + 211 +ifneq ($(findstring AttrPCHWrite.inc,$(TBLGEN_TABLES)),) 212 +LOCAL_GENERATED_SOURCES += $(intermediates)/include/clang/Serialization/AttrPCHWrite.inc 213 +$(intermediates)/include/clang/Serialization/AttrPCHWrite.inc: TBLGEN_LOCAL_MODULE := $(LOCAL_MODULE) 214 +$(intermediates)/include/clang/Serialization/AttrPCHWrite.inc: $(CLANG_ROOT_PATH)/include/clang/Basic/Attr.td | $(CLANG_TBLGEN) 215 + $(call transform-host-clang-td-to-out,clang-attr-pch-write) 216 +endif 217 + 218 +ifneq ($(findstring Attrs.inc,$(TBLGEN_TABLES)),) 219 +LOCAL_GENERATED_SOURCES += $(intermediates)/include/clang/AST/Attrs.inc 220 +$(intermediates)/include/clang/AST/Attrs.inc: TBLGEN_LOCAL_MODULE := $(LOCAL_MODULE) 221 +$(intermediates)/include/clang/AST/Attrs.inc: $(CLANG_ROOT_PATH)/include/clang/Basic/Attr.td | $(CLANG_TBLGEN) 222 + $(call transform-host-clang-td-to-out,clang-attr-classes) 223 +endif 224 + 225 +ifneq ($(findstring AttrParserStringSwitches.inc,$(TBLGEN_TABLES)),) 226 +LOCAL_GENERATED_SOURCES += $(intermediates)/include/clang/Parse/AttrParserStringSwitches.inc 227 +$(intermediates)/include/clang/Parse/AttrParserStringSwitches.inc: TBLGEN_LOCAL_MODULE := $(LOCAL_MODULE) 228 +$(intermediates)/include/clang/Parse/AttrParserStringSwitches.inc: $(CLANG_ROOT_PATH)/include/clang/Basic/Attr.td | $(CLANG_TBLGEN) 229 + $(call transform-host-clang-td-to-out,clang-attr-parser-string-switches) 230 +endif 231 + 232 +ifneq ($(findstring AttrVisitor.inc,$(TBLGEN_TABLES)),) 233 +LOCAL_GENERATED_SOURCES += $(intermediates)/include/clang/AST/AttrVisitor.inc 234 +$(intermediates)/include/clang/AST/AttrVisitor.inc: TBLGEN_LOCAL_MODULE := $(LOCAL_MODULE) 235 +$(intermediates)/include/clang/AST/AttrVisitor.inc: $(CLANG_ROOT_PATH)/include/clang/Basic/Attr.td | $(CLANG_TBLGEN) 236 + $(call transform-host-clang-td-to-out,clang-attr-ast-visitor) 237 +endif 238 + 239 +ifneq ($(findstring AttrParsedAttrKinds.inc,$(TBLGEN_TABLES)),) 240 +LOCAL_GENERATED_SOURCES += $(intermediates)/include/clang/Sema/AttrParsedAttrKinds.inc 241 +$(intermediates)/include/clang/Sema/AttrParsedAttrKinds.inc: TBLGEN_LOCAL_MODULE := $(LOCAL_MODULE) 242 +$(intermediates)/include/clang/Sema/AttrParsedAttrKinds.inc: $(CLANG_ROOT_PATH)/include/clang/Basic/Attr.td | $(CLANG_TBLGEN) 243 + $(call transform-host-clang-td-to-out,clang-attr-parsed-attr-kinds) 244 +endif 245 + 246 +ifneq ($(findstring AttrParsedAttrImpl.inc,$(TBLGEN_TABLES)),) 247 +LOCAL_GENERATED_SOURCES += $(intermediates)/include/clang/Sema/AttrParsedAttrImpl.inc 248 +$(intermediates)/include/clang/Sema/AttrParsedAttrImpl.inc: TBLGEN_LOCAL_MODULE := $(LOCAL_MODULE) 249 +$(intermediates)/include/clang/Sema/AttrParsedAttrImpl.inc: $(CLANG_ROOT_PATH)/include/clang/Basic/Attr.td | $(CLANG_TBLGEN) 250 + $(call transform-host-clang-td-to-out,clang-attr-parsed-attr-impl) 251 +endif 252 + 253 +ifneq ($(findstring AttrParsedAttrList.inc,$(TBLGEN_TABLES)),) 254 +LOCAL_GENERATED_SOURCES += $(intermediates)/include/clang/Sema/AttrParsedAttrList.inc 255 +$(intermediates)/include/clang/Sema/AttrParsedAttrList.inc: TBLGEN_LOCAL_MODULE := $(LOCAL_MODULE) 256 +$(intermediates)/include/clang/Sema/AttrParsedAttrList.inc: $(CLANG_ROOT_PATH)/include/clang/Basic/Attr.td | $(CLANG_TBLGEN) 257 + $(call transform-host-clang-td-to-out,clang-attr-parsed-attr-list) 258 +endif 259 + 260 +ifneq ($(findstring AttrTemplateInstantiate.inc,$(TBLGEN_TABLES)),) 261 +LOCAL_GENERATED_SOURCES += $(intermediates)/include/clang/Sema/AttrTemplateInstantiate.inc 262 +$(intermediates)/include/clang/Sema/AttrTemplateInstantiate.inc: TBLGEN_LOCAL_MODULE := $(LOCAL_MODULE) 263 +$(intermediates)/include/clang/Sema/AttrTemplateInstantiate.inc: $(CLANG_ROOT_PATH)/include/clang/Basic/Attr.td | $(CLANG_TBLGEN) 264 + $(call transform-host-clang-td-to-out,clang-attr-template-instantiate) 265 +endif 266 + 267 +ifneq ($(findstring Checkers.inc,$(TBLGEN_TABLES)),) 268 +LOCAL_GENERATED_SOURCES += $(intermediates)/Checkers.inc 269 +$(intermediates)/Checkers.inc: TBLGEN_LOCAL_MODULE := $(LOCAL_MODULE) 270 +$(intermediates)/Checkers.inc: \ 271 + $(CLANG_ROOT_PATH)/lib/StaticAnalyzer/Checkers/Checkers.td \ 272 + $(CLANG_ROOT_PATH)/include/clang/StaticAnalyzer/Checkers/CheckerBase.td \ 273 + | $(CLANG_TBLGEN) 274 + $(call transform-host-clang-td-to-out,clang-sa-checkers) 275 +endif 276 + 277 +ifneq ($(findstring CommentCommandInfo.inc,$(TBLGEN_TABLES)),) 278 +LOCAL_GENERATED_SOURCES += $(intermediates)/include/clang/AST/CommentCommandInfo.inc 279 +$(intermediates)/include/clang/AST/CommentCommandInfo.inc: TBLGEN_LOCAL_MODULE := $(LOCAL_MODULE) 280 +$(intermediates)/include/clang/AST/CommentCommandInfo.inc: \ 281 + $(CLANG_ROOT_PATH)/include/clang/AST/CommentCommands.td \ 282 + | $(CLANG_TBLGEN) 283 + $(call transform-host-clang-td-to-out,clang-comment-command-info) 284 +endif 285 + 286 +ifneq ($(findstring CommentCommandList.inc,$(TBLGEN_TABLES)),) 287 +LOCAL_GENERATED_SOURCES += $(intermediates)/include/clang/AST/CommentCommandList.inc 288 +$(intermediates)/include/clang/AST/CommentCommandList.inc: TBLGEN_LOCAL_MODULE := $(LOCAL_MODULE) 289 +$(intermediates)/include/clang/AST/CommentCommandList.inc: \ 290 + $(CLANG_ROOT_PATH)/include/clang/AST/CommentCommands.td \ 291 + | $(CLANG_TBLGEN) 292 + $(call transform-host-clang-td-to-out,clang-comment-command-list) 293 +endif 294 + 295 +ifneq ($(findstring CommentHTMLNamedCharacterReferences.inc,$(TBLGEN_TABLES)),) 296 +LOCAL_GENERATED_SOURCES += $(intermediates)/include/clang/AST/CommentHTMLNamedCharacterReferences.inc 297 +$(intermediates)/include/clang/AST/CommentHTMLNamedCharacterReferences.inc: TBLGEN_LOCAL_MODULE := $(LOCAL_MODULE) 298 +$(intermediates)/include/clang/AST/CommentHTMLNamedCharacterReferences.inc: \ 299 + $(CLANG_ROOT_PATH)/include/clang/AST/CommentHTMLNamedCharacterReferences.td \ 300 + | $(CLANG_TBLGEN) 301 + $(call transform-host-clang-td-to-out,clang-comment-html-named-character-references) 302 +endif 303 + 304 +ifneq ($(findstring CommentHTMLTagsProperties.inc,$(TBLGEN_TABLES)),) 305 +LOCAL_GENERATED_SOURCES += $(intermediates)/include/clang/AST/CommentHTMLTagsProperties.inc 306 +$(intermediates)/include/clang/AST/CommentHTMLTagsProperties.inc: TBLGEN_LOCAL_MODULE := $(LOCAL_MODULE) 307 +$(intermediates)/include/clang/AST/CommentHTMLTagsProperties.inc: \ 308 + $(CLANG_ROOT_PATH)/include/clang/AST/CommentHTMLTags.td \ 309 + | $(CLANG_TBLGEN) 310 + $(call transform-host-clang-td-to-out,clang-comment-html-tags-properties) 311 +endif 312 + 313 +ifneq ($(findstring CommentHTMLTags.inc,$(TBLGEN_TABLES)),) 314 +LOCAL_GENERATED_SOURCES += $(intermediates)/include/clang/AST/CommentHTMLTags.inc 315 +$(intermediates)/include/clang/AST/CommentHTMLTags.inc: TBLGEN_LOCAL_MODULE := $(LOCAL_MODULE) 316 +$(intermediates)/include/clang/AST/CommentHTMLTags.inc: \ 317 + $(CLANG_ROOT_PATH)/include/clang/AST/CommentHTMLTags.td \ 318 + | $(CLANG_TBLGEN) 319 + $(call transform-host-clang-td-to-out,clang-comment-html-tags) 320 +endif 321 + 322 +ifneq ($(findstring CommentNodes.inc,$(TBLGEN_TABLES)),) 323 +LOCAL_GENERATED_SOURCES += $(intermediates)/include/clang/AST/CommentNodes.inc 324 +$(intermediates)/include/clang/AST/CommentNodes.inc: TBLGEN_LOCAL_MODULE := $(LOCAL_MODULE) 325 +$(intermediates)/include/clang/AST/CommentNodes.inc: \ 326 + $(CLANG_ROOT_PATH)/include/clang/Basic/CommentNodes.td \ 327 + | $(CLANG_TBLGEN) 328 + $(call transform-host-clang-td-to-out,clang-comment-nodes) 329 +endif 330 + 331 +ifneq ($(filter Diagnostic%Kinds.inc,$(TBLGEN_TABLES)),) 332 +LOCAL_GENERATED_SOURCES += $(addprefix $(intermediates)/include/clang/Basic/,$(filter Diagnostic%Kinds.inc,$(TBLGEN_TABLES))) 333 +$(intermediates)/include/clang/Basic/Diagnostic%Kinds.inc: TBLGEN_LOCAL_MODULE := $(LOCAL_MODULE) 334 +$(intermediates)/include/clang/Basic/Diagnostic%Kinds.inc: \ 335 + $(CLANG_ROOT_PATH)/include/clang/Basic/Diagnostic.td \ 336 + $(CLANG_ROOT_PATH)/include/clang/Basic/Diagnostic%Kinds.td \ 337 + | $(CLANG_TBLGEN) 338 + $(call transform-host-clang-td-to-out,clang-diags-defs -clang-component=$(patsubst Diagnostic%Kinds.inc,%,$(@F))) 339 +endif 340 + 341 +ifneq ($(findstring DiagnosticGroups.inc,$(TBLGEN_TABLES)),) 342 +LOCAL_GENERATED_SOURCES += $(intermediates)/include/clang/Basic/DiagnosticGroups.inc 343 +$(intermediates)/include/clang/Basic/DiagnosticGroups.inc: TBLGEN_LOCAL_MODULE := $(LOCAL_MODULE) 344 +$(intermediates)/include/clang/Basic/DiagnosticGroups.inc: $(CLANG_ROOT_PATH)/include/clang/Basic/Diagnostic.td $(CLANG_ROOT_PATH)/include/clang/Basic/DiagnosticGroups.td | $(CLANG_TBLGEN) 345 + $(call transform-host-clang-td-to-out,clang-diag-groups) 346 +endif 347 + 348 +ifneq ($(findstring DiagnosticIndexName.inc,$(TBLGEN_TABLES)),) 349 +LOCAL_GENERATED_SOURCES += $(intermediates)/include/clang/Basic/DiagnosticIndexName.inc 350 +$(intermediates)/include/clang/Basic/DiagnosticIndexName.inc: TBLGEN_LOCAL_MODULE := $(LOCAL_MODULE) 351 +$(intermediates)/include/clang/Basic/DiagnosticIndexName.inc: $(CLANG_ROOT_PATH)/include/clang/Basic/Diagnostic.td | $(CLANG_TBLGEN) 352 + $(call transform-host-clang-td-to-out,clang-diag-groups) 353 +endif 354 + 355 +ifneq ($(findstring DeclNodes.inc,$(TBLGEN_TABLES)),) 356 +LOCAL_GENERATED_SOURCES += $(intermediates)/include/clang/AST/DeclNodes.inc 357 +$(intermediates)/include/clang/AST/DeclNodes.inc: TBLGEN_LOCAL_MODULE := $(LOCAL_MODULE) 358 +$(intermediates)/include/clang/AST/DeclNodes.inc: $(CLANG_ROOT_PATH)/include/clang/Basic/DeclNodes.td | $(CLANG_TBLGEN) 359 + $(call transform-host-clang-td-to-out,clang-decl-nodes) 360 +endif 361 + 362 +ifneq ($(findstring StmtNodes.inc,$(TBLGEN_TABLES)),) 363 +LOCAL_GENERATED_SOURCES += $(intermediates)/include/clang/AST/StmtNodes.inc 364 +$(intermediates)/include/clang/AST/StmtNodes.inc: TBLGEN_LOCAL_MODULE := $(LOCAL_MODULE) 365 +$(intermediates)/include/clang/AST/StmtNodes.inc: $(CLANG_ROOT_PATH)/include/clang/Basic/StmtNodes.td | $(CLANG_TBLGEN) 366 + $(call transform-host-clang-td-to-out,clang-stmt-nodes) 367 +endif 368 + 369 +ifneq ($(findstring arm_neon.inc,$(TBLGEN_TABLES)),) 370 +LOCAL_GENERATED_SOURCES += $(intermediates)/include/clang/Basic/arm_neon.inc 371 +$(intermediates)/include/clang/Basic/arm_neon.inc: TBLGEN_LOCAL_MODULE := $(LOCAL_MODULE) 372 +$(intermediates)/include/clang/Basic/arm_neon.inc: $(CLANG_ROOT_PATH)/include/clang/Basic/arm_neon.td | $(CLANG_TBLGEN) 373 + $(call transform-host-clang-td-to-out,arm-neon-sema) 374 +endif 375 + 376 +ifneq ($(findstring Options.inc,$(TBLGEN_TABLES)),) 377 +LOCAL_GENERATED_SOURCES += $(intermediates)/include/clang/Driver/Options.inc 378 +$(intermediates)/include/clang/Driver/Options.inc: TBLGEN_LOCAL_MODULE := $(LOCAL_MODULE) 379 +$(intermediates)/include/clang/Driver/Options.inc: $(CLANG_ROOT_PATH)/include/clang/Driver/Options.td $(LLVM_ROOT_PATH)/include/llvm/Option/OptParser.td $(CLANG_ROOT_PATH)/include/clang/Driver/CC1Options.td \ 380 + | $(CLANG_TBLGEN) $(TBLGEN) 381 + $(call transform-host-td-to-out,opt-parser-defs) 382 +endif 383 + 384 +ifneq ($(findstring CC1AsOptions.inc,$(TBLGEN_TABLES)),) 385 +LOCAL_GENERATED_SOURCES += $(intermediates)/include/clang/Driver/CC1AsOptions.inc 386 +$(intermediates)/include/clang/Driver/CC1AsOptions.inc: TBLGEN_LOCAL_MODULE := $(LOCAL_MODULE) 387 +$(intermediates)/include/clang/Driver/CC1AsOptions.inc: $(CLANG_ROOT_PATH)/include/clang/Driver/CC1AsOptions.td $(LLVM_ROOT_PATH)/include/llvm/Option/OptParser.td \ 388 + | $(CLANG_TBLGEN) $(TBLGEN) 389 + $(call transform-host-td-to-out,opt-parser-defs) 390 +endif 391 + 392 +LOCAL_C_INCLUDES += $(intermediates)/include 393 + 394 +endif 395 diff --git a/clang-version-inc.mk b/clang-version-inc.mk 396 new file mode 100644 397 index 0000000..5a26276 398 --- /dev/null 399 +++ b/clang-version-inc.mk 400 @@ -0,0 +1,36 @@ 401 +########################################################### 402 +## Generate clang/Basic/Version.inc 403 +########################################################### 404 +ifeq ($(LOCAL_MODULE_CLASS),) 405 + LOCAL_MODULE_CLASS := STATIC_LIBRARIES 406 +endif 407 + 408 +intermediates := $(call local-intermediates-dir) 409 + 410 +LLVMVersion := $(shell grep PACKAGE_VERSION $(LLVM_ROOT_PATH)/host/include/llvm/Config/config.h | sed -e 's/\#define PACKAGE_VERSION "\(.*\)"/\1/g') 411 + 412 +# Compute the Clang version from the LLVM version, unless specified explicitly. 413 +# (Copy from include/clang/Basic/Makefile) 414 +CLANG_VERSION := $(subst svn,,$(LLVMVersion)) 415 +CLANG_VERSION_COMPONENTS := $(subst ., ,$(CLANG_VERSION)) 416 +CLANG_VERSION_MAJOR := $(word 1,$(CLANG_VERSION_COMPONENTS)) 417 +CLANG_VERSION_MINOR := $(word 2,$(CLANG_VERSION_COMPONENTS)) 418 +CLANG_VERSION_PATCHLEVEL := $(word 3,$(CLANG_VERSION_COMPONENTS)) 419 +ifeq ($(CLANG_VERSION_PATCHLEVEL),) 420 + CLANG_HAS_VERSION_PATCHLEVEL := 0 421 +else 422 + CLANG_HAS_VERSION_PATCHLEVEL := 1 423 +endif 424 + 425 +LOCAL_GENERATED_SOURCES += $(intermediates)/include/clang/Basic/Version.inc 426 +$(intermediates)/include/clang/Basic/Version.inc: $(CLANG_ROOT_PATH)/include/clang/Basic/Version.inc.in \ 427 + $(LLVM_ROOT_PATH)/host/include/llvm/Config/config.h 428 + @echo "Updating Clang version info." 429 + @mkdir -p $(dir $@) 430 + $(hide) sed -e "s#@CLANG_VERSION@#$(CLANG_VERSION)#g" \ 431 + -e "s#@CLANG_VERSION_MAJOR@#$(CLANG_VERSION_MAJOR)#g" \ 432 + -e "s#@CLANG_VERSION_MINOR@#$(CLANG_VERSION_MINOR)#g" \ 433 + -e "s#@CLANG_VERSION_PATCHLEVEL@#$(CLANG_VERSION_PATCHLEVEL)#g" \ 434 + -e "s#@CLANG_HAS_VERSION_PATCHLEVEL@#$(CLANG_HAS_VERSION_PATCHLEVEL)#g" \ 435 + $< > $@ 436 + 437 diff --git a/clang.mk b/clang.mk 438 new file mode 100644 439 index 0000000..587a510 440 --- /dev/null 441 +++ b/clang.mk 442 @@ -0,0 +1,7 @@ 443 +ifeq ($(CLANG_ROOT_PATH),) 444 +$(error Must set variable CLANG_ROOT_PATH before including this! $(LOCAL_PATH)) 445 +endif 446 + 447 +CLANG_HOST_BUILD_MK := $(CLANG_ROOT_PATH)/clang-host-build.mk 448 +CLANG_TBLGEN_RULES_MK := $(CLANG_ROOT_PATH)/clang-tblgen-rules.mk 449 +CLANG_VERSION_INC_MK := $(CLANG_ROOT_PATH)/clang-version-inc.mk 450 diff --git a/host_shared_clang.mk b/host_shared_clang.mk 451 new file mode 100644 452 index 0000000..f9e4181 453 --- /dev/null 454 +++ b/host_shared_clang.mk 455 @@ -0,0 +1,41 @@ 456 +# Don't build the library unless forced to. 457 +ifeq (true,$(FORCE_BUILD_LLVM_COMPONENTS)) 458 +# Don't build the library in unbundled branches. 459 +ifeq (,$(TARGET_BUILD_APPS)) 460 + 461 +LOCAL_PATH:= $(call my-dir) 462 + 463 +LOCAL_IS_HOST_MODULE := true 464 + 465 +LOCAL_MODULE:= libclang 466 + 467 +LOCAL_MODULE_TAGS := optional 468 + 469 +LOCAL_WHOLE_STATIC_LIBRARIES := \ 470 + libclangDriver \ 471 + libclangParse \ 472 + libclangSema \ 473 + libclangAnalysis \ 474 + libclangCodeGen \ 475 + libclangAST \ 476 + libclangEdit \ 477 + libclangLex \ 478 + libclangFrontend \ 479 + libclangBasic \ 480 + libclangRewriteFrontend \ 481 + libclangRewriteCore \ 482 + libclangSerialization 483 + 484 +LOCAL_SHARED_LIBRARIES := libLLVM 485 + 486 +ifeq ($(HOST_OS),windows) 487 + LOCAL_LDLIBS := -limagehlp -lpsapi 488 +else 489 + LOCAL_LDLIBS := -ldl -lpthread 490 +endif 491 + 492 +include $(CLANG_HOST_BUILD_MK) 493 +include $(BUILD_HOST_SHARED_LIBRARY) 494 + 495 +endif # don't build in unbundled branches 496 +endif # don't build unless forced to 497 diff --git a/include/clang/Config/config.h b/include/clang/Config/config.h 498 new file mode 100644 499 index 0000000..51ef9f9 500 --- /dev/null 501 +++ b/include/clang/Config/config.h 502 @@ -0,0 +1,25 @@ 503 +/* tools/clang/include/clang/Config/config.h. Generated from config.h.in by configure. */ 504 +/* include/clang/Config/config.h.in. */ 505 + 506 +#ifndef ANDROID_CONFIG_H 507 +#define ANDROID_CONFIG_H 508 + 509 +/* Bug report URL. */ 510 +#define BUG_REPORT_URL "http://llvm.org/bugs/" 511 + 512 +/* Relative directory for resource files */ 513 +#define CLANG_RESOURCE_DIR "" 514 + 515 +/* Directories clang will search for headers */ 516 +#define C_INCLUDE_DIRS "" 517 + 518 +/* Linker version detected at compile time. */ 519 +#define HOST_LINK_VERSION "2.22" 520 + 521 +/* Default <path> to all compiler invocations for --sysroot=<path>. */ 522 +#define DEFAULT_SYSROOT "" 523 + 524 +/* Directory where gcc is installed. */ 525 +#define GCC_INSTALL_PREFIX "" 526 + 527 +#endif 528 diff --git a/lib/ARCMigrate/Android.mk b/lib/ARCMigrate/Android.mk 529 new file mode 100644 530 index 0000000..834f573 531 --- /dev/null 532 +++ b/lib/ARCMigrate/Android.mk 533 @@ -0,0 +1,51 @@ 534 +LOCAL_PATH := $(call my-dir) 535 + 536 +# For the host only 537 +# ===================================================== 538 +include $(CLEAR_VARS) 539 +include $(CLEAR_TBLGEN_VARS) 540 + 541 +TBLGEN_TABLES := \ 542 + Attrs.inc \ 543 + AttrList.inc \ 544 + AttrParsedAttrList.inc \ 545 + AttrVisitor.inc \ 546 + CommentCommandList.inc \ 547 + CommentNodes.inc \ 548 + DeclNodes.inc \ 549 + DiagnosticCommonKinds.inc \ 550 + DiagnosticGroups.inc \ 551 + DiagnosticSemaKinds.inc \ 552 + StmtNodes.inc 553 + 554 +clang_arc_migrate_SRC_FILES := \ 555 + ARCMT.cpp \ 556 + ARCMTActions.cpp \ 557 + FileRemapper.cpp \ 558 + ObjCMT.cpp \ 559 + PlistReporter.cpp \ 560 + TransAPIUses.cpp \ 561 + TransARCAssign.cpp \ 562 + TransAutoreleasePool.cpp \ 563 + TransBlockObjCVariable.cpp \ 564 + TransEmptyStatementsAndDealloc.cpp \ 565 + TransformActions.cpp \ 566 + Transforms.cpp \ 567 + TransGCAttrs.cpp \ 568 + TransGCCalls.cpp \ 569 + TransProperties.cpp \ 570 + TransProtectedScope.cpp \ 571 + TransRetainReleaseDealloc.cpp \ 572 + TransUnbridgedCasts.cpp \ 573 + TransUnusedInitDelegate.cpp \ 574 + TransZeroOutPropsInDealloc.cpp 575 + 576 +LOCAL_SRC_FILES := $(clang_arc_migrate_SRC_FILES) 577 + 578 +LOCAL_MODULE := libclangARCMigrate 579 +LOCAL_MODULE_TAGS := optional 580 + 581 +include $(CLANG_HOST_BUILD_MK) 582 +include $(CLANG_VERSION_INC_MK) 583 +include $(CLANG_TBLGEN_RULES_MK) 584 +include $(BUILD_HOST_STATIC_LIBRARY) 585 diff --git a/lib/AST/Android.mk b/lib/AST/Android.mk 586 new file mode 100644 587 index 0000000..9d0c005 588 --- /dev/null 589 +++ b/lib/AST/Android.mk 590 @@ -0,0 +1,94 @@ 591 +LOCAL_PATH:= $(call my-dir) 592 + 593 +# For the host only 594 +# ===================================================== 595 +include $(CLEAR_VARS) 596 +include $(CLEAR_TBLGEN_VARS) 597 + 598 +TBLGEN_TABLES := \ 599 + AttrDump.inc \ 600 + AttrImpl.inc \ 601 + AttrList.inc \ 602 + Attrs.inc \ 603 + AttrVisitor.inc \ 604 + CommentCommandInfo.inc \ 605 + CommentCommandList.inc \ 606 + CommentHTMLNamedCharacterReferences.inc \ 607 + CommentHTMLTags.inc \ 608 + CommentHTMLTagsProperties.inc \ 609 + CommentNodes.inc \ 610 + DeclNodes.inc \ 611 + DiagnosticASTKinds.inc \ 612 + DiagnosticCommentKinds.inc \ 613 + DiagnosticCommonKinds.inc \ 614 + DiagnosticSemaKinds.inc \ 615 + StmtNodes.inc 616 + 617 +clang_ast_SRC_FILES := \ 618 + APValue.cpp \ 619 + ASTConsumer.cpp \ 620 + ASTContext.cpp \ 621 + ASTDiagnostic.cpp \ 622 + ASTDumper.cpp \ 623 + ASTImporter.cpp \ 624 + ASTTypeTraits.cpp \ 625 + AttrImpl.cpp \ 626 + Comment.cpp \ 627 + CommentBriefParser.cpp \ 628 + CommentCommandTraits.cpp \ 629 + CommentLexer.cpp \ 630 + CommentParser.cpp \ 631 + CommentSema.cpp \ 632 + CXXInheritance.cpp \ 633 + Decl.cpp \ 634 + DeclarationName.cpp \ 635 + DeclBase.cpp \ 636 + DeclCXX.cpp \ 637 + DeclFriend.cpp \ 638 + DeclGroup.cpp \ 639 + DeclObjC.cpp \ 640 + DeclOpenMP.cpp \ 641 + DeclPrinter.cpp \ 642 + DeclTemplate.cpp \ 643 + Expr.cpp \ 644 + ExprClassification.cpp \ 645 + ExprConstant.cpp \ 646 + ExprCXX.cpp \ 647 + ExternalASTSource.cpp \ 648 + InheritViz.cpp \ 649 + ItaniumCXXABI.cpp \ 650 + ItaniumMangle.cpp \ 651 + Mangle.cpp \ 652 + MangleNumberingContext.cpp \ 653 + MicrosoftCXXABI.cpp \ 654 + MicrosoftMangle.cpp \ 655 + NestedNameSpecifier.cpp \ 656 + NSAPI.cpp \ 657 + ParentMap.cpp \ 658 + RecordLayout.cpp \ 659 + RecordLayoutBuilder.cpp \ 660 + RawCommentList.cpp \ 661 + SelectorLocationsKind.cpp \ 662 + Stmt.cpp \ 663 + StmtIterator.cpp \ 664 + StmtPrinter.cpp \ 665 + StmtProfile.cpp \ 666 + StmtViz.cpp \ 667 + TemplateBase.cpp \ 668 + TemplateName.cpp \ 669 + Type.cpp \ 670 + TypeLoc.cpp \ 671 + TypePrinter.cpp \ 672 + VTTBuilder.cpp \ 673 + VTableBuilder.cpp 674 + 675 +LOCAL_SRC_FILES := $(clang_ast_SRC_FILES) 676 + 677 +LOCAL_MODULE:= libclangAST 678 +LOCAL_MODULE_TAGS := optional 679 + 680 +LOCAL_MODULE_TAGS := optional 681 + 682 +include $(CLANG_HOST_BUILD_MK) 683 +include $(CLANG_TBLGEN_RULES_MK) 684 +include $(BUILD_HOST_STATIC_LIBRARY) 685 diff --git a/lib/Analysis/Android.mk b/lib/Analysis/Android.mk 686 new file mode 100644 687 index 0000000..8ccbf3e 688 --- /dev/null 689 +++ b/lib/Analysis/Android.mk 690 @@ -0,0 +1,51 @@ 691 +LOCAL_PATH:= $(call my-dir) 692 + 693 +# For the host only 694 +# ===================================================== 695 +include $(CLEAR_VARS) 696 +include $(CLEAR_TBLGEN_VARS) 697 + 698 +TBLGEN_TABLES := \ 699 + AttrList.inc \ 700 + Attrs.inc \ 701 + AttrVisitor.inc \ 702 + CommentCommandList.inc \ 703 + CommentNodes.inc \ 704 + DeclNodes.inc \ 705 + DiagnosticCommonKinds.inc \ 706 + DiagnosticAnalysisKinds.inc \ 707 + StmtNodes.inc 708 + 709 +clang_analysis_SRC_FILES := \ 710 + AnalysisDeclContext.cpp \ 711 + BodyFarm.cpp \ 712 + CallGraph.cpp \ 713 + CFG.cpp \ 714 + CFGReachabilityAnalysis.cpp \ 715 + CFGStmtMap.cpp \ 716 + CocoaConventions.cpp \ 717 + Consumed.cpp \ 718 + Dominators.cpp \ 719 + FormatString.cpp \ 720 + LiveVariables.cpp \ 721 + ObjCNoReturn.cpp \ 722 + PostOrderCFGView.cpp \ 723 + PrintfFormatString.cpp \ 724 + ProgramPoint.cpp \ 725 + PseudoConstantAnalysis.cpp \ 726 + ReachableCode.cpp \ 727 + ScanfFormatString.cpp \ 728 + ThreadSafety.cpp \ 729 + UninitializedValues.cpp 730 + 731 + 732 +LOCAL_SRC_FILES := $(clang_analysis_SRC_FILES) 733 + 734 +LOCAL_MODULE:= libclangAnalysis 735 +LOCAL_MODULE_TAGS := optional 736 + 737 +LOCAL_MODULE_TAGS := optional 738 + 739 +include $(CLANG_HOST_BUILD_MK) 740 +include $(CLANG_TBLGEN_RULES_MK) 741 +include $(BUILD_HOST_STATIC_LIBRARY) 742 diff --git a/lib/Basic/Android.mk b/lib/Basic/Android.mk 743 new file mode 100644 744 index 0000000..54e61c2 745 --- /dev/null 746 +++ b/lib/Basic/Android.mk 747 @@ -0,0 +1,57 @@ 748 +LOCAL_PATH:= $(call my-dir) 749 + 750 +# For the host only 751 +# ===================================================== 752 +include $(CLEAR_VARS) 753 +include $(CLEAR_TBLGEN_VARS) 754 + 755 +TBLGEN_TABLES := \ 756 + AttrHasAttributeImpl.inc \ 757 + DiagnosticASTKinds.inc \ 758 + DiagnosticAnalysisKinds.inc \ 759 + DiagnosticCommentKinds.inc \ 760 + DiagnosticCommonKinds.inc \ 761 + DiagnosticDriverKinds.inc \ 762 + DiagnosticFrontendKinds.inc \ 763 + DiagnosticGroups.inc \ 764 + DiagnosticIndexName.inc \ 765 + DiagnosticLexKinds.inc \ 766 + DiagnosticParseKinds.inc \ 767 + DiagnosticSemaKinds.inc \ 768 + DiagnosticSerializationKinds.inc \ 769 + arm_neon.inc 770 + 771 +clang_basic_SRC_FILES := \ 772 + Attributes.cpp \ 773 + Builtins.cpp \ 774 + CharInfo.cpp \ 775 + Diagnostic.cpp \ 776 + DiagnosticIDs.cpp \ 777 + FileManager.cpp \ 778 + FileSystemStatCache.cpp \ 779 + IdentifierTable.cpp \ 780 + LangOptions.cpp \ 781 + Module.cpp \ 782 + ObjCRuntime.cpp \ 783 + OpenMPKinds.cpp \ 784 + OperatorPrecedence.cpp \ 785 + SourceLocation.cpp \ 786 + SourceManager.cpp \ 787 + TargetInfo.cpp \ 788 + Targets.cpp \ 789 + TokenKinds.cpp \ 790 + Version.cpp \ 791 + VersionTuple.cpp \ 792 + VirtualFileSystem.cpp 793 + 794 +LOCAL_SRC_FILES := $(clang_basic_SRC_FILES) 795 + 796 +LOCAL_MODULE:= libclangBasic 797 +LOCAL_MODULE_TAGS := optional 798 + 799 +LOCAL_MODULE_TAGS := optional 800 + 801 +include $(CLANG_HOST_BUILD_MK) 802 +include $(CLANG_VERSION_INC_MK) 803 +include $(CLANG_TBLGEN_RULES_MK) 804 +include $(BUILD_HOST_STATIC_LIBRARY) 805 diff --git a/lib/CodeGen/Android.mk b/lib/CodeGen/Android.mk 806 new file mode 100644 807 index 0000000..1c4a0b7 808 --- /dev/null 809 +++ b/lib/CodeGen/Android.mk 810 @@ -0,0 +1,75 @@ 811 +LOCAL_PATH:= $(call my-dir) 812 + 813 +clang_codegen_TBLGEN_TABLES := \ 814 + AttrList.inc \ 815 + Attrs.inc \ 816 + AttrVisitor.inc \ 817 + CommentCommandList.inc \ 818 + CommentNodes.inc \ 819 + DeclNodes.inc \ 820 + DiagnosticCommonKinds.inc \ 821 + DiagnosticFrontendKinds.inc \ 822 + DiagnosticSemaKinds.inc \ 823 + StmtNodes.inc \ 824 + arm_neon.inc 825 + 826 +clang_codegen_SRC_FILES := \ 827 + BackendUtil.cpp \ 828 + CGAtomic.cpp \ 829 + CGBlocks.cpp \ 830 + CGBuiltin.cpp \ 831 + CGCUDANV.cpp \ 832 + CGCUDARuntime.cpp \ 833 + CGCXX.cpp \ 834 + CGCXXABI.cpp \ 835 + CGCall.cpp \ 836 + CGClass.cpp \ 837 + CGCleanup.cpp \ 838 + CGDebugInfo.cpp \ 839 + CGDecl.cpp \ 840 + CGDeclCXX.cpp \ 841 + CGException.cpp \ 842 + CGExpr.cpp \ 843 + CGExprAgg.cpp \ 844 + CGExprCXX.cpp \ 845 + CGExprComplex.cpp \ 846 + CGExprConstant.cpp \ 847 + CGExprScalar.cpp \ 848 + CGObjC.cpp \ 849 + CGObjCGNU.cpp \ 850 + CGObjCMac.cpp \ 851 + CGObjCRuntime.cpp \ 852 + CGOpenCLRuntime.cpp \ 853 + CGRTTI.cpp \ 854 + CGRecordLayoutBuilder.cpp \ 855 + CGStmt.cpp \ 856 + CGVTT.cpp \ 857 + CGVTables.cpp \ 858 + CodeGenABITypes.cpp \ 859 + CodeGenAction.cpp \ 860 + CodeGenFunction.cpp \ 861 + CodeGenModule.cpp \ 862 + CodeGenPGO.cpp \ 863 + CodeGenTBAA.cpp \ 864 + CodeGenTypes.cpp \ 865 + ItaniumCXXABI.cpp \ 866 + MicrosoftCXXABI.cpp \ 867 + ModuleBuilder.cpp \ 868 + TargetInfo.cpp 869 + 870 +# For the host only 871 +# ===================================================== 872 +include $(CLEAR_VARS) 873 +include $(CLEAR_TBLGEN_VARS) 874 + 875 +LOCAL_MODULE:= libclangCodeGen 876 +LOCAL_MODULE_TAGS := optional 877 + 878 +LOCAL_SRC_FILES := $(clang_codegen_SRC_FILES) 879 +TBLGEN_TABLES := $(clang_codegen_TBLGEN_TABLES) 880 + 881 +include $(CLANG_HOST_BUILD_MK) 882 +include $(CLANG_VERSION_INC_MK) 883 +include $(CLANG_TBLGEN_RULES_MK) 884 +include $(LLVM_GEN_INTRINSICS_MK) 885 +include $(BUILD_HOST_STATIC_LIBRARY) 886 diff --git a/lib/Driver/Android.mk b/lib/Driver/Android.mk 887 new file mode 100644 888 index 0000000..559ca83 889 --- /dev/null 890 +++ b/lib/Driver/Android.mk 891 @@ -0,0 +1,44 @@ 892 +LOCAL_PATH:= $(call my-dir) 893 + 894 +# For the host only 895 +# ===================================================== 896 +include $(CLEAR_VARS) 897 +include $(CLEAR_TBLGEN_VARS) 898 + 899 +TBLGEN_TABLES := \ 900 + AttrVisitor.inc \ 901 + DiagnosticCommonKinds.inc \ 902 + DiagnosticDriverKinds.inc \ 903 + DiagnosticSemaKinds.inc \ 904 + Options.inc \ 905 + CC1Options.inc \ 906 + CC1AsOptions.inc 907 + 908 +clang_driver_SRC_FILES := \ 909 + Action.cpp \ 910 + CC1AsOptions.cpp \ 911 + Compilation.cpp \ 912 + Driver.cpp \ 913 + DriverOptions.cpp \ 914 + Job.cpp \ 915 + Multilib.cpp \ 916 + Phases.cpp \ 917 + SanitizerArgs.cpp \ 918 + Tool.cpp \ 919 + ToolChain.cpp \ 920 + ToolChains.cpp \ 921 + Tools.cpp \ 922 + Types.cpp \ 923 + WindowsToolChain.cpp 924 + 925 +LOCAL_SRC_FILES := $(clang_driver_SRC_FILES) 926 + 927 +LOCAL_MODULE := libclangDriver 928 +LOCAL_MODULE_TAGS := optional 929 + 930 +LOCAL_MODULE_TAGS := optional 931 + 932 +include $(CLANG_HOST_BUILD_MK) 933 +include $(CLANG_TBLGEN_RULES_MK) 934 +include $(CLANG_VERSION_INC_MK) 935 +include $(BUILD_HOST_STATIC_LIBRARY) 936 diff --git a/lib/Edit/Android.mk b/lib/Edit/Android.mk 937 new file mode 100644 938 index 0000000..87f4e25 939 --- /dev/null 940 +++ b/lib/Edit/Android.mk 941 @@ -0,0 +1,32 @@ 942 +LOCAL_PATH:= $(call my-dir) 943 + 944 +clang_edit_SRC_FILES := \ 945 + Commit.cpp \ 946 + EditedSource.cpp \ 947 + RewriteObjCFoundationAPI.cpp 948 + 949 + 950 +# For the host only 951 +# ===================================================== 952 +include $(CLEAR_VARS) 953 +include $(CLEAR_TBLGEN_VARS) 954 + 955 +TBLGEN_TABLES := \ 956 + Attrs.inc \ 957 + AttrList.inc \ 958 + CommentCommandList.inc \ 959 + CommentNodes.inc \ 960 + DeclNodes.inc \ 961 + DiagnosticCommonKinds.inc \ 962 + StmtNodes.inc 963 + 964 +LOCAL_SRC_FILES := $(clang_edit_SRC_FILES) 965 + 966 +LOCAL_MODULE:= libclangEdit 967 + 968 +LOCAL_MODULE_TAGS := optional 969 + 970 +include $(CLANG_HOST_BUILD_MK) 971 +include $(CLANG_VERSION_INC_MK) 972 +include $(CLANG_TBLGEN_RULES_MK) 973 +include $(BUILD_HOST_STATIC_LIBRARY) 974 diff --git a/lib/Format/Android.mk b/lib/Format/Android.mk 975 new file mode 100644 976 index 0000000..302f28f 977 --- /dev/null 978 +++ b/lib/Format/Android.mk 979 @@ -0,0 +1,43 @@ 980 +LOCAL_PATH:= $(call my-dir) 981 + 982 +# For the host only 983 +# ===================================================== 984 +include $(CLEAR_VARS) 985 +include $(CLEAR_TBLGEN_VARS) 986 + 987 +TBLGEN_TABLES := \ 988 + AttrHasAttributeImpl.inc \ 989 + DiagnosticASTKinds.inc \ 990 + DiagnosticAnalysisKinds.inc \ 991 + DiagnosticCommentKinds.inc \ 992 + DiagnosticCommonKinds.inc \ 993 + DiagnosticDriverKinds.inc \ 994 + DiagnosticFrontendKinds.inc \ 995 + DiagnosticGroups.inc \ 996 + DiagnosticIndexName.inc \ 997 + DiagnosticLexKinds.inc \ 998 + DiagnosticParseKinds.inc \ 999 + DiagnosticSemaKinds.inc \ 1000 + DiagnosticSerializationKinds.inc \ 1001 + arm_neon.inc 1002 + 1003 +clang_format_SRC_FILES := \ 1004 + BreakableToken.cpp \ 1005 + ContinuationIndenter.cpp \ 1006 + Format.cpp \ 1007 + FormatToken.cpp \ 1008 + TokenAnnotator.cpp \ 1009 + UnwrappedLineParser.cpp \ 1010 + WhitespaceManager.cpp 1011 + 1012 +LOCAL_SRC_FILES := $(clang_format_SRC_FILES) 1013 + 1014 +LOCAL_MODULE:= libclangFormat 1015 +LOCAL_MODULE_TAGS := optional 1016 + 1017 +LOCAL_MODULE_TAGS := optional 1018 + 1019 +include $(CLANG_HOST_BUILD_MK) 1020 +include $(CLANG_VERSION_INC_MK) 1021 +include $(CLANG_TBLGEN_RULES_MK) 1022 +include $(BUILD_HOST_STATIC_LIBRARY) 1023 diff --git a/lib/Frontend/Android.mk b/lib/Frontend/Android.mk 1024 new file mode 100644 1025 index 0000000..c3c42c3 1026 --- /dev/null 1027 +++ b/lib/Frontend/Android.mk 1028 @@ -0,0 +1,66 @@ 1029 +LOCAL_PATH:= $(call my-dir) 1030 + 1031 +# For the host only 1032 +# ===================================================== 1033 +include $(CLEAR_VARS) 1034 +include $(CLEAR_TBLGEN_VARS) 1035 + 1036 +TBLGEN_TABLES := \ 1037 + AttrList.inc \ 1038 + Attrs.inc \ 1039 + AttrParsedAttrList.inc \ 1040 + AttrVisitor.inc \ 1041 + CC1Options.inc \ 1042 + CommentCommandList.inc \ 1043 + CommentNodes.inc \ 1044 + DiagnosticASTKinds.inc \ 1045 + DiagnosticCommonKinds.inc \ 1046 + DiagnosticDriverKinds.inc \ 1047 + DiagnosticFrontendKinds.inc \ 1048 + DiagnosticLexKinds.inc \ 1049 + DiagnosticSemaKinds.inc \ 1050 + DeclNodes.inc \ 1051 + StmtNodes.inc 1052 + 1053 +clang_frontend_SRC_FILES := \ 1054 + ASTConsumers.cpp \ 1055 + ASTMerge.cpp \ 1056 + ASTUnit.cpp \ 1057 + CacheTokens.cpp \ 1058 + ChainedDiagnosticConsumer.cpp \ 1059 + ChainedIncludesSource.cpp \ 1060 + CompilerInstance.cpp \ 1061 + CompilerInvocation.cpp \ 1062 + CreateInvocationFromCommandLine.cpp \ 1063 + DependencyFile.cpp \ 1064 + DependencyGraph.cpp \ 1065 + DiagnosticRenderer.cpp \ 1066 + FrontendAction.cpp \ 1067 + FrontendActions.cpp \ 1068 + FrontendOptions.cpp \ 1069 + HeaderIncludeGen.cpp \ 1070 + InitHeaderSearch.cpp \ 1071 + InitPreprocessor.cpp \ 1072 + LangStandards.cpp \ 1073 + LayoutOverrideSource.cpp \ 1074 + LogDiagnosticPrinter.cpp \ 1075 + MultiplexConsumer.cpp \ 1076 + PrintPreprocessedOutput.cpp \ 1077 + SerializedDiagnosticPrinter.cpp \ 1078 + TextDiagnostic.cpp \ 1079 + TextDiagnosticBuffer.cpp \ 1080 + TextDiagnosticPrinter.cpp \ 1081 + Warnings.cpp \ 1082 + VerifyDiagnosticConsumer.cpp 1083 + 1084 +LOCAL_SRC_FILES := $(clang_frontend_SRC_FILES) 1085 + 1086 +LOCAL_MODULE:= libclangFrontend 1087 +LOCAL_MODULE_TAGS:= optional 1088 + 1089 +LOCAL_MODULE_TAGS := optional 1090 + 1091 +include $(CLANG_HOST_BUILD_MK) 1092 +include $(CLANG_TBLGEN_RULES_MK) 1093 +include $(CLANG_VERSION_INC_MK) 1094 +include $(BUILD_HOST_STATIC_LIBRARY) 1095 diff --git a/lib/FrontendTool/Android.mk b/lib/FrontendTool/Android.mk 1096 new file mode 100644 1097 index 0000000..2496f6b 1098 --- /dev/null 1099 +++ b/lib/FrontendTool/Android.mk 1100 @@ -0,0 +1,24 @@ 1101 +LOCAL_PATH:= $(call my-dir) 1102 + 1103 +# For the host only 1104 +# ===================================================== 1105 +include $(CLEAR_VARS) 1106 +include $(CLEAR_TBLGEN_VARS) 1107 + 1108 +LOCAL_MODULE:= libclangFrontendTool 1109 + 1110 +LOCAL_MODULE_TAGS := optional 1111 + 1112 +TBLGEN_TABLES := \ 1113 + DiagnosticCommonKinds.inc \ 1114 + DiagnosticFrontendKinds.inc \ 1115 + CC1Options.inc 1116 + 1117 +clang_frontend_tool_SRC_FILES := \ 1118 + ExecuteCompilerInvocation.cpp 1119 + 1120 +LOCAL_SRC_FILES := $(clang_frontend_tool_SRC_FILES) 1121 + 1122 +include $(CLANG_HOST_BUILD_MK) 1123 +include $(CLANG_TBLGEN_RULES_MK) 1124 +include $(BUILD_HOST_STATIC_LIBRARY) 1125 diff --git a/lib/Headers/Android.mk b/lib/Headers/Android.mk 1126 new file mode 100644 1127 index 0000000..117129e 1128 --- /dev/null 1129 +++ b/lib/Headers/Android.mk 1130 @@ -0,0 +1,11 @@ 1131 +LOCAL_PATH:= $(call my-dir) 1132 + 1133 +include $(CLEAR_VARS) 1134 + 1135 +$(TARGET_OUT_HEADERS)/clang/arm_neon.h: TBLGEN_LOCAL_MODULE := arm_neon.h 1136 +$(TARGET_OUT_HEADERS)/clang/arm_neon.h: $(CLANG_ROOT_PATH)/include/clang/Basic/arm_neon.td \ 1137 + | $(CLANG_TBLGEN) 1138 + $(call transform-host-clang-td-to-out,arm-neon) 1139 + 1140 +# Make sure when clang is used, arm_neon.h does exist. 1141 +$(CLANG): | $(TARGET_OUT_HEADERS)/clang/arm_neon.h 1142 diff --git a/lib/Lex/Android.mk b/lib/Lex/Android.mk 1143 new file mode 100644 1144 index 0000000..a5e9661 1145 --- /dev/null 1146 +++ b/lib/Lex/Android.mk 1147 @@ -0,0 +1,45 @@ 1148 +LOCAL_PATH:= $(call my-dir) 1149 + 1150 +# For the host only 1151 +# ===================================================== 1152 +include $(CLEAR_VARS) 1153 +include $(CLEAR_TBLGEN_VARS) 1154 + 1155 +TBLGEN_TABLES := \ 1156 + DiagnosticLexKinds.inc \ 1157 + DiagnosticCommonKinds.inc 1158 + 1159 +clang_lex_SRC_FILES := \ 1160 + HeaderMap.cpp \ 1161 + HeaderSearch.cpp \ 1162 + Lexer.cpp \ 1163 + LiteralSupport.cpp \ 1164 + MacroArgs.cpp \ 1165 + MacroInfo.cpp \ 1166 + ModuleMap.cpp \ 1167 + PPCaching.cpp \ 1168 + PPCallbacks.cpp \ 1169 + PPConditionalDirectiveRecord.cpp \ 1170 + PPDirectives.cpp \ 1171 + PPExpressions.cpp \ 1172 + PPLexerChange.cpp \ 1173 + PPMacroExpansion.cpp \ 1174 + PTHLexer.cpp \ 1175 + Pragma.cpp \ 1176 + PreprocessingRecord.cpp \ 1177 + Preprocessor.cpp \ 1178 + PreprocessorLexer.cpp \ 1179 + ScratchBuffer.cpp \ 1180 + TokenConcatenation.cpp \ 1181 + TokenLexer.cpp 1182 + 1183 +LOCAL_SRC_FILES := $(clang_lex_SRC_FILES) 1184 + 1185 +LOCAL_MODULE:= libclangLex 1186 +LOCAL_MODULE_TAGS := optional 1187 + 1188 +LOCAL_MODULE_TAGS := optional 1189 + 1190 +include $(CLANG_HOST_BUILD_MK) 1191 +include $(CLANG_TBLGEN_RULES_MK) 1192 +include $(BUILD_HOST_STATIC_LIBRARY) 1193 diff --git a/lib/Parse/Android.mk b/lib/Parse/Android.mk 1194 new file mode 100644 1195 index 0000000..5bc2200 1196 --- /dev/null 1197 +++ b/lib/Parse/Android.mk 1198 @@ -0,0 +1,47 @@ 1199 +LOCAL_PATH:= $(call my-dir) 1200 + 1201 +# For the host only 1202 +# ===================================================== 1203 +include $(CLEAR_VARS) 1204 +include $(CLEAR_TBLGEN_VARS) 1205 + 1206 +TBLGEN_TABLES := \ 1207 + AttrList.inc \ 1208 + AttrParsedAttrList.inc \ 1209 + Attrs.inc \ 1210 + AttrVisitor.inc \ 1211 + AttrParserStringSwitches.inc \ 1212 + CommentCommandList.inc \ 1213 + CommentNodes.inc \ 1214 + DeclNodes.inc \ 1215 + DiagnosticParseKinds.inc \ 1216 + DiagnosticCommonKinds.inc \ 1217 + DiagnosticSemaKinds.inc \ 1218 + StmtNodes.inc 1219 + 1220 +clang_parse_SRC_FILES := \ 1221 + ParseAST.cpp \ 1222 + ParseCXXInlineMethods.cpp \ 1223 + ParseDecl.cpp \ 1224 + ParseDeclCXX.cpp \ 1225 + ParseExpr.cpp \ 1226 + ParseExprCXX.cpp \ 1227 + ParseInit.cpp \ 1228 + ParseObjc.cpp \ 1229 + ParseOpenMP.cpp \ 1230 + ParsePragma.cpp \ 1231 + ParseStmt.cpp \ 1232 + ParseTemplate.cpp \ 1233 + ParseTentative.cpp \ 1234 + Parser.cpp 1235 + 1236 +LOCAL_SRC_FILES := $(clang_parse_SRC_FILES) 1237 + 1238 +LOCAL_MODULE:= libclangParse 1239 +LOCAL_MODULE_TAGS := optional 1240 + 1241 +LOCAL_MODULE_TAGS := optional 1242 + 1243 +include $(CLANG_HOST_BUILD_MK) 1244 +include $(CLANG_TBLGEN_RULES_MK) 1245 +include $(BUILD_HOST_STATIC_LIBRARY) 1246 diff --git a/lib/Rewrite/Core/Android.mk b/lib/Rewrite/Core/Android.mk 1247 new file mode 100644 1248 index 0000000..546fc04 1249 --- /dev/null 1250 +++ b/lib/Rewrite/Core/Android.mk 1251 @@ -0,0 +1,34 @@ 1252 +LOCAL_PATH:= $(call my-dir) 1253 + 1254 +# For the host only 1255 +# ===================================================== 1256 +include $(CLEAR_VARS) 1257 +include $(CLEAR_TBLGEN_VARS) 1258 + 1259 +LOCAL_MODULE:= libclangRewriteCore 1260 + 1261 +LOCAL_MODULE_TAGS := optional 1262 + 1263 +TBLGEN_TABLES := \ 1264 + AttrList.inc \ 1265 + Attrs.inc \ 1266 + AttrParsedAttrList.inc \ 1267 + CommentNodes.inc \ 1268 + DeclNodes.inc \ 1269 + DiagnosticCommonKinds.inc \ 1270 + DiagnosticFrontendKinds.inc \ 1271 + StmtNodes.inc 1272 + 1273 +clang_rewrite_core_SRC_FILES := \ 1274 + DeltaTree.cpp \ 1275 + HTMLRewrite.cpp \ 1276 + RewriteRope.cpp \ 1277 + Rewriter.cpp \ 1278 + TokenRewriter.cpp 1279 + 1280 +LOCAL_SRC_FILES := $(clang_rewrite_core_SRC_FILES) 1281 + 1282 + 1283 +include $(CLANG_HOST_BUILD_MK) 1284 +include $(CLANG_TBLGEN_RULES_MK) 1285 +include $(BUILD_HOST_STATIC_LIBRARY) 1286 diff --git a/lib/Rewrite/Frontend/Android.mk b/lib/Rewrite/Frontend/Android.mk 1287 new file mode 100644 1288 index 0000000..2bbf311 1289 --- /dev/null 1290 +++ b/lib/Rewrite/Frontend/Android.mk 1291 @@ -0,0 +1,38 @@ 1292 +LOCAL_PATH:= $(call my-dir) 1293 + 1294 +# For the host only 1295 +# ===================================================== 1296 +include $(CLEAR_VARS) 1297 +include $(CLEAR_TBLGEN_VARS) 1298 + 1299 +LOCAL_MODULE:= libclangRewriteFrontend 1300 + 1301 +LOCAL_MODULE_TAGS := optional 1302 + 1303 +TBLGEN_TABLES := \ 1304 + AttrList.inc \ 1305 + Attrs.inc \ 1306 + AttrParsedAttrList.inc \ 1307 + CommentCommandList.inc \ 1308 + CommentNodes.inc \ 1309 + DeclNodes.inc \ 1310 + DiagnosticCommonKinds.inc \ 1311 + DiagnosticFrontendKinds.inc \ 1312 + StmtNodes.inc 1313 + 1314 +clang_rewrite_frontend_SRC_FILES := \ 1315 + FixItRewriter.cpp \ 1316 + FrontendActions.cpp \ 1317 + HTMLPrint.cpp \ 1318 + InclusionRewriter.cpp \ 1319 + RewriteMacros.cpp \ 1320 + RewriteModernObjC.cpp \ 1321 + RewriteObjC.cpp \ 1322 + RewriteTest.cpp 1323 + 1324 +LOCAL_SRC_FILES := $(clang_rewrite_frontend_SRC_FILES) 1325 + 1326 + 1327 +include $(CLANG_HOST_BUILD_MK) 1328 +include $(CLANG_TBLGEN_RULES_MK) 1329 +include $(BUILD_HOST_STATIC_LIBRARY) 1330 diff --git a/lib/Sema/Android.mk b/lib/Sema/Android.mk 1331 new file mode 100644 1332 index 0000000..77a2e93 1333 --- /dev/null 1334 +++ b/lib/Sema/Android.mk 1335 @@ -0,0 +1,84 @@ 1336 +LOCAL_PATH:= $(call my-dir) 1337 + 1338 +# For the host only 1339 +# ===================================================== 1340 +include $(CLEAR_VARS) 1341 +include $(CLEAR_TBLGEN_VARS) 1342 + 1343 +TBLGEN_TABLES := \ 1344 + AttrList.inc \ 1345 + Attrs.inc \ 1346 + AttrParsedAttrKinds.inc \ 1347 + AttrParsedAttrImpl.inc \ 1348 + AttrParsedAttrList.inc \ 1349 + AttrSpellingListIndex.inc \ 1350 + AttrTemplateInstantiate.inc \ 1351 + AttrVisitor.inc \ 1352 + CommentCommandList.inc \ 1353 + CommentNodes.inc \ 1354 + DeclNodes.inc \ 1355 + DiagnosticASTKinds.inc \ 1356 + DiagnosticSemaKinds.inc \ 1357 + DiagnosticParseKinds.inc \ 1358 + DiagnosticCommentKinds.inc \ 1359 + DiagnosticCommonKinds.inc \ 1360 + StmtNodes.inc \ 1361 + arm_neon.inc 1362 + 1363 +clang_sema_SRC_FILES := \ 1364 + AnalysisBasedWarnings.cpp \ 1365 + AttributeList.cpp \ 1366 + CodeCompleteConsumer.cpp \ 1367 + DeclSpec.cpp \ 1368 + IdentifierResolver.cpp \ 1369 + DelayedDiagnostic.cpp \ 1370 + JumpDiagnostics.cpp \ 1371 + MultiplexExternalSemaSource.cpp \ 1372 + Scope.cpp \ 1373 + ScopeInfo.cpp \ 1374 + Sema.cpp \ 1375 + SemaAccess.cpp \ 1376 + SemaAttr.cpp \ 1377 + SemaCXXScopeSpec.cpp \ 1378 + SemaCast.cpp \ 1379 + SemaChecking.cpp \ 1380 + SemaCodeComplete.cpp \ 1381 + SemaConsumer.cpp \ 1382 + SemaDecl.cpp \ 1383 + SemaDeclAttr.cpp \ 1384 + SemaDeclCXX.cpp \ 1385 + SemaDeclObjC.cpp \ 1386 + SemaExceptionSpec.cpp \ 1387 + SemaExpr.cpp \ 1388 + SemaExprCXX.cpp \ 1389 + SemaExprMember.cpp \ 1390 + SemaExprObjC.cpp \ 1391 + SemaFixItUtils.cpp \ 1392 + SemaInit.cpp \ 1393 + SemaLambda.cpp \ 1394 + SemaLookup.cpp \ 1395 + SemaObjCProperty.cpp \ 1396 + SemaOpenMP.cpp \ 1397 + SemaOverload.cpp \ 1398 + SemaPseudoObject.cpp \ 1399 + SemaStmt.cpp \ 1400 + SemaStmtAsm.cpp \ 1401 + SemaStmtAttr.cpp \ 1402 + SemaTemplate.cpp \ 1403 + SemaTemplateDeduction.cpp \ 1404 + SemaTemplateInstantiate.cpp \ 1405 + SemaTemplateInstantiateDecl.cpp \ 1406 + SemaTemplateVariadic.cpp \ 1407 + SemaType.cpp \ 1408 + TypeLocBuilder.cpp 1409 + 1410 +LOCAL_SRC_FILES := $(clang_sema_SRC_FILES) 1411 + 1412 +LOCAL_MODULE:= libclangSema 1413 +LOCAL_MODULE_TAGS := optional 1414 + 1415 +LOCAL_MODULE_TAGS := optional 1416 + 1417 +include $(CLANG_HOST_BUILD_MK) 1418 +include $(CLANG_TBLGEN_RULES_MK) 1419 +include $(BUILD_HOST_STATIC_LIBRARY) 1420 diff --git a/lib/Serialization/Android.mk b/lib/Serialization/Android.mk 1421 new file mode 100644 1422 index 0000000..751e306 1423 --- /dev/null 1424 +++ b/lib/Serialization/Android.mk 1425 @@ -0,0 +1,46 @@ 1426 +LOCAL_PATH:= $(call my-dir) 1427 + 1428 +# For the host only 1429 +# ===================================================== 1430 +include $(CLEAR_VARS) 1431 +include $(CLEAR_TBLGEN_VARS) 1432 + 1433 +LOCAL_MODULE:= libclangSerialization 1434 + 1435 +LOCAL_MODULE_TAGS := optional 1436 + 1437 +TBLGEN_TABLES := \ 1438 + AttrList.inc \ 1439 + AttrParsedAttrList.inc \ 1440 + AttrPCHRead.inc \ 1441 + AttrPCHWrite.inc \ 1442 + Attrs.inc \ 1443 + CommentCommandList.inc \ 1444 + CommentNodes.inc \ 1445 + DeclNodes.inc \ 1446 + DiagnosticCommonKinds.inc \ 1447 + DiagnosticFrontendKinds.inc \ 1448 + DiagnosticSemaKinds.inc \ 1449 + DiagnosticSerializationKinds.inc \ 1450 + StmtNodes.inc 1451 + 1452 +clang_serialization_SRC_FILES :=\ 1453 + ASTCommon.cpp \ 1454 + ASTReader.cpp \ 1455 + ASTReaderDecl.cpp \ 1456 + ASTReaderStmt.cpp \ 1457 + ASTWriter.cpp \ 1458 + ASTWriterDecl.cpp \ 1459 + ASTWriterStmt.cpp \ 1460 + GeneratePCH.cpp \ 1461 + GlobalModuleIndex.cpp \ 1462 + Module.cpp \ 1463 + ModuleManager.cpp 1464 + 1465 +LOCAL_SRC_FILES := $(clang_serialization_SRC_FILES) 1466 + 1467 + 1468 +include $(CLANG_HOST_BUILD_MK) 1469 +include $(CLANG_TBLGEN_RULES_MK) 1470 +include $(CLANG_VERSION_INC_MK) 1471 +include $(BUILD_HOST_STATIC_LIBRARY) 1472 diff --git a/lib/StaticAnalyzer/Checkers/Android.mk b/lib/StaticAnalyzer/Checkers/Android.mk 1473 new file mode 100644 1474 index 0000000..bb2a539 1475 --- /dev/null 1476 +++ b/lib/StaticAnalyzer/Checkers/Android.mk 1477 @@ -0,0 +1,100 @@ 1478 +LOCAL_PATH:= $(call my-dir) 1479 + 1480 +clang_static_analyzer_checkers_TBLGEN_TABLES := \ 1481 + AttrKinds.inc \ 1482 + AttrList.inc \ 1483 + AttrParsedAttrList.inc \ 1484 + Attrs.inc \ 1485 + AttrVisitor.inc \ 1486 + Checkers.inc \ 1487 + CommentCommandList.inc \ 1488 + CommentNodes.inc \ 1489 + DeclNodes.inc \ 1490 + DiagnosticCommonKinds.inc \ 1491 + StmtNodes.inc 1492 + 1493 +clang_static_analyzer_checkers_SRC_FILES := \ 1494 + AllocationDiagnostics.cpp \ 1495 + AnalyzerStatsChecker.cpp \ 1496 + ArrayBoundChecker.cpp \ 1497 + ArrayBoundCheckerV2.cpp \ 1498 + BasicObjCFoundationChecks.cpp \ 1499 + BoolAssignmentChecker.cpp \ 1500 + BuiltinFunctionChecker.cpp \ 1501 + CStringChecker.cpp \ 1502 + CStringSyntaxChecker.cpp \ 1503 + CallAndMessageChecker.cpp \ 1504 + CastSizeChecker.cpp \ 1505 + CastToStructChecker.cpp \ 1506 + CheckObjCDealloc.cpp \ 1507 + CheckObjCInstMethSignature.cpp \ 1508 + CheckSecuritySyntaxOnly.cpp \ 1509 + CheckSizeofPointer.cpp \ 1510 + CheckerDocumentation.cpp \ 1511 + ChrootChecker.cpp \ 1512 + ClangCheckers.cpp \ 1513 + DeadStoresChecker.cpp \ 1514 + DebugCheckers.cpp \ 1515 + DereferenceChecker.cpp \ 1516 + DirectIvarAssignment.cpp \ 1517 + DivZeroChecker.cpp \ 1518 + DynamicTypePropagation.cpp \ 1519 + ExprInspectionChecker.cpp \ 1520 + FixedAddressChecker.cpp \ 1521 + GenericTaintChecker.cpp \ 1522 + IdenticalExprChecker.cpp \ 1523 + IvarInvalidationChecker.cpp \ 1524 + LLVMConventionsChecker.cpp \ 1525 + MacOSKeychainAPIChecker.cpp \ 1526 + MacOSXAPIChecker.cpp \ 1527 + MallocChecker.cpp \ 1528 + MallocOverflowSecurityChecker.cpp \ 1529 + MallocSizeofChecker.cpp \ 1530 + NSAutoreleasePoolChecker.cpp \ 1531 + NSErrorChecker.cpp \ 1532 + NoReturnFunctionChecker.cpp \ 1533 + NonNullParamChecker.cpp \ 1534 + ObjCAtSyncChecker.cpp \ 1535 + ObjCContainersASTChecker.cpp \ 1536 + ObjCContainersChecker.cpp \ 1537 + ObjCMissingSuperCallChecker.cpp \ 1538 + ObjCSelfInitChecker.cpp \ 1539 + ObjCUnusedIVarsChecker.cpp \ 1540 + PointerArithChecker.cpp \ 1541 + PointerSubChecker.cpp \ 1542 + PthreadLockChecker.cpp \ 1543 + RetainCountChecker.cpp \ 1544 + ReturnPointerRangeChecker.cpp \ 1545 + ReturnUndefChecker.cpp \ 1546 + SimpleStreamChecker.cpp \ 1547 + StackAddrEscapeChecker.cpp \ 1548 + StreamChecker.cpp \ 1549 + TaintTesterChecker.cpp \ 1550 + TraversalChecker.cpp \ 1551 + UndefBranchChecker.cpp \ 1552 + UndefCapturedBlockVarChecker.cpp \ 1553 + UndefResultChecker.cpp \ 1554 + UndefinedArraySubscriptChecker.cpp \ 1555 + UndefinedAssignmentChecker.cpp \ 1556 + UnixAPIChecker.cpp \ 1557 + UnreachableCodeChecker.cpp \ 1558 + VirtualCallChecker.cpp \ 1559 + VLASizeChecker.cpp 1560 + 1561 +# For the host only 1562 +# ===================================================== 1563 +include $(CLEAR_VARS) 1564 +include $(CLEAR_TBLGEN_VARS) 1565 + 1566 +TBLGEN_TABLES := $(clang_static_analyzer_checkers_TBLGEN_TABLES) 1567 + 1568 +LOCAL_SRC_FILES := $(clang_static_analyzer_checkers_SRC_FILES) 1569 + 1570 +LOCAL_MODULE:= libclangStaticAnalyzerCheckers 1571 + 1572 +LOCAL_MODULE_TAGS := optional 1573 + 1574 +include $(CLANG_HOST_BUILD_MK) 1575 +include $(CLANG_TBLGEN_RULES_MK) 1576 +include $(CLANG_VERSION_INC_MK) 1577 +include $(BUILD_HOST_STATIC_LIBRARY) 1578 diff --git a/lib/StaticAnalyzer/Core/Android.mk b/lib/StaticAnalyzer/Core/Android.mk 1579 new file mode 100644 1580 index 0000000..68d2c36 1581 --- /dev/null 1582 +++ b/lib/StaticAnalyzer/Core/Android.mk 1583 @@ -0,0 +1,68 @@ 1584 +LOCAL_PATH:= $(call my-dir) 1585 + 1586 +clang_static_analyzer_core_TBLGEN_TABLES := \ 1587 + AttrList.inc \ 1588 + Attrs.inc \ 1589 + CommentCommandList.inc \ 1590 + CommentNodes.inc \ 1591 + DeclNodes.inc \ 1592 + DiagnosticCommonKinds.inc \ 1593 + StmtNodes.inc 1594 + 1595 +clang_static_analyzer_core_SRC_FILES := \ 1596 + AnalysisManager.cpp \ 1597 + AnalyzerOptions.cpp \ 1598 + APSIntType.cpp \ 1599 + BasicValueFactory.cpp \ 1600 + BlockCounter.cpp \ 1601 + BugReporter.cpp \ 1602 + BugReporterVisitors.cpp \ 1603 + CallEvent.cpp \ 1604 + Checker.cpp \ 1605 + CheckerContext.cpp \ 1606 + CheckerHelpers.cpp \ 1607 + CheckerManager.cpp \ 1608 + CheckerRegistry.cpp \ 1609 + CommonBugCategories.cpp \ 1610 + ConstraintManager.cpp \ 1611 + CoreEngine.cpp \ 1612 + Environment.cpp \ 1613 + ExplodedGraph.cpp \ 1614 + ExprEngine.cpp \ 1615 + ExprEngineC.cpp \ 1616 + ExprEngineCXX.cpp \ 1617 + ExprEngineCallAndReturn.cpp \ 1618 + ExprEngineObjC.cpp \ 1619 + FunctionSummary.cpp \ 1620 + HTMLDiagnostics.cpp \ 1621 + MemRegion.cpp \ 1622 + PathDiagnostic.cpp \ 1623 + PlistDiagnostics.cpp \ 1624 + ProgramState.cpp \ 1625 + RangeConstraintManager.cpp \ 1626 + RegionStore.cpp \ 1627 + SValBuilder.cpp \ 1628 + SVals.cpp \ 1629 + SimpleConstraintManager.cpp \ 1630 + SimpleSValBuilder.cpp \ 1631 + Store.cpp \ 1632 + SubEngine.cpp \ 1633 + SymbolManager.cpp 1634 + 1635 +# For the host only 1636 +# ===================================================== 1637 +include $(CLEAR_VARS) 1638 +include $(CLEAR_TBLGEN_VARS) 1639 + 1640 +TBLGEN_TABLES := $(clang_static_analyzer_core_TBLGEN_TABLES) 1641 + 1642 +LOCAL_SRC_FILES := $(clang_static_analyzer_core_SRC_FILES) 1643 + 1644 +LOCAL_MODULE:= libclangStaticAnalyzerCore 1645 + 1646 +LOCAL_MODULE_TAGS := optional 1647 + 1648 +include $(CLANG_HOST_BUILD_MK) 1649 +include $(CLANG_TBLGEN_RULES_MK) 1650 +include $(CLANG_VERSION_INC_MK) 1651 +include $(BUILD_HOST_STATIC_LIBRARY) 1652 diff --git a/lib/StaticAnalyzer/Frontend/Android.mk b/lib/StaticAnalyzer/Frontend/Android.mk 1653 new file mode 100644 1654 index 0000000..ccffdad 1655 --- /dev/null 1656 +++ b/lib/StaticAnalyzer/Frontend/Android.mk 1657 @@ -0,0 +1,40 @@ 1658 +LOCAL_PATH:= $(call my-dir) 1659 + 1660 +clang_static_analyzer_frontend_C_INCLUDES := \ 1661 + $(CLANG_ROOT_PATH)/lib/StaticAnalyzer/Checkers 1662 + 1663 +clang_static_analyzer_frontend_TBLGEN_TABLES := \ 1664 + AttrList.inc \ 1665 + Attrs.inc \ 1666 + AttrVisitor.inc \ 1667 + CommentCommandList.inc \ 1668 + CommentNodes.inc \ 1669 + DeclNodes.inc \ 1670 + DiagnosticCommonKinds.inc \ 1671 + DiagnosticFrontendKinds.inc \ 1672 + StmtNodes.inc 1673 + 1674 +clang_static_analyzer_frontend_SRC_FILES := \ 1675 + AnalysisConsumer.cpp \ 1676 + CheckerRegistration.cpp \ 1677 + FrontendActions.cpp 1678 + 1679 +# For the host only 1680 +# ===================================================== 1681 +include $(CLEAR_VARS) 1682 +include $(CLEAR_TBLGEN_VARS) 1683 + 1684 +TBLGEN_TABLES := $(clang_static_analyzer_frontend_TBLGEN_TABLES) 1685 + 1686 +LOCAL_SRC_FILES := $(clang_static_analyzer_frontend_SRC_FILES) 1687 + 1688 +LOCAL_C_INCLUDES := $(clang_static_analyzer_frontend_C_INCLUDES) 1689 + 1690 +LOCAL_MODULE:= libclangStaticAnalyzerFrontend 1691 + 1692 +LOCAL_MODULE_TAGS := optional 1693 + 1694 +include $(CLANG_HOST_BUILD_MK) 1695 +include $(CLANG_TBLGEN_RULES_MK) 1696 +include $(CLANG_VERSION_INC_MK) 1697 +include $(BUILD_HOST_STATIC_LIBRARY) 1698 diff --git a/tools/driver/Android.mk b/tools/driver/Android.mk 1699 new file mode 100644 1700 index 0000000..e7af560 1701 --- /dev/null 1702 +++ b/tools/driver/Android.mk 1703 @@ -0,0 +1,119 @@ 1704 +LOCAL_PATH:= $(call my-dir) 1705 + 1706 +# For the host only 1707 +# ===================================================== 1708 +include $(CLEAR_VARS) 1709 +include $(CLEAR_TBLGEN_VARS) 1710 + 1711 +LOCAL_MODULE := clang 1712 + 1713 +LOCAL_MODULE_CLASS := EXECUTABLES 1714 + 1715 +TBLGEN_TABLES := \ 1716 + DiagnosticCommonKinds.inc \ 1717 + DiagnosticDriverKinds.inc \ 1718 + DiagnosticFrontendKinds.inc \ 1719 + CC1Options.inc \ 1720 + CC1AsOptions.inc 1721 + 1722 +clang_SRC_FILES := \ 1723 + cc1_main.cpp \ 1724 + cc1as_main.cpp \ 1725 + driver.cpp 1726 + 1727 +LOCAL_SRC_FILES := $(clang_SRC_FILES) 1728 + 1729 +LOCAL_STATIC_LIBRARIES := \ 1730 + libclangFrontendTool \ 1731 + libclangFrontend \ 1732 + libclangARCMigrate \ 1733 + libclangDriver \ 1734 + libclangSerialization \ 1735 + libclangCodeGen \ 1736 + libclangRewriteFrontend \ 1737 + libclangRewriteCore \ 1738 + libclangParse \ 1739 + libclangSema \ 1740 + libclangStaticAnalyzerFrontend \ 1741 + libclangStaticAnalyzerCheckers \ 1742 + libclangStaticAnalyzerCore \ 1743 + libclangAnalysis \ 1744 + libclangEdit \ 1745 + libclangAST \ 1746 + libclangLex \ 1747 + libclangBasic \ 1748 + libLLVMARMAsmParser \ 1749 + libLLVMARMCodeGen \ 1750 + libLLVMARMAsmPrinter \ 1751 + libLLVMARMDisassembler \ 1752 + libLLVMARMDesc \ 1753 + libLLVMARMInfo \ 1754 + libLLVMMipsAsmParser \ 1755 + libLLVMMipsCodeGen \ 1756 + libLLVMMipsDisassembler \ 1757 + libLLVMMipsAsmPrinter \ 1758 + libLLVMMipsDesc \ 1759 + libLLVMMipsInfo \ 1760 + libLLVMX86Info \ 1761 + libLLVMX86AsmParser \ 1762 + libLLVMX86CodeGen \ 1763 + libLLVMX86Disassembler \ 1764 + libLLVMX86Desc \ 1765 + libLLVMX86AsmPrinter \ 1766 + libLLVMX86Utils \ 1767 + libLLVMARM64Info \ 1768 + libLLVMARM64AsmParser \ 1769 + libLLVMARM64CodeGen \ 1770 + libLLVMARM64Disassembler \ 1771 + libLLVMARM64Desc \ 1772 + libLLVMARM64AsmPrinter \ 1773 + libLLVMARM64Utils \ 1774 + libLLVMIRReader \ 1775 + libLLVMAsmParser \ 1776 + libLLVMAsmPrinter \ 1777 + libLLVMBitReader \ 1778 + libLLVMBitWriter \ 1779 + libLLVMSelectionDAG \ 1780 + libLLVMipo \ 1781 + libLLVMipa \ 1782 + libLLVMInstCombine \ 1783 + libLLVMInstrumentation \ 1784 + libLLVMCodeGen \ 1785 + libLLVMObject \ 1786 + libLLVMLinker \ 1787 + libLLVMMC \ 1788 + libLLVMMCParser \ 1789 + libLLVMScalarOpts \ 1790 + libLLVMTransformObjCARC \ 1791 + libLLVMTransformUtils \ 1792 + libLLVMVectorize \ 1793 + libLLVMAnalysis \ 1794 + libLLVMCore \ 1795 + libLLVMOption \ 1796 + libLLVMSupport \ 1797 + libLLVMTarget 1798 + 1799 +LOCAL_LDLIBS += -lm 1800 +ifdef USE_MINGW 1801 +LOCAL_LDLIBS += -limagehlp 1802 +else 1803 +LOCAL_LDLIBS += -lpthread -ldl 1804 +endif 1805 + 1806 +include $(CLANG_HOST_BUILD_MK) 1807 +include $(CLANG_TBLGEN_RULES_MK) 1808 +include $(BUILD_HOST_EXECUTABLE) 1809 + 1810 +ifeq (true,$(FORCE_BUILD_LLVM_COMPONENTS)) 1811 +# Make sure if clang (i.e. $(LOCAL_MODULE)) get installed, 1812 +# clang++ will get installed as well. 1813 +ALL_MODULES.$(LOCAL_MODULE).INSTALLED := \ 1814 + $(ALL_MODULES.$(LOCAL_MODULE).INSTALLED) $(CLANG_CXX) 1815 +# the additional dependency is needed when you run mm/mmm. 1816 +$(LOCAL_MODULE) : $(CLANG_CXX) 1817 + 1818 +# Symlink for clang++ 1819 +$(CLANG_CXX) : $(LOCAL_INSTALLED_MODULE) 1820 + @echo "Symlink $@ -> $<" 1821 + $(hide) ln -sf $(notdir $<) $@ 1822 +endif 1823 diff --git a/utils/TableGen/Android.mk b/utils/TableGen/Android.mk 1824 new file mode 100644 1825 index 0000000..4a40dc8 1826 --- /dev/null 1827 +++ b/utils/TableGen/Android.mk 1828 @@ -0,0 +1,35 @@ 1829 +LOCAL_PATH:= $(call my-dir) 1830 + 1831 +clang_tablegen_SRC_FILES := \ 1832 + ClangASTNodesEmitter.cpp \ 1833 + ClangAttrEmitter.cpp \ 1834 + ClangCommentCommandInfoEmitter.cpp \ 1835 + ClangCommentHTMLNamedCharacterReferenceEmitter.cpp \ 1836 + ClangCommentHTMLTagsEmitter.cpp \ 1837 + ClangDiagnosticsEmitter.cpp \ 1838 + ClangSACheckersEmitter.cpp \ 1839 + NeonEmitter.cpp \ 1840 + TableGen.cpp 1841 + 1842 +include $(CLEAR_VARS) 1843 + 1844 +LOCAL_MODULE := clang-tblgen 1845 +LOCAL_MODULE_TAGS := optional 1846 +LOCAL_SRC_FILES := $(clang_tablegen_SRC_FILES) 1847 + 1848 +REQUIRES_EH := 1 1849 +REQUIRES_RTTI := 1 1850 + 1851 +LOCAL_STATIC_LIBRARIES := \ 1852 + libLLVMTableGen \ 1853 + libLLVMSupport 1854 + 1855 +LOCAL_LDLIBS += -lm 1856 +ifeq ($(HOST_OS),windows) 1857 + LOCAL_LDLIBS += -limagehlp -lpsapi 1858 +else 1859 + LOCAL_LDLIBS += -lpthread -ldl 1860 +endif 1861 + 1862 +include $(LLVM_HOST_BUILD_MK) 1863 +include $(BUILD_HOST_EXECUTABLE) 1864 -- 1865 1.9.1.423.g4596e3a 1866 1867