Remove unnecessary patches/ directory.

We don't use these patches, and all of the history is available directly
via git.

Change-Id: I524d2fae3971ca0c96ba55f0e0eb0bc0a303e08c
diff --git a/patches/0001-Add-module-notice.patch b/patches/0001-Add-module-notice.patch
deleted file mode 100644
index 42b479f..0000000
--- a/patches/0001-Add-module-notice.patch
+++ /dev/null
@@ -1,17 +0,0 @@
-From 6b733cf3f6b923db332b896c79b7ba961c2dbf70 Mon Sep 17 00:00:00 2001
-From: Tim Murray <timmurray@google.com>
-Date: Thu, 3 Apr 2014 10:52:46 -0700
-Subject: [PATCH 1/4] Add module notice.
-
-Change-Id: Ifcd825d8ccd3f5da22591075aa15e6710e61a933
----
- MODULE_LICENSE_BSD_LIKE | 0
- 1 file changed, 0 insertions(+), 0 deletions(-)
- create mode 100644 MODULE_LICENSE_BSD_LIKE
-
-diff --git a/MODULE_LICENSE_BSD_LIKE b/MODULE_LICENSE_BSD_LIKE
-new file mode 100644
-index 0000000..e69de29
--- 
-1.9.1.423.g4596e3a
-
diff --git a/patches/0002-Revert-to-old-vector-passing-ABI-for-backwards-compa.patch b/patches/0002-Revert-to-old-vector-passing-ABI-for-backwards-compa.patch
deleted file mode 100644
index c2a1312..0000000
--- a/patches/0002-Revert-to-old-vector-passing-ABI-for-backwards-compa.patch
+++ /dev/null
@@ -1,38 +0,0 @@
-From 10a4fc6c56a4ca26b225bf912948f96e9f55c81a Mon Sep 17 00:00:00 2001
-From: Tim Murray <timmurray@google.com>
-Date: Thu, 3 Apr 2014 13:27:16 -0700
-Subject: [PATCH 2/4] Revert to old vector passing ABI for backwards
- compatibility.
-
-Change-Id: I6d0e6db454de7090ef49001e9318eae5a1112e09
----
- lib/CodeGen/TargetInfo.cpp | 6 +++---
- 1 file changed, 3 insertions(+), 3 deletions(-)
-
-diff --git a/lib/CodeGen/TargetInfo.cpp b/lib/CodeGen/TargetInfo.cpp
-index d2e57ac..d3ab43a 100644
---- a/lib/CodeGen/TargetInfo.cpp
-+++ b/lib/CodeGen/TargetInfo.cpp
-@@ -4403,7 +4403,7 @@ bool ARMABIInfo::isIllegalVectorType(QualType Ty) const {
-     unsigned NumElements = VT->getNumElements();
-     uint64_t Size = getContext().getTypeSize(VT);
-     // NumElements should be power of 2.
--    if ((NumElements & (NumElements - 1)) != 0)
-+    if (((NumElements & (NumElements - 1)) != 0) && NumElements != 3)
-       return true;
-     // Size should be greater than 32 bits.
-     return Size <= 32;
-@@ -4437,8 +4437,8 @@ llvm::Value *ARMABIInfo::EmitVAArg(llvm::Value *VAListAddr, QualType Ty,
-     TyAlign = std::min(std::max(TyAlign, (uint64_t)4), (uint64_t)8);
-   else
-     TyAlign = 4;
--  // Use indirect if size of the illegal vector is bigger than 16 bytes.
--  if (isIllegalVectorType(Ty) && Size > 16) {
-+  // Use indirect if size of the illegal vector is bigger than 32 bytes.
-+  if (isIllegalVectorType(Ty) && Size > 32) {
-     IsIndirect = true;
-     Size = 4;
-     TyAlign = 4;
--- 
-1.9.1.423.g4596e3a
-
diff --git a/patches/0003-Add-support-for-RenderScript-specific-options.patch b/patches/0003-Add-support-for-RenderScript-specific-options.patch
deleted file mode 100644
index be60ad4..0000000
--- a/patches/0003-Add-support-for-RenderScript-specific-options.patch
+++ /dev/null
@@ -1,147 +0,0 @@
-From 4ad30819eb30d7c72336cc61cabd85b42a350aac Mon Sep 17 00:00:00 2001
-From: Tim Murray <timmurray@google.com>
-Date: Thu, 3 Apr 2014 13:38:15 -0700
-Subject: [PATCH 3/4] Add support for RenderScript specific options.
-
-These include __attribute((kernel)), 64-bit longs, and RGBA vector syntax.
-
-Change-Id: I592e5ea2abc86269a941e0497ac11665fb562aa0
----
- include/clang/AST/Type.h            |  8 ++++----
- include/clang/Basic/Attr.td         |  5 +++++
- include/clang/Basic/LangOptions.def |  1 +
- lib/Basic/Targets.cpp               |  2 ++
- lib/Sema/SemaDeclAttr.cpp           | 13 +++++++++++++
- lib/Sema/SemaExprMember.cpp         | 17 +++++++++++++++++
- 6 files changed, 42 insertions(+), 4 deletions(-)
-
-diff --git a/include/clang/AST/Type.h b/include/clang/AST/Type.h
-index 001a87e..7be6fcd 100644
---- a/include/clang/AST/Type.h
-+++ b/include/clang/AST/Type.h
-@@ -2593,10 +2593,10 @@ public:
-   static int getPointAccessorIdx(char c) {
-     switch (c) {
-     default: return -1;
--    case 'x': return 0;
--    case 'y': return 1;
--    case 'z': return 2;
--    case 'w': return 3;
-+    case 'x': case 'r': return 0;
-+    case 'y': case 'g': return 1;
-+    case 'z': case 'b': return 2;
-+    case 'w': case 'a': return 3;
-     }
-   }
-   static int getNumericAccessorIdx(char c) {
-diff --git a/include/clang/Basic/Attr.td b/include/clang/Basic/Attr.td
-index 12a8517..7360683 100644
---- a/include/clang/Basic/Attr.td
-+++ b/include/clang/Basic/Attr.td
-@@ -612,6 +612,11 @@ def OpenCLConstantAddressSpace : TypeAttr {
-   let Documentation = [Undocumented];
- }
- 
-+def Kernel : Attr {
-+  let Spellings = [GNU<"kernel">];
-+  let Documentation = [Undocumented];
-+}
-+
- def Deprecated : InheritableAttr {
-   let Spellings = [GCC<"deprecated">, Declspec<"deprecated">,
-                    CXX11<"","deprecated">];
-diff --git a/include/clang/Basic/LangOptions.def b/include/clang/Basic/LangOptions.def
-index 22662e0..7b21482 100644
---- a/include/clang/Basic/LangOptions.def
-+++ b/include/clang/Basic/LangOptions.def
-@@ -123,6 +123,7 @@ LANGOPT(OpenCLVersion     , 32, 0, "OpenCL version")
- LANGOPT(NativeHalfType    , 1, 0, "Native half type support")
- LANGOPT(CUDA              , 1, 0, "CUDA")
- LANGOPT(OpenMP            , 1, 0, "OpenMP support")
-+LANGOPT(Renderscript      , 1, 0, "RenderScript")
- 
- LANGOPT(AssumeSaneOperatorNew , 1, 1, "implicit __attribute__((malloc)) for C++'s new operators")
- LANGOPT(SizedDeallocation , 1, 0, "enable sized deallocation functions")
-diff --git a/lib/Basic/Targets.cpp b/lib/Basic/Targets.cpp
-index 3d294ce..fd59c00 100644
---- a/lib/Basic/Targets.cpp
-+++ b/lib/Basic/Targets.cpp
-@@ -3984,6 +3984,8 @@ public:
-         FPU |= FPARMV8;
-       else if (Features[i] == "+neon")
-         FPU |= NeonFPU;
-+      else if (Features[i] == "+long64")
-+        LongWidth = LongAlign = 64;  // RenderScript uses a 64-bit long type
-       else if (Features[i] == "+hwdiv")
-         HWDiv |= HWDivThumb;
-       else if (Features[i] == "+hwdiv-arm")
-diff --git a/lib/Sema/SemaDeclAttr.cpp b/lib/Sema/SemaDeclAttr.cpp
-index 5f60783..38b3c45 100644
---- a/lib/Sema/SemaDeclAttr.cpp
-+++ b/lib/Sema/SemaDeclAttr.cpp
-@@ -1396,6 +1396,16 @@ static void handleTLSModelAttr(Sema &S, Decl *D,
-                           Attr.getAttributeSpellingListIndex()));
- }
- 
-+static void handleKernelAttr(Sema &S, Decl *D, const AttributeList &Attr) {
-+  if (S.LangOpts.Renderscript) {
-+    D->addAttr(::new (S.Context) 
-+               KernelAttr(Attr.getRange(), S.Context,
-+                          Attr.getAttributeSpellingListIndex()));
-+  } else {
-+    S.Diag(Attr.getLoc(), diag::warn_attribute_ignored) << "kernel";
-+  }
-+}
-+
- static void handleMallocAttr(Sema &S, Decl *D, const AttributeList &Attr) {
-   if (const FunctionDecl *FD = dyn_cast<FunctionDecl>(D)) {
-     QualType RetTy = FD->getReturnType();
-@@ -4130,6 +4140,9 @@ static void ProcessDeclAttribute(Sema &S, Scope *scope, Decl *D,
-   case AttributeList::AT_CUDALaunchBounds:
-     handleLaunchBoundsAttr(S, D, Attr);
-     break;
-+  case AttributeList::AT_Kernel:
-+    handleKernelAttr(S, D, Attr);
-+    break;
-   case AttributeList::AT_Malloc:
-     handleMallocAttr(S, D, Attr);
-     break;
-diff --git a/lib/Sema/SemaExprMember.cpp b/lib/Sema/SemaExprMember.cpp
-index 354dfcf..c4a1780 100644
---- a/lib/Sema/SemaExprMember.cpp
-+++ b/lib/Sema/SemaExprMember.cpp
-@@ -267,6 +267,20 @@ Sema::BuildPossibleImplicitMemberExpr(const CXXScopeSpec &SS,
-   llvm_unreachable("unexpected instance member access kind");
- }
- 
-+/// Determine whether input char is from rgba component set.
-+static bool
-+IsRGBA(char c) {
-+  switch (c) {
-+  case 'r':
-+  case 'g':
-+  case 'b':
-+  case 'a':
-+    return true;
-+  default:
-+    return false;
-+  }
-+}
-+
- /// Check an ext-vector component access expression.
- ///
- /// VK should be set in advance to the value kind of the base
-@@ -306,7 +320,10 @@ CheckExtVectorComponent(Sema &S, QualType baseType, ExprValueKind &VK,
-     HalvingSwizzle = true;
-   } else if (!HexSwizzle &&
-              (Idx = vecType->getPointAccessorIdx(*compStr)) != -1) {
-+    bool HasRGBA = IsRGBA(*compStr);
-     do {
-+      if (HasRGBA != IsRGBA(*compStr))
-+        break;
-       if (HasIndex[Idx]) HasRepeated = true;
-       HasIndex[Idx] = true;
-       compStr++;
--- 
-1.9.1.423.g4596e3a
-
diff --git a/patches/0004-Add-Android-build-system.patch b/patches/0004-Add-Android-build-system.patch
deleted file mode 100644
index 027a89b..0000000
--- a/patches/0004-Add-Android-build-system.patch
+++ /dev/null
@@ -1,1866 +0,0 @@
-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
-