From be91378db0840d26ae20bd4d13a2aa96d3d02249 Mon Sep 17 00:00:00 2001 From: Tim Murray <timmurray@google.com> Date: Thu, 3 Apr 2014 14:29:15 -0700 Subject: [PATCH 4/4] Add Android build system. Change-Id: I9738582ea6bcede99a42fd3926ba22e81d5fff02 --- Android.mk | 34 +++++ clang-host-build.mk | 38 ++++++ clang-tblgen-rules.mk | 237 +++++++++++++++++++++++++++++++++ clang-version-inc.mk | 36 +++++ clang.mk | 7 + host_shared_clang.mk | 41 ++++++ include/clang/Config/config.h | 25 ++++ lib/ARCMigrate/Android.mk | 51 +++++++ lib/AST/Android.mk | 94 +++++++++++++ lib/Analysis/Android.mk | 51 +++++++ lib/Basic/Android.mk | 57 ++++++++ lib/CodeGen/Android.mk | 75 +++++++++++ lib/Driver/Android.mk | 44 ++++++ lib/Edit/Android.mk | 32 +++++ lib/Format/Android.mk | 43 ++++++ lib/Frontend/Android.mk | 66 +++++++++ lib/FrontendTool/Android.mk | 24 ++++ lib/Headers/Android.mk | 11 ++ lib/Lex/Android.mk | 45 +++++++ lib/Parse/Android.mk | 47 +++++++ lib/Rewrite/Core/Android.mk | 34 +++++ lib/Rewrite/Frontend/Android.mk | 38 ++++++ lib/Sema/Android.mk | 84 ++++++++++++ lib/Serialization/Android.mk | 46 +++++++ lib/StaticAnalyzer/Checkers/Android.mk | 100 ++++++++++++++ lib/StaticAnalyzer/Core/Android.mk | 68 ++++++++++ lib/StaticAnalyzer/Frontend/Android.mk | 40 ++++++ tools/driver/Android.mk | 119 +++++++++++++++++ utils/TableGen/Android.mk | 35 +++++ 29 files changed, 1622 insertions(+) create mode 100644 Android.mk create mode 100644 clang-host-build.mk create mode 100644 clang-tblgen-rules.mk create mode 100644 clang-version-inc.mk create mode 100644 clang.mk create mode 100644 host_shared_clang.mk create mode 100644 include/clang/Config/config.h create mode 100644 lib/ARCMigrate/Android.mk create mode 100644 lib/AST/Android.mk create mode 100644 lib/Analysis/Android.mk create mode 100644 lib/Basic/Android.mk create mode 100644 lib/CodeGen/Android.mk create mode 100644 lib/Driver/Android.mk create mode 100644 lib/Edit/Android.mk create mode 100644 lib/Format/Android.mk create mode 100644 lib/Frontend/Android.mk create mode 100644 lib/FrontendTool/Android.mk create mode 100644 lib/Headers/Android.mk create mode 100644 lib/Lex/Android.mk create mode 100644 lib/Parse/Android.mk create mode 100644 lib/Rewrite/Core/Android.mk create mode 100644 lib/Rewrite/Frontend/Android.mk create mode 100644 lib/Sema/Android.mk create mode 100644 lib/Serialization/Android.mk create mode 100644 lib/StaticAnalyzer/Checkers/Android.mk create mode 100644 lib/StaticAnalyzer/Core/Android.mk create mode 100644 lib/StaticAnalyzer/Frontend/Android.mk create mode 100644 tools/driver/Android.mk create mode 100644 utils/TableGen/Android.mk diff --git a/Android.mk b/Android.mk new file mode 100644 index 0000000..5f62da3 --- /dev/null +++ b/Android.mk @@ -0,0 +1,34 @@ +LOCAL_PATH := $(call my-dir) +CLANG_ROOT_PATH := $(LOCAL_PATH) + +include $(CLEAR_VARS) + +subdirs := $(addprefix $(LOCAL_PATH)/,$(addsuffix /Android.mk, \ + lib/Analysis \ + lib/AST \ + lib/ARCMigrate \ + lib/Basic \ + lib/CodeGen \ + lib/Driver \ + lib/Edit \ + lib/Format \ + lib/Frontend \ + lib/FrontendTool \ + lib/Headers \ + lib/Lex \ + lib/Parse \ + lib/Rewrite/Core \ + lib/Rewrite/Frontend \ + lib/Sema \ + lib/Serialization \ + lib/StaticAnalyzer/Checkers \ + lib/StaticAnalyzer/Core \ + lib/StaticAnalyzer/Frontend \ + tools/driver \ + utils/TableGen \ + )) + +include $(LOCAL_PATH)/clang.mk +include $(LOCAL_PATH)/host_shared_clang.mk + +include $(subdirs) diff --git a/clang-host-build.mk b/clang-host-build.mk new file mode 100644 index 0000000..e0ba2e6 --- /dev/null +++ b/clang-host-build.mk @@ -0,0 +1,38 @@ +LOCAL_CFLAGS := \ + -pedantic \ + -Wcast-qual \ + -Wno-long-long \ + $(LOCAL_CFLAGS) + +LOCAL_CPPFLAGS := \ + -Wno-sign-promo \ + $(LOCAL_CPPFLAGS) + +# Make sure bionic is first so we can include system headers. +LOCAL_C_INCLUDES := \ + $(CLANG_ROOT_PATH)/include \ + $(CLANG_ROOT_PATH)/lib/CodeGen \ + $(LOCAL_C_INCLUDES) + +LLVM_ROOT_PATH := external/llvm +include $(LLVM_ROOT_PATH)/llvm.mk + +ifneq ($(LLVM_HOST_BUILD_MK),) +include $(LLVM_HOST_BUILD_MK) +endif + +########################################################### +## Commands for running tblgen to compile a td file +########################################################### +define transform-host-clang-td-to-out +@mkdir -p $(dir $@) +@echo "Host Clang TableGen: $(TBLGEN_LOCAL_MODULE) (gen-$(1)) <= $<" +$(hide) $(CLANG_TBLGEN) \ + -I $(dir $<) \ + -I $(LLVM_ROOT_PATH)/include \ + -I $(LLVM_ROOT_PATH)/host/include \ + -I $(LLVM_ROOT_PATH)/lib/Target \ + $(if $(strip $(CLANG_ROOT_PATH)),-I $(CLANG_ROOT_PATH)/include,) \ + -gen-$(strip $(1)) \ + -o $@ $< +endef diff --git a/clang-tblgen-rules.mk b/clang-tblgen-rules.mk new file mode 100644 index 0000000..a2ae405 --- /dev/null +++ b/clang-tblgen-rules.mk @@ -0,0 +1,237 @@ +###################################4######################## +## TableGen: Compile .td files to .inc. +########################################################### +ifeq ($(LOCAL_MODULE_CLASS),) + LOCAL_MODULE_CLASS := STATIC_LIBRARIES +endif + +ifneq ($(strip $(TBLGEN_TABLES)),) + +intermediates := $(call local-intermediates-dir) + +ifneq ($(findstring AttrDump.inc,$(TBLGEN_TABLES)),) +LOCAL_GENERATED_SOURCES += $(intermediates)/include/clang/AST/AttrDump.inc +$(intermediates)/include/clang/AST/AttrDump.inc: TBLGEN_LOCAL_MODULE := $(LOCAL_MODULE) +$(intermediates)/include/clang/AST/AttrDump.inc: $(CLANG_ROOT_PATH)/include/clang/Basic/Attr.td | $(CLANG_TBLGEN) + $(call transform-host-clang-td-to-out,clang-attr-dump) +endif + +ifneq ($(findstring AttrImpl.inc,$(TBLGEN_TABLES)),) +LOCAL_GENERATED_SOURCES += $(intermediates)/include/clang/AST/AttrImpl.inc +$(intermediates)/include/clang/AST/AttrImpl.inc: TBLGEN_LOCAL_MODULE := $(LOCAL_MODULE) +$(intermediates)/include/clang/AST/AttrImpl.inc: $(CLANG_ROOT_PATH)/include/clang/Basic/Attr.td | $(CLANG_TBLGEN) + $(call transform-host-clang-td-to-out,clang-attr-impl) +endif + +ifneq ($(findstring AttrHasAttributeImpl.inc,$(TBLGEN_TABLES)),) +LOCAL_GENERATED_SOURCES += $(intermediates)/include/clang/Basic/AttrHasAttributeImpl.inc +$(intermediates)/include/clang/Basic/AttrHasAttributeImpl.inc: TBLGEN_LOCAL_MODULE := $(LOCAL_MODULE) +$(intermediates)/include/clang/Basic/AttrHasAttributeImpl.inc: $(CLANG_ROOT_PATH)/include/clang/Basic/Attr.td | $(CLANG_TBLGEN) + $(call transform-host-clang-td-to-out,clang-attr-has-attribute-impl) +endif + +ifneq ($(findstring AttrList.inc,$(TBLGEN_TABLES)),) +LOCAL_GENERATED_SOURCES += $(intermediates)/include/clang/Basic/AttrList.inc +$(intermediates)/include/clang/Basic/AttrList.inc: TBLGEN_LOCAL_MODULE := $(LOCAL_MODULE) +$(intermediates)/include/clang/Basic/AttrList.inc: $(CLANG_ROOT_PATH)/include/clang/Basic/Attr.td | $(CLANG_TBLGEN) + $(call transform-host-clang-td-to-out,clang-attr-list) +endif + +ifneq ($(findstring AttrSpellingListIndex.inc,$(TBLGEN_TABLES)),) +LOCAL_GENERATED_SOURCES += $(intermediates)/include/clang/Sema/AttrSpellingListIndex.inc +$(intermediates)/include/clang/Sema/AttrSpellingListIndex.inc: TBLGEN_LOCAL_MODULE := $(LOCAL_MODULE) +$(intermediates)/include/clang/Sema/AttrSpellingListIndex.inc: $(CLANG_ROOT_PATH)/include/clang/Basic/Attr.td | $(CLANG_TBLGEN) + $(call transform-host-clang-td-to-out,clang-attr-spelling-index) +endif + +ifneq ($(findstring AttrPCHRead.inc,$(TBLGEN_TABLES)),) +LOCAL_GENERATED_SOURCES += $(intermediates)/include/clang/Serialization/AttrPCHRead.inc +$(intermediates)/include/clang/Serialization/AttrPCHRead.inc: TBLGEN_LOCAL_MODULE := $(LOCAL_MODULE) +$(intermediates)/include/clang/Serialization/AttrPCHRead.inc: $(CLANG_ROOT_PATH)/include/clang/Basic/Attr.td | $(CLANG_TBLGEN) + $(call transform-host-clang-td-to-out,clang-attr-pch-read) +endif + +ifneq ($(findstring AttrPCHWrite.inc,$(TBLGEN_TABLES)),) +LOCAL_GENERATED_SOURCES += $(intermediates)/include/clang/Serialization/AttrPCHWrite.inc +$(intermediates)/include/clang/Serialization/AttrPCHWrite.inc: TBLGEN_LOCAL_MODULE := $(LOCAL_MODULE) +$(intermediates)/include/clang/Serialization/AttrPCHWrite.inc: $(CLANG_ROOT_PATH)/include/clang/Basic/Attr.td | $(CLANG_TBLGEN) + $(call transform-host-clang-td-to-out,clang-attr-pch-write) +endif + +ifneq ($(findstring Attrs.inc,$(TBLGEN_TABLES)),) +LOCAL_GENERATED_SOURCES += $(intermediates)/include/clang/AST/Attrs.inc +$(intermediates)/include/clang/AST/Attrs.inc: TBLGEN_LOCAL_MODULE := $(LOCAL_MODULE) +$(intermediates)/include/clang/AST/Attrs.inc: $(CLANG_ROOT_PATH)/include/clang/Basic/Attr.td | $(CLANG_TBLGEN) + $(call transform-host-clang-td-to-out,clang-attr-classes) +endif + +ifneq ($(findstring AttrParserStringSwitches.inc,$(TBLGEN_TABLES)),) +LOCAL_GENERATED_SOURCES += $(intermediates)/include/clang/Parse/AttrParserStringSwitches.inc +$(intermediates)/include/clang/Parse/AttrParserStringSwitches.inc: TBLGEN_LOCAL_MODULE := $(LOCAL_MODULE) +$(intermediates)/include/clang/Parse/AttrParserStringSwitches.inc: $(CLANG_ROOT_PATH)/include/clang/Basic/Attr.td | $(CLANG_TBLGEN) + $(call transform-host-clang-td-to-out,clang-attr-parser-string-switches) +endif + +ifneq ($(findstring AttrVisitor.inc,$(TBLGEN_TABLES)),) +LOCAL_GENERATED_SOURCES += $(intermediates)/include/clang/AST/AttrVisitor.inc +$(intermediates)/include/clang/AST/AttrVisitor.inc: TBLGEN_LOCAL_MODULE := $(LOCAL_MODULE) +$(intermediates)/include/clang/AST/AttrVisitor.inc: $(CLANG_ROOT_PATH)/include/clang/Basic/Attr.td | $(CLANG_TBLGEN) + $(call transform-host-clang-td-to-out,clang-attr-ast-visitor) +endif + +ifneq ($(findstring AttrParsedAttrKinds.inc,$(TBLGEN_TABLES)),) +LOCAL_GENERATED_SOURCES += $(intermediates)/include/clang/Sema/AttrParsedAttrKinds.inc +$(intermediates)/include/clang/Sema/AttrParsedAttrKinds.inc: TBLGEN_LOCAL_MODULE := $(LOCAL_MODULE) +$(intermediates)/include/clang/Sema/AttrParsedAttrKinds.inc: $(CLANG_ROOT_PATH)/include/clang/Basic/Attr.td | $(CLANG_TBLGEN) + $(call transform-host-clang-td-to-out,clang-attr-parsed-attr-kinds) +endif + +ifneq ($(findstring AttrParsedAttrImpl.inc,$(TBLGEN_TABLES)),) +LOCAL_GENERATED_SOURCES += $(intermediates)/include/clang/Sema/AttrParsedAttrImpl.inc +$(intermediates)/include/clang/Sema/AttrParsedAttrImpl.inc: TBLGEN_LOCAL_MODULE := $(LOCAL_MODULE) +$(intermediates)/include/clang/Sema/AttrParsedAttrImpl.inc: $(CLANG_ROOT_PATH)/include/clang/Basic/Attr.td | $(CLANG_TBLGEN) + $(call transform-host-clang-td-to-out,clang-attr-parsed-attr-impl) +endif + +ifneq ($(findstring AttrParsedAttrList.inc,$(TBLGEN_TABLES)),) +LOCAL_GENERATED_SOURCES += $(intermediates)/include/clang/Sema/AttrParsedAttrList.inc +$(intermediates)/include/clang/Sema/AttrParsedAttrList.inc: TBLGEN_LOCAL_MODULE := $(LOCAL_MODULE) +$(intermediates)/include/clang/Sema/AttrParsedAttrList.inc: $(CLANG_ROOT_PATH)/include/clang/Basic/Attr.td | $(CLANG_TBLGEN) + $(call transform-host-clang-td-to-out,clang-attr-parsed-attr-list) +endif + +ifneq ($(findstring AttrTemplateInstantiate.inc,$(TBLGEN_TABLES)),) +LOCAL_GENERATED_SOURCES += $(intermediates)/include/clang/Sema/AttrTemplateInstantiate.inc +$(intermediates)/include/clang/Sema/AttrTemplateInstantiate.inc: TBLGEN_LOCAL_MODULE := $(LOCAL_MODULE) +$(intermediates)/include/clang/Sema/AttrTemplateInstantiate.inc: $(CLANG_ROOT_PATH)/include/clang/Basic/Attr.td | $(CLANG_TBLGEN) + $(call transform-host-clang-td-to-out,clang-attr-template-instantiate) +endif + +ifneq ($(findstring Checkers.inc,$(TBLGEN_TABLES)),) +LOCAL_GENERATED_SOURCES += $(intermediates)/Checkers.inc +$(intermediates)/Checkers.inc: TBLGEN_LOCAL_MODULE := $(LOCAL_MODULE) +$(intermediates)/Checkers.inc: \ + $(CLANG_ROOT_PATH)/lib/StaticAnalyzer/Checkers/Checkers.td \ + $(CLANG_ROOT_PATH)/include/clang/StaticAnalyzer/Checkers/CheckerBase.td \ + | $(CLANG_TBLGEN) + $(call transform-host-clang-td-to-out,clang-sa-checkers) +endif + +ifneq ($(findstring CommentCommandInfo.inc,$(TBLGEN_TABLES)),) +LOCAL_GENERATED_SOURCES += $(intermediates)/include/clang/AST/CommentCommandInfo.inc +$(intermediates)/include/clang/AST/CommentCommandInfo.inc: TBLGEN_LOCAL_MODULE := $(LOCAL_MODULE) +$(intermediates)/include/clang/AST/CommentCommandInfo.inc: \ + $(CLANG_ROOT_PATH)/include/clang/AST/CommentCommands.td \ + | $(CLANG_TBLGEN) + $(call transform-host-clang-td-to-out,clang-comment-command-info) +endif + +ifneq ($(findstring CommentCommandList.inc,$(TBLGEN_TABLES)),) +LOCAL_GENERATED_SOURCES += $(intermediates)/include/clang/AST/CommentCommandList.inc +$(intermediates)/include/clang/AST/CommentCommandList.inc: TBLGEN_LOCAL_MODULE := $(LOCAL_MODULE) +$(intermediates)/include/clang/AST/CommentCommandList.inc: \ + $(CLANG_ROOT_PATH)/include/clang/AST/CommentCommands.td \ + | $(CLANG_TBLGEN) + $(call transform-host-clang-td-to-out,clang-comment-command-list) +endif + +ifneq ($(findstring CommentHTMLNamedCharacterReferences.inc,$(TBLGEN_TABLES)),) +LOCAL_GENERATED_SOURCES += $(intermediates)/include/clang/AST/CommentHTMLNamedCharacterReferences.inc +$(intermediates)/include/clang/AST/CommentHTMLNamedCharacterReferences.inc: TBLGEN_LOCAL_MODULE := $(LOCAL_MODULE) +$(intermediates)/include/clang/AST/CommentHTMLNamedCharacterReferences.inc: \ + $(CLANG_ROOT_PATH)/include/clang/AST/CommentHTMLNamedCharacterReferences.td \ + | $(CLANG_TBLGEN) + $(call transform-host-clang-td-to-out,clang-comment-html-named-character-references) +endif + +ifneq ($(findstring CommentHTMLTagsProperties.inc,$(TBLGEN_TABLES)),) +LOCAL_GENERATED_SOURCES += $(intermediates)/include/clang/AST/CommentHTMLTagsProperties.inc +$(intermediates)/include/clang/AST/CommentHTMLTagsProperties.inc: TBLGEN_LOCAL_MODULE := $(LOCAL_MODULE) +$(intermediates)/include/clang/AST/CommentHTMLTagsProperties.inc: \ + $(CLANG_ROOT_PATH)/include/clang/AST/CommentHTMLTags.td \ + | $(CLANG_TBLGEN) + $(call transform-host-clang-td-to-out,clang-comment-html-tags-properties) +endif + +ifneq ($(findstring CommentHTMLTags.inc,$(TBLGEN_TABLES)),) +LOCAL_GENERATED_SOURCES += $(intermediates)/include/clang/AST/CommentHTMLTags.inc +$(intermediates)/include/clang/AST/CommentHTMLTags.inc: TBLGEN_LOCAL_MODULE := $(LOCAL_MODULE) +$(intermediates)/include/clang/AST/CommentHTMLTags.inc: \ + $(CLANG_ROOT_PATH)/include/clang/AST/CommentHTMLTags.td \ + | $(CLANG_TBLGEN) + $(call transform-host-clang-td-to-out,clang-comment-html-tags) +endif + +ifneq ($(findstring CommentNodes.inc,$(TBLGEN_TABLES)),) +LOCAL_GENERATED_SOURCES += $(intermediates)/include/clang/AST/CommentNodes.inc +$(intermediates)/include/clang/AST/CommentNodes.inc: TBLGEN_LOCAL_MODULE := $(LOCAL_MODULE) +$(intermediates)/include/clang/AST/CommentNodes.inc: \ + $(CLANG_ROOT_PATH)/include/clang/Basic/CommentNodes.td \ + | $(CLANG_TBLGEN) + $(call transform-host-clang-td-to-out,clang-comment-nodes) +endif + +ifneq ($(filter Diagnostic%Kinds.inc,$(TBLGEN_TABLES)),) +LOCAL_GENERATED_SOURCES += $(addprefix $(intermediates)/include/clang/Basic/,$(filter Diagnostic%Kinds.inc,$(TBLGEN_TABLES))) +$(intermediates)/include/clang/Basic/Diagnostic%Kinds.inc: TBLGEN_LOCAL_MODULE := $(LOCAL_MODULE) +$(intermediates)/include/clang/Basic/Diagnostic%Kinds.inc: \ + $(CLANG_ROOT_PATH)/include/clang/Basic/Diagnostic.td \ + $(CLANG_ROOT_PATH)/include/clang/Basic/Diagnostic%Kinds.td \ + | $(CLANG_TBLGEN) + $(call transform-host-clang-td-to-out,clang-diags-defs -clang-component=$(patsubst Diagnostic%Kinds.inc,%,$(@F))) +endif + +ifneq ($(findstring DiagnosticGroups.inc,$(TBLGEN_TABLES)),) +LOCAL_GENERATED_SOURCES += $(intermediates)/include/clang/Basic/DiagnosticGroups.inc +$(intermediates)/include/clang/Basic/DiagnosticGroups.inc: TBLGEN_LOCAL_MODULE := $(LOCAL_MODULE) +$(intermediates)/include/clang/Basic/DiagnosticGroups.inc: $(CLANG_ROOT_PATH)/include/clang/Basic/Diagnostic.td $(CLANG_ROOT_PATH)/include/clang/Basic/DiagnosticGroups.td | $(CLANG_TBLGEN) + $(call transform-host-clang-td-to-out,clang-diag-groups) +endif + +ifneq ($(findstring DiagnosticIndexName.inc,$(TBLGEN_TABLES)),) +LOCAL_GENERATED_SOURCES += $(intermediates)/include/clang/Basic/DiagnosticIndexName.inc +$(intermediates)/include/clang/Basic/DiagnosticIndexName.inc: TBLGEN_LOCAL_MODULE := $(LOCAL_MODULE) +$(intermediates)/include/clang/Basic/DiagnosticIndexName.inc: $(CLANG_ROOT_PATH)/include/clang/Basic/Diagnostic.td | $(CLANG_TBLGEN) + $(call transform-host-clang-td-to-out,clang-diag-groups) +endif + +ifneq ($(findstring DeclNodes.inc,$(TBLGEN_TABLES)),) +LOCAL_GENERATED_SOURCES += $(intermediates)/include/clang/AST/DeclNodes.inc +$(intermediates)/include/clang/AST/DeclNodes.inc: TBLGEN_LOCAL_MODULE := $(LOCAL_MODULE) +$(intermediates)/include/clang/AST/DeclNodes.inc: $(CLANG_ROOT_PATH)/include/clang/Basic/DeclNodes.td | $(CLANG_TBLGEN) + $(call transform-host-clang-td-to-out,clang-decl-nodes) +endif + +ifneq ($(findstring StmtNodes.inc,$(TBLGEN_TABLES)),) +LOCAL_GENERATED_SOURCES += $(intermediates)/include/clang/AST/StmtNodes.inc +$(intermediates)/include/clang/AST/StmtNodes.inc: TBLGEN_LOCAL_MODULE := $(LOCAL_MODULE) +$(intermediates)/include/clang/AST/StmtNodes.inc: $(CLANG_ROOT_PATH)/include/clang/Basic/StmtNodes.td | $(CLANG_TBLGEN) + $(call transform-host-clang-td-to-out,clang-stmt-nodes) +endif + +ifneq ($(findstring arm_neon.inc,$(TBLGEN_TABLES)),) +LOCAL_GENERATED_SOURCES += $(intermediates)/include/clang/Basic/arm_neon.inc +$(intermediates)/include/clang/Basic/arm_neon.inc: TBLGEN_LOCAL_MODULE := $(LOCAL_MODULE) +$(intermediates)/include/clang/Basic/arm_neon.inc: $(CLANG_ROOT_PATH)/include/clang/Basic/arm_neon.td | $(CLANG_TBLGEN) + $(call transform-host-clang-td-to-out,arm-neon-sema) +endif + +ifneq ($(findstring Options.inc,$(TBLGEN_TABLES)),) +LOCAL_GENERATED_SOURCES += $(intermediates)/include/clang/Driver/Options.inc +$(intermediates)/include/clang/Driver/Options.inc: TBLGEN_LOCAL_MODULE := $(LOCAL_MODULE) +$(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 \ + | $(CLANG_TBLGEN) $(TBLGEN) + $(call transform-host-td-to-out,opt-parser-defs) +endif + +ifneq ($(findstring CC1AsOptions.inc,$(TBLGEN_TABLES)),) +LOCAL_GENERATED_SOURCES += $(intermediates)/include/clang/Driver/CC1AsOptions.inc +$(intermediates)/include/clang/Driver/CC1AsOptions.inc: TBLGEN_LOCAL_MODULE := $(LOCAL_MODULE) +$(intermediates)/include/clang/Driver/CC1AsOptions.inc: $(CLANG_ROOT_PATH)/include/clang/Driver/CC1AsOptions.td $(LLVM_ROOT_PATH)/include/llvm/Option/OptParser.td \ + | $(CLANG_TBLGEN) $(TBLGEN) + $(call transform-host-td-to-out,opt-parser-defs) +endif + +LOCAL_C_INCLUDES += $(intermediates)/include + +endif diff --git a/clang-version-inc.mk b/clang-version-inc.mk new file mode 100644 index 0000000..5a26276 --- /dev/null +++ b/clang-version-inc.mk @@ -0,0 +1,36 @@ +########################################################### +## Generate clang/Basic/Version.inc +########################################################### +ifeq ($(LOCAL_MODULE_CLASS),) + LOCAL_MODULE_CLASS := STATIC_LIBRARIES +endif + +intermediates := $(call local-intermediates-dir) + +LLVMVersion := $(shell grep PACKAGE_VERSION $(LLVM_ROOT_PATH)/host/include/llvm/Config/config.h | sed -e 's/\#define PACKAGE_VERSION "\(.*\)"/\1/g') + +# Compute the Clang version from the LLVM version, unless specified explicitly. +# (Copy from include/clang/Basic/Makefile) +CLANG_VERSION := $(subst svn,,$(LLVMVersion)) +CLANG_VERSION_COMPONENTS := $(subst ., ,$(CLANG_VERSION)) +CLANG_VERSION_MAJOR := $(word 1,$(CLANG_VERSION_COMPONENTS)) +CLANG_VERSION_MINOR := $(word 2,$(CLANG_VERSION_COMPONENTS)) +CLANG_VERSION_PATCHLEVEL := $(word 3,$(CLANG_VERSION_COMPONENTS)) +ifeq ($(CLANG_VERSION_PATCHLEVEL),) + CLANG_HAS_VERSION_PATCHLEVEL := 0 +else + CLANG_HAS_VERSION_PATCHLEVEL := 1 +endif + +LOCAL_GENERATED_SOURCES += $(intermediates)/include/clang/Basic/Version.inc +$(intermediates)/include/clang/Basic/Version.inc: $(CLANG_ROOT_PATH)/include/clang/Basic/Version.inc.in \ + $(LLVM_ROOT_PATH)/host/include/llvm/Config/config.h + @echo "Updating Clang version info." + @mkdir -p $(dir $@) + $(hide) sed -e "s#@CLANG_VERSION@#$(CLANG_VERSION)#g" \ + -e "s#@CLANG_VERSION_MAJOR@#$(CLANG_VERSION_MAJOR)#g" \ + -e "s#@CLANG_VERSION_MINOR@#$(CLANG_VERSION_MINOR)#g" \ + -e "s#@CLANG_VERSION_PATCHLEVEL@#$(CLANG_VERSION_PATCHLEVEL)#g" \ + -e "s#@CLANG_HAS_VERSION_PATCHLEVEL@#$(CLANG_HAS_VERSION_PATCHLEVEL)#g" \ + $< > $@ + diff --git a/clang.mk b/clang.mk new file mode 100644 index 0000000..587a510 --- /dev/null +++ b/clang.mk @@ -0,0 +1,7 @@ +ifeq ($(CLANG_ROOT_PATH),) +$(error Must set variable CLANG_ROOT_PATH before including this! $(LOCAL_PATH)) +endif + +CLANG_HOST_BUILD_MK := $(CLANG_ROOT_PATH)/clang-host-build.mk +CLANG_TBLGEN_RULES_MK := $(CLANG_ROOT_PATH)/clang-tblgen-rules.mk +CLANG_VERSION_INC_MK := $(CLANG_ROOT_PATH)/clang-version-inc.mk diff --git a/host_shared_clang.mk b/host_shared_clang.mk new file mode 100644 index 0000000..f9e4181 --- /dev/null +++ b/host_shared_clang.mk @@ -0,0 +1,41 @@ +# Don't build the library unless forced to. +ifeq (true,$(FORCE_BUILD_LLVM_COMPONENTS)) +# Don't build the library in unbundled branches. +ifeq (,$(TARGET_BUILD_APPS)) + +LOCAL_PATH:= $(call my-dir) + +LOCAL_IS_HOST_MODULE := true + +LOCAL_MODULE:= libclang + +LOCAL_MODULE_TAGS := optional + +LOCAL_WHOLE_STATIC_LIBRARIES := \ + libclangDriver \ + libclangParse \ + libclangSema \ + libclangAnalysis \ + libclangCodeGen \ + libclangAST \ + libclangEdit \ + libclangLex \ + libclangFrontend \ + libclangBasic \ + libclangRewriteFrontend \ + libclangRewriteCore \ + libclangSerialization + +LOCAL_SHARED_LIBRARIES := libLLVM + +ifeq ($(HOST_OS),windows) + LOCAL_LDLIBS := -limagehlp -lpsapi +else + LOCAL_LDLIBS := -ldl -lpthread +endif + +include $(CLANG_HOST_BUILD_MK) +include $(BUILD_HOST_SHARED_LIBRARY) + +endif # don't build in unbundled branches +endif # don't build unless forced to diff --git a/include/clang/Config/config.h b/include/clang/Config/config.h new file mode 100644 index 0000000..51ef9f9 --- /dev/null +++ b/include/clang/Config/config.h @@ -0,0 +1,25 @@ +/* tools/clang/include/clang/Config/config.h. Generated from config.h.in by configure. */ +/* include/clang/Config/config.h.in. */ + +#ifndef ANDROID_CONFIG_H +#define ANDROID_CONFIG_H + +/* Bug report URL. */ +#define BUG_REPORT_URL "http://llvm.org/bugs/" + +/* Relative directory for resource files */ +#define CLANG_RESOURCE_DIR "" + +/* Directories clang will search for headers */ +#define C_INCLUDE_DIRS "" + +/* Linker version detected at compile time. */ +#define HOST_LINK_VERSION "2.22" + +/* Default <path> to all compiler invocations for --sysroot=<path>. */ +#define DEFAULT_SYSROOT "" + +/* Directory where gcc is installed. */ +#define GCC_INSTALL_PREFIX "" + +#endif diff --git a/lib/ARCMigrate/Android.mk b/lib/ARCMigrate/Android.mk new file mode 100644 index 0000000..834f573 --- /dev/null +++ b/lib/ARCMigrate/Android.mk @@ -0,0 +1,51 @@ +LOCAL_PATH := $(call my-dir) + +# For the host only +# ===================================================== +include $(CLEAR_VARS) +include $(CLEAR_TBLGEN_VARS) + +TBLGEN_TABLES := \ + Attrs.inc \ + AttrList.inc \ + AttrParsedAttrList.inc \ + AttrVisitor.inc \ + CommentCommandList.inc \ + CommentNodes.inc \ + DeclNodes.inc \ + DiagnosticCommonKinds.inc \ + DiagnosticGroups.inc \ + DiagnosticSemaKinds.inc \ + StmtNodes.inc + +clang_arc_migrate_SRC_FILES := \ + ARCMT.cpp \ + ARCMTActions.cpp \ + FileRemapper.cpp \ + ObjCMT.cpp \ + PlistReporter.cpp \ + TransAPIUses.cpp \ + TransARCAssign.cpp \ + TransAutoreleasePool.cpp \ + TransBlockObjCVariable.cpp \ + TransEmptyStatementsAndDealloc.cpp \ + TransformActions.cpp \ + Transforms.cpp \ + TransGCAttrs.cpp \ + TransGCCalls.cpp \ + TransProperties.cpp \ + TransProtectedScope.cpp \ + TransRetainReleaseDealloc.cpp \ + TransUnbridgedCasts.cpp \ + TransUnusedInitDelegate.cpp \ + TransZeroOutPropsInDealloc.cpp + +LOCAL_SRC_FILES := $(clang_arc_migrate_SRC_FILES) + +LOCAL_MODULE := libclangARCMigrate +LOCAL_MODULE_TAGS := optional + +include $(CLANG_HOST_BUILD_MK) +include $(CLANG_VERSION_INC_MK) +include $(CLANG_TBLGEN_RULES_MK) +include $(BUILD_HOST_STATIC_LIBRARY) diff --git a/lib/AST/Android.mk b/lib/AST/Android.mk new file mode 100644 index 0000000..9d0c005 --- /dev/null +++ b/lib/AST/Android.mk @@ -0,0 +1,94 @@ +LOCAL_PATH:= $(call my-dir) + +# For the host only +# ===================================================== +include $(CLEAR_VARS) +include $(CLEAR_TBLGEN_VARS) + +TBLGEN_TABLES := \ + AttrDump.inc \ + AttrImpl.inc \ + AttrList.inc \ + Attrs.inc \ + AttrVisitor.inc \ + CommentCommandInfo.inc \ + CommentCommandList.inc \ + CommentHTMLNamedCharacterReferences.inc \ + CommentHTMLTags.inc \ + CommentHTMLTagsProperties.inc \ + CommentNodes.inc \ + DeclNodes.inc \ + DiagnosticASTKinds.inc \ + DiagnosticCommentKinds.inc \ + DiagnosticCommonKinds.inc \ + DiagnosticSemaKinds.inc \ + StmtNodes.inc + +clang_ast_SRC_FILES := \ + APValue.cpp \ + ASTConsumer.cpp \ + ASTContext.cpp \ + ASTDiagnostic.cpp \ + ASTDumper.cpp \ + ASTImporter.cpp \ + ASTTypeTraits.cpp \ + AttrImpl.cpp \ + Comment.cpp \ + CommentBriefParser.cpp \ + CommentCommandTraits.cpp \ + CommentLexer.cpp \ + CommentParser.cpp \ + CommentSema.cpp \ + CXXInheritance.cpp \ + Decl.cpp \ + DeclarationName.cpp \ + DeclBase.cpp \ + DeclCXX.cpp \ + DeclFriend.cpp \ + DeclGroup.cpp \ + DeclObjC.cpp \ + DeclOpenMP.cpp \ + DeclPrinter.cpp \ + DeclTemplate.cpp \ + Expr.cpp \ + ExprClassification.cpp \ + ExprConstant.cpp \ + ExprCXX.cpp \ + ExternalASTSource.cpp \ + InheritViz.cpp \ + ItaniumCXXABI.cpp \ + ItaniumMangle.cpp \ + Mangle.cpp \ + MangleNumberingContext.cpp \ + MicrosoftCXXABI.cpp \ + MicrosoftMangle.cpp \ + NestedNameSpecifier.cpp \ + NSAPI.cpp \ + ParentMap.cpp \ + RecordLayout.cpp \ + RecordLayoutBuilder.cpp \ + RawCommentList.cpp \ + SelectorLocationsKind.cpp \ + Stmt.cpp \ + StmtIterator.cpp \ + StmtPrinter.cpp \ + StmtProfile.cpp \ + StmtViz.cpp \ + TemplateBase.cpp \ + TemplateName.cpp \ + Type.cpp \ + TypeLoc.cpp \ + TypePrinter.cpp \ + VTTBuilder.cpp \ + VTableBuilder.cpp + +LOCAL_SRC_FILES := $(clang_ast_SRC_FILES) + +LOCAL_MODULE:= libclangAST +LOCAL_MODULE_TAGS := optional + +LOCAL_MODULE_TAGS := optional + +include $(CLANG_HOST_BUILD_MK) +include $(CLANG_TBLGEN_RULES_MK) +include $(BUILD_HOST_STATIC_LIBRARY) diff --git a/lib/Analysis/Android.mk b/lib/Analysis/Android.mk new file mode 100644 index 0000000..8ccbf3e --- /dev/null +++ b/lib/Analysis/Android.mk @@ -0,0 +1,51 @@ +LOCAL_PATH:= $(call my-dir) + +# For the host only +# ===================================================== +include $(CLEAR_VARS) +include $(CLEAR_TBLGEN_VARS) + +TBLGEN_TABLES := \ + AttrList.inc \ + Attrs.inc \ + AttrVisitor.inc \ + CommentCommandList.inc \ + CommentNodes.inc \ + DeclNodes.inc \ + DiagnosticCommonKinds.inc \ + DiagnosticAnalysisKinds.inc \ + StmtNodes.inc + +clang_analysis_SRC_FILES := \ + AnalysisDeclContext.cpp \ + BodyFarm.cpp \ + CallGraph.cpp \ + CFG.cpp \ + CFGReachabilityAnalysis.cpp \ + CFGStmtMap.cpp \ + CocoaConventions.cpp \ + Consumed.cpp \ + Dominators.cpp \ + FormatString.cpp \ + LiveVariables.cpp \ + ObjCNoReturn.cpp \ + PostOrderCFGView.cpp \ + PrintfFormatString.cpp \ + ProgramPoint.cpp \ + PseudoConstantAnalysis.cpp \ + ReachableCode.cpp \ + ScanfFormatString.cpp \ + ThreadSafety.cpp \ + UninitializedValues.cpp + + +LOCAL_SRC_FILES := $(clang_analysis_SRC_FILES) + +LOCAL_MODULE:= libclangAnalysis +LOCAL_MODULE_TAGS := optional + +LOCAL_MODULE_TAGS := optional + +include $(CLANG_HOST_BUILD_MK) +include $(CLANG_TBLGEN_RULES_MK) +include $(BUILD_HOST_STATIC_LIBRARY) diff --git a/lib/Basic/Android.mk b/lib/Basic/Android.mk new file mode 100644 index 0000000..54e61c2 --- /dev/null +++ b/lib/Basic/Android.mk @@ -0,0 +1,57 @@ +LOCAL_PATH:= $(call my-dir) + +# For the host only +# ===================================================== +include $(CLEAR_VARS) +include $(CLEAR_TBLGEN_VARS) + +TBLGEN_TABLES := \ + AttrHasAttributeImpl.inc \ + DiagnosticASTKinds.inc \ + DiagnosticAnalysisKinds.inc \ + DiagnosticCommentKinds.inc \ + DiagnosticCommonKinds.inc \ + DiagnosticDriverKinds.inc \ + DiagnosticFrontendKinds.inc \ + DiagnosticGroups.inc \ + DiagnosticIndexName.inc \ + DiagnosticLexKinds.inc \ + DiagnosticParseKinds.inc \ + DiagnosticSemaKinds.inc \ + DiagnosticSerializationKinds.inc \ + arm_neon.inc + +clang_basic_SRC_FILES := \ + Attributes.cpp \ + Builtins.cpp \ + CharInfo.cpp \ + Diagnostic.cpp \ + DiagnosticIDs.cpp \ + FileManager.cpp \ + FileSystemStatCache.cpp \ + IdentifierTable.cpp \ + LangOptions.cpp \ + Module.cpp \ + ObjCRuntime.cpp \ + OpenMPKinds.cpp \ + OperatorPrecedence.cpp \ + SourceLocation.cpp \ + SourceManager.cpp \ + TargetInfo.cpp \ + Targets.cpp \ + TokenKinds.cpp \ + Version.cpp \ + VersionTuple.cpp \ + VirtualFileSystem.cpp + +LOCAL_SRC_FILES := $(clang_basic_SRC_FILES) + +LOCAL_MODULE:= libclangBasic +LOCAL_MODULE_TAGS := optional + +LOCAL_MODULE_TAGS := optional + +include $(CLANG_HOST_BUILD_MK) +include $(CLANG_VERSION_INC_MK) +include $(CLANG_TBLGEN_RULES_MK) +include $(BUILD_HOST_STATIC_LIBRARY) diff --git a/lib/CodeGen/Android.mk b/lib/CodeGen/Android.mk new file mode 100644 index 0000000..1c4a0b7 --- /dev/null +++ b/lib/CodeGen/Android.mk @@ -0,0 +1,75 @@ +LOCAL_PATH:= $(call my-dir) + +clang_codegen_TBLGEN_TABLES := \ + AttrList.inc \ + Attrs.inc \ + AttrVisitor.inc \ + CommentCommandList.inc \ + CommentNodes.inc \ + DeclNodes.inc \ + DiagnosticCommonKinds.inc \ + DiagnosticFrontendKinds.inc \ + DiagnosticSemaKinds.inc \ + StmtNodes.inc \ + arm_neon.inc + +clang_codegen_SRC_FILES := \ + BackendUtil.cpp \ + CGAtomic.cpp \ + CGBlocks.cpp \ + CGBuiltin.cpp \ + CGCUDANV.cpp \ + CGCUDARuntime.cpp \ + CGCXX.cpp \ + CGCXXABI.cpp \ + CGCall.cpp \ + CGClass.cpp \ + CGCleanup.cpp \ + CGDebugInfo.cpp \ + CGDecl.cpp \ + CGDeclCXX.cpp \ + CGException.cpp \ + CGExpr.cpp \ + CGExprAgg.cpp \ + CGExprCXX.cpp \ + CGExprComplex.cpp \ + CGExprConstant.cpp \ + CGExprScalar.cpp \ + CGObjC.cpp \ + CGObjCGNU.cpp \ + CGObjCMac.cpp \ + CGObjCRuntime.cpp \ + CGOpenCLRuntime.cpp \ + CGRTTI.cpp \ + CGRecordLayoutBuilder.cpp \ + CGStmt.cpp \ + CGVTT.cpp \ + CGVTables.cpp \ + CodeGenABITypes.cpp \ + CodeGenAction.cpp \ + CodeGenFunction.cpp \ + CodeGenModule.cpp \ + CodeGenPGO.cpp \ + CodeGenTBAA.cpp \ + CodeGenTypes.cpp \ + ItaniumCXXABI.cpp \ + MicrosoftCXXABI.cpp \ + ModuleBuilder.cpp \ + TargetInfo.cpp + +# For the host only +# ===================================================== +include $(CLEAR_VARS) +include $(CLEAR_TBLGEN_VARS) + +LOCAL_MODULE:= libclangCodeGen +LOCAL_MODULE_TAGS := optional + +LOCAL_SRC_FILES := $(clang_codegen_SRC_FILES) +TBLGEN_TABLES := $(clang_codegen_TBLGEN_TABLES) + +include $(CLANG_HOST_BUILD_MK) +include $(CLANG_VERSION_INC_MK) +include $(CLANG_TBLGEN_RULES_MK) +include $(LLVM_GEN_INTRINSICS_MK) +include $(BUILD_HOST_STATIC_LIBRARY) diff --git a/lib/Driver/Android.mk b/lib/Driver/Android.mk new file mode 100644 index 0000000..559ca83 --- /dev/null +++ b/lib/Driver/Android.mk @@ -0,0 +1,44 @@ +LOCAL_PATH:= $(call my-dir) + +# For the host only +# ===================================================== +include $(CLEAR_VARS) +include $(CLEAR_TBLGEN_VARS) + +TBLGEN_TABLES := \ + AttrVisitor.inc \ + DiagnosticCommonKinds.inc \ + DiagnosticDriverKinds.inc \ + DiagnosticSemaKinds.inc \ + Options.inc \ + CC1Options.inc \ + CC1AsOptions.inc + +clang_driver_SRC_FILES := \ + Action.cpp \ + CC1AsOptions.cpp \ + Compilation.cpp \ + Driver.cpp \ + DriverOptions.cpp \ + Job.cpp \ + Multilib.cpp \ + Phases.cpp \ + SanitizerArgs.cpp \ + Tool.cpp \ + ToolChain.cpp \ + ToolChains.cpp \ + Tools.cpp \ + Types.cpp \ + WindowsToolChain.cpp + +LOCAL_SRC_FILES := $(clang_driver_SRC_FILES) + +LOCAL_MODULE := libclangDriver +LOCAL_MODULE_TAGS := optional + +LOCAL_MODULE_TAGS := optional + +include $(CLANG_HOST_BUILD_MK) +include $(CLANG_TBLGEN_RULES_MK) +include $(CLANG_VERSION_INC_MK) +include $(BUILD_HOST_STATIC_LIBRARY) diff --git a/lib/Edit/Android.mk b/lib/Edit/Android.mk new file mode 100644 index 0000000..87f4e25 --- /dev/null +++ b/lib/Edit/Android.mk @@ -0,0 +1,32 @@ +LOCAL_PATH:= $(call my-dir) + +clang_edit_SRC_FILES := \ + Commit.cpp \ + EditedSource.cpp \ + RewriteObjCFoundationAPI.cpp + + +# For the host only +# ===================================================== +include $(CLEAR_VARS) +include $(CLEAR_TBLGEN_VARS) + +TBLGEN_TABLES := \ + Attrs.inc \ + AttrList.inc \ + CommentCommandList.inc \ + CommentNodes.inc \ + DeclNodes.inc \ + DiagnosticCommonKinds.inc \ + StmtNodes.inc + +LOCAL_SRC_FILES := $(clang_edit_SRC_FILES) + +LOCAL_MODULE:= libclangEdit + +LOCAL_MODULE_TAGS := optional + +include $(CLANG_HOST_BUILD_MK) +include $(CLANG_VERSION_INC_MK) +include $(CLANG_TBLGEN_RULES_MK) +include $(BUILD_HOST_STATIC_LIBRARY) diff --git a/lib/Format/Android.mk b/lib/Format/Android.mk new file mode 100644 index 0000000..302f28f --- /dev/null +++ b/lib/Format/Android.mk @@ -0,0 +1,43 @@ +LOCAL_PATH:= $(call my-dir) + +# For the host only +# ===================================================== +include $(CLEAR_VARS) +include $(CLEAR_TBLGEN_VARS) + +TBLGEN_TABLES := \ + AttrHasAttributeImpl.inc \ + DiagnosticASTKinds.inc \ + DiagnosticAnalysisKinds.inc \ + DiagnosticCommentKinds.inc \ + DiagnosticCommonKinds.inc \ + DiagnosticDriverKinds.inc \ + DiagnosticFrontendKinds.inc \ + DiagnosticGroups.inc \ + DiagnosticIndexName.inc \ + DiagnosticLexKinds.inc \ + DiagnosticParseKinds.inc \ + DiagnosticSemaKinds.inc \ + DiagnosticSerializationKinds.inc \ + arm_neon.inc + +clang_format_SRC_FILES := \ + BreakableToken.cpp \ + ContinuationIndenter.cpp \ + Format.cpp \ + FormatToken.cpp \ + TokenAnnotator.cpp \ + UnwrappedLineParser.cpp \ + WhitespaceManager.cpp + +LOCAL_SRC_FILES := $(clang_format_SRC_FILES) + +LOCAL_MODULE:= libclangFormat +LOCAL_MODULE_TAGS := optional + +LOCAL_MODULE_TAGS := optional + +include $(CLANG_HOST_BUILD_MK) +include $(CLANG_VERSION_INC_MK) +include $(CLANG_TBLGEN_RULES_MK) +include $(BUILD_HOST_STATIC_LIBRARY) diff --git a/lib/Frontend/Android.mk b/lib/Frontend/Android.mk new file mode 100644 index 0000000..c3c42c3 --- /dev/null +++ b/lib/Frontend/Android.mk @@ -0,0 +1,66 @@ +LOCAL_PATH:= $(call my-dir) + +# For the host only +# ===================================================== +include $(CLEAR_VARS) +include $(CLEAR_TBLGEN_VARS) + +TBLGEN_TABLES := \ + AttrList.inc \ + Attrs.inc \ + AttrParsedAttrList.inc \ + AttrVisitor.inc \ + CC1Options.inc \ + CommentCommandList.inc \ + CommentNodes.inc \ + DiagnosticASTKinds.inc \ + DiagnosticCommonKinds.inc \ + DiagnosticDriverKinds.inc \ + DiagnosticFrontendKinds.inc \ + DiagnosticLexKinds.inc \ + DiagnosticSemaKinds.inc \ + DeclNodes.inc \ + StmtNodes.inc + +clang_frontend_SRC_FILES := \ + ASTConsumers.cpp \ + ASTMerge.cpp \ + ASTUnit.cpp \ + CacheTokens.cpp \ + ChainedDiagnosticConsumer.cpp \ + ChainedIncludesSource.cpp \ + CompilerInstance.cpp \ + CompilerInvocation.cpp \ + CreateInvocationFromCommandLine.cpp \ + DependencyFile.cpp \ + DependencyGraph.cpp \ + DiagnosticRenderer.cpp \ + FrontendAction.cpp \ + FrontendActions.cpp \ + FrontendOptions.cpp \ + HeaderIncludeGen.cpp \ + InitHeaderSearch.cpp \ + InitPreprocessor.cpp \ + LangStandards.cpp \ + LayoutOverrideSource.cpp \ + LogDiagnosticPrinter.cpp \ + MultiplexConsumer.cpp \ + PrintPreprocessedOutput.cpp \ + SerializedDiagnosticPrinter.cpp \ + TextDiagnostic.cpp \ + TextDiagnosticBuffer.cpp \ + TextDiagnosticPrinter.cpp \ + Warnings.cpp \ + VerifyDiagnosticConsumer.cpp + +LOCAL_SRC_FILES := $(clang_frontend_SRC_FILES) + +LOCAL_MODULE:= libclangFrontend +LOCAL_MODULE_TAGS:= optional + +LOCAL_MODULE_TAGS := optional + +include $(CLANG_HOST_BUILD_MK) +include $(CLANG_TBLGEN_RULES_MK) +include $(CLANG_VERSION_INC_MK) +include $(BUILD_HOST_STATIC_LIBRARY) diff --git a/lib/FrontendTool/Android.mk b/lib/FrontendTool/Android.mk new file mode 100644 index 0000000..2496f6b --- /dev/null +++ b/lib/FrontendTool/Android.mk @@ -0,0 +1,24 @@ +LOCAL_PATH:= $(call my-dir) + +# For the host only +# ===================================================== +include $(CLEAR_VARS) +include $(CLEAR_TBLGEN_VARS) + +LOCAL_MODULE:= libclangFrontendTool + +LOCAL_MODULE_TAGS := optional + +TBLGEN_TABLES := \ + DiagnosticCommonKinds.inc \ + DiagnosticFrontendKinds.inc \ + CC1Options.inc + +clang_frontend_tool_SRC_FILES := \ + ExecuteCompilerInvocation.cpp + +LOCAL_SRC_FILES := $(clang_frontend_tool_SRC_FILES) + +include $(CLANG_HOST_BUILD_MK) +include $(CLANG_TBLGEN_RULES_MK) +include $(BUILD_HOST_STATIC_LIBRARY) diff --git a/lib/Headers/Android.mk b/lib/Headers/Android.mk new file mode 100644 index 0000000..117129e --- /dev/null +++ b/lib/Headers/Android.mk @@ -0,0 +1,11 @@ +LOCAL_PATH:= $(call my-dir) + +include $(CLEAR_VARS) + +$(TARGET_OUT_HEADERS)/clang/arm_neon.h: TBLGEN_LOCAL_MODULE := arm_neon.h +$(TARGET_OUT_HEADERS)/clang/arm_neon.h: $(CLANG_ROOT_PATH)/include/clang/Basic/arm_neon.td \ + | $(CLANG_TBLGEN) + $(call transform-host-clang-td-to-out,arm-neon) + +# Make sure when clang is used, arm_neon.h does exist. +$(CLANG): | $(TARGET_OUT_HEADERS)/clang/arm_neon.h diff --git a/lib/Lex/Android.mk b/lib/Lex/Android.mk new file mode 100644 index 0000000..a5e9661 --- /dev/null +++ b/lib/Lex/Android.mk @@ -0,0 +1,45 @@ +LOCAL_PATH:= $(call my-dir) + +# For the host only +# ===================================================== +include $(CLEAR_VARS) +include $(CLEAR_TBLGEN_VARS) + +TBLGEN_TABLES := \ + DiagnosticLexKinds.inc \ + DiagnosticCommonKinds.inc + +clang_lex_SRC_FILES := \ + HeaderMap.cpp \ + HeaderSearch.cpp \ + Lexer.cpp \ + LiteralSupport.cpp \ + MacroArgs.cpp \ + MacroInfo.cpp \ + ModuleMap.cpp \ + PPCaching.cpp \ + PPCallbacks.cpp \ + PPConditionalDirectiveRecord.cpp \ + PPDirectives.cpp \ + PPExpressions.cpp \ + PPLexerChange.cpp \ + PPMacroExpansion.cpp \ + PTHLexer.cpp \ + Pragma.cpp \ + PreprocessingRecord.cpp \ + Preprocessor.cpp \ + PreprocessorLexer.cpp \ + ScratchBuffer.cpp \ + TokenConcatenation.cpp \ + TokenLexer.cpp + +LOCAL_SRC_FILES := $(clang_lex_SRC_FILES) + +LOCAL_MODULE:= libclangLex +LOCAL_MODULE_TAGS := optional + +LOCAL_MODULE_TAGS := optional + +include $(CLANG_HOST_BUILD_MK) +include $(CLANG_TBLGEN_RULES_MK) +include $(BUILD_HOST_STATIC_LIBRARY) diff --git a/lib/Parse/Android.mk b/lib/Parse/Android.mk new file mode 100644 index 0000000..5bc2200 --- /dev/null +++ b/lib/Parse/Android.mk @@ -0,0 +1,47 @@ +LOCAL_PATH:= $(call my-dir) + +# For the host only +# ===================================================== +include $(CLEAR_VARS) +include $(CLEAR_TBLGEN_VARS) + +TBLGEN_TABLES := \ + AttrList.inc \ + AttrParsedAttrList.inc \ + Attrs.inc \ + AttrVisitor.inc \ + AttrParserStringSwitches.inc \ + CommentCommandList.inc \ + CommentNodes.inc \ + DeclNodes.inc \ + DiagnosticParseKinds.inc \ + DiagnosticCommonKinds.inc \ + DiagnosticSemaKinds.inc \ + StmtNodes.inc + +clang_parse_SRC_FILES := \ + ParseAST.cpp \ + ParseCXXInlineMethods.cpp \ + ParseDecl.cpp \ + ParseDeclCXX.cpp \ + ParseExpr.cpp \ + ParseExprCXX.cpp \ + ParseInit.cpp \ + ParseObjc.cpp \ + ParseOpenMP.cpp \ + ParsePragma.cpp \ + ParseStmt.cpp \ + ParseTemplate.cpp \ + ParseTentative.cpp \ + Parser.cpp + +LOCAL_SRC_FILES := $(clang_parse_SRC_FILES) + +LOCAL_MODULE:= libclangParse +LOCAL_MODULE_TAGS := optional + +LOCAL_MODULE_TAGS := optional + +include $(CLANG_HOST_BUILD_MK) +include $(CLANG_TBLGEN_RULES_MK) +include $(BUILD_HOST_STATIC_LIBRARY) diff --git a/lib/Rewrite/Core/Android.mk b/lib/Rewrite/Core/Android.mk new file mode 100644 index 0000000..546fc04 --- /dev/null +++ b/lib/Rewrite/Core/Android.mk @@ -0,0 +1,34 @@ +LOCAL_PATH:= $(call my-dir) + +# For the host only +# ===================================================== +include $(CLEAR_VARS) +include $(CLEAR_TBLGEN_VARS) + +LOCAL_MODULE:= libclangRewriteCore + +LOCAL_MODULE_TAGS := optional + +TBLGEN_TABLES := \ + AttrList.inc \ + Attrs.inc \ + AttrParsedAttrList.inc \ + CommentNodes.inc \ + DeclNodes.inc \ + DiagnosticCommonKinds.inc \ + DiagnosticFrontendKinds.inc \ + StmtNodes.inc + +clang_rewrite_core_SRC_FILES := \ + DeltaTree.cpp \ + HTMLRewrite.cpp \ + RewriteRope.cpp \ + Rewriter.cpp \ + TokenRewriter.cpp + +LOCAL_SRC_FILES := $(clang_rewrite_core_SRC_FILES) + + +include $(CLANG_HOST_BUILD_MK) +include $(CLANG_TBLGEN_RULES_MK) +include $(BUILD_HOST_STATIC_LIBRARY) diff --git a/lib/Rewrite/Frontend/Android.mk b/lib/Rewrite/Frontend/Android.mk new file mode 100644 index 0000000..2bbf311 --- /dev/null +++ b/lib/Rewrite/Frontend/Android.mk @@ -0,0 +1,38 @@ +LOCAL_PATH:= $(call my-dir) + +# For the host only +# ===================================================== +include $(CLEAR_VARS) +include $(CLEAR_TBLGEN_VARS) + +LOCAL_MODULE:= libclangRewriteFrontend + +LOCAL_MODULE_TAGS := optional + +TBLGEN_TABLES := \ + AttrList.inc \ + Attrs.inc \ + AttrParsedAttrList.inc \ + CommentCommandList.inc \ + CommentNodes.inc \ + DeclNodes.inc \ + DiagnosticCommonKinds.inc \ + DiagnosticFrontendKinds.inc \ + StmtNodes.inc + +clang_rewrite_frontend_SRC_FILES := \ + FixItRewriter.cpp \ + FrontendActions.cpp \ + HTMLPrint.cpp \ + InclusionRewriter.cpp \ + RewriteMacros.cpp \ + RewriteModernObjC.cpp \ + RewriteObjC.cpp \ + RewriteTest.cpp + +LOCAL_SRC_FILES := $(clang_rewrite_frontend_SRC_FILES) + + +include $(CLANG_HOST_BUILD_MK) +include $(CLANG_TBLGEN_RULES_MK) +include $(BUILD_HOST_STATIC_LIBRARY) diff --git a/lib/Sema/Android.mk b/lib/Sema/Android.mk new file mode 100644 index 0000000..77a2e93 --- /dev/null +++ b/lib/Sema/Android.mk @@ -0,0 +1,84 @@ +LOCAL_PATH:= $(call my-dir) + +# For the host only +# ===================================================== +include $(CLEAR_VARS) +include $(CLEAR_TBLGEN_VARS) + +TBLGEN_TABLES := \ + AttrList.inc \ + Attrs.inc \ + AttrParsedAttrKinds.inc \ + AttrParsedAttrImpl.inc \ + AttrParsedAttrList.inc \ + AttrSpellingListIndex.inc \ + AttrTemplateInstantiate.inc \ + AttrVisitor.inc \ + CommentCommandList.inc \ + CommentNodes.inc \ + DeclNodes.inc \ + DiagnosticASTKinds.inc \ + DiagnosticSemaKinds.inc \ + DiagnosticParseKinds.inc \ + DiagnosticCommentKinds.inc \ + DiagnosticCommonKinds.inc \ + StmtNodes.inc \ + arm_neon.inc + +clang_sema_SRC_FILES := \ + AnalysisBasedWarnings.cpp \ + AttributeList.cpp \ + CodeCompleteConsumer.cpp \ + DeclSpec.cpp \ + IdentifierResolver.cpp \ + DelayedDiagnostic.cpp \ + JumpDiagnostics.cpp \ + MultiplexExternalSemaSource.cpp \ + Scope.cpp \ + ScopeInfo.cpp \ + Sema.cpp \ + SemaAccess.cpp \ + SemaAttr.cpp \ + SemaCXXScopeSpec.cpp \ + SemaCast.cpp \ + SemaChecking.cpp \ + SemaCodeComplete.cpp \ + SemaConsumer.cpp \ + SemaDecl.cpp \ + SemaDeclAttr.cpp \ + SemaDeclCXX.cpp \ + SemaDeclObjC.cpp \ + SemaExceptionSpec.cpp \ + SemaExpr.cpp \ + SemaExprCXX.cpp \ + SemaExprMember.cpp \ + SemaExprObjC.cpp \ + SemaFixItUtils.cpp \ + SemaInit.cpp \ + SemaLambda.cpp \ + SemaLookup.cpp \ + SemaObjCProperty.cpp \ + SemaOpenMP.cpp \ + SemaOverload.cpp \ + SemaPseudoObject.cpp \ + SemaStmt.cpp \ + SemaStmtAsm.cpp \ + SemaStmtAttr.cpp \ + SemaTemplate.cpp \ + SemaTemplateDeduction.cpp \ + SemaTemplateInstantiate.cpp \ + SemaTemplateInstantiateDecl.cpp \ + SemaTemplateVariadic.cpp \ + SemaType.cpp \ + TypeLocBuilder.cpp + +LOCAL_SRC_FILES := $(clang_sema_SRC_FILES) + +LOCAL_MODULE:= libclangSema +LOCAL_MODULE_TAGS := optional + +LOCAL_MODULE_TAGS := optional + +include $(CLANG_HOST_BUILD_MK) +include $(CLANG_TBLGEN_RULES_MK) +include $(BUILD_HOST_STATIC_LIBRARY) diff --git a/lib/Serialization/Android.mk b/lib/Serialization/Android.mk new file mode 100644 index 0000000..751e306 --- /dev/null +++ b/lib/Serialization/Android.mk @@ -0,0 +1,46 @@ +LOCAL_PATH:= $(call my-dir) + +# For the host only +# ===================================================== +include $(CLEAR_VARS) +include $(CLEAR_TBLGEN_VARS) + +LOCAL_MODULE:= libclangSerialization + +LOCAL_MODULE_TAGS := optional + +TBLGEN_TABLES := \ + AttrList.inc \ + AttrParsedAttrList.inc \ + AttrPCHRead.inc \ + AttrPCHWrite.inc \ + Attrs.inc \ + CommentCommandList.inc \ + CommentNodes.inc \ + DeclNodes.inc \ + DiagnosticCommonKinds.inc \ + DiagnosticFrontendKinds.inc \ + DiagnosticSemaKinds.inc \ + DiagnosticSerializationKinds.inc \ + StmtNodes.inc + +clang_serialization_SRC_FILES :=\ + ASTCommon.cpp \ + ASTReader.cpp \ + ASTReaderDecl.cpp \ + ASTReaderStmt.cpp \ + ASTWriter.cpp \ + ASTWriterDecl.cpp \ + ASTWriterStmt.cpp \ + GeneratePCH.cpp \ + GlobalModuleIndex.cpp \ + Module.cpp \ + ModuleManager.cpp + +LOCAL_SRC_FILES := $(clang_serialization_SRC_FILES) + + +include $(CLANG_HOST_BUILD_MK) +include $(CLANG_TBLGEN_RULES_MK) +include $(CLANG_VERSION_INC_MK) +include $(BUILD_HOST_STATIC_LIBRARY) diff --git a/lib/StaticAnalyzer/Checkers/Android.mk b/lib/StaticAnalyzer/Checkers/Android.mk new file mode 100644 index 0000000..bb2a539 --- /dev/null +++ b/lib/StaticAnalyzer/Checkers/Android.mk @@ -0,0 +1,100 @@ +LOCAL_PATH:= $(call my-dir) + +clang_static_analyzer_checkers_TBLGEN_TABLES := \ + AttrKinds.inc \ + AttrList.inc \ + AttrParsedAttrList.inc \ + Attrs.inc \ + AttrVisitor.inc \ + Checkers.inc \ + CommentCommandList.inc \ + CommentNodes.inc \ + DeclNodes.inc \ + DiagnosticCommonKinds.inc \ + StmtNodes.inc + +clang_static_analyzer_checkers_SRC_FILES := \ + AllocationDiagnostics.cpp \ + AnalyzerStatsChecker.cpp \ + ArrayBoundChecker.cpp \ + ArrayBoundCheckerV2.cpp \ + BasicObjCFoundationChecks.cpp \ + BoolAssignmentChecker.cpp \ + BuiltinFunctionChecker.cpp \ + CStringChecker.cpp \ + CStringSyntaxChecker.cpp \ + CallAndMessageChecker.cpp \ + CastSizeChecker.cpp \ + CastToStructChecker.cpp \ + CheckObjCDealloc.cpp \ + CheckObjCInstMethSignature.cpp \ + CheckSecuritySyntaxOnly.cpp \ + CheckSizeofPointer.cpp \ + CheckerDocumentation.cpp \ + ChrootChecker.cpp \ + ClangCheckers.cpp \ + DeadStoresChecker.cpp \ + DebugCheckers.cpp \ + DereferenceChecker.cpp \ + DirectIvarAssignment.cpp \ + DivZeroChecker.cpp \ + DynamicTypePropagation.cpp \ + ExprInspectionChecker.cpp \ + FixedAddressChecker.cpp \ + GenericTaintChecker.cpp \ + IdenticalExprChecker.cpp \ + IvarInvalidationChecker.cpp \ + LLVMConventionsChecker.cpp \ + MacOSKeychainAPIChecker.cpp \ + MacOSXAPIChecker.cpp \ + MallocChecker.cpp \ + MallocOverflowSecurityChecker.cpp \ + MallocSizeofChecker.cpp \ + NSAutoreleasePoolChecker.cpp \ + NSErrorChecker.cpp \ + NoReturnFunctionChecker.cpp \ + NonNullParamChecker.cpp \ + ObjCAtSyncChecker.cpp \ + ObjCContainersASTChecker.cpp \ + ObjCContainersChecker.cpp \ + ObjCMissingSuperCallChecker.cpp \ + ObjCSelfInitChecker.cpp \ + ObjCUnusedIVarsChecker.cpp \ + PointerArithChecker.cpp \ + PointerSubChecker.cpp \ + PthreadLockChecker.cpp \ + RetainCountChecker.cpp \ + ReturnPointerRangeChecker.cpp \ + ReturnUndefChecker.cpp \ + SimpleStreamChecker.cpp \ + StackAddrEscapeChecker.cpp \ + StreamChecker.cpp \ + TaintTesterChecker.cpp \ + TraversalChecker.cpp \ + UndefBranchChecker.cpp \ + UndefCapturedBlockVarChecker.cpp \ + UndefResultChecker.cpp \ + UndefinedArraySubscriptChecker.cpp \ + UndefinedAssignmentChecker.cpp \ + UnixAPIChecker.cpp \ + UnreachableCodeChecker.cpp \ + VirtualCallChecker.cpp \ + VLASizeChecker.cpp + +# For the host only +# ===================================================== +include $(CLEAR_VARS) +include $(CLEAR_TBLGEN_VARS) + +TBLGEN_TABLES := $(clang_static_analyzer_checkers_TBLGEN_TABLES) + +LOCAL_SRC_FILES := $(clang_static_analyzer_checkers_SRC_FILES) + +LOCAL_MODULE:= libclangStaticAnalyzerCheckers + +LOCAL_MODULE_TAGS := optional + +include $(CLANG_HOST_BUILD_MK) +include $(CLANG_TBLGEN_RULES_MK) +include $(CLANG_VERSION_INC_MK) +include $(BUILD_HOST_STATIC_LIBRARY) diff --git a/lib/StaticAnalyzer/Core/Android.mk b/lib/StaticAnalyzer/Core/Android.mk new file mode 100644 index 0000000..68d2c36 --- /dev/null +++ b/lib/StaticAnalyzer/Core/Android.mk @@ -0,0 +1,68 @@ +LOCAL_PATH:= $(call my-dir) + +clang_static_analyzer_core_TBLGEN_TABLES := \ + AttrList.inc \ + Attrs.inc \ + CommentCommandList.inc \ + CommentNodes.inc \ + DeclNodes.inc \ + DiagnosticCommonKinds.inc \ + StmtNodes.inc + +clang_static_analyzer_core_SRC_FILES := \ + AnalysisManager.cpp \ + AnalyzerOptions.cpp \ + APSIntType.cpp \ + BasicValueFactory.cpp \ + BlockCounter.cpp \ + BugReporter.cpp \ + BugReporterVisitors.cpp \ + CallEvent.cpp \ + Checker.cpp \ + CheckerContext.cpp \ + CheckerHelpers.cpp \ + CheckerManager.cpp \ + CheckerRegistry.cpp \ + CommonBugCategories.cpp \ + ConstraintManager.cpp \ + CoreEngine.cpp \ + Environment.cpp \ + ExplodedGraph.cpp \ + ExprEngine.cpp \ + ExprEngineC.cpp \ + ExprEngineCXX.cpp \ + ExprEngineCallAndReturn.cpp \ + ExprEngineObjC.cpp \ + FunctionSummary.cpp \ + HTMLDiagnostics.cpp \ + MemRegion.cpp \ + PathDiagnostic.cpp \ + PlistDiagnostics.cpp \ + ProgramState.cpp \ + RangeConstraintManager.cpp \ + RegionStore.cpp \ + SValBuilder.cpp \ + SVals.cpp \ + SimpleConstraintManager.cpp \ + SimpleSValBuilder.cpp \ + Store.cpp \ + SubEngine.cpp \ + SymbolManager.cpp + +# For the host only +# ===================================================== +include $(CLEAR_VARS) +include $(CLEAR_TBLGEN_VARS) + +TBLGEN_TABLES := $(clang_static_analyzer_core_TBLGEN_TABLES) + +LOCAL_SRC_FILES := $(clang_static_analyzer_core_SRC_FILES) + +LOCAL_MODULE:= libclangStaticAnalyzerCore + +LOCAL_MODULE_TAGS := optional + +include $(CLANG_HOST_BUILD_MK) +include $(CLANG_TBLGEN_RULES_MK) +include $(CLANG_VERSION_INC_MK) +include $(BUILD_HOST_STATIC_LIBRARY) diff --git a/lib/StaticAnalyzer/Frontend/Android.mk b/lib/StaticAnalyzer/Frontend/Android.mk new file mode 100644 index 0000000..ccffdad --- /dev/null +++ b/lib/StaticAnalyzer/Frontend/Android.mk @@ -0,0 +1,40 @@ +LOCAL_PATH:= $(call my-dir) + +clang_static_analyzer_frontend_C_INCLUDES := \ + $(CLANG_ROOT_PATH)/lib/StaticAnalyzer/Checkers + +clang_static_analyzer_frontend_TBLGEN_TABLES := \ + AttrList.inc \ + Attrs.inc \ + AttrVisitor.inc \ + CommentCommandList.inc \ + CommentNodes.inc \ + DeclNodes.inc \ + DiagnosticCommonKinds.inc \ + DiagnosticFrontendKinds.inc \ + StmtNodes.inc + +clang_static_analyzer_frontend_SRC_FILES := \ + AnalysisConsumer.cpp \ + CheckerRegistration.cpp \ + FrontendActions.cpp + +# For the host only +# ===================================================== +include $(CLEAR_VARS) +include $(CLEAR_TBLGEN_VARS) + +TBLGEN_TABLES := $(clang_static_analyzer_frontend_TBLGEN_TABLES) + +LOCAL_SRC_FILES := $(clang_static_analyzer_frontend_SRC_FILES) + +LOCAL_C_INCLUDES := $(clang_static_analyzer_frontend_C_INCLUDES) + +LOCAL_MODULE:= libclangStaticAnalyzerFrontend + +LOCAL_MODULE_TAGS := optional + +include $(CLANG_HOST_BUILD_MK) +include $(CLANG_TBLGEN_RULES_MK) +include $(CLANG_VERSION_INC_MK) +include $(BUILD_HOST_STATIC_LIBRARY) diff --git a/tools/driver/Android.mk b/tools/driver/Android.mk new file mode 100644 index 0000000..e7af560 --- /dev/null +++ b/tools/driver/Android.mk @@ -0,0 +1,119 @@ +LOCAL_PATH:= $(call my-dir) + +# For the host only +# ===================================================== +include $(CLEAR_VARS) +include $(CLEAR_TBLGEN_VARS) + +LOCAL_MODULE := clang + +LOCAL_MODULE_CLASS := EXECUTABLES + +TBLGEN_TABLES := \ + DiagnosticCommonKinds.inc \ + DiagnosticDriverKinds.inc \ + DiagnosticFrontendKinds.inc \ + CC1Options.inc \ + CC1AsOptions.inc + +clang_SRC_FILES := \ + cc1_main.cpp \ + cc1as_main.cpp \ + driver.cpp + +LOCAL_SRC_FILES := $(clang_SRC_FILES) + +LOCAL_STATIC_LIBRARIES := \ + libclangFrontendTool \ + libclangFrontend \ + libclangARCMigrate \ + libclangDriver \ + libclangSerialization \ + libclangCodeGen \ + libclangRewriteFrontend \ + libclangRewriteCore \ + libclangParse \ + libclangSema \ + libclangStaticAnalyzerFrontend \ + libclangStaticAnalyzerCheckers \ + libclangStaticAnalyzerCore \ + libclangAnalysis \ + libclangEdit \ + libclangAST \ + libclangLex \ + libclangBasic \ + libLLVMARMAsmParser \ + libLLVMARMCodeGen \ + libLLVMARMAsmPrinter \ + libLLVMARMDisassembler \ + libLLVMARMDesc \ + libLLVMARMInfo \ + libLLVMMipsAsmParser \ + libLLVMMipsCodeGen \ + libLLVMMipsDisassembler \ + libLLVMMipsAsmPrinter \ + libLLVMMipsDesc \ + libLLVMMipsInfo \ + libLLVMX86Info \ + libLLVMX86AsmParser \ + libLLVMX86CodeGen \ + libLLVMX86Disassembler \ + libLLVMX86Desc \ + libLLVMX86AsmPrinter \ + libLLVMX86Utils \ + libLLVMARM64Info \ + libLLVMARM64AsmParser \ + libLLVMARM64CodeGen \ + libLLVMARM64Disassembler \ + libLLVMARM64Desc \ + libLLVMARM64AsmPrinter \ + libLLVMARM64Utils \ + libLLVMIRReader \ + libLLVMAsmParser \ + libLLVMAsmPrinter \ + libLLVMBitReader \ + libLLVMBitWriter \ + libLLVMSelectionDAG \ + libLLVMipo \ + libLLVMipa \ + libLLVMInstCombine \ + libLLVMInstrumentation \ + libLLVMCodeGen \ + libLLVMObject \ + libLLVMLinker \ + libLLVMMC \ + libLLVMMCParser \ + libLLVMScalarOpts \ + libLLVMTransformObjCARC \ + libLLVMTransformUtils \ + libLLVMVectorize \ + libLLVMAnalysis \ + libLLVMCore \ + libLLVMOption \ + libLLVMSupport \ + libLLVMTarget + +LOCAL_LDLIBS += -lm +ifdef USE_MINGW +LOCAL_LDLIBS += -limagehlp +else +LOCAL_LDLIBS += -lpthread -ldl +endif + +include $(CLANG_HOST_BUILD_MK) +include $(CLANG_TBLGEN_RULES_MK) +include $(BUILD_HOST_EXECUTABLE) + +ifeq (true,$(FORCE_BUILD_LLVM_COMPONENTS)) +# Make sure if clang (i.e. $(LOCAL_MODULE)) get installed, +# clang++ will get installed as well. +ALL_MODULES.$(LOCAL_MODULE).INSTALLED := \ + $(ALL_MODULES.$(LOCAL_MODULE).INSTALLED) $(CLANG_CXX) +# the additional dependency is needed when you run mm/mmm. +$(LOCAL_MODULE) : $(CLANG_CXX) + +# Symlink for clang++ +$(CLANG_CXX) : $(LOCAL_INSTALLED_MODULE) + @echo "Symlink $@ -> $<" + $(hide) ln -sf $(notdir $<) $@ +endif diff --git a/utils/TableGen/Android.mk b/utils/TableGen/Android.mk new file mode 100644 index 0000000..4a40dc8 --- /dev/null +++ b/utils/TableGen/Android.mk @@ -0,0 +1,35 @@ +LOCAL_PATH:= $(call my-dir) + +clang_tablegen_SRC_FILES := \ + ClangASTNodesEmitter.cpp \ + ClangAttrEmitter.cpp \ + ClangCommentCommandInfoEmitter.cpp \ + ClangCommentHTMLNamedCharacterReferenceEmitter.cpp \ + ClangCommentHTMLTagsEmitter.cpp \ + ClangDiagnosticsEmitter.cpp \ + ClangSACheckersEmitter.cpp \ + NeonEmitter.cpp \ + TableGen.cpp + +include $(CLEAR_VARS) + +LOCAL_MODULE := clang-tblgen +LOCAL_MODULE_TAGS := optional +LOCAL_SRC_FILES := $(clang_tablegen_SRC_FILES) + +REQUIRES_EH := 1 +REQUIRES_RTTI := 1 + +LOCAL_STATIC_LIBRARIES := \ + libLLVMTableGen \ + libLLVMSupport + +LOCAL_LDLIBS += -lm +ifeq ($(HOST_OS),windows) + LOCAL_LDLIBS += -limagehlp -lpsapi +else + LOCAL_LDLIBS += -lpthread -ldl +endif + +include $(LLVM_HOST_BUILD_MK) +include $(BUILD_HOST_EXECUTABLE) -- 1.9.1.423.g4596e3a