OSDN Git Service

move all mk file
authorQiang Yu <Qiang.Yu@amd.com>
Thu, 13 Jul 2017 13:51:59 +0000 (21:51 +0800)
committerMauro Rossi <issor.oruam@gmail.com>
Tue, 24 Mar 2020 22:21:05 +0000 (23:21 +0100)
Change-Id: If2445f05934836410b1f1bbdc9da22b0a193d646

123 files changed:
Android.mk [new file with mode: 0644]
CleanSpec.mk [new file with mode: 0644]
clear_tblgen_vars.mk [new file with mode: 0644]
lib/Analysis/Android.mk [new file with mode: 0644]
lib/AsmParser/Android.mk [new file with mode: 0644]
lib/Bitcode/Reader/Android.mk [new file with mode: 0644]
lib/Bitcode/Writer/Android.mk [new file with mode: 0644]
lib/CodeGen/Android.mk [new file with mode: 0644]
lib/CodeGen/AsmPrinter/Android.mk [new file with mode: 0644]
lib/CodeGen/MIRParser/Android.mk [new file with mode: 0644]
lib/CodeGen/SelectionDAG/Android.mk [new file with mode: 0644]
lib/DebugInfo/DWARF/Android.mk [new file with mode: 0644]
lib/DebugInfo/PDB/Android.mk [new file with mode: 0644]
lib/DebugInfo/Symbolize/Android.mk [new file with mode: 0644]
lib/ExecutionEngine/Android.mk [new file with mode: 0644]
lib/ExecutionEngine/Interpreter/Android.mk [new file with mode: 0644]
lib/ExecutionEngine/MCJIT/Android.mk [new file with mode: 0644]
lib/ExecutionEngine/Orc/Android.mk [new file with mode: 0644]
lib/ExecutionEngine/RuntimeDyld/Android.mk [new file with mode: 0644]
lib/Fuzzer/Android.mk [new file with mode: 0644]
lib/IR/Android.mk [new file with mode: 0644]
lib/IRReader/Android.mk [new file with mode: 0644]
lib/LTO/Android.mk [new file with mode: 0644]
lib/Linker/Android.mk [new file with mode: 0644]
lib/MC/Android.mk [new file with mode: 0644]
lib/MC/MCDisassembler/Android.mk [new file with mode: 0644]
lib/MC/MCParser/Android.mk [new file with mode: 0644]
lib/Object/Android.mk [new file with mode: 0644]
lib/Option/Android.mk [new file with mode: 0644]
lib/Passes/Android.mk [new file with mode: 0644]
lib/ProfileData/Android.mk [new file with mode: 0644]
lib/Support/Android.mk [new file with mode: 0644]
lib/TableGen/Android.mk [new file with mode: 0644]
lib/Target/AArch64/Android.mk [new file with mode: 0644]
lib/Target/AArch64/AsmParser/Android.mk [new file with mode: 0644]
lib/Target/AArch64/Disassembler/Android.mk [new file with mode: 0644]
lib/Target/AArch64/InstPrinter/Android.mk [new file with mode: 0644]
lib/Target/AArch64/MCTargetDesc/Android.mk [new file with mode: 0644]
lib/Target/AArch64/TargetInfo/Android.mk [new file with mode: 0644]
lib/Target/AArch64/Utils/Android.mk [new file with mode: 0644]
lib/Target/AMDGPU/Android.mk [new file with mode: 0644]
lib/Target/AMDGPU/AsmParser/Android.mk [new file with mode: 0644]
lib/Target/AMDGPU/InstPrinter/Android.mk [new file with mode: 0644]
lib/Target/AMDGPU/MCTargetDesc/Android.mk [new file with mode: 0644]
lib/Target/AMDGPU/TargetInfo/Android.mk [new file with mode: 0644]
lib/Target/AMDGPU/Utils/Android.mk [new file with mode: 0644]
lib/Target/ARM/Android.mk [new file with mode: 0644]
lib/Target/ARM/AsmParser/Android.mk [new file with mode: 0644]
lib/Target/ARM/Disassembler/Android.mk [new file with mode: 0644]
lib/Target/ARM/InstPrinter/Android.mk [new file with mode: 0644]
lib/Target/ARM/MCTargetDesc/Android.mk [new file with mode: 0644]
lib/Target/ARM/TargetInfo/Android.mk [new file with mode: 0644]
lib/Target/Android.mk [new file with mode: 0644]
lib/Target/Mips/Android.mk [new file with mode: 0644]
lib/Target/Mips/AsmParser/Android.mk [new file with mode: 0644]
lib/Target/Mips/Disassembler/Android.mk [new file with mode: 0644]
lib/Target/Mips/InstPrinter/Android.mk [new file with mode: 0644]
lib/Target/Mips/MCTargetDesc/Android.mk [new file with mode: 0644]
lib/Target/Mips/TargetInfo/Android.mk [new file with mode: 0644]
lib/Target/X86/Android.mk [new file with mode: 0644]
lib/Target/X86/AsmParser/Android.mk [new file with mode: 0644]
lib/Target/X86/Disassembler/Android.mk [new file with mode: 0644]
lib/Target/X86/InstPrinter/Android.mk [new file with mode: 0644]
lib/Target/X86/MCTargetDesc/Android.mk [new file with mode: 0644]
lib/Target/X86/TargetInfo/Android.mk [new file with mode: 0644]
lib/Target/X86/Utils/Android.mk [new file with mode: 0644]
lib/Transforms/Hello/Android.mk [new file with mode: 0644]
lib/Transforms/IPO/Android.mk [new file with mode: 0644]
lib/Transforms/InstCombine/Android.mk [new file with mode: 0644]
lib/Transforms/Instrumentation/Android.mk [new file with mode: 0644]
lib/Transforms/ObjCARC/Android.mk [new file with mode: 0644]
lib/Transforms/Scalar/Android.mk [new file with mode: 0644]
lib/Transforms/Utils/Android.mk [new file with mode: 0644]
lib/Transforms/Vectorize/Android.mk [new file with mode: 0644]
llvm-device-build.mk [new file with mode: 0644]
llvm-gen-attributes.mk [new file with mode: 0644]
llvm-gen-intrinsics.mk [new file with mode: 0644]
llvm-host-build.mk [new file with mode: 0644]
llvm-tblgen-rules.mk [new file with mode: 0644]
llvm.mk [new file with mode: 0644]
shared_llvm.mk [new file with mode: 0644]
tools/bugpoint-passes/Android.mk [new file with mode: 0644]
tools/bugpoint/Android.mk [new file with mode: 0644]
tools/dsymutil/Android.mk [new file with mode: 0644]
tools/gold/Android.mk [new file with mode: 0644]
tools/llc/Android.mk [new file with mode: 0644]
tools/lli/Android.mk [new file with mode: 0644]
tools/lli/ChildTarget/Android.mk [new file with mode: 0644]
tools/llvm-ar/Android.mk [new file with mode: 0644]
tools/llvm-as/Android.mk [new file with mode: 0644]
tools/llvm-bcanalyzer/Android.mk [new file with mode: 0644]
tools/llvm-c-test/Android.mk [new file with mode: 0644]
tools/llvm-config/Android.mk [new file with mode: 0644]
tools/llvm-cov/Android.mk [new file with mode: 0644]
tools/llvm-cxxdump/Android.mk [new file with mode: 0644]
tools/llvm-diff/Android.mk [new file with mode: 0644]
tools/llvm-dis/Android.mk [new file with mode: 0644]
tools/llvm-dwarfdump/Android.mk [new file with mode: 0644]
tools/llvm-dwp/Android.mk [new file with mode: 0644]
tools/llvm-extract/Android.mk [new file with mode: 0644]
tools/llvm-link/Android.mk [new file with mode: 0644]
tools/llvm-lto/Android.mk [new file with mode: 0644]
tools/llvm-mc/Android.mk [new file with mode: 0644]
tools/llvm-mcmarkup/Android.mk [new file with mode: 0644]
tools/llvm-nm/Android.mk [new file with mode: 0644]
tools/llvm-objdump/Android.mk [new file with mode: 0644]
tools/llvm-profdata/Android.mk [new file with mode: 0644]
tools/llvm-readobj/Android.mk [new file with mode: 0644]
tools/llvm-rtdyld/Android.mk [new file with mode: 0644]
tools/llvm-size/Android.mk [new file with mode: 0644]
tools/llvm-split/Android.mk [new file with mode: 0644]
tools/llvm-symbolizer/Android.mk [new file with mode: 0644]
tools/lto/Android.mk [new file with mode: 0644]
tools/obj2yaml/Android.mk [new file with mode: 0644]
tools/opt/Android.mk [new file with mode: 0644]
tools/sancov/Android.mk [new file with mode: 0644]
tools/verify-uselistorder/Android.mk [new file with mode: 0644]
tools/yaml2obj/Android.mk [new file with mode: 0644]
utils/FileCheck/Android.mk [new file with mode: 0644]
utils/TableGen/Android.mk [new file with mode: 0644]
utils/count/Android.mk [new file with mode: 0644]
utils/not/Android.mk [new file with mode: 0644]
utils/yaml-bench/Android.mk [new file with mode: 0644]

diff --git a/Android.mk b/Android.mk
new file mode 100644 (file)
index 0000000..78f1faa
--- /dev/null
@@ -0,0 +1,162 @@
+LOCAL_PATH := $(call my-dir)
+LLVM_ROOT_PATH := $(LOCAL_PATH)
+
+FORCE_BUILD_LLVM_DISABLE_NDEBUG ?= false
+# Legality check: FORCE_BUILD_LLVM_DISABLE_NDEBUG should consist of one word -- either "true" or "false".
+ifneq "$(words $(FORCE_BUILD_LLVM_DISABLE_NDEBUG))$(words $(filter-out true false,$(FORCE_BUILD_LLVM_DISABLE_NDEBUG)))" "10"
+  $(error FORCE_BUILD_LLVM_DISABLE_NDEBUG may only be true, false, or unset)
+endif
+
+FORCE_BUILD_LLVM_DEBUG ?= false
+# Legality check: FORCE_BUILD_LLVM_DEBUG should consist of one word -- either "true" or "false".
+ifneq "$(words $(FORCE_BUILD_LLVM_DEBUG))$(words $(filter-out true false,$(FORCE_BUILD_LLVM_DEBUG)))" "10"
+  $(error FORCE_BUILD_LLVM_DEBUG may only be true, false, or unset)
+endif
+
+include $(CLEAR_VARS)
+
+# LLVM Libraries
+subdirs := \
+  lib/Analysis \
+  lib/AsmParser \
+  lib/Bitcode/Reader \
+  lib/Bitcode/Writer \
+  lib/ExecutionEngine \
+  lib/ExecutionEngine/RuntimeDyld \
+  lib/ExecutionEngine/MCJIT \
+  lib/ExecutionEngine/Orc \
+  lib/ExecutionEngine/Interpreter \
+  lib/Fuzzer \
+  lib/CodeGen \
+  lib/CodeGen/AsmPrinter \
+  lib/CodeGen/MIRParser \
+  lib/CodeGen/SelectionDAG \
+  lib/DebugInfo/DWARF \
+  lib/DebugInfo/PDB \
+  lib/DebugInfo/Symbolize \
+  lib/IR \
+  lib/IRReader \
+  lib/LibDriver \
+  lib/Linker \
+  lib/LTO \
+  lib/MC \
+  lib/MC/MCDisassembler \
+  lib/MC/MCParser \
+  lib/Object \
+  lib/Option \
+  lib/Passes \
+  lib/ProfileData \
+  lib/Support \
+  lib/TableGen \
+  lib/Target \
+  lib/Transforms/Hello \
+  lib/Transforms/IPO \
+  lib/Transforms/InstCombine \
+  lib/Transforms/Instrumentation \
+  lib/Transforms/ObjCARC \
+  lib/Transforms/Scalar \
+  lib/Transforms/Utils \
+  lib/Transforms/Vectorize \
+
+# ARM Code Generation Libraries
+subdirs += \
+  lib/Target/ARM \
+  lib/Target/ARM/AsmParser \
+  lib/Target/ARM/InstPrinter \
+  lib/Target/ARM/Disassembler \
+  lib/Target/ARM/MCTargetDesc \
+  lib/Target/ARM/TargetInfo
+
+# AArch64 Code Generation Libraries
+subdirs += \
+  lib/Target/AArch64  \
+  lib/Target/AArch64/AsmParser \
+  lib/Target/AArch64/InstPrinter \
+  lib/Target/AArch64/Disassembler \
+  lib/Target/AArch64/MCTargetDesc \
+  lib/Target/AArch64/TargetInfo \
+  lib/Target/AArch64/Utils
+
+# MIPS Code Generation Libraries
+subdirs += \
+  lib/Target/Mips \
+  lib/Target/Mips/AsmParser \
+  lib/Target/Mips/InstPrinter \
+  lib/Target/Mips/Disassembler \
+  lib/Target/Mips/MCTargetDesc \
+  lib/Target/Mips/TargetInfo
+
+# X86 Code Generation Libraries
+subdirs += \
+  lib/Target/X86 \
+  lib/Target/X86/AsmParser \
+  lib/Target/X86/InstPrinter \
+  lib/Target/X86/Disassembler \
+  lib/Target/X86/MCTargetDesc \
+  lib/Target/X86/TargetInfo \
+  lib/Target/X86/Utils
+
+ifneq ($(filter radeonsi,$(BOARD_GPU_DRIVERS)),)
+# AMDGPU Code Generation Libraries
+subdirs += \
+  lib/Target/AMDGPU \
+  lib/Target/AMDGPU/AsmParser \
+  lib/Target/AMDGPU/InstPrinter \
+  lib/Target/AMDGPU/MCTargetDesc \
+  lib/Target/AMDGPU/TargetInfo \
+  lib/Target/AMDGPU/Utils
+endif
+
+# LLVM Command Line Tools
+subdirs += \
+  tools/bugpoint \
+  tools/bugpoint-passes \
+  tools/dsymutil \
+  tools/llc \
+  tools/lli \
+  tools/lli/ChildTarget \
+  tools/llvm-ar \
+  tools/llvm-as \
+  tools/llvm-bcanalyzer \
+  tools/llvm-c-test \
+  tools/llvm-config \
+  tools/llvm-cov \
+  tools/llvm-cxxdump \
+  tools/llvm-dis \
+  tools/llvm-diff \
+  tools/llvm-dwarfdump \
+  tools/llvm-dwp \
+  tools/llvm-extract \
+  tools/llvm-link \
+  tools/llvm-lto \
+  tools/llvm-mc \
+  tools/llvm-mcmarkup \
+  tools/llvm-nm \
+  tools/llvm-objdump \
+  tools/llvm-pdbdump \
+  tools/llvm-profdata \
+  tools/llvm-readobj \
+  tools/llvm-rtdyld \
+  tools/llvm-size \
+  tools/llvm-split \
+  tools/llvm-symbolizer \
+  tools/lto \
+  tools/gold \
+  tools/obj2yaml \
+  tools/opt \
+  tools/sancov \
+  tools/verify-uselistorder \
+  tools/yaml2obj \
+
+# LLVM Command Line Utilities
+subdirs += \
+  utils/count \
+  utils/FileCheck \
+  utils/not \
+  utils/TableGen \
+  utils/yaml-bench \
+
+include $(LOCAL_PATH)/llvm.mk
+include $(LOCAL_PATH)/shared_llvm.mk
+
+include $(addprefix $(LOCAL_PATH)/,$(addsuffix /Android.mk, $(subdirs)))
diff --git a/CleanSpec.mk b/CleanSpec.mk
new file mode 100644 (file)
index 0000000..df2d3de
--- /dev/null
@@ -0,0 +1,57 @@
+# Copyright (C) 2007 The Android Open Source Project
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#      http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+
+# If you don't need to do a full clean build but would like to touch
+# a file or delete some intermediate files, add a clean step to the end
+# of the list.  These steps will only be run once, if they haven't been
+# run before.
+#
+# E.g.:
+#     $(call add-clean-step, touch -c external/sqlite/sqlite3.h)
+#     $(call add-clean-step, rm -rf $(PRODUCT_OUT)/obj/STATIC_LIBRARIES/libz_intermediates)
+#
+# Always use "touch -c" and "rm -f" or "rm -rf" to gracefully deal with
+# files that are missing or have been moved.
+#
+# Use $(PRODUCT_OUT) to get to the "out/target/product/blah/" directory.
+# Use $(OUT_DIR) to refer to the "out" directory.
+#
+# If you need to re-do something that's already mentioned, just copy
+# the command and add it to the bottom of the list.  E.g., if a change
+# that you made last week required touching a file and a change you
+# made today requires touching the same file, just copy the old
+# touch step and add it to the end of the list.
+#
+# ************************************************
+# NEWER CLEAN STEPS MUST BE AT THE END OF THE LIST
+# ************************************************
+
+# For example:
+#$(call add-clean-step, rm -rf $(OUT_DIR)/target/common/obj/APPS/AndroidTests_intermediates)
+#$(call add-clean-step, rm -rf $(OUT_DIR)/target/common/obj/JAVA_LIBRARIES/core_intermediates)
+#$(call add-clean-step, find $(OUT_DIR) -type f -name "IGTalkSession*" -print0 | xargs -0 rm -f)
+#$(call add-clean-step, rm -rf $(PRODUCT_OUT)/data/*)
+
+# ************************************************
+# NEWER CLEAN STEPS MUST BE AT THE END OF THE LIST
+# ************************************************
+$(call add-clean-step, rm -rf $(OUT_DIR)/target/product/stingray/obj/STATIC_LIBRARIES/libLLVM*)
+$(call add-clean-step, rm -rf $(OUT_DIR)/target/product/stingray/obj/STATIC_LIBRARIES/libLLVMARMCodeGen_intermediates*)
+$(call add-clean-step, rm -rf $(OUT_DIR)/host/$(HOST_PREBUILT_TAG)/obj/STATIC_LIBRARIES/libLLVMARM*)
+$(call add-clean-step, rm -rf $(PRODUCT_OUT)/obj/STATIC_LIBRARIES/libLLVMARM*)
+$(call add-clean-step, rm -rf $(PRODUCT_OUT)/obj/EXECUTABLES/app_process__asan_intermediates*)
+$(call add-clean-step, rm -rf $(PRODUCT_OUT)/obj/STATIC_LIBRARIES/libLLVM*)
+$(call add-clean-step, rm -rf $(PRODUCT_OUT)/obj/SHARED_LIBRARIES/libLLVM*)
+$(call add-clean-step, rm -f external/llvm/tools/llvm-config/BuildVariables.inc)
diff --git a/clear_tblgen_vars.mk b/clear_tblgen_vars.mk
new file mode 100644 (file)
index 0000000..6c9623e
--- /dev/null
@@ -0,0 +1,2 @@
+TBLGEN_TABLES :=
+TBLGEN_TD_DIR :=
diff --git a/lib/Analysis/Android.mk b/lib/Analysis/Android.mk
new file mode 100644 (file)
index 0000000..80d3784
--- /dev/null
@@ -0,0 +1,100 @@
+LOCAL_PATH:= $(call my-dir)
+
+analysis_SRC_FILES := \
+  AliasAnalysis.cpp \
+  AliasAnalysisEvaluator.cpp \
+  AliasSetTracker.cpp \
+  Analysis.cpp \
+  AssumptionCache.cpp \
+  BasicAliasAnalysis.cpp \
+  BlockFrequencyInfo.cpp \
+  BlockFrequencyInfoImpl.cpp \
+  BranchProbabilityInfo.cpp \
+  CallGraph.cpp \
+  CallGraphSCCPass.cpp \
+  CallPrinter.cpp \
+  CaptureTracking.cpp \
+  CFG.cpp \
+  CFGPrinter.cpp \
+  CFLAliasAnalysis.cpp \
+  CGSCCPassManager.cpp \
+  CodeMetrics.cpp \
+  ConstantFolding.cpp \
+  CostModel.cpp \
+  Delinearization.cpp \
+  DemandedBits.cpp \
+  DependenceAnalysis.cpp \
+  DivergenceAnalysis.cpp \
+  DominanceFrontier.cpp \
+  DomPrinter.cpp \
+  EHPersonalities.cpp \
+  GlobalsModRef.cpp \
+  InlineCost.cpp \
+  InstCount.cpp \
+  InstructionSimplify.cpp \
+  Interval.cpp \
+  IntervalPartition.cpp \
+  IteratedDominanceFrontier.cpp \
+  IVUsers.cpp \
+  LazyCallGraph.cpp \
+  LazyValueInfo.cpp \
+  Lint.cpp \
+  Loads.cpp \
+  LoopAccessAnalysis.cpp \
+  LoopInfo.cpp \
+  LoopPass.cpp \
+  MemDepPrinter.cpp \
+  MemDerefPrinter.cpp \
+  MemoryBuiltins.cpp \
+  MemoryDependenceAnalysis.cpp \
+  MemoryLocation.cpp \
+  ModuleDebugInfoPrinter.cpp \
+  ObjCARCAliasAnalysis.cpp \
+  ObjCARCAnalysisUtils.cpp \
+  ObjCARCInstKind.cpp \
+  OrderedBasicBlock.cpp \
+  PHITransAddr.cpp \
+  PostDominators.cpp \
+  PtrUseVisitor.cpp \
+  RegionInfo.cpp \
+  RegionPass.cpp \
+  RegionPrinter.cpp \
+  ScalarEvolutionAliasAnalysis.cpp \
+  ScalarEvolution.cpp \
+  ScalarEvolutionExpander.cpp \
+  ScalarEvolutionNormalization.cpp \
+  ScopedNoAliasAA.cpp \
+  SparsePropagation.cpp \
+  TargetLibraryInfo.cpp \
+  TargetTransformInfo.cpp \
+  Trace.cpp \
+  TypeBasedAliasAnalysis.cpp \
+  ValueTracking.cpp \
+  VectorUtils.cpp
+
+# For the host
+# =====================================================
+include $(CLEAR_VARS)
+
+LOCAL_MODULE:= libLLVMAnalysis
+LOCAL_MODULE_HOST_OS := darwin linux windows
+LOCAL_SRC_FILES := $(analysis_SRC_FILES)
+
+include $(LLVM_HOST_BUILD_MK)
+include $(LLVM_GEN_ATTRIBUTES_MK)
+include $(LLVM_GEN_INTRINSICS_MK)
+include $(BUILD_HOST_STATIC_LIBRARY)
+
+# For the device
+# =====================================================
+ifneq (true,$(DISABLE_LLVM_DEVICE_BUILDS))
+include $(CLEAR_VARS)
+
+LOCAL_MODULE:= libLLVMAnalysis
+LOCAL_SRC_FILES := $(analysis_SRC_FILES)
+
+include $(LLVM_DEVICE_BUILD_MK)
+include $(LLVM_GEN_ATTRIBUTES_MK)
+include $(LLVM_GEN_INTRINSICS_MK)
+include $(BUILD_STATIC_LIBRARY)
+endif
diff --git a/lib/AsmParser/Android.mk b/lib/AsmParser/Android.mk
new file mode 100644 (file)
index 0000000..bb377d7
--- /dev/null
@@ -0,0 +1,36 @@
+LOCAL_PATH:= $(call my-dir)
+
+asm_parser_SRC_FILES := \
+  LLLexer.cpp \
+  LLParser.cpp \
+  Parser.cpp
+
+# For the host
+# =====================================================
+include $(CLEAR_VARS)
+
+LOCAL_SRC_FILES := $(asm_parser_SRC_FILES)
+
+LOCAL_MODULE:= libLLVMAsmParser
+
+LOCAL_MODULE_HOST_OS := darwin linux windows
+
+include $(LOCAL_PATH)/../../llvm-host-build.mk
+include $(LLVM_GEN_ATTRIBUTES_MK)
+include $(LLVM_GEN_INTRINSICS_MK)
+include $(BUILD_HOST_STATIC_LIBRARY)
+
+# For the device
+# =====================================================
+ifneq (true,$(DISABLE_LLVM_DEVICE_BUILDS))
+include $(CLEAR_VARS)
+
+LOCAL_SRC_FILES := $(asm_parser_SRC_FILES)
+
+LOCAL_MODULE:= libLLVMAsmParser
+
+include $(LOCAL_PATH)/../../llvm-device-build.mk
+include $(LLVM_GEN_ATTRIBUTES_MK)
+include $(LLVM_GEN_INTRINSICS_MK)
+include $(BUILD_STATIC_LIBRARY)
+endif
diff --git a/lib/Bitcode/Reader/Android.mk b/lib/Bitcode/Reader/Android.mk
new file mode 100644 (file)
index 0000000..3b6bc75
--- /dev/null
@@ -0,0 +1,36 @@
+LOCAL_PATH:= $(call my-dir)
+
+bitcode_reader_SRC_FILES := \
+       BitReader.cpp   \
+       BitcodeReader.cpp \
+       BitstreamReader.cpp
+
+# For the host
+# =====================================================
+include $(CLEAR_VARS)
+
+LOCAL_SRC_FILES := $(bitcode_reader_SRC_FILES)
+
+LOCAL_MODULE:= libLLVMBitReader
+
+LOCAL_MODULE_HOST_OS := darwin linux windows
+
+include $(LLVM_HOST_BUILD_MK)
+include $(LLVM_GEN_ATTRIBUTES_MK)
+include $(LLVM_GEN_INTRINSICS_MK)
+include $(BUILD_HOST_STATIC_LIBRARY)
+
+# For the device
+# =====================================================
+include $(CLEAR_VARS)
+ifneq (true,$(DISABLE_LLVM_DEVICE_BUILDS))
+
+LOCAL_SRC_FILES := $(bitcode_reader_SRC_FILES)
+
+LOCAL_MODULE:= libLLVMBitReader
+
+include $(LLVM_DEVICE_BUILD_MK)
+include $(LLVM_GEN_ATTRIBUTES_MK)
+include $(LLVM_GEN_INTRINSICS_MK)
+include $(BUILD_STATIC_LIBRARY)
+endif
diff --git a/lib/Bitcode/Writer/Android.mk b/lib/Bitcode/Writer/Android.mk
new file mode 100644 (file)
index 0000000..0f21ffc
--- /dev/null
@@ -0,0 +1,37 @@
+LOCAL_PATH:= $(call my-dir)
+
+bitcode_writer_SRC_FILES := \
+       BitWriter.cpp   \
+       BitcodeWriter.cpp       \
+       BitcodeWriterPass.cpp   \
+       ValueEnumerator.cpp
+
+# For the host
+# =====================================================
+include $(CLEAR_VARS)
+
+LOCAL_SRC_FILES := $(bitcode_writer_SRC_FILES)
+
+LOCAL_MODULE:= libLLVMBitWriter
+
+LOCAL_MODULE_HOST_OS := darwin linux windows
+
+include $(LLVM_HOST_BUILD_MK)
+include $(LLVM_GEN_ATTRIBUTES_MK)
+include $(LLVM_GEN_INTRINSICS_MK)
+include $(BUILD_HOST_STATIC_LIBRARY)
+
+# For the device
+# =====================================================
+include $(CLEAR_VARS)
+ifneq (true,$(DISABLE_LLVM_DEVICE_BUILDS))
+
+LOCAL_SRC_FILES := $(bitcode_writer_SRC_FILES)
+
+LOCAL_MODULE:= libLLVMBitWriter
+
+include $(LLVM_DEVICE_BUILD_MK)
+include $(LLVM_GEN_ATTRIBUTES_MK)
+include $(LLVM_GEN_INTRINSICS_MK)
+include $(BUILD_STATIC_LIBRARY)
+endif
diff --git a/lib/CodeGen/Android.mk b/lib/CodeGen/Android.mk
new file mode 100644 (file)
index 0000000..844ff80
--- /dev/null
@@ -0,0 +1,160 @@
+LOCAL_PATH:= $(call my-dir)
+
+codegen_SRC_FILES := \
+  AggressiveAntiDepBreaker.cpp \
+  AllocationOrder.cpp \
+  Analysis.cpp \
+  AtomicExpandPass.cpp \
+  BasicTargetTransformInfo.cpp \
+  BranchFolding.cpp \
+  CalcSpillWeights.cpp \
+  CallingConvLower.cpp \
+  CodeGen.cpp \
+  CodeGenPrepare.cpp \
+  CoreCLRGC.cpp \
+  CriticalAntiDepBreaker.cpp \
+  DeadMachineInstructionElim.cpp \
+  DFAPacketizer.cpp \
+  DwarfEHPrepare.cpp \
+  EarlyIfConversion.cpp \
+  EdgeBundles.cpp \
+  ErlangGC.cpp \
+  ExecutionDepsFix.cpp \
+  ExpandISelPseudos.cpp \
+  ExpandPostRAPseudos.cpp \
+  FaultMaps.cpp \
+  FuncletLayout.cpp \
+  GCMetadata.cpp \
+  GCMetadataPrinter.cpp \
+  GCRootLowering.cpp \
+  GCStrategy.cpp \
+  GlobalMerge.cpp \
+  IfConversion.cpp \
+  ImplicitNullChecks.cpp \
+  InlineSpiller.cpp \
+  InterferenceCache.cpp \
+  InterleavedAccessPass.cpp \
+  IntrinsicLowering.cpp \
+  LatencyPriorityQueue.cpp \
+  LexicalScopes.cpp \
+  LiveDebugValues.cpp \
+  LiveDebugVariables.cpp \
+  LiveIntervalAnalysis.cpp \
+  LiveInterval.cpp \
+  LiveIntervalUnion.cpp \
+  LivePhysRegs.cpp \
+  LiveRangeCalc.cpp \
+  LiveRangeEdit.cpp \
+  LiveRegMatrix.cpp \
+  LiveStackAnalysis.cpp \
+  LiveVariables.cpp \
+  LLVMTargetMachine.cpp \
+  LocalStackSlotAllocation.cpp \
+  LowerEmuTLS.cpp \
+  MachineBasicBlock.cpp \
+  MachineBlockFrequencyInfo.cpp \
+  MachineBlockPlacement.cpp \
+  MachineBranchProbabilityInfo.cpp \
+  MachineCombiner.cpp \
+  MachineCopyPropagation.cpp \
+  MachineCSE.cpp \
+  MachineDominanceFrontier.cpp \
+  MachineDominators.cpp \
+  MachineFunctionAnalysis.cpp \
+  MachineFunction.cpp \
+  MachineFunctionPass.cpp \
+  MachineFunctionPrinterPass.cpp \
+  MachineInstrBundle.cpp \
+  MachineInstr.cpp \
+  MachineLICM.cpp \
+  MachineLoopInfo.cpp \
+  MachineModuleInfo.cpp \
+  MachineModuleInfoImpls.cpp \
+  MachinePassRegistry.cpp \
+  MachinePostDominators.cpp \
+  MachineRegionInfo.cpp \
+  MachineRegisterInfo.cpp \
+  MachineScheduler.cpp \
+  MachineSink.cpp \
+  MachineSSAUpdater.cpp \
+  MachineTraceMetrics.cpp \
+  MachineVerifier.cpp \
+  MIRPrinter.cpp \
+  MIRPrintingPass.cpp \
+  OcamlGC.cpp \
+  OptimizePHIs.cpp \
+  ParallelCG.cpp \
+  Passes.cpp \
+  PeepholeOptimizer.cpp \
+  PHIElimination.cpp \
+  PHIEliminationUtils.cpp \
+  PostRASchedulerList.cpp \
+  ProcessImplicitDefs.cpp \
+  PrologEpilogInserter.cpp \
+  PseudoSourceValue.cpp \
+  RegAllocBase.cpp \
+  RegAllocBasic.cpp \
+  RegAllocFast.cpp \
+  RegAllocGreedy.cpp \
+  RegAllocPBQP.cpp \
+  RegisterClassInfo.cpp \
+  RegisterCoalescer.cpp \
+  RegisterPressure.cpp \
+  RegisterScavenging.cpp \
+  ScheduleDAG.cpp \
+  ScheduleDAGInstrs.cpp \
+  ScheduleDAGPrinter.cpp \
+  ScoreboardHazardRecognizer.cpp \
+  ShrinkWrap.cpp \
+  ShadowStackGC.cpp \
+  ShadowStackGCLowering.cpp \
+  SjLjEHPrepare.cpp \
+  SlotIndexes.cpp \
+  SpillPlacement.cpp \
+  SplitKit.cpp \
+  StackColoring.cpp \
+  StackMapLivenessAnalysis.cpp \
+  StackMaps.cpp \
+  StackProtector.cpp \
+  StackSlotColoring.cpp \
+  StatepointExampleGC.cpp \
+  TailDuplication.cpp \
+  TargetFrameLoweringImpl.cpp \
+  TargetInstrInfo.cpp \
+  TargetLoweringBase.cpp \
+  TargetLoweringObjectFileImpl.cpp \
+  TargetOptionsImpl.cpp \
+  TargetRegisterInfo.cpp \
+  TargetSchedule.cpp \
+  TwoAddressInstructionPass.cpp \
+  UnreachableBlockElim.cpp \
+  VirtRegMap.cpp \
+  WinEHPrepare.cpp
+
+# For the host
+# =====================================================
+include $(CLEAR_VARS)
+
+LOCAL_SRC_FILES := $(codegen_SRC_FILES)
+LOCAL_MODULE:= libLLVMCodeGen
+
+LOCAL_MODULE_HOST_OS := darwin linux windows
+
+include $(LLVM_HOST_BUILD_MK)
+include $(LLVM_GEN_ATTRIBUTES_MK)
+include $(LLVM_GEN_INTRINSICS_MK)
+include $(BUILD_HOST_STATIC_LIBRARY)
+
+# For the device
+# =====================================================
+ifneq (true,$(DISABLE_LLVM_DEVICE_BUILDS))
+include $(CLEAR_VARS)
+
+LOCAL_SRC_FILES := $(codegen_SRC_FILES)
+LOCAL_MODULE:= libLLVMCodeGen
+
+include $(LLVM_DEVICE_BUILD_MK)
+include $(LLVM_GEN_ATTRIBUTES_MK)
+include $(LLVM_GEN_INTRINSICS_MK)
+include $(BUILD_STATIC_LIBRARY)
+endif
diff --git a/lib/CodeGen/AsmPrinter/Android.mk b/lib/CodeGen/AsmPrinter/Android.mk
new file mode 100644 (file)
index 0000000..8739338
--- /dev/null
@@ -0,0 +1,55 @@
+LOCAL_PATH := $(call my-dir)
+
+codegen_asmprinter_SRC_FILES := \
+  AddressPool.cpp \
+  ARMException.cpp \
+  AsmPrinter.cpp \
+  AsmPrinterDwarf.cpp \
+  AsmPrinterInlineAsm.cpp \
+  DbgValueHistoryCalculator.cpp \
+  DebugLocStream.cpp \
+  DIE.cpp \
+  DIEHash.cpp \
+  DwarfAccelTable.cpp \
+  DwarfCFIException.cpp \
+  DwarfCompileUnit.cpp \
+  DwarfDebug.cpp \
+  DwarfExpression.cpp \
+  DwarfFile.cpp \
+  DwarfStringPool.cpp \
+  DwarfUnit.cpp \
+  EHStreamer.cpp \
+  ErlangGCPrinter.cpp \
+  OcamlGCPrinter.cpp \
+  WinException.cpp \
+  WinCodeViewLineTables.cpp
+
+
+
+# For the host
+# =====================================================
+include $(CLEAR_VARS)
+
+LOCAL_SRC_FILES := $(codegen_asmprinter_SRC_FILES)
+LOCAL_MODULE:= libLLVMAsmPrinter
+
+LOCAL_MODULE_HOST_OS := darwin linux windows
+
+include $(LLVM_HOST_BUILD_MK)
+include $(LLVM_GEN_ATTRIBUTES_MK)
+include $(LLVM_GEN_INTRINSICS_MK)
+include $(BUILD_HOST_STATIC_LIBRARY)
+
+# For the device
+# =====================================================
+ifneq (true,$(DISABLE_LLVM_DEVICE_BUILDS))
+include $(CLEAR_VARS)
+
+LOCAL_SRC_FILES := $(codegen_asmprinter_SRC_FILES)
+LOCAL_MODULE:= libLLVMAsmPrinter
+
+include $(LLVM_DEVICE_BUILD_MK)
+include $(LLVM_GEN_ATTRIBUTES_MK)
+include $(LLVM_GEN_INTRINSICS_MK)
+include $(BUILD_STATIC_LIBRARY)
+endif
diff --git a/lib/CodeGen/MIRParser/Android.mk b/lib/CodeGen/MIRParser/Android.mk
new file mode 100644 (file)
index 0000000..4811c43
--- /dev/null
@@ -0,0 +1,36 @@
+LOCAL_PATH:= $(call my-dir)
+
+MIRParser_SRC_FILES := \
+  MILexer.cpp \
+  MIParser.cpp \
+  MIRParser.cpp
+
+# For the host
+# =====================================================
+include $(CLEAR_VARS)
+
+LOCAL_SRC_FILES := $(MIRParser_SRC_FILES)
+
+LOCAL_MODULE:= libLLVMMIRParser
+
+LOCAL_MODULE_TAGS := optional
+
+include $(LLVM_HOST_BUILD_MK)
+include $(LLVM_GEN_ATTRIBUTES_MK)
+include $(BUILD_HOST_STATIC_LIBRARY)
+
+# For the device
+# =====================================================
+include $(CLEAR_VARS)
+ifneq (true,$(DISABLE_LLVM_DEVICE_BUILDS))
+
+LOCAL_SRC_FILES := $(MIRParser_SRC_FILES)
+
+LOCAL_MODULE:= libLLVMMIRParser
+
+LOCAL_MODULE_TAGS := optional
+
+include $(LLVM_DEVICE_BUILD_MK)
+include $(LLVM_GEN_ATTRIBUTES_MK)
+include $(BUILD_STATIC_LIBRARY)
+endif
diff --git a/lib/CodeGen/SelectionDAG/Android.mk b/lib/CodeGen/SelectionDAG/Android.mk
new file mode 100644 (file)
index 0000000..627ca10
--- /dev/null
@@ -0,0 +1,57 @@
+LOCAL_PATH:= $(call my-dir)
+
+codegen_selectiondag_SRC_FILES := \
+  DAGCombiner.cpp \
+  FastISel.cpp \
+  FunctionLoweringInfo.cpp \
+  InstrEmitter.cpp \
+  LegalizeDAG.cpp \
+  LegalizeFloatTypes.cpp \
+  LegalizeIntegerTypes.cpp \
+  LegalizeTypes.cpp \
+  LegalizeTypesGeneric.cpp \
+  LegalizeVectorOps.cpp \
+  LegalizeVectorTypes.cpp \
+  ResourcePriorityQueue.cpp \
+  ScheduleDAGFast.cpp \
+  ScheduleDAGRRList.cpp \
+  ScheduleDAGSDNodes.cpp \
+  ScheduleDAGVLIW.cpp \
+  SelectionDAG.cpp \
+  SelectionDAGBuilder.cpp \
+  SelectionDAGDumper.cpp \
+  SelectionDAGISel.cpp \
+  SelectionDAGPrinter.cpp \
+  StatepointLowering.cpp \
+  TargetLowering.cpp \
+  TargetSelectionDAGInfo.cpp
+
+# For the host
+# =====================================================
+include $(CLEAR_VARS)
+
+LOCAL_SRC_FILES := $(codegen_selectiondag_SRC_FILES)
+
+LOCAL_MODULE:= libLLVMSelectionDAG
+
+LOCAL_MODULE_HOST_OS := darwin linux windows
+
+include $(LLVM_HOST_BUILD_MK)
+include $(LLVM_GEN_ATTRIBUTES_MK)
+include $(LLVM_GEN_INTRINSICS_MK)
+include $(BUILD_HOST_STATIC_LIBRARY)
+
+# For the device
+# =====================================================
+ifneq (true,$(DISABLE_LLVM_DEVICE_BUILDS))
+include $(CLEAR_VARS)
+
+LOCAL_SRC_FILES := $(codegen_selectiondag_SRC_FILES)
+
+LOCAL_MODULE:= libLLVMSelectionDAG
+
+include $(LLVM_DEVICE_BUILD_MK)
+include $(LLVM_GEN_ATTRIBUTES_MK)
+include $(LLVM_GEN_INTRINSICS_MK)
+include $(BUILD_STATIC_LIBRARY)
+endif
diff --git a/lib/DebugInfo/DWARF/Android.mk b/lib/DebugInfo/DWARF/Android.mk
new file mode 100644 (file)
index 0000000..057f72b
--- /dev/null
@@ -0,0 +1,53 @@
+LOCAL_PATH:= $(call my-dir)
+
+debuginfo_dwarf_SRC_FILES := \
+  DWARFAbbreviationDeclaration.cpp \
+  DWARFAcceleratorTable.cpp \
+  DWARFCompileUnit.cpp \
+  DWARFContext.cpp \
+  DWARFDebugAbbrev.cpp \
+  DWARFDebugArangeSet.cpp \
+  DWARFDebugAranges.cpp \
+  DWARFDebugFrame.cpp \
+  DWARFDebugInfoEntry.cpp \
+  DWARFDebugLine.cpp \
+  DWARFDebugLoc.cpp \
+  DWARFDebugMacro.cpp \
+  DWARFDebugRangeList.cpp \
+  DWARFFormValue.cpp \
+  DWARFTypeUnit.cpp \
+  DWARFUnit.cpp \
+  DWARFUnitIndex.cpp \
+  SyntaxHighlighting.cpp
+
+# For the host
+# =====================================================
+include $(CLEAR_VARS)
+
+REQUIRES_RTTI := 1
+
+LOCAL_SRC_FILES := $(debuginfo_dwarf_SRC_FILES)
+
+LOCAL_MODULE:= libLLVMDebugInfoDWARF
+
+LOCAL_MODULE_HOST_OS := darwin linux windows
+
+include $(LLVM_HOST_BUILD_MK)
+include $(LLVM_GEN_INTRINSICS_MK)
+include $(BUILD_HOST_STATIC_LIBRARY)
+
+# For the device
+# =====================================================
+ifneq (true,$(DISABLE_LLVM_DEVICE_BUILDS))
+include $(CLEAR_VARS)
+
+REQUIRES_RTTI := 1
+
+LOCAL_SRC_FILES := $(debuginfo_dwarf_SRC_FILES)
+
+LOCAL_MODULE:= libLLVMDebugInfoDWARF
+
+include $(LLVM_DEVICE_BUILD_MK)
+include $(LLVM_GEN_INTRINSICS_MK)
+include $(BUILD_STATIC_LIBRARY)
+endif
diff --git a/lib/DebugInfo/PDB/Android.mk b/lib/DebugInfo/PDB/Android.mk
new file mode 100644 (file)
index 0000000..c7acf33
--- /dev/null
@@ -0,0 +1,74 @@
+LOCAL_PATH:= $(call my-dir)
+
+# No dia support
+debuginfo_pdb_SRC_FILES := \
+  IPDBSourceFile.cpp \
+  PDB.cpp \
+  PDBContext.cpp \
+  PDBExtras.cpp \
+  PDBInterfaceAnchors.cpp \
+  PDBSymbolAnnotation.cpp \
+  PDBSymbolBlock.cpp \
+  PDBSymbolCompiland.cpp \
+  PDBSymbolCompilandDetails.cpp \
+  PDBSymbolCompilandEnv.cpp \
+  PDBSymbol.cpp \
+  PDBSymbolCustom.cpp \
+  PDBSymbolData.cpp \
+  PDBSymbolExe.cpp \
+  PDBSymbolFunc.cpp \
+  PDBSymbolFuncDebugEnd.cpp \
+  PDBSymbolFuncDebugStart.cpp \
+  PDBSymbolLabel.cpp \
+  PDBSymbolPublicSymbol.cpp \
+  PDBSymbolThunk.cpp \
+  PDBSymbolTypeArray.cpp \
+  PDBSymbolTypeBaseClass.cpp \
+  PDBSymbolTypeBuiltin.cpp \
+  PDBSymbolTypeCustom.cpp \
+  PDBSymbolTypeDimension.cpp \
+  PDBSymbolTypeEnum.cpp \
+  PDBSymbolTypeFriend.cpp \
+  PDBSymbolTypeFunctionArg.cpp \
+  PDBSymbolTypeFunctionSig.cpp \
+  PDBSymbolTypeManaged.cpp \
+  PDBSymbolTypePointer.cpp \
+  PDBSymbolTypeTypedef.cpp \
+  PDBSymbolTypeUDT.cpp \
+  PDBSymbolTypeVTable.cpp \
+  PDBSymbolTypeVTableShape.cpp \
+  PDBSymbolUnknown.cpp \
+  PDBSymbolUsingNamespace.cpp \
+  PDBSymDumper.cpp
+
+# For the host
+# =====================================================
+include $(CLEAR_VARS)
+
+REQUIRES_RTTI := 1
+
+LOCAL_SRC_FILES := $(debuginfo_pdb_SRC_FILES)
+
+LOCAL_MODULE:= libLLVMDebugInfoPDB
+
+LOCAL_MODULE_HOST_OS := darwin linux windows
+
+include $(LLVM_HOST_BUILD_MK)
+include $(LLVM_GEN_INTRINSICS_MK)
+include $(BUILD_HOST_STATIC_LIBRARY)
+
+# For the device
+# =====================================================
+ifneq (true,$(DISABLE_LLVM_DEVICE_BUILDS))
+include $(CLEAR_VARS)
+
+REQUIRES_RTTI := 1
+
+LOCAL_SRC_FILES := $(debuginfo_pdb_SRC_FILES)
+
+LOCAL_MODULE:= libLLVMDebugInfoPDB
+
+include $(LLVM_DEVICE_BUILD_MK)
+include $(LLVM_GEN_INTRINSICS_MK)
+include $(BUILD_STATIC_LIBRARY)
+endif
diff --git a/lib/DebugInfo/Symbolize/Android.mk b/lib/DebugInfo/Symbolize/Android.mk
new file mode 100644 (file)
index 0000000..deb98e4
--- /dev/null
@@ -0,0 +1,34 @@
+LOCAL_PATH:= $(call my-dir)
+
+debuginfo_symbolize_SRC_FILES := \
+  DIPrinter.cpp \
+  SymbolizableObjectFile.cpp \
+  Symbolize.cpp \
+
+# For the host
+# =====================================================
+include $(CLEAR_VARS)
+
+LOCAL_SRC_FILES := $(debuginfo_symbolize_SRC_FILES)
+
+LOCAL_MODULE:= libLLVMSymbolize
+
+LOCAL_MODULE_HOST_OS := darwin linux windows
+
+include $(LLVM_HOST_BUILD_MK)
+include $(LLVM_GEN_INTRINSICS_MK)
+include $(BUILD_HOST_STATIC_LIBRARY)
+
+# For the device
+# =====================================================
+ifneq (true,$(DISABLE_LLVM_DEVICE_BUILDS))
+include $(CLEAR_VARS)
+
+LOCAL_SRC_FILES := $(debuginfo_symbolize_SRC_FILES)
+
+LOCAL_MODULE:= libLLVMSymbolize
+
+include $(LLVM_DEVICE_BUILD_MK)
+include $(LLVM_GEN_INTRINSICS_MK)
+include $(BUILD_STATIC_LIBRARY)
+endif
diff --git a/lib/ExecutionEngine/Android.mk b/lib/ExecutionEngine/Android.mk
new file mode 100644 (file)
index 0000000..dae2faf
--- /dev/null
@@ -0,0 +1,33 @@
+LOCAL_PATH:= $(call my-dir)
+
+executionengine_SRC_FILES := \
+       ExecutionEngineBindings.cpp \
+       ExecutionEngine.cpp \
+       GDBRegistrationListener.cpp \
+       SectionMemoryManager.cpp \
+       TargetSelect.cpp
+
+# For the host
+# =====================================================
+include $(CLEAR_VARS)
+
+LOCAL_MODULE := libLLVMExecutionEngine
+LOCAL_MODULE_HOST_OS := darwin linux windows
+LOCAL_SRC_FILES := $(executionengine_SRC_FILES)
+
+include $(LLVM_HOST_BUILD_MK)
+include $(LLVM_GEN_ATTRIBUTES_MK)
+include $(BUILD_HOST_STATIC_LIBRARY)
+
+# For the device
+# =====================================================
+ifneq (true,$(DISABLE_LLVM_DEVICE_BUILDS))
+include $(CLEAR_VARS)
+
+LOCAL_MODULE := libLLVMExecutionEngine
+LOCAL_SRC_FILES := $(executionengine_SRC_FILES)
+
+include $(LLVM_DEVICE_BUILD_MK)
+include $(LLVM_GEN_ATTRIBUTES_MK)
+include $(BUILD_STATIC_LIBRARY)
+endif
diff --git a/lib/ExecutionEngine/Interpreter/Android.mk b/lib/ExecutionEngine/Interpreter/Android.mk
new file mode 100644 (file)
index 0000000..35d5ced
--- /dev/null
@@ -0,0 +1,34 @@
+LOCAL_PATH:= $(call my-dir)
+
+interpreter_SRC_FILES := \
+  Execution.cpp         \
+  ExternalFunctions.cpp \
+  Interpreter.cpp       \
+
+# For the host
+# =====================================================
+include $(CLEAR_VARS)
+
+LOCAL_SRC_FILES := $(interpreter_SRC_FILES)
+LOCAL_MODULE := libLLVMInterpreter
+
+LOCAL_MODULE_HOST_OS := darwin linux windows
+
+include $(LLVM_HOST_BUILD_MK)
+include $(LLVM_GEN_ATTRIBUTES_MK)
+include $(LLVM_GEN_INTRINSICS_MK)
+include $(BUILD_HOST_STATIC_LIBRARY)
+
+# For the device
+# =====================================================
+ifneq (true,$(DISABLE_LLVM_DEVICE_BUILDS))
+include $(CLEAR_VARS)
+
+LOCAL_SRC_FILES := $(interpreter_SRC_FILES)
+LOCAL_MODULE := libLLVMInterpreter
+
+include $(LLVM_DEVICE_BUILD_MK)
+include $(LLVM_GEN_ATTRIBUTES_MK)
+include $(LLVM_GEN_INTRINSICS_MK)
+include $(BUILD_STATIC_LIBRARY)
+endif
diff --git a/lib/ExecutionEngine/MCJIT/Android.mk b/lib/ExecutionEngine/MCJIT/Android.mk
new file mode 100644 (file)
index 0000000..3412fa4
--- /dev/null
@@ -0,0 +1,30 @@
+LOCAL_PATH:= $(call my-dir)
+
+mcjit_SRC_FILES := \
+  MCJIT.cpp
+
+# For the host
+# =====================================================
+include $(CLEAR_VARS)
+
+LOCAL_SRC_FILES := $(mcjit_SRC_FILES)
+LOCAL_MODULE := libLLVMMCJIT
+
+LOCAL_MODULE_HOST_OS := darwin linux windows
+
+include $(LLVM_HOST_BUILD_MK)
+include $(LLVM_GEN_ATTRIBUTES_MK)
+include $(BUILD_HOST_STATIC_LIBRARY)
+
+# For the device
+# =====================================================
+ifneq (true,$(DISABLE_LLVM_DEVICE_BUILDS))
+include $(CLEAR_VARS)
+
+LOCAL_SRC_FILES := $(mcjit_SRC_FILES)
+LOCAL_MODULE := libLLVMMCJIT
+
+include $(LLVM_DEVICE_BUILD_MK)
+include $(LLVM_GEN_ATTRIBUTES_MK)
+include $(BUILD_STATIC_LIBRARY)
+endif
diff --git a/lib/ExecutionEngine/Orc/Android.mk b/lib/ExecutionEngine/Orc/Android.mk
new file mode 100644 (file)
index 0000000..ade4fd2
--- /dev/null
@@ -0,0 +1,35 @@
+LOCAL_PATH:= $(call my-dir)
+
+orcjit_SRC_FILES := \
+  ExecutionUtils.cpp \
+  IndirectionUtils.cpp \
+  OrcMCJITReplacement.cpp \
+  OrcTargetSupport.cpp
+
+# For the host
+# =====================================================
+include $(CLEAR_VARS)
+
+LOCAL_SRC_FILES := $(orcjit_SRC_FILES)
+LOCAL_MODULE := libLLVMOrcJIT
+
+LOCAL_MODULE_HOST_OS := darwin linux windows
+
+include $(LLVM_HOST_BUILD_MK)
+include $(LLVM_GEN_ATTRIBUTES_MK)
+include $(LLVM_GEN_INTRINSICS_MK)
+include $(BUILD_HOST_STATIC_LIBRARY)
+
+# For the device
+# =====================================================
+ifneq (true,$(DISABLE_LLVM_DEVICE_BUILDS))
+include $(CLEAR_VARS)
+
+LOCAL_SRC_FILES := $(orcjit_SRC_FILES)
+LOCAL_MODULE := libLLVMOrcJIT
+
+include $(LLVM_DEVICE_BUILD_MK)
+include $(LLVM_GEN_ATTRIBUTES_MK)
+include $(LLVM_GEN_INTRINSICS_MK)
+include $(BUILD_STATIC_LIBRARY)
+endif
diff --git a/lib/ExecutionEngine/RuntimeDyld/Android.mk b/lib/ExecutionEngine/RuntimeDyld/Android.mk
new file mode 100644 (file)
index 0000000..8d4ab5d
--- /dev/null
@@ -0,0 +1,33 @@
+LOCAL_PATH:= $(call my-dir)
+
+runtimedyld_SRC_FILES := \
+  RTDyldMemoryManager.cpp \
+  RuntimeDyldChecker.cpp \
+  RuntimeDyld.cpp \
+  RuntimeDyldCOFF.cpp \
+  RuntimeDyldELF.cpp \
+  RuntimeDyldMachO.cpp
+
+# For the host
+# =====================================================
+include $(CLEAR_VARS)
+
+LOCAL_SRC_FILES := $(runtimedyld_SRC_FILES)
+LOCAL_MODULE := libLLVMRuntimeDyld
+
+LOCAL_MODULE_HOST_OS := darwin linux windows
+
+include $(LLVM_HOST_BUILD_MK)
+include $(BUILD_HOST_STATIC_LIBRARY)
+
+# For the device
+# =====================================================
+ifneq (true,$(DISABLE_LLVM_DEVICE_BUILDS))
+include $(CLEAR_VARS)
+
+LOCAL_SRC_FILES := $(runtimedyld_SRC_FILES)
+LOCAL_MODULE := libLLVMRuntimeDyld
+
+include $(LLVM_DEVICE_BUILD_MK)
+include $(BUILD_STATIC_LIBRARY)
+endif
diff --git a/lib/Fuzzer/Android.mk b/lib/Fuzzer/Android.mk
new file mode 100644 (file)
index 0000000..ba59d64
--- /dev/null
@@ -0,0 +1,65 @@
+#
+# Copyright (C) 2015 The Android Open Source Project
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#      http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+
+LOCAL_PATH := $(call my-dir)
+
+libfuzzer_srcs := \
+    FuzzerCrossOver.cpp \
+    FuzzerInterface.cpp \
+    FuzzerTraceState.cpp \
+    FuzzerDriver.cpp \
+    FuzzerIO.cpp \
+    FuzzerLoop.cpp \
+    FuzzerMutate.cpp \
+    FuzzerSanitizerOptions.cpp \
+    FuzzerSHA1.cpp \
+    FuzzerUtil.cpp \
+
+include $(CLEAR_VARS)
+LOCAL_CLANG := true
+LOCAL_MODULE := libLLVMFuzzerNoMain
+LOCAL_C_INCLUDES := external/compiler-rt/include
+LOCAL_SRC_FILES := $(libfuzzer_srcs)
+LOCAL_SANITIZE := never
+LOCAL_MULTILIB := both
+include $(BUILD_STATIC_LIBRARY)
+
+include $(CLEAR_VARS)
+LOCAL_CLANG := true
+LOCAL_MODULE := libLLVMFuzzer
+LOCAL_SRC_FILES := FuzzerMain.cpp
+LOCAL_WHOLE_STATIC_LIBRARIES := libLLVMFuzzerNoMain
+LOCAL_SANITIZE := never
+LOCAL_MULTILIB := both
+include $(BUILD_STATIC_LIBRARY)
+
+include $(CLEAR_VARS)
+LOCAL_CLANG := true
+LOCAL_MODULE := libLLVMFuzzerNoMain
+LOCAL_C_INCLUDES := external/compiler-rt/include
+LOCAL_SRC_FILES := $(libfuzzer_srcs)
+LOCAL_SANITIZE := never
+LOCAL_MULTILIB := both
+include $(BUILD_HOST_STATIC_LIBRARY)
+
+include $(CLEAR_VARS)
+LOCAL_CLANG := true
+LOCAL_MODULE := libLLVMFuzzer
+LOCAL_SRC_FILES := FuzzerMain.cpp
+LOCAL_WHOLE_STATIC_LIBRARIES := libLLVMFuzzerNoMain
+LOCAL_SANITIZE := never
+LOCAL_MULTILIB := both
+include $(BUILD_HOST_STATIC_LIBRARY)
diff --git a/lib/IR/Android.mk b/lib/IR/Android.mk
new file mode 100644 (file)
index 0000000..7249976
--- /dev/null
@@ -0,0 +1,88 @@
+LOCAL_PATH:= $(call my-dir)
+
+vmcore_SRC_FILES := \
+  AsmWriter.cpp \
+  Attributes.cpp \
+  AutoUpgrade.cpp \
+  BasicBlock.cpp \
+  Comdat.cpp \
+  ConstantFold.cpp \
+  ConstantRange.cpp \
+  Constants.cpp \
+  Core.cpp \
+  DataLayout.cpp \
+  DebugInfo.cpp \
+  DebugInfoMetadata.cpp \
+  DebugLoc.cpp \
+  DiagnosticInfo.cpp \
+  DiagnosticPrinter.cpp \
+  DIBuilder.cpp \
+  Dominators.cpp \
+  Function.cpp \
+  FunctionInfo.cpp \
+  GCOV.cpp \
+  GVMaterializer.cpp \
+  Globals.cpp \
+  IRBuilder.cpp \
+  IRPrintingPasses.cpp \
+  InlineAsm.cpp \
+  Instruction.cpp \
+  Instructions.cpp \
+  IntrinsicInst.cpp \
+  LLVMContext.cpp \
+  LLVMContextImpl.cpp \
+  LegacyPassManager.cpp \
+  Mangler.cpp \
+  MDBuilder.cpp \
+  Metadata.cpp \
+  MetadataTracking.cpp \
+  Module.cpp \
+  Operator.cpp \
+  Pass.cpp \
+  PassManager.cpp \
+  PassRegistry.cpp \
+  Statepoint.cpp \
+  Type.cpp \
+  TypeFinder.cpp \
+  Use.cpp \
+  User.cpp \
+  Value.cpp \
+  ValueSymbolTable.cpp \
+  ValueTypes.cpp \
+  Verifier.cpp
+
+# For the host
+# =====================================================
+include $(CLEAR_VARS)
+
+REQUIRES_RTTI := 1
+
+LOCAL_SRC_FILES := $(vmcore_SRC_FILES)
+
+LOCAL_MODULE:= libLLVMCore
+
+LOCAL_MODULE_HOST_OS := darwin linux windows
+
+include $(LLVM_HOST_BUILD_MK)
+include $(LLVM_GEN_ATTRIBUTES_MK)
+include $(LLVM_GEN_INTRINSICS_MK)
+include $(BUILD_HOST_STATIC_LIBRARY)
+
+# For the device
+# =====================================================
+include $(CLEAR_VARS)
+ifneq (true,$(DISABLE_LLVM_DEVICE_BUILDS))
+
+REQUIRES_RTTI := 1
+
+LOCAL_SRC_FILES := $(vmcore_SRC_FILES)
+
+LOCAL_MODULE:= libLLVMCore
+LOCAL_MODULE_CLASS := STATIC_LIBRARIES
+LOCAL_EXPORT_C_INCLUDE_DIRS := $(call local-generated-sources-dir)
+
+include $(LLVM_DEVICE_BUILD_MK)
+include $(LLVM_GEN_ATTRIBUTES_MK)
+include $(LLVM_GEN_INTRINSICS_MK)
+include $(BUILD_STATIC_LIBRARY)
+endif
diff --git a/lib/IRReader/Android.mk b/lib/IRReader/Android.mk
new file mode 100644 (file)
index 0000000..b33502e
--- /dev/null
@@ -0,0 +1,38 @@
+LOCAL_PATH:= $(call my-dir)
+
+irreader_SRC_FILES := \
+  IRReader.cpp
+
+# For the host
+# =====================================================
+include $(CLEAR_VARS)
+
+REQUIRES_RTTI := 1
+
+LOCAL_SRC_FILES := $(irreader_SRC_FILES)
+
+LOCAL_MODULE:= libLLVMIRReader
+
+LOCAL_MODULE_HOST_OS := darwin linux windows
+
+include $(LLVM_HOST_BUILD_MK)
+include $(LLVM_GEN_ATTRIBUTES_MK)
+include $(LLVM_GEN_INTRINSICS_MK)
+include $(BUILD_HOST_STATIC_LIBRARY)
+
+# For the device
+# =====================================================
+ifneq (true,$(DISABLE_LLVM_DEVICE_BUILDS))
+include $(CLEAR_VARS)
+
+REQUIRES_RTTI := 1
+
+LOCAL_SRC_FILES := $(irreader_SRC_FILES)
+
+LOCAL_MODULE:= libLLVMIRReader
+
+include $(LLVM_DEVICE_BUILD_MK)
+include $(LLVM_GEN_ATTRIBUTES_MK)
+include $(LLVM_GEN_INTRINSICS_MK)
+include $(BUILD_STATIC_LIBRARY)
+endif
diff --git a/lib/LTO/Android.mk b/lib/LTO/Android.mk
new file mode 100644 (file)
index 0000000..1a06ed1
--- /dev/null
@@ -0,0 +1,37 @@
+LOCAL_PATH:= $(call my-dir)
+
+lto_SRC_FILES := \
+  LTOModule.cpp \
+  LTOCodeGenerator.cpp \
+
+# For the host
+# =====================================================
+include $(CLEAR_VARS)
+
+LOCAL_SRC_FILES := $(lto_SRC_FILES)
+
+LOCAL_MODULE:= libLLVMLTO
+
+LOCAL_MODULE_TAGS := optional
+
+include $(LLVM_HOST_BUILD_MK)
+include $(LLVM_GEN_ATTRIBUTES_MK)
+include $(LLVM_GEN_INTRINSICS_MK)
+include $(BUILD_HOST_STATIC_LIBRARY)
+
+# For the device
+# =====================================================
+ifneq (true,$(DISABLE_LLVM_DEVICE_BUILDS))
+include $(CLEAR_VARS)
+
+LOCAL_SRC_FILES := $(lto_SRC_FILES)
+
+LOCAL_MODULE:= libLLVMLTO
+
+LOCAL_MODULE_TAGS := optional
+
+include $(LLVM_DEVICE_BUILD_MK)
+include $(LLVM_GEN_ATTRIBUTES_MK)
+include $(LLVM_GEN_INTRINSICS_MK)
+include $(BUILD_STATIC_LIBRARY)
+endif
diff --git a/lib/Linker/Android.mk b/lib/Linker/Android.mk
new file mode 100644 (file)
index 0000000..b227156
--- /dev/null
@@ -0,0 +1,35 @@
+LOCAL_PATH:= $(call my-dir)
+
+linker_SRC_FILES := \
+  IRMover.cpp \
+  LinkModules.cpp
+
+# For the host
+# =====================================================
+include $(CLEAR_VARS)
+include $(CLEAR_TBLGEN_VARS)
+
+LOCAL_SRC_FILES := $(linker_SRC_FILES)
+
+LOCAL_MODULE:= libLLVMLinker
+LOCAL_MODULE_HOST_OS := darwin linux windows
+
+include $(LLVM_HOST_BUILD_MK)
+include $(LLVM_GEN_ATTRIBUTES_MK)
+include $(LLVM_GEN_INTRINSICS_MK)
+include $(BUILD_HOST_STATIC_LIBRARY)
+
+# For the device
+# =====================================================
+ifneq (true,$(DISABLE_LLVM_DEVICE_BUILDS))
+include $(CLEAR_VARS)
+
+LOCAL_SRC_FILES := $(linker_SRC_FILES)
+
+LOCAL_MODULE:= libLLVMLinker
+
+include $(LLVM_DEVICE_BUILD_MK)
+include $(LLVM_GEN_ATTRIBUTES_MK)
+include $(LLVM_GEN_INTRINSICS_MK)
+include $(BUILD_STATIC_LIBRARY)
+endif
diff --git a/lib/MC/Android.mk b/lib/MC/Android.mk
new file mode 100644 (file)
index 0000000..f2482a9
--- /dev/null
@@ -0,0 +1,79 @@
+LOCAL_PATH:= $(call my-dir)
+
+mc_SRC_FILES := \
+  ConstantPools.cpp \
+  ELFObjectWriter.cpp \
+  MCAsmBackend.cpp \
+  MCAsmInfo.cpp \
+  MCAsmInfoCOFF.cpp \
+  MCAsmInfoDarwin.cpp \
+  MCAsmInfoELF.cpp \
+  MCAsmStreamer.cpp \
+  MCAssembler.cpp \
+  MCCodeEmitter.cpp \
+  MCCodeGenInfo.cpp \
+  MCContext.cpp \
+  MCDwarf.cpp \
+  MCELFObjectTargetWriter.cpp \
+  MCELFStreamer.cpp \
+  MCExpr.cpp \
+  MCInst.cpp \
+  MCInstPrinter.cpp \
+  MCInstrAnalysis.cpp \
+  MCInstrDesc.cpp \
+  MCLabel.cpp \
+  MCLinkerOptimizationHint.cpp \
+  MCMachOStreamer.cpp \
+  MCMachObjectTargetWriter.cpp \
+  MCNullStreamer.cpp \
+  MCObjectFileInfo.cpp \
+  MCObjectStreamer.cpp \
+  MCObjectWriter.cpp \
+  MCRegisterInfo.cpp \
+  MCSchedule.cpp \
+  MCSection.cpp \
+  MCSectionCOFF.cpp \
+  MCSectionELF.cpp \
+  MCSectionMachO.cpp \
+  MCStreamer.cpp \
+  MCSubtargetInfo.cpp \
+  MCSymbol.cpp \
+  MCSymbolELF.cpp \
+  MCSymbolizer.cpp \
+  MCTargetOptions.cpp \
+  MCValue.cpp \
+  MCWin64EH.cpp \
+  MCWinEH.cpp \
+  MachObjectWriter.cpp \
+  StringTableBuilder.cpp \
+  SubtargetFeature.cpp \
+  WinCOFFObjectWriter.cpp \
+  WinCOFFStreamer.cpp \
+  YAML.cpp
+
+# For the host
+# =====================================================
+include $(CLEAR_VARS)
+
+LOCAL_SRC_FILES := $(mc_SRC_FILES)
+
+LOCAL_MODULE:= libLLVMMC
+
+LOCAL_MODULE_HOST_OS := darwin linux windows
+
+
+include $(LLVM_HOST_BUILD_MK)
+include $(BUILD_HOST_STATIC_LIBRARY)
+
+# For the device
+# =====================================================
+include $(CLEAR_VARS)
+ifneq (true,$(DISABLE_LLVM_DEVICE_BUILDS))
+
+LOCAL_SRC_FILES := $(mc_SRC_FILES)
+
+LOCAL_MODULE:= libLLVMMC
+
+include $(LLVM_DEVICE_BUILD_MK)
+include $(BUILD_STATIC_LIBRARY)
+endif
diff --git a/lib/MC/MCDisassembler/Android.mk b/lib/MC/MCDisassembler/Android.mk
new file mode 100644 (file)
index 0000000..b8fbc34
--- /dev/null
@@ -0,0 +1,37 @@
+LOCAL_PATH:= $(call my-dir)
+
+mc_disassembler_SRC_FILES := \
+  Disassembler.cpp \
+  MCDisassembler.cpp \
+  MCExternalSymbolizer.cpp \
+  MCRelocationInfo.cpp
+
+
+# For the host
+# =====================================================
+include $(CLEAR_VARS)
+
+LOCAL_SRC_FILES := $(mc_disassembler_SRC_FILES)
+
+LOCAL_MODULE:= libLLVMMCDisassembler
+
+LOCAL_MODULE_HOST_OS := darwin linux windows
+
+
+include $(LLVM_HOST_BUILD_MK)
+include $(BUILD_HOST_STATIC_LIBRARY)
+
+# For the device
+# =====================================================
+include $(CLEAR_VARS)
+ifneq (true,$(DISABLE_LLVM_DEVICE_BUILDS))
+
+LOCAL_SRC_FILES := $(mc_disassembler_SRC_FILES)
+
+LOCAL_MODULE:= libLLVMMCDisassembler
+
+LOCAL_MODULE_HOST_OS := darwin linux windows
+
+include $(LLVM_DEVICE_BUILD_MK)
+include $(BUILD_STATIC_LIBRARY)
+endif
diff --git a/lib/MC/MCParser/Android.mk b/lib/MC/MCParser/Android.mk
new file mode 100644 (file)
index 0000000..45fc8d1
--- /dev/null
@@ -0,0 +1,38 @@
+LOCAL_PATH:= $(call my-dir)
+
+mc_parser_SRC_FILES := \
+  AsmLexer.cpp \
+  AsmParser.cpp \
+  COFFAsmParser.cpp \
+  DarwinAsmParser.cpp \
+  ELFAsmParser.cpp \
+  MCAsmLexer.cpp \
+  MCAsmParser.cpp \
+  MCAsmParserExtension.cpp \
+  MCTargetAsmParser.cpp
+
+# For the host
+# =====================================================
+include $(CLEAR_VARS)
+
+LOCAL_SRC_FILES := $(mc_parser_SRC_FILES)
+
+LOCAL_MODULE:= libLLVMMCParser
+
+LOCAL_MODULE_HOST_OS := darwin linux windows
+
+include $(LLVM_HOST_BUILD_MK)
+include $(BUILD_HOST_STATIC_LIBRARY)
+
+# For the device
+# =====================================================
+include $(CLEAR_VARS)
+ifneq (true,$(DISABLE_LLVM_DEVICE_BUILDS))
+
+LOCAL_SRC_FILES := $(mc_parser_SRC_FILES)
+
+LOCAL_MODULE:= libLLVMMCParser
+
+include $(LLVM_DEVICE_BUILD_MK)
+include $(BUILD_STATIC_LIBRARY)
+endif
diff --git a/lib/Object/Android.mk b/lib/Object/Android.mk
new file mode 100644 (file)
index 0000000..79fa2eb
--- /dev/null
@@ -0,0 +1,54 @@
+LOCAL_PATH := $(call my-dir)
+
+object_SRC_FILES := \
+  Archive.cpp \
+  ArchiveWriter.cpp \
+  Binary.cpp \
+  COFFObjectFile.cpp \
+  COFFYAML.cpp \
+  ELF.cpp \
+  ELFObjectFile.cpp \
+  ELFYAML.cpp \
+  Error.cpp \
+  FunctionIndexObjectFile.cpp \
+  IRObjectFile.cpp \
+  MachOObjectFile.cpp \
+  MachOUniversal.cpp \
+  Object.cpp \
+  ObjectFile.cpp \
+  RecordStreamer.cpp \
+  SymbolicFile.cpp \
+  SymbolSize.cpp
+
+# For the host
+# =====================================================
+include $(CLEAR_VARS)
+include $(CLEAR_TBLGEN_VARS)
+
+LOCAL_MODULE:= libLLVMObject
+LOCAL_MODULE_HOST_OS := darwin linux windows
+
+LOCAL_SRC_FILES := $(object_SRC_FILES)
+
+# Our windows cross-compiler triggers a spurious uninitialized warning.
+LOCAL_CFLAGS_windows := -Wno-uninitialized
+
+include $(LLVM_HOST_BUILD_MK)
+include $(LLVM_GEN_ATTRIBUTES_MK)
+include $(LLVM_GEN_INTRINSICS_MK)
+include $(BUILD_HOST_STATIC_LIBRARY)
+
+# For the device only
+# =====================================================
+ifneq (true,$(DISABLE_LLVM_DEVICE_BUILDS))
+include $(CLEAR_VARS)
+
+LOCAL_MODULE:= libLLVMObject
+
+LOCAL_SRC_FILES := $(object_SRC_FILES)
+
+include $(LLVM_DEVICE_BUILD_MK)
+include $(LLVM_GEN_ATTRIBUTES_MK)
+include $(LLVM_GEN_INTRINSICS_MK)
+include $(BUILD_STATIC_LIBRARY)
+endif
diff --git a/lib/Option/Android.mk b/lib/Option/Android.mk
new file mode 100644 (file)
index 0000000..6f8a58f
--- /dev/null
@@ -0,0 +1,40 @@
+LOCAL_PATH:= $(call my-dir)
+
+option_SRC_FILES := \
+    Arg.cpp \
+    ArgList.cpp \
+    Option.cpp \
+    OptTable.cpp
+
+# For the host
+# =====================================================
+include $(CLEAR_VARS)
+
+# FIXME: This only requires RTTI because tblgen uses it.  Fix that.
+REQUIRES_RTTI := 1
+
+LOCAL_SRC_FILES := $(option_SRC_FILES)
+
+LOCAL_MODULE:= libLLVMOption
+
+LOCAL_CFLAGS := -D__android__
+
+LOCAL_MODULE_HOST_OS := darwin linux windows
+
+include $(LLVM_HOST_BUILD_MK)
+include $(BUILD_HOST_STATIC_LIBRARY)
+
+# For the device
+# =====================================================
+include $(CLEAR_VARS)
+ifneq (true,$(DISABLE_LLVM_DEVICE_BUILDS))
+
+LOCAL_SRC_FILES := $(option_SRC_FILES)
+
+LOCAL_MODULE:= libLLVMOption
+
+LOCAL_CFLAGS := -D__android__
+
+include $(LLVM_DEVICE_BUILD_MK)
+include $(BUILD_STATIC_LIBRARY)
+endif
diff --git a/lib/Passes/Android.mk b/lib/Passes/Android.mk
new file mode 100644 (file)
index 0000000..3cc4b66
--- /dev/null
@@ -0,0 +1,32 @@
+LOCAL_PATH:= $(call my-dir)
+
+passes_SRC_FILES := \
+  PassBuilder.cpp
+
+# For the host
+# =====================================================
+include $(CLEAR_VARS)
+
+LOCAL_MODULE:= libLLVMPasses
+LOCAL_MODULE_TAGS := optional
+LOCAL_SRC_FILES := $(passes_SRC_FILES)
+
+include $(LLVM_HOST_BUILD_MK)
+include $(LLVM_GEN_ATTRIBUTES_MK)
+include $(LLVM_GEN_INTRINSICS_MK)
+include $(BUILD_HOST_STATIC_LIBRARY)
+
+# For the device
+# =====================================================
+ifneq (true,$(DISABLE_LLVM_DEVICE_BUILDS))
+include $(CLEAR_VARS)
+
+LOCAL_MODULE:= libLLVMPasses
+LOCAL_MODULE_TAGS := optional
+LOCAL_SRC_FILES := $(passes_SRC_FILES)
+
+include $(LLVM_DEVICE_BUILD_MK)
+include $(LLVM_GEN_ATTRIBUTES_MK)
+include $(LLVM_GEN_INTRINSICS_MK)
+include $(BUILD_STATIC_LIBRARY)
+endif
diff --git a/lib/ProfileData/Android.mk b/lib/ProfileData/Android.mk
new file mode 100644 (file)
index 0000000..fe3e834
--- /dev/null
@@ -0,0 +1,39 @@
+LOCAL_PATH:= $(call my-dir)
+
+profiledata_SRC_FILES := \
+  CoverageMapping.cpp \
+  CoverageMappingReader.cpp \
+  CoverageMappingWriter.cpp \
+  InstrProf.cpp \
+  InstrProfReader.cpp \
+  InstrProfWriter.cpp \
+  SampleProf.cpp \
+  SampleProfReader.cpp \
+  SampleProfWriter.cpp
+
+# For the host
+# =====================================================
+include $(CLEAR_VARS)
+
+LOCAL_MODULE:= libLLVMProfileData
+LOCAL_MODULE_HOST_OS := darwin linux windows
+LOCAL_SRC_FILES := $(profiledata_SRC_FILES)
+
+include $(LLVM_HOST_BUILD_MK)
+include $(LLVM_GEN_ATTRIBUTES_MK)
+include $(LLVM_GEN_INTRINSICS_MK)
+include $(BUILD_HOST_STATIC_LIBRARY)
+
+# For the device
+# =====================================================
+ifneq (true,$(DISABLE_LLVM_DEVICE_BUILDS))
+include $(CLEAR_VARS)
+
+LOCAL_MODULE:= libLLVMProfileData
+LOCAL_SRC_FILES := $(profiledata_SRC_FILES)
+
+include $(LLVM_DEVICE_BUILD_MK)
+include $(LLVM_GEN_ATTRIBUTES_MK)
+include $(LLVM_GEN_INTRINSICS_MK)
+include $(BUILD_STATIC_LIBRARY)
+endif
diff --git a/lib/Support/Android.mk b/lib/Support/Android.mk
new file mode 100644 (file)
index 0000000..7e16565
--- /dev/null
@@ -0,0 +1,130 @@
+LOCAL_PATH:= $(call my-dir)
+LLVM_ROOT_PATH := $(LOCAL_PATH)/../..
+include $(LLVM_ROOT_PATH)/llvm.mk
+
+support_SRC_FILES := \
+  Allocator.cpp \
+  APFloat.cpp \
+  APInt.cpp \
+  APSInt.cpp \
+  ARMBuildAttrs.cpp \
+  ARMWinEH.cpp \
+  Atomic.cpp \
+  BlockFrequency.cpp \
+  BranchProbability.cpp \
+  COM.cpp \
+  CommandLine.cpp \
+  Compression.cpp \
+  ConvertUTF.c \
+  ConvertUTFWrapper.cpp \
+  CrashRecoveryContext.cpp \
+  DAGDeltaAlgorithm.cpp \
+  DataStream.cpp \
+  DataExtractor.cpp \
+  Debug.cpp \
+  DeltaAlgorithm.cpp \
+  Dwarf.cpp \
+  DynamicLibrary.cpp \
+  Errno.cpp \
+  ErrorHandling.cpp \
+  FileUtilities.cpp \
+  FoldingSet.cpp \
+  FormattedStream.cpp \
+  GraphWriter.cpp \
+  Hashing.cpp \
+  Host.cpp \
+  IntervalMap.cpp \
+  IntEqClasses.cpp \
+  IntrusiveRefCntPtr.cpp \
+  JamCRC.cpp \
+  LEB128.cpp \
+  LineIterator.cpp \
+  Locale.cpp \
+  LockFileManager.cpp \
+  MD5.cpp \
+  ManagedStatic.cpp \
+  MathExtras.cpp \
+  Memory.cpp \
+  MemoryBuffer.cpp \
+  MemoryObject.cpp \
+  Mutex.cpp \
+  Options.cpp \
+  Path.cpp \
+  PluginLoader.cpp \
+  PrettyStackTrace.cpp \
+  Process.cpp \
+  Program.cpp \
+  RandomNumberGenerator.cpp \
+  Regex.cpp \
+  RWMutex.cpp \
+  ScaledNumber.cpp \
+  SearchForAddressOfSpecialSymbol.cpp \
+  Signals.cpp \
+  SmallPtrSet.cpp \
+  SmallVector.cpp \
+  StreamingMemoryObject.cpp \
+  SourceMgr.cpp \
+  SpecialCaseList.cpp \
+  Statistic.cpp \
+  StringExtras.cpp \
+  StringMap.cpp \
+  StringPool.cpp \
+  StringSaver.cpp \
+  StringRef.cpp \
+  SystemUtils.cpp \
+  TargetParser.cpp \
+  TargetRegistry.cpp \
+  Threading.cpp \
+  ThreadLocal.cpp \
+  Timer.cpp \
+  TimeValue.cpp \
+  ToolOutputFile.cpp \
+  Triple.cpp \
+  Twine.cpp \
+  Unicode.cpp \
+  Valgrind.cpp \
+  Watchdog.cpp \
+  YAMLParser.cpp \
+  YAMLTraits.cpp \
+  circular_raw_ostream.cpp \
+  raw_os_ostream.cpp \
+  raw_ostream.cpp \
+  regcomp.c \
+  regerror.c \
+  regexec.c \
+  regfree.c \
+  regstrlcpy.c
+
+
+# For the host
+# =====================================================
+include $(CLEAR_VARS)
+
+# FIXME: This only requires RTTI because tblgen uses it.  Fix that.
+REQUIRES_RTTI := 1
+
+LOCAL_SRC_FILES := $(support_SRC_FILES)
+
+LOCAL_MODULE:= libLLVMSupport
+
+LOCAL_CFLAGS := -D__android__
+
+LOCAL_MODULE_HOST_OS := darwin linux windows
+
+include $(LLVM_HOST_BUILD_MK)
+include $(BUILD_HOST_STATIC_LIBRARY)
+
+# For the device
+# =====================================================
+ifneq (true,$(DISABLE_LLVM_DEVICE_BUILDS))
+include $(CLEAR_VARS)
+
+LOCAL_SRC_FILES := $(support_SRC_FILES)
+
+LOCAL_MODULE:= libLLVMSupport
+
+LOCAL_CFLAGS := -D__android__
+
+include $(LLVM_DEVICE_BUILD_MK)
+include $(BUILD_STATIC_LIBRARY)
+endif
diff --git a/lib/TableGen/Android.mk b/lib/TableGen/Android.mk
new file mode 100644 (file)
index 0000000..0484f90
--- /dev/null
@@ -0,0 +1,43 @@
+LOCAL_PATH:= $(call my-dir)
+LLVM_ROOT_PATH := $(LOCAL_PATH)/../..
+include $(LLVM_ROOT_PATH)/llvm.mk
+
+libtablegen_SRC_FILES := \
+  Error.cpp \
+  Main.cpp \
+  Record.cpp \
+  SetTheory.cpp \
+  StringMatcher.cpp \
+  TableGenBackend.cpp \
+  TGLexer.cpp \
+  TGParser.cpp
+
+# For the host
+# =====================================================
+include $(CLEAR_VARS)
+LOCAL_ADDITIONAL_DEPENDENCIES := $(LOCAL_PATH)/Android.mk
+
+LOCAL_SRC_FILES := $(libtablegen_SRC_FILES)
+LOCAL_MODULE:= libLLVMTableGen
+
+LOCAL_MODULE_TAGS := optional
+
+REQUIRES_EH := 1
+REQUIRES_RTTI := 1
+
+include $(LLVM_HOST_BUILD_MK)
+include $(BUILD_HOST_STATIC_LIBRARY)
+
+## For the device
+## =====================================================
+ifneq (true,$(DISABLE_LLVM_DEVICE_BUILDS))
+#include $(CLEAR_VARS)
+#
+#LOCAL_SRC_FILES := $(libtablegen_SRC_FILES)
+#LOCAL_MODULE:= libLLVMTableGen
+#
+#LOCAL_MODULE_TAGS := optional
+#
+#include $(LLVM_DEVICE_BUILD_MK)
+#include $(BUILD_STATIC_LIBRARY)
+endif
diff --git a/lib/Target/AArch64/Android.mk b/lib/Target/AArch64/Android.mk
new file mode 100644 (file)
index 0000000..d7cb44d
--- /dev/null
@@ -0,0 +1,82 @@
+LOCAL_PATH := $(call my-dir)
+
+aarch64_codegen_TBLGEN_TABLES := \
+  AArch64GenRegisterInfo.inc \
+  AArch64GenInstrInfo.inc \
+  AArch64GenAsmWriter.inc \
+  AArch64GenAsmWriter1.inc \
+  AArch64GenDAGISel.inc \
+  AArch64GenCallingConv.inc \
+  AArch64GenAsmMatcher.inc \
+  AArch64GenSubtargetInfo.inc \
+  AArch64GenMCCodeEmitter.inc \
+  AArch64GenFastISel.inc \
+  AArch64GenDisassemblerTables.inc \
+  AArch64GenMCPseudoLowering.inc \
+
+aarch64_codegen_SRC_FILES := \
+  AArch64A53Fix835769.cpp \
+  AArch64A57FPLoadBalancing.cpp \
+  AArch64AddressTypePromotion.cpp \
+  AArch64AdvSIMDScalarPass.cpp \
+  AArch64AsmPrinter.cpp \
+  AArch64BranchRelaxation.cpp \
+  AArch64CleanupLocalDynamicTLSPass.cpp \
+  AArch64CollectLOH.cpp \
+  AArch64ConditionalCompares.cpp \
+  AArch64ConditionOptimizer.cpp \
+  AArch64DeadRegisterDefinitionsPass.cpp \
+  AArch64ExpandPseudoInsts.cpp \
+  AArch64FastISel.cpp \
+  AArch64FrameLowering.cpp \
+  AArch64InstrInfo.cpp \
+  AArch64ISelDAGToDAG.cpp \
+  AArch64ISelLowering.cpp \
+  AArch64LoadStoreOptimizer.cpp \
+  AArch64MCInstLower.cpp \
+  AArch64PBQPRegAlloc.cpp \
+  AArch64PromoteConstant.cpp \
+  AArch64RegisterInfo.cpp \
+  AArch64SelectionDAGInfo.cpp \
+  AArch64StorePairSuppress.cpp \
+  AArch64Subtarget.cpp \
+  AArch64TargetMachine.cpp \
+  AArch64TargetObjectFile.cpp \
+  AArch64TargetTransformInfo.cpp
+
+# For the host
+# =====================================================
+include $(CLEAR_VARS)
+include $(CLEAR_TBLGEN_VARS)
+
+LOCAL_MODULE:= libLLVMAArch64CodeGen
+LOCAL_MODULE_HOST_OS := darwin linux windows
+
+LOCAL_SRC_FILES := $(aarch64_codegen_SRC_FILES)
+LOCAL_C_INCLUDES := $(LOCAL_PATH)/MCTargetDesc
+TBLGEN_TABLES := $(aarch64_codegen_TBLGEN_TABLES)
+
+include $(LLVM_HOST_BUILD_MK)
+include $(LLVM_TBLGEN_RULES_MK)
+include $(LLVM_GEN_ATTRIBUTES_MK)
+include $(LLVM_GEN_INTRINSICS_MK)
+include $(BUILD_HOST_STATIC_LIBRARY)
+
+# For the device only
+# =====================================================
+ifneq (true,$(DISABLE_LLVM_DEVICE_BUILDS))
+include $(CLEAR_VARS)
+include $(CLEAR_TBLGEN_VARS)
+
+LOCAL_MODULE:= libLLVMAArch64CodeGen
+
+LOCAL_SRC_FILES := $(aarch64_codegen_SRC_FILES)
+LOCAL_C_INCLUDES := $(LOCAL_PATH)/MCTargetDesc
+TBLGEN_TABLES := $(aarch64_codegen_TBLGEN_TABLES)
+
+include $(LLVM_DEVICE_BUILD_MK)
+include $(LLVM_TBLGEN_RULES_MK)
+include $(LLVM_GEN_ATTRIBUTES_MK)
+include $(LLVM_GEN_INTRINSICS_MK)
+include $(BUILD_STATIC_LIBRARY)
+endif
diff --git a/lib/Target/AArch64/AsmParser/Android.mk b/lib/Target/AArch64/AsmParser/Android.mk
new file mode 100644 (file)
index 0000000..f86f29f
--- /dev/null
@@ -0,0 +1,61 @@
+LOCAL_PATH := $(call my-dir)
+
+#===---------------------------------------------------------------===
+# libARMAsmParser (common)
+#===---------------------------------------------------------------===
+
+aarch64_asm_parser_SRC_FILES := \
+  AArch64AsmParser.cpp
+
+aarch64_asm_parser_TBLGEN_TABLES := \
+  AArch64GenInstrInfo.inc \
+  AArch64GenRegisterInfo.inc \
+  AArch64GenAsmMatcher.inc \
+  AArch64GenSubtargetInfo.inc
+
+aarch64_asm_parser_TBLGEN_TD_DIR := $(LOCAL_PATH)/..
+
+aarch64_asm_parser_C_INCLUDES := $(LOCAL_PATH)/..
+
+
+#===---------------------------------------------------------------===
+# libAArch64AsmParser (host)
+#===---------------------------------------------------------------===
+include $(CLEAR_VARS)
+include $(CLEAR_TBLGEN_VARS)
+
+LOCAL_MODULE:= libLLVMAArch64AsmParser
+LOCAL_MODULE_HOST_OS := darwin linux windows
+LOCAL_SRC_FILES := $(aarch64_asm_parser_SRC_FILES)
+LOCAL_C_INCLUDES += $(aarch64_asm_parser_C_INCLUDES)
+TBLGEN_TABLES := $(aarch64_asm_parser_TBLGEN_TABLES)
+TBLGEN_TD_DIR := $(aarch64_asm_parser_TBLGEN_TD_DIR)
+
+include $(LLVM_HOST_BUILD_MK)
+include $(LLVM_TBLGEN_RULES_MK)
+# Override the default optimization level to work around taking forever (~50m)
+# to compile AArch64AsmParser.cpp on Mac with gcc 4.2,
+# or on Linux with mingw32msvc-gcc 4.2, which is used to cross-compile
+# the win_sdk.
+LOCAL_CFLAGS_darwin += -O0
+LOCAL_CFLAGS_windows += -O0
+include $(BUILD_HOST_STATIC_LIBRARY)
+
+
+#===---------------------------------------------------------------===
+# libAArch64AsmParser (target)
+#===---------------------------------------------------------------===
+ifneq (true,$(DISABLE_LLVM_DEVICE_BUILDS))
+include $(CLEAR_VARS)
+include $(CLEAR_TBLGEN_VARS)
+
+LOCAL_MODULE:= libLLVMAArch64AsmParser
+LOCAL_SRC_FILES := $(aarch64_asm_parser_SRC_FILES)
+LOCAL_C_INCLUDES += $(aarch64_asm_parser_C_INCLUDES)
+TBLGEN_TABLES := $(aarch64_asm_parser_TBLGEN_TABLES)
+TBLGEN_TD_DIR := $(aarch64_asm_parser_TBLGEN_TD_DIR)
+
+include $(LLVM_DEVICE_BUILD_MK)
+include $(LLVM_TBLGEN_RULES_MK)
+include $(BUILD_STATIC_LIBRARY)
+endif
diff --git a/lib/Target/AArch64/Disassembler/Android.mk b/lib/Target/AArch64/Disassembler/Android.mk
new file mode 100644 (file)
index 0000000..4efb619
--- /dev/null
@@ -0,0 +1,58 @@
+LOCAL_PATH := $(call my-dir)
+
+aarch64_disassembler_TBLGEN_TABLES := \
+  AArch64GenDisassemblerTables.inc \
+  AArch64GenInstrInfo.inc \
+  AArch64GenSubtargetInfo.inc \
+  AArch64GenRegisterInfo.inc
+
+aarch64_disassembler_SRC_FILES := \
+  AArch64Disassembler.cpp \
+  AArch64ExternalSymbolizer.cpp
+
+# For the device
+# =====================================================
+ifneq (true,$(DISABLE_LLVM_DEVICE_BUILDS))
+include $(CLEAR_VARS)
+include $(CLEAR_TBLGEN_VARS)
+
+TBLGEN_TABLES := $(aarch64_disassembler_TBLGEN_TABLES)
+
+TBLGEN_TD_DIR := $(LOCAL_PATH)/..
+
+LOCAL_SRC_FILES := $(aarch64_disassembler_SRC_FILES)
+
+LOCAL_C_INCLUDES += $(LOCAL_PATH)/..
+
+LOCAL_MODULE:= libLLVMAArch64Disassembler
+
+include $(LLVM_DEVICE_BUILD_MK)
+include $(LLVM_TBLGEN_RULES_MK)
+include $(LLVM_GEN_ATTRIBUTES_MK)
+include $(LLVM_GEN_INTRINSICS_MK)
+include $(BUILD_STATIC_LIBRARY)
+endif
+
+# For the host
+# =====================================================
+include $(CLEAR_VARS)
+include $(CLEAR_TBLGEN_VARS)
+
+TBLGEN_TABLES := $(aarch64_disassembler_TBLGEN_TABLES)
+
+TBLGEN_TD_DIR := $(LOCAL_PATH)/..
+
+LOCAL_SRC_FILES := $(aarch64_disassembler_SRC_FILES)
+
+LOCAL_C_INCLUDES += $(LOCAL_PATH)/..
+
+LOCAL_MODULE:= libLLVMAArch64Disassembler
+
+LOCAL_MODULE_HOST_OS := darwin linux windows
+
+include $(LLVM_HOST_BUILD_MK)
+include $(LLVM_TBLGEN_RULES_MK)
+include $(LLVM_GEN_ATTRIBUTES_MK)
+include $(LLVM_GEN_INTRINSICS_MK)
+include $(BUILD_HOST_STATIC_LIBRARY)
+
diff --git a/lib/Target/AArch64/InstPrinter/Android.mk b/lib/Target/AArch64/InstPrinter/Android.mk
new file mode 100644 (file)
index 0000000..7c92f7f
--- /dev/null
@@ -0,0 +1,56 @@
+LOCAL_PATH := $(call my-dir)
+
+aarch64_asm_printer_TBLGEN_TABLES := \
+  AArch64GenAsmWriter.inc \
+  AArch64GenAsmWriter1.inc \
+  AArch64GenRegisterInfo.inc \
+  AArch64GenSubtargetInfo.inc \
+  AArch64GenInstrInfo.inc
+
+aarch64_asm_printer_SRC_FILES := \
+  AArch64InstPrinter.cpp
+
+# For the host
+# =====================================================
+include $(CLEAR_VARS)
+include $(CLEAR_TBLGEN_VARS)
+
+TBLGEN_TABLES := $(aarch64_asm_printer_TBLGEN_TABLES)
+
+TBLGEN_TD_DIR := $(LOCAL_PATH)/..
+
+LOCAL_SRC_FILES := $(aarch64_asm_printer_SRC_FILES)
+
+LOCAL_MODULE:= libLLVMAArch64AsmPrinter
+
+LOCAL_C_INCLUDES += \
+    $(LOCAL_PATH)/..
+
+LOCAL_MODULE_HOST_OS := darwin linux windows
+
+include $(LLVM_HOST_BUILD_MK)
+include $(LLVM_TBLGEN_RULES_MK)
+include $(BUILD_HOST_STATIC_LIBRARY)
+
+# For the device only
+# =====================================================
+ifneq (true,$(DISABLE_LLVM_DEVICE_BUILDS))
+include $(CLEAR_VARS)
+include $(CLEAR_TBLGEN_VARS)
+
+TBLGEN_TABLES := $(aarch64_asm_printer_TBLGEN_TABLES)
+
+TBLGEN_TD_DIR := $(LOCAL_PATH)/..
+
+LOCAL_SRC_FILES := $(aarch64_asm_printer_SRC_FILES)
+
+LOCAL_C_INCLUDES+= \
+    $(LOCAL_PATH)/..
+
+LOCAL_MODULE:= libLLVMAArch64AsmPrinter
+
+include $(LLVM_DEVICE_BUILD_MK)
+include $(LLVM_TBLGEN_RULES_MK)
+include $(BUILD_STATIC_LIBRARY)
+endif
+
diff --git a/lib/Target/AArch64/MCTargetDesc/Android.mk b/lib/Target/AArch64/MCTargetDesc/Android.mk
new file mode 100644 (file)
index 0000000..3ca61dd
--- /dev/null
@@ -0,0 +1,60 @@
+LOCAL_PATH := $(call my-dir)
+
+aarch64_mc_desc_TBLGEN_TABLES := \
+  AArch64GenRegisterInfo.inc \
+  AArch64GenInstrInfo.inc \
+  AArch64GenMCCodeEmitter.inc \
+  AArch64GenSubtargetInfo.inc
+
+aarch64_mc_desc_SRC_FILES := \
+  AArch64AsmBackend.cpp \
+  AArch64ELFObjectWriter.cpp \
+  AArch64ELFStreamer.cpp \
+  AArch64MachObjectWriter.cpp \
+  AArch64MCAsmInfo.cpp \
+  AArch64MCCodeEmitter.cpp \
+  AArch64MCExpr.cpp \
+  AArch64MCTargetDesc.cpp \
+  AArch64TargetStreamer.cpp
+
+# For the host
+# =====================================================
+include $(CLEAR_VARS)
+include $(CLEAR_TBLGEN_VARS)
+
+
+LOCAL_MODULE:= libLLVMAArch64Desc
+LOCAL_MODULE_HOST_OS := darwin linux windows
+
+LOCAL_SRC_FILES := $(aarch64_mc_desc_SRC_FILES)
+LOCAL_C_INCLUDES := $(LOCAL_PATH)/..
+
+TBLGEN_TD_DIR := $(LOCAL_PATH)/..
+TBLGEN_TABLES := $(aarch64_mc_desc_TBLGEN_TABLES)
+
+include $(LLVM_HOST_BUILD_MK)
+include $(LLVM_TBLGEN_RULES_MK)
+include $(LLVM_GEN_ATTRIBUTES_MK)
+include $(LLVM_GEN_INTRINSICS_MK)
+include $(BUILD_HOST_STATIC_LIBRARY)
+
+# For the device only
+# =====================================================
+ifneq (true,$(DISABLE_LLVM_DEVICE_BUILDS))
+include $(CLEAR_VARS)
+include $(CLEAR_TBLGEN_VARS)
+
+LOCAL_MODULE:= libLLVMAArch64Desc
+
+LOCAL_SRC_FILES := $(aarch64_mc_desc_SRC_FILES)
+LOCAL_C_INCLUDES := $(LOCAL_PATH)/..
+
+TBLGEN_TD_DIR := $(LOCAL_PATH)/..
+TBLGEN_TABLES := $(aarch64_mc_desc_TBLGEN_TABLES)
+
+include $(LLVM_DEVICE_BUILD_MK)
+include $(LLVM_TBLGEN_RULES_MK)
+include $(LLVM_GEN_ATTRIBUTES_MK)
+include $(LLVM_GEN_INTRINSICS_MK)
+include $(BUILD_STATIC_LIBRARY)
+endif
diff --git a/lib/Target/AArch64/TargetInfo/Android.mk b/lib/Target/AArch64/TargetInfo/Android.mk
new file mode 100644 (file)
index 0000000..6a963ed
--- /dev/null
@@ -0,0 +1,53 @@
+LOCAL_PATH := $(call my-dir)
+
+aarch64_target_info_TBLGEN_TABLES := \
+  AArch64GenSubtargetInfo.inc \
+  AArch64GenRegisterInfo.inc \
+  AArch64GenInstrInfo.inc
+
+aarch64_target_info_SRC_FILES := \
+  AArch64TargetInfo.cpp
+
+# For the host
+# =====================================================
+include $(CLEAR_VARS)
+include $(CLEAR_TBLGEN_VARS)
+
+TBLGEN_TABLES := $(aarch64_target_info_TBLGEN_TABLES)
+
+TBLGEN_TD_DIR := $(LOCAL_PATH)/..
+
+LOCAL_SRC_FILES := $(aarch64_target_info_SRC_FILES)
+
+LOCAL_C_INCLUDES +=    \
+       $(LOCAL_PATH)/..
+
+LOCAL_MODULE:= libLLVMAArch64Info
+
+LOCAL_MODULE_HOST_OS := darwin linux windows
+
+include $(LLVM_HOST_BUILD_MK)
+include $(LLVM_TBLGEN_RULES_MK)
+include $(BUILD_HOST_STATIC_LIBRARY)
+
+# For the device
+# =====================================================
+ifneq (true,$(DISABLE_LLVM_DEVICE_BUILDS))
+include $(CLEAR_VARS)
+include $(CLEAR_TBLGEN_VARS)
+
+TBLGEN_TABLES := $(aarch64_target_info_TBLGEN_TABLES)
+
+TBLGEN_TD_DIR := $(LOCAL_PATH)/..
+
+LOCAL_SRC_FILES := $(aarch64_target_info_SRC_FILES)
+
+LOCAL_C_INCLUDES +=    \
+       $(LOCAL_PATH)/..
+
+LOCAL_MODULE:= libLLVMAArch64Info
+
+include $(LLVM_DEVICE_BUILD_MK)
+include $(LLVM_TBLGEN_RULES_MK)
+include $(BUILD_STATIC_LIBRARY)
+endif
diff --git a/lib/Target/AArch64/Utils/Android.mk b/lib/Target/AArch64/Utils/Android.mk
new file mode 100644 (file)
index 0000000..a76f46c
--- /dev/null
@@ -0,0 +1,49 @@
+LOCAL_PATH := $(call my-dir)
+
+aarch64_utils_TBLGEN_TABLES := \
+  AArch64GenRegisterInfo.inc \
+  AArch64GenInstrInfo.inc \
+  AArch64GenSubtargetInfo.inc
+
+aarch64_utils_SRC_FILES := \
+  AArch64BaseInfo.cpp
+
+# For the device
+# =====================================================
+ifneq (true,$(DISABLE_LLVM_DEVICE_BUILDS))
+include $(CLEAR_VARS)
+
+LOCAL_SRC_FILES := $(aarch64_utils_SRC_FILES)
+
+LOCAL_C_INCLUDES += $(LOCAL_PATH)/..
+
+LOCAL_MODULE:= libLLVMAArch64Utils
+
+TBLGEN_TD_DIR := $(LOCAL_PATH)/..
+TBLGEN_TABLES := $(aarch64_utils_TBLGEN_TABLES)
+
+include $(LLVM_DEVICE_BUILD_MK)
+include $(LLVM_TBLGEN_RULES_MK)
+include $(LLVM_GEN_INTRINSICS_MK)
+include $(BUILD_STATIC_LIBRARY)
+endif
+
+# For the host
+# =====================================================
+include $(CLEAR_VARS)
+
+LOCAL_SRC_FILES := $(aarch64_utils_SRC_FILES)
+
+LOCAL_C_INCLUDES += $(LOCAL_PATH)/..
+
+LOCAL_MODULE:= libLLVMAArch64Utils
+
+LOCAL_MODULE_HOST_OS := darwin linux windows
+
+TBLGEN_TD_DIR := $(LOCAL_PATH)/..
+TBLGEN_TABLES := $(aarch64_utils_TBLGEN_TABLES)
+
+include $(LLVM_HOST_BUILD_MK)
+include $(LLVM_TBLGEN_RULES_MK)
+include $(LLVM_GEN_INTRINSICS_MK)
+include $(BUILD_HOST_STATIC_LIBRARY)
diff --git a/lib/Target/AMDGPU/Android.mk b/lib/Target/AMDGPU/Android.mk
new file mode 100644 (file)
index 0000000..ee5858b
--- /dev/null
@@ -0,0 +1,102 @@
+LOCAL_PATH := $(call my-dir)
+
+amdgpu_codegen_TBLGEN_TABLES := \
+  AMDGPUGenRegisterInfo.inc \
+  AMDGPUGenInstrInfo.inc \
+  AMDGPUGenDAGISel.inc  \
+  AMDGPUGenSubtargetInfo.inc \
+  AMDGPUGenMCCodeEmitter.inc \
+  AMDGPUGenCallingConv.inc \
+  AMDGPUGenIntrinsics.inc \
+  AMDGPUGenDFAPacketizer.inc \
+  AMDGPUGenAsmWriter.inc \
+  AMDGPUGenAsmMatcher.inc
+
+amdgpu_codegen_SRC_FILES := \
+  AMDILCFGStructurizer.cpp \
+  AMDGPUAlwaysInlinePass.cpp \
+  AMDGPUAnnotateKernelFeatures.cpp \
+  AMDGPUAnnotateUniformValues.cpp \
+  AMDGPUAsmPrinter.cpp \
+  AMDGPUDiagnosticInfoUnsupported.cpp \
+  AMDGPUFrameLowering.cpp \
+  AMDGPUTargetObjectFile.cpp \
+  AMDGPUIntrinsicInfo.cpp \
+  AMDGPUISelDAGToDAG.cpp \
+  AMDGPUMCInstLower.cpp \
+  AMDGPUMachineFunction.cpp \
+  AMDGPUOpenCLImageTypeLoweringPass.cpp \
+  AMDGPUSubtarget.cpp \
+  AMDGPUTargetMachine.cpp \
+  AMDGPUTargetTransformInfo.cpp \
+  AMDGPUISelLowering.cpp \
+  AMDGPUInstrInfo.cpp \
+  AMDGPUPromoteAlloca.cpp \
+  AMDGPURegisterInfo.cpp \
+  R600ClauseMergePass.cpp \
+  R600ControlFlowFinalizer.cpp \
+  R600EmitClauseMarkers.cpp \
+  R600ExpandSpecialInstrs.cpp \
+  R600InstrInfo.cpp \
+  R600ISelLowering.cpp \
+  R600MachineFunctionInfo.cpp \
+  R600MachineScheduler.cpp \
+  R600OptimizeVectorRegisters.cpp \
+  R600Packetizer.cpp \
+  R600RegisterInfo.cpp \
+  R600TextureIntrinsicsReplacer.cpp \
+  SIAnnotateControlFlow.cpp \
+  SIFixControlFlowLiveIntervals.cpp \
+  SIFixSGPRCopies.cpp \
+  SIFixSGPRLiveRanges.cpp \
+  SIFoldOperands.cpp \
+  SIFrameLowering.cpp \
+  SIInsertWaits.cpp \
+  SIInstrInfo.cpp \
+  SIISelLowering.cpp \
+  SILoadStoreOptimizer.cpp \
+  SILowerControlFlow.cpp \
+  SILowerI1Copies.cpp \
+  SIMachineFunctionInfo.cpp \
+  SIMachineScheduler.cpp \
+  SIRegisterInfo.cpp \
+  SIShrinkInstructions.cpp \
+  SITypeRewriter.cpp
+
+# For the host
+# =====================================================
+include $(CLEAR_VARS)
+include $(CLEAR_TBLGEN_VARS)
+
+TBLGEN_TABLES := $(amdgpu_codegen_TBLGEN_TABLES)
+
+LOCAL_SRC_FILES := $(amdgpu_codegen_SRC_FILES)
+
+LOCAL_MODULE := libLLVMAMDGPUCodeGen
+
+LOCAL_MODULE_HOST_OS := darwin linux windows
+
+include $(LLVM_HOST_BUILD_MK)
+include $(LLVM_TBLGEN_RULES_MK)
+include $(LLVM_GEN_ATTRIBUTES_MK)
+include $(LLVM_GEN_INTRINSICS_MK)
+include $(BUILD_HOST_STATIC_LIBRARY)
+
+# For the device only
+# =====================================================
+ifneq (true,$(DISABLE_LLVM_DEVICE_BUILDS))
+include $(CLEAR_VARS)
+include $(CLEAR_TBLGEN_VARS)
+
+TBLGEN_TABLES := $(amdgpu_codegen_TBLGEN_TABLES)
+
+LOCAL_SRC_FILES := $(amdgpu_codegen_SRC_FILES)
+
+LOCAL_MODULE := libLLVMAMDGPUCodeGen
+
+include $(LLVM_DEVICE_BUILD_MK)
+include $(LLVM_TBLGEN_RULES_MK)
+include $(LLVM_GEN_ATTRIBUTES_MK)
+include $(LLVM_GEN_INTRINSICS_MK)
+include $(BUILD_STATIC_LIBRARY)
+endif
diff --git a/lib/Target/AMDGPU/AsmParser/Android.mk b/lib/Target/AMDGPU/AsmParser/Android.mk
new file mode 100644 (file)
index 0000000..6a6659e
--- /dev/null
@@ -0,0 +1,54 @@
+LOCAL_PATH := $(call my-dir)
+
+amdgpu_asm_parser_SRC_FILES := \
+  AMDGPUAsmParser.cpp
+
+amdgpu_asm_parser_TBLGEN_TABLES := \
+  AMDGPUGenAsmMatcher.inc \
+  AMDGPUGenInstrInfo.inc \
+  AMDGPUGenRegisterInfo.inc \
+  AMDGPUGenSubtargetInfo.inc
+
+amdgpu_asm_parser_TBLGEN_TD_DIR := $(LOCAL_PATH)/..
+
+amdgpu_asm_parser_C_INCLUDES :=        $(LOCAL_PATH)/..
+
+#===---------------------------------------------------------------===
+# libAMDGPUAsmParser (host)
+#===---------------------------------------------------------------===
+include $(CLEAR_VARS)
+include $(CLEAR_TBLGEN_VARS)
+
+LOCAL_MODULE := libLLVMAMDGPUAsmParser
+LOCAL_MODULE_HOST_OS := darwin linux windows
+LOCAL_SRC_FILES := $(amdgpu_asm_parser_SRC_FILES)
+LOCAL_C_INCLUDES := $(amdgpu_asm_parser_C_INCLUDES)
+TBLGEN_TABLES := $(amdgpu_asm_parser_TBLGEN_TABLES)
+TBLGEN_TD_DIR := $(amdgpu_asm_parser_TBLGEN_TD_DIR)
+
+include $(LLVM_HOST_BUILD_MK)
+include $(LLVM_TBLGEN_RULES_MK)
+include $(LLVM_GEN_ATTRIBUTES_MK)
+include $(LLVM_GEN_INTRINSICS_MK)
+include $(BUILD_HOST_STATIC_LIBRARY)
+
+
+#===---------------------------------------------------------------===
+# libAMDGPUAsmParser (target)
+#===---------------------------------------------------------------===
+ifneq (true,$(DISABLE_LLVM_DEVICE_BUILDS))
+include $(CLEAR_VARS)
+include $(CLEAR_TBLGEN_VARS)
+
+LOCAL_MODULE := libLLVMAMDGPUAsmParser
+LOCAL_SRC_FILES := $(amdgpu_asm_parser_SRC_FILES)
+LOCAL_C_INCLUDES := $(amdgpu_asm_parser_C_INCLUDES)
+TBLGEN_TABLES := $(amdgpu_asm_parser_TBLGEN_TABLES)
+TBLGEN_TD_DIR := $(amdgpu_asm_parser_TBLGEN_TD_DIR)
+
+include $(LLVM_DEVICE_BUILD_MK)
+include $(LLVM_TBLGEN_RULES_MK)
+include $(LLVM_GEN_ATTRIBUTES_MK)
+include $(LLVM_GEN_INTRINSICS_MK)
+include $(BUILD_STATIC_LIBRARY)
+endif
diff --git a/lib/Target/AMDGPU/InstPrinter/Android.mk b/lib/Target/AMDGPU/InstPrinter/Android.mk
new file mode 100644 (file)
index 0000000..a600901
--- /dev/null
@@ -0,0 +1,47 @@
+LOCAL_PATH := $(call my-dir)
+
+amdgpu_instprinter_TBLGEN_TABLES := \
+  AMDGPUGenAsmWriter.inc \
+  AMDGPUGenInstrInfo.inc \
+  AMDGPUGenRegisterInfo.inc \
+  AMDGPUGenSubtargetInfo.inc
+
+amdgpu_instprinter_SRC_FILES := \
+  AMDGPUInstPrinter.cpp
+
+# For the host
+# =====================================================
+include $(CLEAR_VARS)
+include $(CLEAR_TBLGEN_VARS)
+
+LOCAL_MODULE := libLLVMAMDGPUAsmPrinter
+LOCAL_MODULE_HOST_OS := darwin linux windows
+
+LOCAL_SRC_FILES := $(amdgpu_instprinter_SRC_FILES)
+LOCAL_C_INCLUDES := $(LOCAL_PATH)/..
+
+TBLGEN_TABLES := $(amdgpu_instprinter_TBLGEN_TABLES)
+TBLGEN_TD_DIR := $(LOCAL_PATH)/..
+
+include $(LLVM_HOST_BUILD_MK)
+include $(LLVM_TBLGEN_RULES_MK)
+include $(BUILD_HOST_STATIC_LIBRARY)
+
+# For the device only
+# =====================================================
+ifneq (true,$(DISABLE_LLVM_DEVICE_BUILDS))
+include $(CLEAR_VARS)
+include $(CLEAR_TBLGEN_VARS)
+
+LOCAL_MODULE := libLLVMAMDGPUAsmPrinter
+
+LOCAL_SRC_FILES := $(amdgpu_instprinter_SRC_FILES)
+LOCAL_C_INCLUDES := $(LOCAL_PATH)/..
+
+TBLGEN_TABLES := $(amdgpu_instprinter_TBLGEN_TABLES)
+TBLGEN_TD_DIR := $(LOCAL_PATH)/..
+
+include $(LLVM_DEVICE_BUILD_MK)
+include $(LLVM_TBLGEN_RULES_MK)
+include $(BUILD_STATIC_LIBRARY)
+endif
diff --git a/lib/Target/AMDGPU/MCTargetDesc/Android.mk b/lib/Target/AMDGPU/MCTargetDesc/Android.mk
new file mode 100644 (file)
index 0000000..e914743
--- /dev/null
@@ -0,0 +1,59 @@
+LOCAL_PATH := $(call my-dir)
+
+amdgpu_mc_desc_TBLGEN_TABLES := \
+  AMDGPUGenRegisterInfo.inc \
+  AMDGPUGenInstrInfo.inc \
+  AMDGPUGenMCCodeEmitter.inc \
+  AMDGPUGenSubtargetInfo.inc
+
+amdgpu_mc_desc_SRC_FILES := \
+  AMDGPUAsmBackend.cpp \
+  AMDGPUELFObjectWriter.cpp \
+  AMDGPUELFStreamer.cpp \
+  AMDGPUMCCodeEmitter.cpp \
+  AMDGPUMCTargetDesc.cpp \
+  AMDGPUMCAsmInfo.cpp \
+  AMDGPUTargetStreamer.cpp \
+  R600MCCodeEmitter.cpp \
+  SIMCCodeEmitter.cpp \
+
+# For the host
+# =====================================================
+include $(CLEAR_VARS)
+include $(CLEAR_TBLGEN_VARS)
+
+LOCAL_MODULE := libLLVMAMDGPUDesc
+LOCAL_MODULE_HOST_OS := darwin linux windows
+
+LOCAL_SRC_FILES := $(amdgpu_mc_desc_SRC_FILES)
+LOCAL_C_INCLUDES := $(LOCAL_PATH)/..
+
+TBLGEN_TD_DIR := $(LOCAL_PATH)/..
+TBLGEN_TABLES := $(amdgpu_mc_desc_TBLGEN_TABLES)
+
+include $(LLVM_HOST_BUILD_MK)
+include $(LLVM_TBLGEN_RULES_MK)
+include $(LLVM_GEN_ATTRIBUTES_MK)
+include $(LLVM_GEN_INTRINSICS_MK)
+include $(BUILD_HOST_STATIC_LIBRARY)
+
+# For the device only
+# =====================================================
+ifneq (true,$(DISABLE_LLVM_DEVICE_BUILDS))
+include $(CLEAR_VARS)
+include $(CLEAR_TBLGEN_VARS)
+
+LOCAL_MODULE := libLLVMAMDGPUDesc
+
+LOCAL_SRC_FILES := $(amdgpu_mc_desc_SRC_FILES)
+LOCAL_C_INCLUDES := $(LOCAL_PATH)/..
+
+TBLGEN_TD_DIR := $(LOCAL_PATH)/..
+TBLGEN_TABLES := $(amdgpu_mc_desc_TBLGEN_TABLES)
+
+include $(LLVM_DEVICE_BUILD_MK)
+include $(LLVM_TBLGEN_RULES_MK)
+include $(LLVM_GEN_ATTRIBUTES_MK)
+include $(LLVM_GEN_INTRINSICS_MK)
+include $(BUILD_STATIC_LIBRARY)
+endif
diff --git a/lib/Target/AMDGPU/TargetInfo/Android.mk b/lib/Target/AMDGPU/TargetInfo/Android.mk
new file mode 100644 (file)
index 0000000..097b526
--- /dev/null
@@ -0,0 +1,51 @@
+LOCAL_PATH := $(call my-dir)
+
+amdgpu_target_info_TBLGEN_TABLES := \
+  AMDGPUGenInstrInfo.inc \
+  AMDGPUGenIntrinsics.inc \
+  AMDGPUGenRegisterInfo.inc \
+  AMDGPUGenSubtargetInfo.inc
+
+amdgpu_target_info_SRC_FILES := \
+  AMDGPUTargetInfo.cpp
+
+# For the host
+# =====================================================
+include $(CLEAR_VARS)
+include $(CLEAR_TBLGEN_VARS)
+
+LOCAL_MODULE := libLLVMAMDGPUInfo
+LOCAL_MODULE_HOST_OS := darwin linux windows
+
+TBLGEN_TABLES := $(amdgpu_target_info_TBLGEN_TABLES)
+TBLGEN_TD_DIR := $(LOCAL_PATH)/..
+
+LOCAL_SRC_FILES := $(amdgpu_target_info_SRC_FILES)
+LOCAL_C_INCLUDES := $(LOCAL_PATH)/..
+
+include $(LLVM_HOST_BUILD_MK)
+include $(LLVM_TBLGEN_RULES_MK)
+include $(LLVM_GEN_ATTRIBUTES_MK)
+include $(LLVM_GEN_INTRINSICS_MK)
+include $(BUILD_HOST_STATIC_LIBRARY)
+
+# For the device
+# =====================================================
+ifneq (true,$(DISABLE_LLVM_DEVICE_BUILDS))
+include $(CLEAR_VARS)
+include $(CLEAR_TBLGEN_VARS)
+
+LOCAL_MODULE := libLLVMAMDGPUInfo
+
+TBLGEN_TABLES := $(amdgpu_target_info_TBLGEN_TABLES)
+TBLGEN_TD_DIR := $(LOCAL_PATH)/..
+
+LOCAL_SRC_FILES := $(amdgpu_target_info_SRC_FILES)
+LOCAL_C_INCLUDES := $(LOCAL_PATH)/..
+
+include $(LLVM_DEVICE_BUILD_MK)
+include $(LLVM_TBLGEN_RULES_MK)
+include $(LLVM_GEN_ATTRIBUTES_MK)
+include $(LLVM_GEN_INTRINSICS_MK)
+include $(BUILD_STATIC_LIBRARY)
+endif
diff --git a/lib/Target/AMDGPU/Utils/Android.mk b/lib/Target/AMDGPU/Utils/Android.mk
new file mode 100644 (file)
index 0000000..6a5aad1
--- /dev/null
@@ -0,0 +1,48 @@
+LOCAL_PATH := $(call my-dir)
+
+amdgpu_utils_TBLGEN_TABLES := \
+  AMDGPUGenRegisterInfo.inc \
+  AMDGPUGenSubtargetInfo.inc
+
+amdgpu_utils_SRC_FILES := \
+  AMDGPUBaseInfo.cpp
+
+# For the host
+# =====================================================
+include $(CLEAR_VARS)
+
+LOCAL_SRC_FILES := $(amdgpu_utils_SRC_FILES)
+
+LOCAL_C_INCLUDES := $(LOCAL_PATH)/..
+
+LOCAL_MODULE := libLLVMAMDGPUUtils
+
+LOCAL_MODULE_HOST_OS := darwin linux windows
+
+TBLGEN_TD_DIR := $(LOCAL_PATH)/..
+TBLGEN_TABLES := $(amdgpu_utils_TBLGEN_TABLES)
+
+include $(LLVM_HOST_BUILD_MK)
+include $(LLVM_TBLGEN_RULES_MK)
+include $(LLVM_GEN_ATTRIBUTES_MK)
+include $(BUILD_HOST_STATIC_LIBRARY)
+
+# For the device
+# =====================================================
+ifneq (true,$(DISABLE_LLVM_DEVICE_BUILDS))
+include $(CLEAR_VARS)
+
+LOCAL_SRC_FILES := $(amdgpu_utils_SRC_FILES)
+
+LOCAL_C_INCLUDES := $(LOCAL_PATH)/..
+
+LOCAL_MODULE := libLLVMAMDGPUUtils
+
+TBLGEN_TD_DIR := $(LOCAL_PATH)/..
+TBLGEN_TABLES := $(amdgpu_utils_TBLGEN_TABLES)
+
+include $(LLVM_DEVICE_BUILD_MK)
+include $(LLVM_TBLGEN_RULES_MK)
+include $(LLVM_GEN_ATTRIBUTES_MK)
+include $(BUILD_STATIC_LIBRARY)
+endif
diff --git a/lib/Target/ARM/Android.mk b/lib/Target/ARM/Android.mk
new file mode 100644 (file)
index 0000000..5b3dc9a
--- /dev/null
@@ -0,0 +1,84 @@
+LOCAL_PATH := $(call my-dir)
+
+arm_codegen_TBLGEN_TABLES := \
+  ARMGenRegisterInfo.inc \
+  ARMGenInstrInfo.inc \
+  ARMGenCodeEmitter.inc \
+  ARMGenMCCodeEmitter.inc \
+  ARMGenMCPseudoLowering.inc \
+  ARMGenAsmWriter.inc \
+  ARMGenAsmMatcher.inc \
+  ARMGenDAGISel.inc \
+  ARMGenFastISel.inc \
+  ARMGenCallingConv.inc \
+  ARMGenSubtargetInfo.inc \
+  ARMGenDisassemblerTables.inc
+
+arm_codegen_SRC_FILES := \
+  A15SDOptimizer.cpp \
+  ARMAsmPrinter.cpp \
+  ARMBaseInstrInfo.cpp \
+  ARMBaseRegisterInfo.cpp \
+  ARMConstantIslandPass.cpp \
+  ARMConstantPoolValue.cpp \
+  ARMExpandPseudoInsts.cpp \
+  ARMFastISel.cpp \
+  ARMFrameLowering.cpp \
+  ARMHazardRecognizer.cpp \
+  ARMISelDAGToDAG.cpp \
+  ARMISelLowering.cpp \
+  ARMInstrInfo.cpp \
+  ARMLoadStoreOptimizer.cpp \
+  ARMMCInstLower.cpp \
+  ARMMachineFunctionInfo.cpp \
+  ARMOptimizeBarriersPass.cpp \
+  ARMRegisterInfo.cpp \
+  ARMSelectionDAGInfo.cpp \
+  ARMSubtarget.cpp \
+  ARMTargetMachine.cpp \
+  ARMTargetObjectFile.cpp \
+  ARMTargetTransformInfo.cpp \
+  MLxExpansionPass.cpp \
+  Thumb1FrameLowering.cpp \
+  Thumb1InstrInfo.cpp \
+  ThumbRegisterInfo.cpp \
+  Thumb2ITBlockPass.cpp \
+  Thumb2InstrInfo.cpp \
+  Thumb2SizeReduction.cpp
+
+# For the host
+# =====================================================
+include $(CLEAR_VARS)
+include $(CLEAR_TBLGEN_VARS)
+
+LOCAL_MODULE:= libLLVMARMCodeGen
+LOCAL_MODULE_HOST_OS := darwin linux windows
+
+LOCAL_SRC_FILES := $(arm_codegen_SRC_FILES)
+LOCAL_C_INCLUDES := $(LOCAL_PATH)/MCTargetDesc
+TBLGEN_TABLES := $(arm_codegen_TBLGEN_TABLES)
+
+include $(LLVM_HOST_BUILD_MK)
+include $(LLVM_TBLGEN_RULES_MK)
+include $(LLVM_GEN_ATTRIBUTES_MK)
+include $(LLVM_GEN_INTRINSICS_MK)
+include $(BUILD_HOST_STATIC_LIBRARY)
+
+# For the device only
+# =====================================================
+ifneq (true,$(DISABLE_LLVM_DEVICE_BUILDS))
+include $(CLEAR_VARS)
+include $(CLEAR_TBLGEN_VARS)
+
+LOCAL_MODULE:= libLLVMARMCodeGen
+
+LOCAL_SRC_FILES := $(arm_codegen_SRC_FILES)
+LOCAL_C_INCLUDES := $(LOCAL_PATH)/MCTargetDesc
+TBLGEN_TABLES := $(arm_codegen_TBLGEN_TABLES)
+
+include $(LLVM_DEVICE_BUILD_MK)
+include $(LLVM_TBLGEN_RULES_MK)
+include $(LLVM_GEN_ATTRIBUTES_MK)
+include $(LLVM_GEN_INTRINSICS_MK)
+include $(BUILD_STATIC_LIBRARY)
+endif
diff --git a/lib/Target/ARM/AsmParser/Android.mk b/lib/Target/ARM/AsmParser/Android.mk
new file mode 100644 (file)
index 0000000..42c36e9
--- /dev/null
@@ -0,0 +1,61 @@
+LOCAL_PATH := $(call my-dir)
+
+#===---------------------------------------------------------------===
+# libARMAsmParser (common)
+#===---------------------------------------------------------------===
+
+arm_asm_parser_SRC_FILES := \
+  ARMAsmParser.cpp
+
+arm_asm_parser_TBLGEN_TABLES := \
+  ARMGenInstrInfo.inc \
+  ARMGenRegisterInfo.inc \
+  ARMGenAsmMatcher.inc \
+  ARMGenSubtargetInfo.inc
+
+arm_asm_parser_TBLGEN_TD_DIR := $(LOCAL_PATH)/..
+
+arm_asm_parser_C_INCLUDES := $(LOCAL_PATH)/..
+
+
+#===---------------------------------------------------------------===
+# libARMAsmParser (host)
+#===---------------------------------------------------------------===
+include $(CLEAR_VARS)
+include $(CLEAR_TBLGEN_VARS)
+
+LOCAL_MODULE:= libLLVMARMAsmParser
+LOCAL_MODULE_HOST_OS := darwin linux windows
+LOCAL_SRC_FILES := $(arm_asm_parser_SRC_FILES)
+LOCAL_C_INCLUDES += $(arm_asm_parser_C_INCLUDES)
+TBLGEN_TABLES := $(arm_asm_parser_TBLGEN_TABLES)
+TBLGEN_TD_DIR := $(arm_asm_parser_TBLGEN_TD_DIR)
+
+include $(LLVM_HOST_BUILD_MK)
+include $(LLVM_TBLGEN_RULES_MK)
+# Override the default optimization level to work around taking forever (~50m)
+# to compile ARMAsmParser.cpp on Mac with gcc 4.2,
+# or on Linux with mingw32msvc-gcc 4.2, which is used to cross-compile
+# the win_sdk.
+LOCAL_CFLAGS_darwin += -O0
+LOCAL_CFLAGS_windows += -O0
+include $(BUILD_HOST_STATIC_LIBRARY)
+
+
+#===---------------------------------------------------------------===
+# libARMAsmParser (target)
+#===---------------------------------------------------------------===
+ifneq (true,$(DISABLE_LLVM_DEVICE_BUILDS))
+include $(CLEAR_VARS)
+include $(CLEAR_TBLGEN_VARS)
+
+LOCAL_MODULE:= libLLVMARMAsmParser
+LOCAL_SRC_FILES := $(arm_asm_parser_SRC_FILES)
+LOCAL_C_INCLUDES += $(arm_asm_parser_C_INCLUDES)
+TBLGEN_TABLES := $(arm_asm_parser_TBLGEN_TABLES)
+TBLGEN_TD_DIR := $(arm_asm_parser_TBLGEN_TD_DIR)
+
+include $(LLVM_DEVICE_BUILD_MK)
+include $(LLVM_TBLGEN_RULES_MK)
+include $(BUILD_STATIC_LIBRARY)
+endif
diff --git a/lib/Target/ARM/Disassembler/Android.mk b/lib/Target/ARM/Disassembler/Android.mk
new file mode 100644 (file)
index 0000000..e849a69
--- /dev/null
@@ -0,0 +1,53 @@
+LOCAL_PATH := $(call my-dir)
+
+arm_disassembler_TBLGEN_TABLES := \
+  ARMGenDisassemblerTables.inc \
+  ARMGenInstrInfo.inc \
+  ARMGenSubtargetInfo.inc \
+  ARMGenRegisterInfo.inc
+
+arm_disassembler_SRC_FILES := \
+  ARMDisassembler.cpp
+
+# For the device
+# =====================================================
+ifneq (true,$(DISABLE_LLVM_DEVICE_BUILDS))
+include $(CLEAR_VARS)
+include $(CLEAR_TBLGEN_VARS)
+
+TBLGEN_TABLES := $(arm_disassembler_TBLGEN_TABLES)
+
+TBLGEN_TD_DIR := $(LOCAL_PATH)/..
+
+LOCAL_SRC_FILES := $(arm_disassembler_SRC_FILES)
+
+LOCAL_C_INCLUDES += $(LOCAL_PATH)/..
+
+LOCAL_MODULE:= libLLVMARMDisassembler
+
+include $(LLVM_DEVICE_BUILD_MK)
+include $(LLVM_TBLGEN_RULES_MK)
+include $(BUILD_STATIC_LIBRARY)
+endif
+
+# For the host
+# =====================================================
+include $(CLEAR_VARS)
+include $(CLEAR_TBLGEN_VARS)
+
+TBLGEN_TABLES := $(arm_disassembler_TBLGEN_TABLES)
+
+TBLGEN_TD_DIR := $(LOCAL_PATH)/..
+
+LOCAL_SRC_FILES := $(arm_disassembler_SRC_FILES)
+
+LOCAL_C_INCLUDES += $(LOCAL_PATH)/..
+
+LOCAL_MODULE:= libLLVMARMDisassembler
+
+LOCAL_MODULE_HOST_OS := darwin linux windows
+
+include $(LLVM_HOST_BUILD_MK)
+include $(LLVM_TBLGEN_RULES_MK)
+include $(BUILD_HOST_STATIC_LIBRARY)
+
diff --git a/lib/Target/ARM/InstPrinter/Android.mk b/lib/Target/ARM/InstPrinter/Android.mk
new file mode 100644 (file)
index 0000000..d8ef32a
--- /dev/null
@@ -0,0 +1,55 @@
+LOCAL_PATH := $(call my-dir)
+
+arm_asm_printer_TBLGEN_TABLES := \
+  ARMGenAsmWriter.inc \
+  ARMGenRegisterInfo.inc \
+  ARMGenSubtargetInfo.inc \
+  ARMGenInstrInfo.inc
+
+arm_asm_printer_SRC_FILES := \
+  ARMInstPrinter.cpp
+
+# For the host
+# =====================================================
+include $(CLEAR_VARS)
+include $(CLEAR_TBLGEN_VARS)
+
+TBLGEN_TABLES := $(arm_asm_printer_TBLGEN_TABLES)
+
+TBLGEN_TD_DIR := $(LOCAL_PATH)/..
+
+LOCAL_SRC_FILES := $(arm_asm_printer_SRC_FILES)
+
+LOCAL_MODULE:= libLLVMARMAsmPrinter
+
+LOCAL_C_INCLUDES += \
+    $(LOCAL_PATH)/..
+
+LOCAL_MODULE_HOST_OS := darwin linux windows
+
+include $(LLVM_HOST_BUILD_MK)
+include $(LLVM_TBLGEN_RULES_MK)
+include $(BUILD_HOST_STATIC_LIBRARY)
+
+# For the device only
+# =====================================================
+ifneq (true,$(DISABLE_LLVM_DEVICE_BUILDS))
+include $(CLEAR_VARS)
+include $(CLEAR_TBLGEN_VARS)
+
+TBLGEN_TABLES := $(arm_asm_printer_TBLGEN_TABLES)
+
+TBLGEN_TD_DIR := $(LOCAL_PATH)/..
+
+LOCAL_SRC_FILES := $(arm_asm_printer_SRC_FILES)
+
+LOCAL_C_INCLUDES+= \
+    $(LOCAL_PATH)/..
+
+LOCAL_MODULE:= libLLVMARMAsmPrinter
+
+include $(LLVM_DEVICE_BUILD_MK)
+include $(LLVM_TBLGEN_RULES_MK)
+include $(BUILD_STATIC_LIBRARY)
+endif
+
diff --git a/lib/Target/ARM/MCTargetDesc/Android.mk b/lib/Target/ARM/MCTargetDesc/Android.mk
new file mode 100644 (file)
index 0000000..dd5498d
--- /dev/null
@@ -0,0 +1,65 @@
+LOCAL_PATH := $(call my-dir)
+
+arm_mc_desc_TBLGEN_TABLES := \
+  ARMGenRegisterInfo.inc \
+  ARMGenInstrInfo.inc \
+  ARMGenMCCodeEmitter.inc \
+  ARMGenSubtargetInfo.inc
+
+arm_mc_desc_SRC_FILES := \
+  ARMAsmBackend.cpp \
+  ARMELFObjectWriter.cpp \
+  ARMELFStreamer.cpp \
+  ARMMCAsmInfo.cpp \
+  ARMMCCodeEmitter.cpp \
+  ARMMCExpr.cpp \
+  ARMMCTargetDesc.cpp \
+  ARMMachObjectWriter.cpp \
+  ARMMachORelocationInfo.cpp \
+  ARMTargetStreamer.cpp \
+  ARMUnwindOpAsm.cpp \
+  ARMWinCOFFObjectWriter.cpp \
+  ARMWinCOFFStreamer.cpp \
+
+# For the host
+# =====================================================
+include $(CLEAR_VARS)
+include $(CLEAR_TBLGEN_VARS)
+
+
+LOCAL_MODULE:= libLLVMARMDesc
+LOCAL_MODULE_HOST_OS := darwin linux windows
+
+LOCAL_SRC_FILES := $(arm_mc_desc_SRC_FILES)
+LOCAL_C_INCLUDES := $(LOCAL_PATH)/..
+
+TBLGEN_TD_DIR := $(LOCAL_PATH)/..
+TBLGEN_TABLES := $(arm_mc_desc_TBLGEN_TABLES)
+
+include $(LLVM_HOST_BUILD_MK)
+include $(LLVM_TBLGEN_RULES_MK)
+include $(LLVM_GEN_ATTRIBUTES_MK)
+include $(LLVM_GEN_INTRINSICS_MK)
+include $(BUILD_HOST_STATIC_LIBRARY)
+
+# For the device only
+# =====================================================
+ifneq (true,$(DISABLE_LLVM_DEVICE_BUILDS))
+include $(CLEAR_VARS)
+include $(CLEAR_TBLGEN_VARS)
+
+LOCAL_MODULE:= libLLVMARMDesc
+LOCAL_MODULE_TAGS := optional
+
+LOCAL_SRC_FILES := $(arm_mc_desc_SRC_FILES)
+LOCAL_C_INCLUDES := $(LOCAL_PATH)/..
+
+TBLGEN_TD_DIR := $(LOCAL_PATH)/..
+TBLGEN_TABLES := $(arm_mc_desc_TBLGEN_TABLES)
+
+include $(LLVM_DEVICE_BUILD_MK)
+include $(LLVM_TBLGEN_RULES_MK)
+include $(LLVM_GEN_ATTRIBUTES_MK)
+include $(LLVM_GEN_INTRINSICS_MK)
+include $(BUILD_STATIC_LIBRARY)
+endif
diff --git a/lib/Target/ARM/TargetInfo/Android.mk b/lib/Target/ARM/TargetInfo/Android.mk
new file mode 100644 (file)
index 0000000..6f6420f
--- /dev/null
@@ -0,0 +1,55 @@
+LOCAL_PATH := $(call my-dir)
+
+arm_target_info_TBLGEN_TABLES := \
+  ARMGenSubtargetInfo.inc \
+  ARMGenRegisterInfo.inc \
+  ARMGenInstrInfo.inc
+
+arm_target_info_SRC_FILES := \
+  ARMTargetInfo.cpp
+
+# For the host
+# =====================================================
+include $(CLEAR_VARS)
+include $(CLEAR_TBLGEN_VARS)
+
+TBLGEN_TABLES := $(arm_target_info_TBLGEN_TABLES)
+
+TBLGEN_TD_DIR := $(LOCAL_PATH)/..
+
+LOCAL_SRC_FILES := $(arm_target_info_SRC_FILES)
+
+LOCAL_C_INCLUDES +=    \
+       $(LOCAL_PATH)/..
+
+LOCAL_MODULE:= libLLVMARMInfo
+
+LOCAL_MODULE_HOST_OS := darwin linux windows
+
+include $(LLVM_HOST_BUILD_MK)
+include $(LLVM_TBLGEN_RULES_MK)
+include $(LLVM_GEN_ATTRIBUTES_MK)
+include $(BUILD_HOST_STATIC_LIBRARY)
+
+# For the device
+# =====================================================
+ifneq (true,$(DISABLE_LLVM_DEVICE_BUILDS))
+include $(CLEAR_VARS)
+include $(CLEAR_TBLGEN_VARS)
+
+TBLGEN_TABLES := $(arm_target_info_TBLGEN_TABLES)
+
+TBLGEN_TD_DIR := $(LOCAL_PATH)/..
+
+LOCAL_SRC_FILES := $(arm_target_info_SRC_FILES)
+
+LOCAL_C_INCLUDES +=    \
+       $(LOCAL_PATH)/..
+
+LOCAL_MODULE:= libLLVMARMInfo
+
+include $(LLVM_DEVICE_BUILD_MK)
+include $(LLVM_TBLGEN_RULES_MK)
+include $(LLVM_GEN_ATTRIBUTES_MK)
+include $(BUILD_STATIC_LIBRARY)
+endif
diff --git a/lib/Target/Android.mk b/lib/Target/Android.mk
new file mode 100644 (file)
index 0000000..269e28a
--- /dev/null
@@ -0,0 +1,40 @@
+LOCAL_PATH:= $(call my-dir)
+
+target_SRC_FILES := \
+  Target.cpp \
+  TargetIntrinsicInfo.cpp \
+  TargetLoweringObjectFile.cpp \
+  TargetMachine.cpp \
+  TargetMachineC.cpp \
+  TargetRecip.cpp \
+  TargetSubtargetInfo.cpp
+
+# For the host
+# =====================================================
+include $(CLEAR_VARS)
+
+LOCAL_SRC_FILES := $(target_SRC_FILES)
+
+LOCAL_MODULE:= libLLVMTarget
+
+LOCAL_MODULE_HOST_OS := darwin linux windows
+
+include $(LLVM_HOST_BUILD_MK)
+include $(LLVM_GEN_ATTRIBUTES_MK)
+include $(LLVM_GEN_INTRINSICS_MK)
+include $(BUILD_HOST_STATIC_LIBRARY)
+
+# For the device
+# =====================================================
+ifneq (true,$(DISABLE_LLVM_DEVICE_BUILDS))
+include $(CLEAR_VARS)
+
+LOCAL_SRC_FILES := $(target_SRC_FILES)
+
+LOCAL_MODULE:= libLLVMTarget
+
+include $(LLVM_DEVICE_BUILD_MK)
+include $(LLVM_GEN_ATTRIBUTES_MK)
+include $(LLVM_GEN_INTRINSICS_MK)
+include $(BUILD_STATIC_LIBRARY)
+endif
diff --git a/lib/Target/Mips/Android.mk b/lib/Target/Mips/Android.mk
new file mode 100644 (file)
index 0000000..9ab262a
--- /dev/null
@@ -0,0 +1,86 @@
+LOCAL_PATH := $(call my-dir)
+
+mips_codegen_TBLGEN_TABLES := \
+  MipsGenRegisterInfo.inc \
+  MipsGenInstrInfo.inc \
+  MipsGenCodeEmitter.inc \
+  MipsGenMCCodeEmitter.inc \
+  MipsGenMCPseudoLowering.inc \
+  MipsGenAsmWriter.inc \
+  MipsGenDAGISel.inc \
+  MipsGenFastISel.inc \
+  MipsGenCallingConv.inc \
+  MipsGenSubtargetInfo.inc
+
+mips_codegen_SRC_FILES := \
+  Mips16FrameLowering.cpp \
+  Mips16HardFloat.cpp \
+  Mips16HardFloatInfo.cpp \
+  Mips16ISelDAGToDAG.cpp \
+  Mips16ISelLowering.cpp \
+  Mips16InstrInfo.cpp \
+  Mips16RegisterInfo.cpp \
+  MipsAnalyzeImmediate.cpp \
+  MipsAsmPrinter.cpp \
+  MipsCCState.cpp \
+  MipsConstantIslandPass.cpp \
+  MipsDelaySlotFiller.cpp \
+  MipsFastISel.cpp \
+  MipsFrameLowering.cpp \
+  MipsInstrInfo.cpp \
+  MipsISelDAGToDAG.cpp \
+  MipsISelLowering.cpp \
+  MipsLongBranch.cpp \
+  MipsMachineFunction.cpp \
+  MipsMCInstLower.cpp \
+  MipsModuleISelDAGToDAG.cpp \
+  MipsOs16.cpp \
+  MipsOptimizePICCall.cpp \
+  MipsRegisterInfo.cpp \
+  MipsSEFrameLowering.cpp \
+  MipsSEISelDAGToDAG.cpp \
+  MipsSEISelLowering.cpp \
+  MipsSEInstrInfo.cpp \
+  MipsSERegisterInfo.cpp \
+  MipsSubtarget.cpp \
+  MipsTargetMachine.cpp \
+  MipsTargetObjectFile.cpp
+
+# For the host
+# =====================================================
+include $(CLEAR_VARS)
+include $(CLEAR_TBLGEN_VARS)
+
+LOCAL_MODULE:= libLLVMMipsCodeGen
+LOCAL_MODULE_HOST_OS := darwin linux windows
+
+LOCAL_SRC_FILES := $(mips_codegen_SRC_FILES)
+LOCAL_C_INCLUDES := $(LOCAL_PATH)/MCTargetDesc
+
+TBLGEN_TABLES := $(mips_codegen_TBLGEN_TABLES)
+
+include $(LLVM_HOST_BUILD_MK)
+include $(LLVM_TBLGEN_RULES_MK)
+include $(LLVM_GEN_ATTRIBUTES_MK)
+include $(LLVM_GEN_INTRINSICS_MK)
+include $(BUILD_HOST_STATIC_LIBRARY)
+
+# For the device only
+# =====================================================
+ifneq (true,$(DISABLE_LLVM_DEVICE_BUILDS))
+include $(CLEAR_VARS)
+include $(CLEAR_TBLGEN_VARS)
+
+LOCAL_MODULE:= libLLVMMipsCodeGen
+
+LOCAL_SRC_FILES := $(mips_codegen_SRC_FILES)
+LOCAL_C_INCLUDES := $(LOCAL_PATH)/MCTargetDesc
+
+TBLGEN_TABLES := $(mips_codegen_TBLGEN_TABLES)
+
+include $(LLVM_DEVICE_BUILD_MK)
+include $(LLVM_TBLGEN_RULES_MK)
+include $(LLVM_GEN_ATTRIBUTES_MK)
+include $(LLVM_GEN_INTRINSICS_MK)
+include $(BUILD_STATIC_LIBRARY)
+endif
diff --git a/lib/Target/Mips/AsmParser/Android.mk b/lib/Target/Mips/AsmParser/Android.mk
new file mode 100644 (file)
index 0000000..0443e0e
--- /dev/null
@@ -0,0 +1,57 @@
+LOCAL_PATH := $(call my-dir)
+
+#===---------------------------------------------------------------===
+# libLLVMMipsAsmParser (common)
+#===---------------------------------------------------------------===
+
+mips_asm_parser_SRC_FILES := \
+  MipsAsmParser.cpp
+
+mips_asm_parser_C_INCLUDES := $(LOCAL_PATH)/..
+
+mips_asm_parser_TBLGEN_TABLES := \
+  MipsGenAsmMatcher.inc \
+  MipsGenInstrInfo.inc \
+  MipsGenRegisterInfo.inc \
+  MipsGenSubtargetInfo.inc
+
+mips_asm_parser_TBLGEN_TD_DIR := $(LOCAL_PATH)/..
+
+
+#===---------------------------------------------------------------===
+# libLLVMMipsAsmParser (host)
+#===---------------------------------------------------------------===
+include $(CLEAR_VARS)
+include $(CLEAR_TBLGEN_VARS)
+
+LOCAL_MODULE:= libLLVMMipsAsmParser
+LOCAL_MODULE_HOST_OS := darwin linux windows
+LOCAL_SRC_FILES := $(mips_asm_parser_SRC_FILES)
+LOCAL_C_INCLUDES += $(mips_asm_parser_C_INCLUDES)
+TBLGEN_TABLES := $(mips_asm_parser_TBLGEN_TABLES)
+TBLGEN_TD_DIR := $(LOCAL_PATH)/..
+
+include $(LLVM_HOST_BUILD_MK)
+include $(LLVM_TBLGEN_RULES_MK)
+include $(LLVM_GEN_ATTRIBUTES_MK)
+include $(BUILD_HOST_STATIC_LIBRARY)
+
+
+#===---------------------------------------------------------------===
+# libLLVMMipsAsmParser (target)
+#===---------------------------------------------------------------===
+ifneq (true,$(DISABLE_LLVM_DEVICE_BUILDS))
+include $(CLEAR_VARS)
+include $(CLEAR_TBLGEN_VARS)
+
+LOCAL_MODULE:= libLLVMMipsAsmParser
+LOCAL_SRC_FILES := $(mips_asm_parser_SRC_FILES)
+LOCAL_C_INCLUDES += $(mips_asm_parser_C_INCLUDES)
+TBLGEN_TABLES := $(mips_asm_parser_TBLGEN_TABLES)
+TBLGEN_TD_DIR := $(LOCAL_PATH)/..
+
+include $(LLVM_DEVICE_BUILD_MK)
+include $(LLVM_TBLGEN_RULES_MK)
+include $(LLVM_GEN_ATTRIBUTES_MK)
+include $(BUILD_STATIC_LIBRARY)
+endif
diff --git a/lib/Target/Mips/Disassembler/Android.mk b/lib/Target/Mips/Disassembler/Android.mk
new file mode 100644 (file)
index 0000000..56a9151
--- /dev/null
@@ -0,0 +1,51 @@
+LOCAL_PATH := $(call my-dir)
+
+mips_disassembler_TBLGEN_TABLES := \
+  MipsGenDisassemblerTables.inc \
+  MipsGenInstrInfo.inc \
+  MipsGenRegisterInfo.inc \
+  MipsGenSubtargetInfo.inc
+
+mips_disassembler_SRC_FILES := \
+  MipsDisassembler.cpp
+
+# For the device
+# =====================================================
+ifneq (true,$(DISABLE_LLVM_DEVICE_BUILDS))
+include $(CLEAR_VARS)
+include $(CLEAR_TBLGEN_VARS)
+
+LOCAL_MODULE:= libLLVMMipsDisassembler
+
+LOCAL_SRC_FILES := $(mips_disassembler_SRC_FILES)
+LOCAL_C_INCLUDES += $(LOCAL_PATH)/..
+
+TBLGEN_TABLES := $(mips_disassembler_TBLGEN_TABLES)
+TBLGEN_TD_DIR := $(LOCAL_PATH)/..
+
+include $(LLVM_DEVICE_BUILD_MK)
+include $(LLVM_TBLGEN_RULES_MK)
+include $(LLVM_GEN_ATTRIBUTES_MK)
+include $(LLVM_GEN_INTRINSICS_MK)
+include $(BUILD_STATIC_LIBRARY)
+endif
+
+# For the host
+# =====================================================
+include $(CLEAR_VARS)
+include $(CLEAR_TBLGEN_VARS)
+
+LOCAL_MODULE:= libLLVMMipsDisassembler
+LOCAL_MODULE_HOST_OS := darwin linux windows
+
+LOCAL_SRC_FILES := $(mips_disassembler_SRC_FILES)
+LOCAL_C_INCLUDES += $(LOCAL_PATH)/..
+
+TBLGEN_TABLES := $(mips_disassembler_TBLGEN_TABLES)
+TBLGEN_TD_DIR := $(LOCAL_PATH)/..
+
+include $(LLVM_HOST_BUILD_MK)
+include $(LLVM_TBLGEN_RULES_MK)
+include $(LLVM_GEN_ATTRIBUTES_MK)
+include $(LLVM_GEN_INTRINSICS_MK)
+include $(BUILD_HOST_STATIC_LIBRARY)
diff --git a/lib/Target/Mips/InstPrinter/Android.mk b/lib/Target/Mips/InstPrinter/Android.mk
new file mode 100644 (file)
index 0000000..bec2e81
--- /dev/null
@@ -0,0 +1,49 @@
+LOCAL_PATH := $(call my-dir)
+
+mips_asm_printer_TBLGEN_TABLES := \
+  MipsGenAsmWriter.inc \
+  MipsGenRegisterInfo.inc \
+  MipsGenSubtargetInfo.inc \
+  MipsGenInstrInfo.inc
+
+mips_asm_printer_SRC_FILES := \
+  MipsInstPrinter.cpp
+
+# For the host
+# =====================================================
+include $(CLEAR_VARS)
+include $(CLEAR_TBLGEN_VARS)
+
+LOCAL_MODULE:= libLLVMMipsAsmPrinter
+LOCAL_MODULE_HOST_OS := darwin linux windows
+
+TBLGEN_TABLES := $(mips_asm_printer_TBLGEN_TABLES)
+TBLGEN_TD_DIR := $(LOCAL_PATH)/..
+
+LOCAL_SRC_FILES := $(mips_asm_printer_SRC_FILES)
+LOCAL_C_INCLUDES += $(LOCAL_PATH)/..
+
+include $(LLVM_HOST_BUILD_MK)
+include $(LLVM_TBLGEN_RULES_MK)
+include $(LLVM_GEN_ATTRIBUTES_MK)
+include $(BUILD_HOST_STATIC_LIBRARY)
+
+# For the device only
+# =====================================================
+ifneq (true,$(DISABLE_LLVM_DEVICE_BUILDS))
+include $(CLEAR_VARS)
+include $(CLEAR_TBLGEN_VARS)
+
+LOCAL_MODULE:= libLLVMMipsAsmPrinter
+
+TBLGEN_TABLES := $(mips_asm_printer_TBLGEN_TABLES)
+TBLGEN_TD_DIR := $(LOCAL_PATH)/..
+
+LOCAL_SRC_FILES := $(mips_asm_printer_SRC_FILES)
+LOCAL_C_INCLUDES += $(LOCAL_PATH)/..
+
+include $(LLVM_DEVICE_BUILD_MK)
+include $(LLVM_TBLGEN_RULES_MK)
+include $(LLVM_GEN_ATTRIBUTES_MK)
+include $(BUILD_STATIC_LIBRARY)
+endif
diff --git a/lib/Target/Mips/MCTargetDesc/Android.mk b/lib/Target/Mips/MCTargetDesc/Android.mk
new file mode 100644 (file)
index 0000000..8c37e5d
--- /dev/null
@@ -0,0 +1,62 @@
+LOCAL_PATH := $(call my-dir)
+
+mips_mc_desc_TBLGEN_TABLES := \
+  MipsGenRegisterInfo.inc \
+  MipsGenInstrInfo.inc \
+  MipsGenMCCodeEmitter.inc \
+  MipsGenSubtargetInfo.inc
+
+mips_mc_desc_SRC_FILES := \
+  MipsABIFlagsSection.cpp \
+  MipsABIInfo.cpp \
+  MipsAsmBackend.cpp \
+  MipsELFObjectWriter.cpp \
+  MipsELFStreamer.cpp \
+  MipsMCAsmInfo.cpp \
+  MipsMCCodeEmitter.cpp \
+  MipsMCExpr.cpp \
+  MipsMCTargetDesc.cpp \
+  MipsOptionRecord.cpp \
+  MipsNaClELFStreamer.cpp \
+  MipsTargetStreamer.cpp
+
+# For the host
+# =====================================================
+include $(CLEAR_VARS)
+include $(CLEAR_TBLGEN_VARS)
+
+LOCAL_MODULE:= libLLVMMipsDesc
+LOCAL_MODULE_HOST_OS := darwin linux windows
+
+LOCAL_SRC_FILES := $(mips_mc_desc_SRC_FILES)
+LOCAL_C_INCLUDES := $(LOCAL_PATH)/..
+
+TBLGEN_TD_DIR := $(LOCAL_PATH)/..
+TBLGEN_TABLES := $(mips_mc_desc_TBLGEN_TABLES)
+
+include $(LLVM_HOST_BUILD_MK)
+include $(LLVM_TBLGEN_RULES_MK)
+include $(LLVM_GEN_ATTRIBUTES_MK)
+include $(LLVM_GEN_INTRINSICS_MK)
+include $(BUILD_HOST_STATIC_LIBRARY)
+
+# For the device only
+# =====================================================
+ifneq (true,$(DISABLE_LLVM_DEVICE_BUILDS))
+include $(CLEAR_VARS)
+include $(CLEAR_TBLGEN_VARS)
+
+LOCAL_MODULE:= libLLVMMipsDesc
+
+LOCAL_SRC_FILES := $(mips_mc_desc_SRC_FILES)
+LOCAL_C_INCLUDES := $(LOCAL_PATH)/..
+
+TBLGEN_TD_DIR := $(LOCAL_PATH)/..
+TBLGEN_TABLES := $(mips_mc_desc_TBLGEN_TABLES)
+
+include $(LLVM_DEVICE_BUILD_MK)
+include $(LLVM_TBLGEN_RULES_MK)
+include $(LLVM_GEN_ATTRIBUTES_MK)
+include $(LLVM_GEN_INTRINSICS_MK)
+include $(BUILD_STATIC_LIBRARY)
+endif
diff --git a/lib/Target/Mips/TargetInfo/Android.mk b/lib/Target/Mips/TargetInfo/Android.mk
new file mode 100644 (file)
index 0000000..e040904
--- /dev/null
@@ -0,0 +1,48 @@
+LOCAL_PATH := $(call my-dir)
+
+mips_target_info_TBLGEN_TABLES := \
+  MipsGenInstrInfo.inc \
+  MipsGenRegisterInfo.inc \
+  MipsGenSubtargetInfo.inc
+
+mips_target_info_SRC_FILES := \
+  MipsTargetInfo.cpp
+
+# For the host
+# =====================================================
+include $(CLEAR_VARS)
+include $(CLEAR_TBLGEN_VARS)
+
+LOCAL_MODULE:= libLLVMMipsInfo
+LOCAL_MODULE_HOST_OS := darwin linux windows
+
+TBLGEN_TABLES := $(mips_target_info_TBLGEN_TABLES)
+TBLGEN_TD_DIR := $(LOCAL_PATH)/..
+
+LOCAL_SRC_FILES := $(mips_target_info_SRC_FILES)
+LOCAL_C_INCLUDES +=    $(LOCAL_PATH)/..
+
+include $(LLVM_HOST_BUILD_MK)
+include $(LLVM_TBLGEN_RULES_MK)
+include $(LLVM_GEN_ATTRIBUTES_MK)
+include $(BUILD_HOST_STATIC_LIBRARY)
+
+# For the device
+# =====================================================
+ifneq (true,$(DISABLE_LLVM_DEVICE_BUILDS))
+include $(CLEAR_VARS)
+include $(CLEAR_TBLGEN_VARS)
+
+LOCAL_MODULE:= libLLVMMipsInfo
+
+TBLGEN_TABLES := $(mips_target_info_TBLGEN_TABLES)
+TBLGEN_TD_DIR := $(LOCAL_PATH)/..
+
+LOCAL_SRC_FILES := $(mips_target_info_SRC_FILES)
+LOCAL_C_INCLUDES +=    $(LOCAL_PATH)/..
+
+include $(LLVM_DEVICE_BUILD_MK)
+include $(LLVM_TBLGEN_RULES_MK)
+include $(LLVM_GEN_ATTRIBUTES_MK)
+include $(BUILD_STATIC_LIBRARY)
+endif
diff --git a/lib/Target/X86/Android.mk b/lib/Target/X86/Android.mk
new file mode 100644 (file)
index 0000000..4cd4a58
--- /dev/null
@@ -0,0 +1,75 @@
+LOCAL_PATH := $(call my-dir)
+
+x86_codegen_TBLGEN_TABLES := \
+  X86GenAsmMatcher.inc \
+  X86GenAsmWriter.inc \
+  X86GenAsmWriter1.inc \
+  X86GenDisassemblerTables.inc \
+  X86GenRegisterInfo.inc \
+  X86GenInstrInfo.inc \
+  X86GenDAGISel.inc \
+  X86GenFastISel.inc \
+  X86GenSubtargetInfo.inc \
+  X86GenCallingConv.inc
+
+x86_codegen_SRC_FILES := \
+  X86AsmPrinter.cpp \
+  X86CallFrameOptimization.cpp \
+  X86ExpandPseudo.cpp \
+  X86FastISel.cpp \
+  X86FixupLEAs.cpp \
+  X86FloatingPoint.cpp \
+  X86FrameLowering.cpp \
+  X86ISelDAGToDAG.cpp \
+  X86ISelLowering.cpp \
+  X86InstrInfo.cpp \
+  X86MachineFunctionInfo.cpp \
+  X86MCInstLower.cpp \
+  X86OptimizeLEAs.cpp \
+  X86PadShortFunction.cpp \
+  X86RegisterInfo.cpp \
+  X86SelectionDAGInfo.cpp \
+  X86Subtarget.cpp \
+  X86TargetMachine.cpp \
+  X86TargetObjectFile.cpp \
+  X86TargetTransformInfo.cpp \
+  X86VZeroUpper.cpp \
+  X86WinEHState.cpp
+
+# For the host
+# =====================================================
+include $(CLEAR_VARS)
+include $(CLEAR_TBLGEN_VARS)
+
+TBLGEN_TABLES := $(x86_codegen_TBLGEN_TABLES)
+
+LOCAL_SRC_FILES := $(x86_codegen_SRC_FILES)
+
+LOCAL_MODULE:= libLLVMX86CodeGen
+
+LOCAL_MODULE_HOST_OS := darwin linux windows
+
+include $(LLVM_HOST_BUILD_MK)
+include $(LLVM_TBLGEN_RULES_MK)
+include $(LLVM_GEN_ATTRIBUTES_MK)
+include $(LLVM_GEN_INTRINSICS_MK)
+include $(BUILD_HOST_STATIC_LIBRARY)
+
+# For the device only
+# =====================================================
+ifneq (true,$(DISABLE_LLVM_DEVICE_BUILDS))
+include $(CLEAR_VARS)
+include $(CLEAR_TBLGEN_VARS)
+
+TBLGEN_TABLES := $(x86_codegen_TBLGEN_TABLES)
+
+LOCAL_SRC_FILES := $(x86_codegen_SRC_FILES)
+
+LOCAL_MODULE:= libLLVMX86CodeGen
+
+include $(LLVM_DEVICE_BUILD_MK)
+include $(LLVM_TBLGEN_RULES_MK)
+include $(LLVM_GEN_ATTRIBUTES_MK)
+include $(LLVM_GEN_INTRINSICS_MK)
+include $(BUILD_STATIC_LIBRARY)
+endif
diff --git a/lib/Target/X86/AsmParser/Android.mk b/lib/Target/X86/AsmParser/Android.mk
new file mode 100644 (file)
index 0000000..e377b75
--- /dev/null
@@ -0,0 +1,62 @@
+LOCAL_PATH := $(call my-dir)
+
+# For the device only
+# =====================================================
+include $(CLEAR_VARS)
+include $(CLEAR_TBLGEN_VARS)
+
+x86_asm_parser_SRC_FILES :=    \
+       X86AsmInstrumentation.cpp \
+       X86AsmParser.cpp
+
+x86_asm_parser_TBLGEN_TABLES :=        \
+       X86GenAsmMatcher.inc    \
+       X86GenInstrInfo.inc     \
+       X86GenRegisterInfo.inc \
+       X86GenSubtargetInfo.inc
+
+x86_asm_parser_TBLGEN_TD_DIR := $(LOCAL_PATH)/..
+
+x86_asm_parser_C_INCLUDES +=   \
+       $(LOCAL_PATH)/..
+
+
+#===---------------------------------------------------------------===
+# libX86AsmParser (host)
+#===---------------------------------------------------------------===
+include $(CLEAR_VARS)
+include $(CLEAR_TBLGEN_VARS)
+
+LOCAL_MODULE:= libLLVMX86AsmParser
+LOCAL_MODULE_HOST_OS := darwin linux windows
+LOCAL_SRC_FILES := $(x86_asm_parser_SRC_FILES)
+LOCAL_C_INCLUDES += $(x86_asm_parser_C_INCLUDES)
+TBLGEN_TABLES := $(x86_asm_parser_TBLGEN_TABLES)
+TBLGEN_TD_DIR := $(x86_asm_parser_TBLGEN_TD_DIR)
+
+include $(LLVM_HOST_BUILD_MK)
+include $(LLVM_TBLGEN_RULES_MK)
+include $(LLVM_GEN_ATTRIBUTES_MK)
+include $(LLVM_GEN_INTRINSICS_MK)
+include $(BUILD_HOST_STATIC_LIBRARY)
+
+
+#===---------------------------------------------------------------===
+# libX86AsmParser (target)
+#===---------------------------------------------------------------===
+ifneq (true,$(DISABLE_LLVM_DEVICE_BUILDS))
+include $(CLEAR_VARS)
+include $(CLEAR_TBLGEN_VARS)
+
+LOCAL_MODULE:= libLLVMX86AsmParser
+LOCAL_SRC_FILES := $(x86_asm_parser_SRC_FILES)
+LOCAL_C_INCLUDES += $(x86_asm_parser_C_INCLUDES)
+TBLGEN_TABLES := $(x86_asm_parser_TBLGEN_TABLES)
+TBLGEN_TD_DIR := $(x86_asm_parser_TBLGEN_TD_DIR)
+
+include $(LLVM_DEVICE_BUILD_MK)
+include $(LLVM_TBLGEN_RULES_MK)
+include $(LLVM_GEN_ATTRIBUTES_MK)
+include $(LLVM_GEN_INTRINSICS_MK)
+include $(BUILD_STATIC_LIBRARY)
+endif
diff --git a/lib/Target/X86/Disassembler/Android.mk b/lib/Target/X86/Disassembler/Android.mk
new file mode 100644 (file)
index 0000000..7b4bbc8
--- /dev/null
@@ -0,0 +1,55 @@
+LOCAL_PATH := $(call my-dir)
+
+x86_disassembler_TBLGEN_TABLES := \
+  X86GenDisassemblerTables.inc \
+  X86GenInstrInfo.inc \
+  X86GenRegisterInfo.inc \
+  X86GenSubtargetInfo.inc
+
+x86_disassembler_SRC_FILES := \
+  X86Disassembler.cpp \
+  X86DisassemblerDecoder.cpp
+
+
+# For the device
+# =====================================================
+ifneq (true,$(DISABLE_LLVM_DEVICE_BUILDS))
+include $(CLEAR_VARS)
+include $(CLEAR_TBLGEN_VARS)
+
+TBLGEN_TABLES := $(x86_disassembler_TBLGEN_TABLES)
+
+TBLGEN_TD_DIR := $(LOCAL_PATH)/..
+
+LOCAL_SRC_FILES := $(x86_disassembler_SRC_FILES)
+
+LOCAL_C_INCLUDES += $(LOCAL_PATH)/..
+
+LOCAL_MODULE:= libLLVMX86Disassembler
+
+include $(LLVM_DEVICE_BUILD_MK)
+include $(LLVM_TBLGEN_RULES_MK)
+include $(BUILD_STATIC_LIBRARY)
+endif
+
+# For the host
+# =====================================================
+include $(CLEAR_VARS)
+include $(CLEAR_TBLGEN_VARS)
+
+TBLGEN_TABLES := $(x86_disassembler_TBLGEN_TABLES)
+
+TBLGEN_TD_DIR := $(LOCAL_PATH)/..
+
+LOCAL_SRC_FILES := $(x86_disassembler_SRC_FILES)
+
+LOCAL_C_INCLUDES +=    \
+       $(LOCAL_PATH)/..
+
+LOCAL_MODULE:= libLLVMX86Disassembler
+
+LOCAL_MODULE_HOST_OS := darwin linux windows
+
+include $(LLVM_HOST_BUILD_MK)
+include $(LLVM_TBLGEN_RULES_MK)
+include $(BUILD_HOST_STATIC_LIBRARY)
diff --git a/lib/Target/X86/InstPrinter/Android.mk b/lib/Target/X86/InstPrinter/Android.mk
new file mode 100644 (file)
index 0000000..13288cf
--- /dev/null
@@ -0,0 +1,55 @@
+LOCAL_PATH := $(call my-dir)
+
+x86_instprinter_TBLGEN_TABLES := \
+  X86GenAsmWriter.inc \
+  X86GenAsmWriter1.inc \
+  X86GenInstrInfo.inc \
+  X86GenRegisterInfo.inc \
+  X86GenSubtargetInfo.inc
+
+x86_instprinter_SRC_FILES := \
+  X86ATTInstPrinter.cpp \
+  X86IntelInstPrinter.cpp \
+  X86InstComments.cpp
+
+# For the device
+# =====================================================
+ifneq (true,$(DISABLE_LLVM_DEVICE_BUILDS))
+include $(CLEAR_VARS)
+include $(CLEAR_TBLGEN_VARS)
+
+TBLGEN_TABLES := $(x86_instprinter_TBLGEN_TABLES)
+
+TBLGEN_TD_DIR := $(LOCAL_PATH)/..
+
+LOCAL_SRC_FILES := $(x86_instprinter_SRC_FILES)
+
+LOCAL_C_INCLUDES += $(LOCAL_PATH)/..
+
+LOCAL_MODULE:= libLLVMX86AsmPrinter
+
+include $(LLVM_DEVICE_BUILD_MK)
+include $(LLVM_TBLGEN_RULES_MK)
+include $(BUILD_STATIC_LIBRARY)
+endif
+
+# For the host
+# =====================================================
+include $(CLEAR_VARS)
+include $(CLEAR_TBLGEN_VARS)
+
+TBLGEN_TABLES := $(x86_instprinter_TBLGEN_TABLES)
+
+TBLGEN_TD_DIR := $(LOCAL_PATH)/..
+
+LOCAL_SRC_FILES := $(x86_instprinter_SRC_FILES)
+
+LOCAL_C_INCLUDES += $(LOCAL_PATH)/..
+
+LOCAL_MODULE := libLLVMX86AsmPrinter
+
+LOCAL_MODULE_HOST_OS := darwin linux windows
+
+include $(LLVM_HOST_BUILD_MK)
+include $(LLVM_TBLGEN_RULES_MK)
+include $(BUILD_HOST_STATIC_LIBRARY)
diff --git a/lib/Target/X86/MCTargetDesc/Android.mk b/lib/Target/X86/MCTargetDesc/Android.mk
new file mode 100644 (file)
index 0000000..59dd281
--- /dev/null
@@ -0,0 +1,56 @@
+LOCAL_PATH := $(call my-dir)
+
+x86_mc_desc_TBLGEN_TABLES := \
+  X86GenRegisterInfo.inc \
+  X86GenInstrInfo.inc \
+  X86GenSubtargetInfo.inc
+
+x86_mc_desc_SRC_FILES := \
+  X86AsmBackend.cpp \
+  X86ELFObjectWriter.cpp \
+  X86ELFRelocationInfo.cpp \
+  X86MCTargetDesc.cpp \
+  X86MCAsmInfo.cpp \
+  X86MCCodeEmitter.cpp \
+  X86MachORelocationInfo.cpp \
+  X86MachObjectWriter.cpp \
+  X86WinCOFFObjectWriter.cpp \
+  X86WinCOFFStreamer.cpp
+
+# For the host
+# =====================================================
+include $(CLEAR_VARS)
+include $(CLEAR_TBLGEN_VARS)
+
+LOCAL_MODULE:= libLLVMX86Desc
+LOCAL_MODULE_HOST_OS := darwin linux windows
+
+LOCAL_SRC_FILES := $(x86_mc_desc_SRC_FILES)
+LOCAL_C_INCLUDES := $(LOCAL_PATH)/..
+TBLGEN_TABLES := $(x86_mc_desc_TBLGEN_TABLES)
+TBLGEN_TD_DIR := $(LOCAL_PATH)/..
+
+include $(LLVM_HOST_BUILD_MK)
+include $(LLVM_TBLGEN_RULES_MK)
+include $(LLVM_GEN_INTRINSICS_MK)
+include $(BUILD_HOST_STATIC_LIBRARY)
+
+# For the device only
+# =====================================================
+ifneq (true,$(DISABLE_LLVM_DEVICE_BUILDS))
+include $(CLEAR_VARS)
+include $(CLEAR_TBLGEN_VARS)
+
+
+LOCAL_MODULE:= libLLVMX86Desc
+
+LOCAL_SRC_FILES := $(x86_mc_desc_SRC_FILES)
+LOCAL_C_INCLUDES := $(LOCAL_PATH)/..
+TBLGEN_TABLES := $(x86_mc_desc_TBLGEN_TABLES)
+TBLGEN_TD_DIR := $(LOCAL_PATH)/..
+
+include $(LLVM_DEVICE_BUILD_MK)
+include $(LLVM_TBLGEN_RULES_MK)
+include $(LLVM_GEN_INTRINSICS_MK)
+include $(BUILD_STATIC_LIBRARY)
+endif
diff --git a/lib/Target/X86/TargetInfo/Android.mk b/lib/Target/X86/TargetInfo/Android.mk
new file mode 100644 (file)
index 0000000..e3b6e2b
--- /dev/null
@@ -0,0 +1,53 @@
+LOCAL_PATH := $(call my-dir)
+
+x86_target_info_TBLGEN_TABLES := \
+  X86GenRegisterInfo.inc \
+  X86GenSubtargetInfo.inc \
+  X86GenInstrInfo.inc
+
+x86_target_info_SRC_FILES := \
+  X86TargetInfo.cpp
+
+# For the host
+# =====================================================
+include $(CLEAR_VARS)
+include $(CLEAR_TBLGEN_VARS)
+
+TBLGEN_TABLES := $(x86_target_info_TBLGEN_TABLES)
+
+TBLGEN_TD_DIR := $(LOCAL_PATH)/..
+
+LOCAL_SRC_FILES := $(x86_target_info_SRC_FILES)
+
+LOCAL_C_INCLUDES +=    \
+       $(LOCAL_PATH)/..
+
+LOCAL_MODULE:= libLLVMX86Info
+
+LOCAL_MODULE_HOST_OS := darwin linux windows
+
+include $(LLVM_HOST_BUILD_MK)
+include $(LLVM_TBLGEN_RULES_MK)
+include $(BUILD_HOST_STATIC_LIBRARY)
+
+# For the device
+# =====================================================
+ifneq (true,$(DISABLE_LLVM_DEVICE_BUILDS))
+include $(CLEAR_VARS)
+include $(CLEAR_TBLGEN_VARS)
+
+TBLGEN_TABLES := $(x86_target_info_TBLGEN_TABLES)
+
+TBLGEN_TD_DIR := $(LOCAL_PATH)/..
+
+LOCAL_SRC_FILES := $(x86_target_info_SRC_FILES)
+
+LOCAL_C_INCLUDES +=     \
+        $(LOCAL_PATH)/..
+
+LOCAL_MODULE:= libLLVMX86Info
+
+include $(LLVM_DEVICE_BUILD_MK)
+include $(LLVM_TBLGEN_RULES_MK)
+include $(BUILD_STATIC_LIBRARY)
+endif
diff --git a/lib/Target/X86/Utils/Android.mk b/lib/Target/X86/Utils/Android.mk
new file mode 100644 (file)
index 0000000..ad16c16
--- /dev/null
@@ -0,0 +1,34 @@
+LOCAL_PATH := $(call my-dir)
+
+x86_utils_SRC_FILES := \
+  X86ShuffleDecode.cpp
+
+# For the device
+# =====================================================
+ifneq (true,$(DISABLE_LLVM_DEVICE_BUILDS))
+include $(CLEAR_VARS)
+
+LOCAL_SRC_FILES := $(x86_utils_SRC_FILES)
+
+LOCAL_C_INCLUDES += $(LOCAL_PATH)/..
+
+LOCAL_MODULE:= libLLVMX86Utils
+
+include $(LLVM_DEVICE_BUILD_MK)
+include $(BUILD_STATIC_LIBRARY)
+endif
+
+# For the host
+# =====================================================
+include $(CLEAR_VARS)
+
+LOCAL_SRC_FILES := $(x86_utils_SRC_FILES)
+
+LOCAL_C_INCLUDES += $(LOCAL_PATH)/..
+
+LOCAL_MODULE:= libLLVMX86Utils
+
+LOCAL_MODULE_HOST_OS := darwin linux windows
+
+include $(LLVM_HOST_BUILD_MK)
+include $(BUILD_HOST_STATIC_LIBRARY)
diff --git a/lib/Transforms/Hello/Android.mk b/lib/Transforms/Hello/Android.mk
new file mode 100644 (file)
index 0000000..de5fe5e
--- /dev/null
@@ -0,0 +1,21 @@
+LOCAL_PATH:= $(call my-dir)
+
+LLVM_ROOT_PATH := $(LOCAL_PATH)/../../..
+include $(LLVM_ROOT_PATH)/llvm.mk
+
+transforms_hello_SRC_FILES := \
+  Hello.cpp
+
+# For the host
+# =====================================================
+include $(CLEAR_VARS)
+
+LOCAL_SRC_FILES := $(transforms_hello_SRC_FILES)
+LOCAL_MODULE_CLASS := SHARED_LIBRARIES
+LOCAL_MODULE:= LLVMHello
+
+LOCAL_LDFLAGS_darwin := -Wl,-undefined -Wl,dynamic_lookup
+
+include $(LLVM_HOST_BUILD_MK)
+include $(LLVM_GEN_ATTRIBUTES_MK)
+include $(BUILD_HOST_SHARED_LIBRARY)
diff --git a/lib/Transforms/IPO/Android.mk b/lib/Transforms/IPO/Android.mk
new file mode 100644 (file)
index 0000000..548b409
--- /dev/null
@@ -0,0 +1,57 @@
+LOCAL_PATH:= $(call my-dir)
+
+transforms_ipo_SRC_FILES := \
+  ArgumentPromotion.cpp \
+  BarrierNoopPass.cpp \
+  ConstantMerge.cpp \
+  CrossDSOCFI.cpp \
+  DeadArgumentElimination.cpp \
+  ElimAvailExtern.cpp \
+  ExtractGV.cpp \
+  FunctionAttrs.cpp \
+  FunctionImport.cpp \
+  GlobalDCE.cpp \
+  GlobalOpt.cpp \
+  IPConstantPropagation.cpp \
+  IPO.cpp \
+  InlineAlways.cpp \
+  InlineSimple.cpp \
+  Inliner.cpp \
+  Internalize.cpp \
+  LoopExtractor.cpp \
+  LowerBitSets.cpp \
+  MergeFunctions.cpp \
+  PartialInlining.cpp \
+  PassManagerBuilder.cpp \
+  PruneEH.cpp \
+  SampleProfile.cpp \
+  StripDeadPrototypes.cpp \
+  StripSymbols.cpp
+
+# For the host
+# =====================================================
+include $(CLEAR_VARS)
+
+LOCAL_SRC_FILES := $(transforms_ipo_SRC_FILES)
+LOCAL_MODULE:= libLLVMipo
+
+LOCAL_MODULE_HOST_OS := darwin linux windows
+
+include $(LLVM_HOST_BUILD_MK)
+include $(LLVM_GEN_ATTRIBUTES_MK)
+include $(LLVM_GEN_INTRINSICS_MK)
+include $(BUILD_HOST_STATIC_LIBRARY)
+
+# For the device
+# =====================================================
+ifneq (true,$(DISABLE_LLVM_DEVICE_BUILDS))
+include $(CLEAR_VARS)
+
+LOCAL_SRC_FILES := $(transforms_ipo_SRC_FILES)
+LOCAL_MODULE:= libLLVMipo
+
+include $(LLVM_DEVICE_BUILD_MK)
+include $(LLVM_GEN_ATTRIBUTES_MK)
+include $(LLVM_GEN_INTRINSICS_MK)
+include $(BUILD_STATIC_LIBRARY)
+endif
diff --git a/lib/Transforms/InstCombine/Android.mk b/lib/Transforms/InstCombine/Android.mk
new file mode 100644 (file)
index 0000000..2a9d82b
--- /dev/null
@@ -0,0 +1,44 @@
+LOCAL_PATH:= $(call my-dir)
+
+transforms_inst_combine_SRC_FILES := \
+  InstCombineAddSub.cpp \
+  InstCombineAndOrXor.cpp \
+  InstCombineCalls.cpp \
+  InstCombineCasts.cpp \
+  InstCombineCompares.cpp \
+  InstCombineLoadStoreAlloca.cpp \
+  InstCombineMulDivRem.cpp \
+  InstCombinePHI.cpp \
+  InstCombineSelect.cpp \
+  InstCombineShifts.cpp \
+  InstCombineSimplifyDemanded.cpp \
+  InstCombineVectorOps.cpp \
+  InstructionCombining.cpp
+
+# For the host
+# =====================================================
+include $(CLEAR_VARS)
+
+LOCAL_SRC_FILES := $(transforms_inst_combine_SRC_FILES)
+LOCAL_MODULE:= libLLVMInstCombine
+
+LOCAL_MODULE_HOST_OS := darwin linux windows
+
+include $(LLVM_HOST_BUILD_MK)
+include $(LLVM_GEN_ATTRIBUTES_MK)
+include $(LLVM_GEN_INTRINSICS_MK)
+include $(BUILD_HOST_STATIC_LIBRARY)
+
+# For the device
+# =====================================================
+ifneq (true,$(DISABLE_LLVM_DEVICE_BUILDS))
+include $(CLEAR_VARS)
+
+LOCAL_SRC_FILES := $(transforms_inst_combine_SRC_FILES)
+LOCAL_MODULE:= libLLVMInstCombine
+
+include $(LLVM_DEVICE_BUILD_MK)
+include $(LLVM_GEN_ATTRIBUTES_MK)
+include $(LLVM_GEN_INTRINSICS_MK)
+include $(BUILD_STATIC_LIBRARY)
+endif
diff --git a/lib/Transforms/Instrumentation/Android.mk b/lib/Transforms/Instrumentation/Android.mk
new file mode 100644 (file)
index 0000000..de47d25
--- /dev/null
@@ -0,0 +1,41 @@
+LOCAL_PATH:= $(call my-dir)
+
+instrumentation_SRC_FILES := \
+  AddressSanitizer.cpp \
+  BoundsChecking.cpp \
+  DataFlowSanitizer.cpp \
+  GCOVProfiling.cpp \
+  InstrProfiling.cpp \
+  Instrumentation.cpp \
+  MemorySanitizer.cpp \
+  PGOInstrumentation.cpp \
+  SafeStack.cpp \
+  SanitizerCoverage.cpp \
+  ThreadSanitizer.cpp
+
+# For the host
+# =====================================================
+include $(CLEAR_VARS)
+
+LOCAL_MODULE:= libLLVMInstrumentation
+LOCAL_MODULE_HOST_OS := darwin linux windows
+LOCAL_SRC_FILES := $(instrumentation_SRC_FILES)
+
+include $(LLVM_HOST_BUILD_MK)
+include $(LLVM_GEN_ATTRIBUTES_MK)
+include $(LLVM_GEN_INTRINSICS_MK)
+include $(BUILD_HOST_STATIC_LIBRARY)
+
+# For the target
+# =====================================================
+ifneq (true,$(DISABLE_LLVM_DEVICE_BUILDS))
+include $(CLEAR_VARS)
+
+LOCAL_MODULE:= libLLVMInstrumentation
+LOCAL_SRC_FILES := $(instrumentation_SRC_FILES)
+
+include $(LLVM_DEVICE_BUILD_MK)
+include $(LLVM_GEN_ATTRIBUTES_MK)
+include $(LLVM_GEN_INTRINSICS_MK)
+include $(BUILD_STATIC_LIBRARY)
+endif
diff --git a/lib/Transforms/ObjCARC/Android.mk b/lib/Transforms/ObjCARC/Android.mk
new file mode 100644 (file)
index 0000000..88a35d4
--- /dev/null
@@ -0,0 +1,40 @@
+LOCAL_PATH:= $(call my-dir)
+
+transforms_objcarc_SRC_FILES := \
+  DependencyAnalysis.cpp \
+  ObjCARCAPElim.cpp \
+  ObjCARCContract.cpp \
+  ObjCARC.cpp \
+  ObjCARCExpand.cpp \
+  ObjCARCOpts.cpp \
+  PtrState.cpp \
+  ProvenanceAnalysis.cpp \
+  ProvenanceAnalysisEvaluator.cpp
+
+# For the host
+# =====================================================
+include $(CLEAR_VARS)
+
+LOCAL_SRC_FILES := $(transforms_objcarc_SRC_FILES)
+LOCAL_MODULE:= libLLVMTransformObjCARC
+
+LOCAL_MODULE_HOST_OS := darwin linux windows
+
+include $(LLVM_HOST_BUILD_MK)
+include $(LLVM_GEN_ATTRIBUTES_MK)
+include $(LLVM_GEN_INTRINSICS_MK)
+include $(BUILD_HOST_STATIC_LIBRARY)
+
+# For the device
+# =====================================================
+ifneq (true,$(DISABLE_LLVM_DEVICE_BUILDS))
+include $(CLEAR_VARS)
+
+LOCAL_SRC_FILES := $(transforms_objcarc_SRC_FILES)
+LOCAL_MODULE:= libLLVMTransformObjCARC
+
+include $(LLVM_DEVICE_BUILD_MK)
+include $(LLVM_GEN_ATTRIBUTES_MK)
+include $(LLVM_GEN_INTRINSICS_MK)
+include $(BUILD_STATIC_LIBRARY)
+endif
diff --git a/lib/Transforms/Scalar/Android.mk b/lib/Transforms/Scalar/Android.mk
new file mode 100644 (file)
index 0000000..32a703d
--- /dev/null
@@ -0,0 +1,83 @@
+LOCAL_PATH:= $(call my-dir)
+
+transforms_scalar_SRC_FILES := \
+  ADCE.cpp \
+  BDCE.cpp \
+  AlignmentFromAssumptions.cpp \
+  ConstantProp.cpp \
+  ConstantHoisting.cpp \
+  CorrelatedValuePropagation.cpp \
+  DCE.cpp \
+  DeadStoreElimination.cpp \
+  EarlyCSE.cpp \
+  FlattenCFGPass.cpp \
+  Float2Int.cpp \
+  GVN.cpp \
+  IndVarSimplify.cpp \
+  InductiveRangeCheckElimination.cpp \
+  JumpThreading.cpp \
+  LICM.cpp \
+  LoadCombine.cpp \
+  LoopDeletion.cpp \
+  LoopDistribute.cpp \
+  LoopIdiomRecognize.cpp \
+  LoopInstSimplify.cpp \
+  LoopInterchange.cpp \
+  LoopLoadElimination.cpp \
+  LoopRerollPass.cpp \
+  LoopRotation.cpp \
+  LoopStrengthReduce.cpp \
+  LoopUnrollPass.cpp \
+  LoopUnswitch.cpp \
+  LowerAtomic.cpp \
+  LowerExpectIntrinsic.cpp \
+  MemCpyOptimizer.cpp \
+  MergedLoadStoreMotion.cpp \
+  NaryReassociate.cpp \
+  PartiallyInlineLibCalls.cpp \
+  PlaceSafepoints.cpp \
+  Reassociate.cpp \
+  Reg2Mem.cpp \
+  RewriteStatepointsForGC.cpp \
+  SCCP.cpp \
+  SROA.cpp \
+  Scalar.cpp \
+  Scalarizer.cpp \
+  ScalarReplAggregates.cpp \
+  SeparateConstOffsetFromGEP.cpp \
+  SimplifyCFGPass.cpp \
+  Sink.cpp \
+  SpeculativeExecution.cpp \
+  StraightLineStrengthReduce.cpp \
+  StructurizeCFG.cpp \
+  TailRecursionElimination.cpp
+
+# For the host
+# =====================================================
+include $(CLEAR_VARS)
+
+LOCAL_SRC_FILES :=     \
+       $(transforms_scalar_SRC_FILES)
+
+LOCAL_MODULE:= libLLVMScalarOpts
+
+LOCAL_MODULE_HOST_OS := darwin linux windows
+
+include $(LLVM_HOST_BUILD_MK)
+include $(LLVM_GEN_ATTRIBUTES_MK)
+include $(LLVM_GEN_INTRINSICS_MK)
+include $(BUILD_HOST_STATIC_LIBRARY)
+
+# For the device
+# =====================================================
+ifneq (true,$(DISABLE_LLVM_DEVICE_BUILDS))
+include $(CLEAR_VARS)
+
+LOCAL_SRC_FILES := $(transforms_scalar_SRC_FILES)
+LOCAL_MODULE:= libLLVMScalarOpts
+
+include $(LLVM_DEVICE_BUILD_MK)
+include $(LLVM_GEN_ATTRIBUTES_MK)
+include $(LLVM_GEN_INTRINSICS_MK)
+include $(BUILD_STATIC_LIBRARY)
+endif
diff --git a/lib/Transforms/Utils/Android.mk b/lib/Transforms/Utils/Android.mk
new file mode 100644 (file)
index 0000000..cd5bb83
--- /dev/null
@@ -0,0 +1,70 @@
+LOCAL_PATH:= $(call my-dir)
+
+transforms_utils_SRC_FILES := \
+  AddDiscriminators.cpp \
+  ASanStackFrameLayout.cpp \
+  BasicBlockUtils.cpp \
+  BreakCriticalEdges.cpp \
+  BuildLibCalls.cpp \
+  BypassSlowDivision.cpp \
+  CloneFunction.cpp \
+  CloneModule.cpp \
+  CmpInstAnalysis.cpp \
+  CodeExtractor.cpp \
+  CtorUtils.cpp \
+  DemoteRegToStack.cpp \
+  FlattenCFG.cpp \
+  GlobalStatus.cpp \
+  InlineFunction.cpp \
+  InstructionNamer.cpp \
+  LCSSA.cpp \
+  Local.cpp \
+  LoopSimplify.cpp \
+  LoopUnroll.cpp \
+  LoopUnrollRuntime.cpp \
+  LoopUtils.cpp \
+  LoopVersioning.cpp \
+  LowerInvoke.cpp \
+  LowerSwitch.cpp \
+  Mem2Reg.cpp \
+  MetaRenamer.cpp \
+  ModuleUtils.cpp \
+  PromoteMemoryToRegister.cpp \
+  SSAUpdater.cpp \
+  SimplifyCFG.cpp \
+  SimplifyIndVar.cpp \
+  SimplifyInstructions.cpp \
+  SimplifyLibCalls.cpp \
+  SplitModule.cpp \
+  SymbolRewriter.cpp \
+  UnifyFunctionExitNodes.cpp \
+  Utils.cpp \
+  ValueMapper.cpp
+
+# For the host
+# =====================================================
+include $(CLEAR_VARS)
+
+LOCAL_SRC_FILES := $(transforms_utils_SRC_FILES)
+LOCAL_MODULE:= libLLVMTransformUtils
+
+LOCAL_MODULE_HOST_OS := darwin linux windows
+
+include $(LLVM_HOST_BUILD_MK)
+include $(LLVM_GEN_ATTRIBUTES_MK)
+include $(LLVM_GEN_INTRINSICS_MK)
+include $(BUILD_HOST_STATIC_LIBRARY)
+
+# For the device
+# =====================================================
+ifneq (true,$(DISABLE_LLVM_DEVICE_BUILDS))
+include $(CLEAR_VARS)
+
+LOCAL_SRC_FILES := $(transforms_utils_SRC_FILES)
+LOCAL_MODULE:= libLLVMTransformUtils
+
+include $(LLVM_DEVICE_BUILD_MK)
+include $(LLVM_GEN_ATTRIBUTES_MK)
+include $(LLVM_GEN_INTRINSICS_MK)
+include $(BUILD_STATIC_LIBRARY)
+endif
diff --git a/lib/Transforms/Vectorize/Android.mk b/lib/Transforms/Vectorize/Android.mk
new file mode 100644 (file)
index 0000000..51c08ac
--- /dev/null
@@ -0,0 +1,35 @@
+LOCAL_PATH:= $(call my-dir)
+
+transforms_vectorize_SRC_FILES := \
+  BBVectorize.cpp \
+  LoopVectorize.cpp \
+  SLPVectorizer.cpp \
+  Vectorize.cpp
+
+# For the host
+# =====================================================
+include $(CLEAR_VARS)
+
+LOCAL_SRC_FILES := $(transforms_vectorize_SRC_FILES)
+LOCAL_MODULE:= libLLVMVectorize
+
+LOCAL_MODULE_HOST_OS := darwin linux windows
+
+include $(LLVM_HOST_BUILD_MK)
+include $(LLVM_GEN_ATTRIBUTES_MK)
+include $(LLVM_GEN_INTRINSICS_MK)
+include $(BUILD_HOST_STATIC_LIBRARY)
+
+# For the device
+# =====================================================
+ifneq (true,$(DISABLE_LLVM_DEVICE_BUILDS))
+include $(CLEAR_VARS)
+
+LOCAL_SRC_FILES := $(transforms_vectorize_SRC_FILES)
+LOCAL_MODULE:= libLLVMVectorize
+
+include $(LLVM_DEVICE_BUILD_MK)
+include $(LLVM_GEN_ATTRIBUTES_MK)
+include $(LLVM_GEN_INTRINSICS_MK)
+include $(BUILD_STATIC_LIBRARY)
+endif
diff --git a/llvm-device-build.mk b/llvm-device-build.mk
new file mode 100644 (file)
index 0000000..627ad0c
--- /dev/null
@@ -0,0 +1,80 @@
+LOCAL_MODULE_TARGET_ARCH := $(LLVM_SUPPORTED_ARCH)
+
+LOCAL_CLANG := true
+
+LOCAL_CFLAGS :=        \
+       -D_GNU_SOURCE   \
+       -D__STDC_LIMIT_MACROS   \
+       -D__STDC_CONSTANT_MACROS        \
+       -D__STDC_FORMAT_MACROS  \
+       -O2     \
+       -fomit-frame-pointer    \
+       -Wall   \
+       -W      \
+       -Wno-unused-parameter   \
+       -Wwrite-strings \
+       -Werror \
+        -Dsprintf=sprintf \
+       $(LOCAL_CFLAGS)
+
+# The three inline options together reduce libbcc.so almost 1MB.
+# We move them from global build/core/combo/TARGET_linux-arm.mk
+# to here.
+LOCAL_CFLAGS := -DANDROID_TARGET_BUILD \
+               -finline-functions \
+               $(LOCAL_CFLAGS)
+
+ifeq ($(TARGET_BUILD_VARIANT),eng)
+LOCAL_CFLAGS := -DANDROID_ENGINEERING_BUILD \
+                $(LOCAL_CFLAGS)
+endif
+
+ifeq ($(FORCE_BUILD_LLVM_DISABLE_NDEBUG),true)
+LOCAL_CFLAGS :=        \
+       $(LOCAL_CFLAGS) \
+       -D_DEBUG        \
+       -UNDEBUG
+endif
+
+ifneq ($(REQUIRES_EH),1)
+LOCAL_CFLAGS +=        -fno-exceptions
+else
+# No action. The device target should not have exception enabled since bionic
+# doesn't support it
+REQUIRES_EH := 0
+endif
+
+ifneq ($(REQUIRES_RTTI),1)
+LOCAL_CPPFLAGS +=      -fno-rtti
+else
+REQUIRES_RTTI := 0
+endif
+
+LOCAL_CPPFLAGS :=      \
+       $(LOCAL_CPPFLAGS)       \
+       -Woverloaded-virtual    \
+       -Wno-sign-promo         \
+       -std=c++11
+
+# Make sure bionic is first so we can include system headers.
+LOCAL_C_INCLUDES :=    \
+       bionic \
+       $(LLVM_ROOT_PATH)       \
+       $(LLVM_ROOT_PATH)/include       \
+       $(LLVM_ROOT_PATH)/device/include        \
+       $(LOCAL_C_INCLUDES)
+
+###########################################################
+## Commands for running tblgen to compile a td file
+###########################################################
+define transform-device-td-to-out
+@mkdir -p $(dir $@)
+@echo "Device TableGen (gen-$(1)): $(TBLGEN_LOCAL_MODULE) <= $<"
+$(hide) $(LLVM_TBLGEN) \
+       -I $(dir $<)    \
+       -I $(LLVM_ROOT_PATH)/include    \
+       -I $(LLVM_ROOT_PATH)/device/include     \
+       -I $(LLVM_ROOT_PATH)/lib/Target \
+    -gen-$(strip $(1)) \
+    -o $@ $<
+endef
diff --git a/llvm-gen-attributes.mk b/llvm-gen-attributes.mk
new file mode 100644 (file)
index 0000000..e9f1984
--- /dev/null
@@ -0,0 +1,15 @@
+ATTRIBUTETD := $(LLVM_ROOT_PATH)/include/llvm/IR/Attributes.td
+
+ifeq ($(LOCAL_MODULE_CLASS),)
+       LOCAL_MODULE_CLASS := STATIC_LIBRARIES
+endif
+
+GENFILE := $(addprefix $(call local-generated-sources-dir)/llvm/IR/,Attributes.inc)
+LOCAL_GENERATED_SOURCES += $(GENFILE)
+$(GENFILE): TBLGEN_LOCAL_MODULE := $(LOCAL_MODULE)
+$(GENFILE): $(ATTRIBUTETD) | $(LLVM_TBLGEN)
+ifeq ($(LOCAL_IS_HOST_MODULE),true)
+       $(call transform-host-td-to-out,attrs)
+else
+       $(call transform-device-td-to-out,attrs)
+endif
diff --git a/llvm-gen-intrinsics.mk b/llvm-gen-intrinsics.mk
new file mode 100644 (file)
index 0000000..d770596
--- /dev/null
@@ -0,0 +1,17 @@
+# We treat Intrinsics.td as a very special target just like what lib/VMCore/Makefile does
+INTRINSICTD := $(LLVM_ROOT_PATH)/include/llvm/IR/Intrinsics.td
+INTRINSICTDS := $(wildcard $(dir $(INTRINSICTD))/Intrinsics*.td)
+
+ifeq ($(LOCAL_MODULE_CLASS),)
+       LOCAL_MODULE_CLASS := STATIC_LIBRARIES
+endif
+
+GENFILE := $(addprefix $(call local-generated-sources-dir)/llvm/IR/,Intrinsics.gen)
+LOCAL_GENERATED_SOURCES += $(GENFILE)
+$(GENFILE): TBLGEN_LOCAL_MODULE := $(LOCAL_MODULE)
+$(GENFILE): $(INTRINSICTD) $(INTRINSICTDS) | $(LLVM_TBLGEN)
+ifeq ($(LOCAL_IS_HOST_MODULE),true)
+       $(call transform-host-td-to-out,intrinsic)
+else
+       $(call transform-device-td-to-out,intrinsic)
+endif
diff --git a/llvm-host-build.mk b/llvm-host-build.mk
new file mode 100644 (file)
index 0000000..c5ff646
--- /dev/null
@@ -0,0 +1,98 @@
+ifeq ($(FORCE_BUILD_LLVM_DEBUG),true)
+local_optflags = -O0 -g
+else
+local_optflags = -O2
+endif
+
+LOCAL_CFLAGS +=        \
+       -D_GNU_SOURCE   \
+       -D__STDC_LIMIT_MACROS   \
+       $(local_optflags)       \
+       -fomit-frame-pointer    \
+       -Wall   \
+       -W      \
+       -Wno-unused-parameter   \
+       -Wno-maybe-uninitialized \
+       -Wno-missing-field-initializers \
+       -Wwrite-strings \
+       -Werror \
+       -Dsprintf=sprintf \
+       $(LOCAL_CFLAGS)
+
+# Disable certain warnings for use with mingw.
+# We also must undefine WIN32_LEAN_AND_MEAN, since it is being passed globally
+# on the command line, and LLVM defines this internally itself.
+LOCAL_CFLAGS_windows += -Wno-array-bounds \
+                       -Wno-comment \
+                       -UWIN32_LEAN_AND_MEAN
+
+ifeq ($(FORCE_BUILD_LLVM_DISABLE_NDEBUG),true)
+LOCAL_CFLAGS :=        \
+       $(LOCAL_CFLAGS) \
+       -D_DEBUG        \
+       -UNDEBUG
+endif
+
+ifneq ($(REQUIRES_EH),1)
+LOCAL_CFLAGS += -fno-exceptions
+else
+REQUIRES_EH := 0
+LOCAL_CFLAGS += -fexceptions
+endif
+
+ifneq ($(REQUIRES_RTTI),1)
+LOCAL_CPPFLAGS += -fno-rtti
+else
+REQUIRES_RTTI := 0
+endif
+
+LOCAL_CPPFLAGS :=      \
+       $(LOCAL_CPPFLAGS)       \
+       -Wno-sign-promo         \
+       -std=c++11
+
+LOCAL_CPPFLAGS_linux := \
+       -Woverloaded-virtual
+
+LOCAL_CPPFLAGS_darwin += \
+       -Wno-deprecated-declarations \
+       -Woverloaded-virtual
+
+# Make sure bionic is first so we can include system headers.
+LOCAL_C_INCLUDES :=    \
+       $(LLVM_ROOT_PATH)       \
+       $(LLVM_ROOT_PATH)/include       \
+       $(LLVM_ROOT_PATH)/host/include  \
+       $(LOCAL_C_INCLUDES)
+
+# Add on ncurses to have support for terminfo
+LOCAL_LDLIBS_darwin += -lncurses
+LOCAL_LDLIBS_linux += -lncurses
+LOCAL_LDLIBS_linux += -lgcc_s
+
+LOCAL_IS_HOST_MODULE := true
+
+ifeq ($(HOST_PREFER_32_BIT),true)
+LOCAL_MULTILIB := 32
+else
+ifeq (libLLVM, $(filter libLLVM,$(LOCAL_SHARED_LIBRARIES)$(LOCAL_SHARED_LIBRARIES_$(HOST_OS))))
+# Skip building a 32-bit shared object if they are using libLLVM.
+LOCAL_MULTILIB := first
+endif
+endif
+
+###########################################################
+## Commands for running tblgen to compile a td file
+###########################################################
+define transform-host-td-to-out
+@mkdir -p $(dir $@)
+@echo "Host TableGen: $(TBLGEN_LOCAL_MODULE) (gen-$(1)) <= $<"
+$(hide) $(LLVM_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/llvm-tblgen-rules.mk b/llvm-tblgen-rules.mk
new file mode 100644 (file)
index 0000000..c7e831f
--- /dev/null
@@ -0,0 +1,225 @@
+###########################################################
+## Commands for running tblgen to compile a td file
+##########################################################
+define transform-td-to-out
+$(if $(LOCAL_IS_HOST_MODULE),  \
+       $(call transform-host-td-to-out,$(1)),  \
+       $(call transform-device-td-to-out,$(1)))
+endef
+
+###########################################################
+## TableGen: Compile .td files to .inc.
+###########################################################
+
+# Set LOCAL_MODULE_CLASS to STATIC_LIBRARIES default (require
+# for macro local-generated-sources-dir)
+ifeq ($(LOCAL_MODULE_CLASS),)
+       LOCAL_MODULE_CLASS := STATIC_LIBRARIES
+endif
+
+ifneq ($(strip $(TBLGEN_TABLES)),)
+
+generated_sources := $(call local-generated-sources-dir)
+tblgen_gen_tables := $(addprefix $(generated_sources)/,$(TBLGEN_TABLES))
+LOCAL_GENERATED_SOURCES += $(tblgen_gen_tables)
+
+tblgen_source_dir := $(LOCAL_PATH)
+ifneq ($(TBLGEN_TD_DIR),)
+tblgen_source_dir := $(TBLGEN_TD_DIR)
+endif
+
+ifneq (,$(filter $(tblgen_source_dir),MCTargetDesc))
+tblgen_td_deps := $(tblgen_source_dir)/../*.td
+else
+tblgen_td_deps := $(tblgen_source_dir)/*.td
+endif
+tblgen_td_deps := $(wildcard $(tblgen_td_deps))
+
+#
+# The directory and the .td directory is not the same.
+#
+ifeq ($(tblgen_source_dir),$(LLVM_ROOT_PATH)/lib/Target/ARM/MCTargetDesc)
+$(generated_sources)/%GenRegisterInfo.inc: TBLGEN_LOCAL_MODULE := $(LOCAL_MODULE)
+$(generated_sources)/%GenRegisterInfo.inc: $(tblgen_source_dir)/../%.td \
+                                       $(tblgen_td_deps) $(LLVM_TBLGEN)
+       $(call transform-td-to-out, register-info)
+
+$(generated_sources)/%GenInstrInfo.inc: TBLGEN_LOCAL_MODULE := $(LOCAL_MODULE)
+$(generated_sources)/%GenInstrInfo.inc: $(tblgen_source_dir)/../%.td \
+                                    $(tblgen_td_deps) $(LLVM_TBLGEN)
+       $(call transform-td-to-out,instr-info)
+
+$(generated_sources)/%GenSubtargetInfo.inc: TBLGEN_LOCAL_MODULE := $(LOCAL_MODULE)
+$(generated_sources)/%GenSubtargetInfo.inc: $(tblgen_source_dir)/../%.td \
+                                        $(tblgen_td_deps) $(LLVM_TBLGEN)
+       $(call transform-td-to-out,subtarget)
+endif
+
+ifeq ($(tblgen_source_dir),$(LLVM_ROOT_PATH)/lib/Target/X86/MCTargetDesc)
+$(generated_sources)/%GenRegisterInfo.inc: TBLGEN_LOCAL_MODULE := $(LOCAL_MODULE)
+$(generated_sources)/%GenRegisterInfo.inc: $(tblgen_source_dir)/../%.td \
+                                       $(tblgen_td_deps) $(LLVM_TBLGEN)
+       $(call transform-td-to-out, register-info)
+
+$(generated_sources)/%GenInstrInfo.inc: TBLGEN_LOCAL_MODULE := $(LOCAL_MODULE)
+$(generated_sources)/%GenInstrInfo.inc: $(tblgen_source_dir)/../%.td \
+                                    $(tblgen_td_deps) $(LLVM_TBLGEN)
+       $(call transform-td-to-out,instr-info)
+
+$(generated_sources)/%GenSubtargetInfo.inc: TBLGEN_LOCAL_MODULE := $(LOCAL_MODULE)
+$(generated_sources)/%GenSubtargetInfo.inc: $(tblgen_source_dir)/../%.td \
+                                        $(tblgen_td_deps) $(LLVM_TBLGEN)
+       $(call transform-td-to-out,subtarget)
+endif
+
+ifeq ($(tblgen_source_dir),$(LLVM_ROOT_PATH)/lib/Target/Mips/MCTargetDesc)
+$(generated_sources)/%GenRegisterInfo.inc: TBLGEN_LOCAL_MODULE := $(LOCAL_MODULE)
+$(generated_sources)/%GenRegisterInfo.inc: $(tblgen_source_dir)/../%.td \
+                                       $(tblgen_td_deps) $(LLVM_TBLGEN)
+       $(call transform-td-to-out, register-info)
+
+$(generated_sources)/%GenInstrInfo.inc: TBLGEN_LOCAL_MODULE := $(LOCAL_MODULE)
+$(generated_sources)/%GenInstrInfo.inc: $(tblgen_source_dir)/../%.td \
+                                    $(tblgen_td_deps) $(LLVM_TBLGEN)
+       $(call transform-td-to-out,instr-info)
+
+$(generated_sources)/%GenSubtargetInfo.inc: TBLGEN_LOCAL_MODULE := $(LOCAL_MODULE)
+$(generated_sources)/%GenSubtargetInfo.inc: $(tblgen_source_dir)/../%.td \
+                                        $(tblgen_td_deps) $(LLVM_TBLGEN)
+       $(call transform-td-to-out,subtarget)
+endif
+
+
+ifneq ($(filter %GenRegisterInfo.inc,$(tblgen_gen_tables)),)
+$(generated_sources)/%GenRegisterInfo.inc: TBLGEN_LOCAL_MODULE := $(LOCAL_MODULE)
+$(generated_sources)/%GenRegisterInfo.inc: $(tblgen_source_dir)/%.td \
+                                       $(tblgen_td_deps) $(LLVM_TBLGEN)
+       $(call transform-td-to-out,register-info)
+endif
+
+ifneq ($(filter %GenInstrInfo.inc,$(tblgen_gen_tables)),)
+$(generated_sources)/%GenInstrInfo.inc: TBLGEN_LOCAL_MODULE := $(LOCAL_MODULE)
+$(generated_sources)/%GenInstrInfo.inc: $(tblgen_source_dir)/%.td \
+                                    $(tblgen_td_deps) $(LLVM_TBLGEN)
+       $(call transform-td-to-out,instr-info)
+endif
+
+ifneq ($(filter %GenAsmWriter.inc,$(tblgen_gen_tables)),)
+$(generated_sources)/%GenAsmWriter.inc: TBLGEN_LOCAL_MODULE := $(LOCAL_MODULE)
+$(generated_sources)/%GenAsmWriter.inc: $(tblgen_source_dir)/%.td \
+                                    $(tblgen_td_deps) $(LLVM_TBLGEN)
+       $(call transform-td-to-out,asm-writer)
+endif
+
+ifneq ($(filter %GenAsmWriter1.inc,$(tblgen_gen_tables)),)
+$(generated_sources)/%GenAsmWriter1.inc: TBLGEN_LOCAL_MODULE := $(LOCAL_MODULE)
+$(generated_sources)/%GenAsmWriter1.inc: $(tblgen_source_dir)/%.td \
+                                     $(tblgen_td_deps) $(LLVM_TBLGEN)
+       $(call transform-td-to-out,asm-writer -asmwriternum=1)
+endif
+
+ifneq ($(filter %GenAsmMatcher.inc,$(tblgen_gen_tables)),)
+$(generated_sources)/%GenAsmMatcher.inc: TBLGEN_LOCAL_MODULE := $(LOCAL_MODULE)
+$(generated_sources)/%GenAsmMatcher.inc: $(tblgen_source_dir)/%.td \
+                                     $(tblgen_td_deps) $(LLVM_TBLGEN)
+       $(call transform-td-to-out,asm-matcher)
+endif
+
+# TODO(srhines): Is this needed
+ifneq ($(filter %GenCodeEmitter.inc,$(tblgen_gen_tables)),)
+$(generated_sources)/%GenCodeEmitter.inc: TBLGEN_LOCAL_MODULE := $(LOCAL_MODULE)
+$(generated_sources)/%GenCodeEmitter.inc: $(tblgen_source_dir)/%.td \
+                                      $(tblgen_td_deps) $(LLVM_TBLGEN)
+       $(call transform-td-to-out,emitter)
+endif
+
+ifneq ($(filter %GenMCCodeEmitter.inc,$(tblgen_gen_tables)),)
+$(generated_sources)/%GenMCCodeEmitter.inc: TBLGEN_LOCAL_MODULE := $(LOCAL_MODULE)
+$(generated_sources)/%GenMCCodeEmitter.inc: $(tblgen_source_dir)/%.td \
+                                        $(tblgen_td_deps) $(LLVM_TBLGEN)
+       $(call transform-td-to-out,emitter)
+endif
+
+ifneq ($(filter %GenMCPseudoLowering.inc,$(tblgen_gen_tables)),)
+$(generated_sources)/%GenMCPseudoLowering.inc: TBLGEN_LOCAL_MODULE := $(LOCAL_MODULE)
+$(generated_sources)/%GenMCPseudoLowering.inc: $(tblgen_source_dir)/%.td \
+                                           $(tblgen_td_deps) $(LLVM_TBLGEN)
+       $(call transform-td-to-out,pseudo-lowering)
+endif
+
+ifneq ($(filter %GenDAGISel.inc,$(tblgen_gen_tables)),)
+$(generated_sources)/%GenDAGISel.inc: TBLGEN_LOCAL_MODULE := $(LOCAL_MODULE)
+$(generated_sources)/%GenDAGISel.inc: $(tblgen_source_dir)/%.td \
+                                  $(tblgen_td_deps) $(LLVM_TBLGEN)
+       $(call transform-td-to-out,dag-isel)
+endif
+
+ifneq ($(filter %GenDisassemblerTables.inc,$(tblgen_gen_tables)),)
+$(generated_sources)/%GenDisassemblerTables.inc: TBLGEN_LOCAL_MODULE := $(LOCAL_MODULE)
+$(generated_sources)/%GenDisassemblerTables.inc: $(tblgen_source_dir)/%.td \
+                                             $(tblgen_td_deps) $(LLVM_TBLGEN)
+       $(call transform-td-to-out,disassembler)
+endif
+
+ifneq ($(filter %GenEDInfo.inc,$(tblgen_gen_tables)),)
+$(generated_sources)/%GenEDInfo.inc: TBLGEN_LOCAL_MODULE := $(LOCAL_MODULE)
+$(generated_sources)/%GenEDInfo.inc: $(tblgen_source_dir)/%.td \
+                                 $(tblgen_td_deps) $(LLVM_TBLGEN)
+       $(call transform-td-to-out,enhanced-disassembly-info)
+endif
+
+ifneq ($(filter %GenFastISel.inc,$(tblgen_gen_tables)),)
+$(generated_sources)/%GenFastISel.inc: TBLGEN_LOCAL_MODULE := $(LOCAL_MODULE)
+$(generated_sources)/%GenFastISel.inc: $(tblgen_source_dir)/%.td \
+                                   $(tblgen_td_deps) $(LLVM_TBLGEN)
+       $(call transform-td-to-out,fast-isel)
+endif
+
+ifneq ($(filter %GenSubtargetInfo.inc,$(tblgen_gen_tables)),)
+$(generated_sources)/%GenSubtargetInfo.inc: TBLGEN_LOCAL_MODULE := $(LOCAL_MODULE)
+$(generated_sources)/%GenSubtargetInfo.inc: $(tblgen_source_dir)/%.td \
+                                        $(tblgen_td_deps) $(LLVM_TBLGEN)
+       $(call transform-td-to-out,subtarget)
+endif
+
+ifneq ($(filter %GenCallingConv.inc,$(tblgen_gen_tables)),)
+$(generated_sources)/%GenCallingConv.inc: TBLGEN_LOCAL_MODULE := $(LOCAL_MODULE)
+$(generated_sources)/%GenCallingConv.inc: $(tblgen_source_dir)/%.td \
+                                      $(tblgen_td_deps) $(LLVM_TBLGEN)
+       $(call transform-td-to-out,callingconv)
+endif
+
+ifneq ($(filter %GenIntrinsics.inc,$(tblgen_gen_tables)),)
+$(generated_sources)/%GenIntrinsics.inc: TBLGEN_LOCAL_MODULE := $(LOCAL_MODULE)
+$(generated_sources)/%GenIntrinsics.inc: $(tblgen_source_dir)/%.td \
+                                     $(tblgen_td_deps) $(LLVM_TBLGEN)
+       $(call transform-td-to-out,tgt-intrinsic)
+endif
+
+ifneq ($(filter %GenDFAPacketizer.inc,$(tblgen_gen_tables)),)
+$(generated_sources)/%GenDFAPacketizer.inc: TBLGEN_LOCAL_MODULE := $(LOCAL_MODULE)
+$(generated_sources)/%GenDFAPacketizer.inc: $(tblgen_source_dir)/%.td \
+                                     $(tblgen_td_deps) | $(LLVM_TBLGEN)
+       $(call transform-td-to-out,dfa-packetizer)
+endif
+
+ifneq ($(findstring ARMGenDecoderTables.inc,$(tblgen_gen_tables)),)
+$(generated_sources)/ARMGenDecoderTables.inc: TBLGEN_LOCAL_MODULE := $(LOCAL_MODULE)
+$(generated_sources)/ARMGenDecoderTables.inc: $(tblgen_source_dir)/ARM.td \
+                                          $(tblgen_td_deps) $(LLVM_TBLGEN)
+       $(call transform-td-to-out,arm-decoder)
+endif
+
+ifneq ($(findstring Options.inc,$(tblgen_gen_tables)),)
+$(generated_sources)/Options.inc: TBLGEN_LOCAL_MODULE := $(LOCAL_MODULE)
+$(generated_sources)/Options.inc: $(tblgen_source_dir)/Options.td \
+                                     $(tblgen_td_deps) \
+                                     $(LLVM_TBLGEN) \
+                                     $(LLVM_ROOT_PATH)/include/llvm/Option/OptParser.td
+       $(call transform-td-to-out,opt-parser-defs)
+endif
+
+# Reset local variables
+tblgen_td_deps :=
+
+endif
diff --git a/llvm.mk b/llvm.mk
new file mode 100644 (file)
index 0000000..ec7ae81
--- /dev/null
+++ b/llvm.mk
@@ -0,0 +1,12 @@
+ifeq ($(LLVM_ROOT_PATH),)
+$(error Must set variable LLVM_ROOT_PATH before including this! $(LOCAL_PATH))
+endif
+
+CLEAR_TBLGEN_VARS := $(LLVM_ROOT_PATH)/clear_tblgen_vars.mk
+LLVM_HOST_BUILD_MK := $(LLVM_ROOT_PATH)/llvm-host-build.mk
+LLVM_DEVICE_BUILD_MK := $(LLVM_ROOT_PATH)/llvm-device-build.mk
+LLVM_GEN_ATTRIBUTES_MK := $(LLVM_ROOT_PATH)/llvm-gen-attributes.mk
+LLVM_GEN_INTRINSICS_MK := $(LLVM_ROOT_PATH)/llvm-gen-intrinsics.mk
+LLVM_TBLGEN_RULES_MK := $(LLVM_ROOT_PATH)/llvm-tblgen-rules.mk
+
+LLVM_SUPPORTED_ARCH := arm arm64 mips mips64 x86 x86_64
diff --git a/shared_llvm.mk b/shared_llvm.mk
new file mode 100644 (file)
index 0000000..c82f389
--- /dev/null
@@ -0,0 +1,162 @@
+LOCAL_PATH:= $(call my-dir)
+
+llvm_pre_static_libraries := \
+  libLLVMLinker \
+  libLLVMipo \
+  libLLVMDebugInfoDWARF \
+  libLLVMDebugInfoPDB \
+  libLLVMSymbolize \
+  libLLVMIRReader \
+  libLLVMBitWriter \
+  libLLVMBitReader
+
+llvm_arm_static_libraries := \
+  libLLVMARMCodeGen \
+  libLLVMARMAsmParser \
+  libLLVMARMAsmPrinter \
+  libLLVMARMInfo \
+  libLLVMARMDesc \
+  libLLVMARMDisassembler
+
+llvm_x86_static_libraries := \
+  libLLVMX86CodeGen \
+  libLLVMX86Info \
+  libLLVMX86Desc \
+  libLLVMX86AsmParser \
+  libLLVMX86AsmPrinter \
+  libLLVMX86Utils \
+  libLLVMX86Disassembler
+
+ifneq ($(filter radeonsi,$(BOARD_GPU_DRIVERS)),)
+llvm_x86_static_libraries += \
+  libLLVMAMDGPUCodeGen \
+  libLLVMAMDGPUInfo \
+  libLLVMAMDGPUDesc \
+  libLLVMAMDGPUAsmParser \
+  libLLVMAMDGPUAsmPrinter \
+  libLLVMAMDGPUUtils
+endif
+
+llvm_mips_static_libraries := \
+  libLLVMMipsCodeGen \
+  libLLVMMipsInfo \
+  libLLVMMipsDesc \
+  libLLVMMipsAsmParser \
+  libLLVMMipsAsmPrinter \
+  libLLVMMipsDisassembler
+
+llvm_aarch64_static_libraries := \
+  libLLVMAArch64CodeGen \
+  libLLVMAArch64Info \
+  libLLVMAArch64Desc \
+  libLLVMAArch64AsmParser \
+  libLLVMAArch64AsmPrinter \
+  libLLVMAArch64Utils \
+  libLLVMAArch64Disassembler
+
+llvm_post_static_libraries := \
+  libLLVMAsmPrinter \
+  libLLVMSelectionDAG \
+  libLLVMCodeGen \
+  libLLVMObject \
+  libLLVMScalarOpts \
+  libLLVMInstCombine \
+  libLLVMInstrumentation \
+  libLLVMTransformObjCARC \
+  libLLVMTransformUtils \
+  libLLVMAnalysis \
+  libLLVMTarget \
+  libLLVMMCDisassembler \
+  libLLVMMC \
+  libLLVMMCParser \
+  libLLVMCore \
+  libLLVMAsmParser \
+  libLLVMOption \
+  libLLVMSupport \
+  libLLVMVectorize \
+  libLLVMProfileData \
+  libLLVMLibDriver
+
+llvm_host_static_libraries := \
+  libLLVMExecutionEngine \
+  libLLVMRuntimeDyld \
+  libLLVMMCJIT \
+  libLLVMOrcJIT
+
+llvm_device_static_libraries := \
+  libLLVMExecutionEngine \
+  libLLVMRuntimeDyld \
+  libLLVMMCJIT
+
+# HOST LLVM shared library build
+include $(CLEAR_VARS)
+LOCAL_IS_HOST_MODULE := true
+
+LOCAL_MODULE:= libLLVM
+
+LOCAL_MODULE_TAGS := optional
+
+# Host build pulls in all ARM, Mips, X86 components.
+LOCAL_WHOLE_STATIC_LIBRARIES := \
+  $(llvm_pre_static_libraries) \
+  $(llvm_arm_static_libraries) \
+  $(llvm_x86_static_libraries) \
+  $(llvm_mips_static_libraries) \
+  $(llvm_aarch64_static_libraries) \
+  $(llvm_host_static_libraries) \
+  $(llvm_post_static_libraries)
+
+LOCAL_LDLIBS_windows := -limagehlp -lpsapi -lole32
+LOCAL_LDLIBS_darwin := -ldl -lpthread
+LOCAL_LDLIBS_linux := -ldl -lpthread
+
+# Use prebuilts for linux and darwin unless
+# FORCE_BUILD_LLVM_COMPONENTS is true
+ifneq (true,$(FORCE_BUILD_LLVM_COMPONENTS))
+LOCAL_MODULE_HOST_OS := windows
+else
+LOCAL_MODULE_HOST_OS := darwin linux windows
+endif
+
+include $(LLVM_HOST_BUILD_MK)
+include $(BUILD_HOST_SHARED_LIBRARY)
+
+ifeq (,$(filter $(TARGET_ARCH),$(LLVM_SUPPORTED_ARCH)))
+$(warning TODO $(TARGET_ARCH): Enable llvm build)
+endif
+
+ifneq (true,$(DISABLE_LLVM_DEVICE_BUILDS))
+# DEVICE LLVM shared library build
+include $(CLEAR_VARS)
+
+LOCAL_MODULE:= libLLVM
+
+LOCAL_MODULE_TAGS := optional
+
+# Device build selectively pulls in ARM, Mips, X86 components.
+LOCAL_WHOLE_STATIC_LIBRARIES := \
+  $(llvm_pre_static_libraries)
+
+LOCAL_WHOLE_STATIC_LIBRARIES_arm += $(llvm_arm_static_libraries)
+LOCAL_WHOLE_STATIC_LIBRARIES_x86 += $(llvm_x86_static_libraries)
+LOCAL_WHOLE_STATIC_LIBRARIES_x86_64 += $(llvm_x86_static_libraries)
+LOCAL_WHOLE_STATIC_LIBRARIES_mips += $(llvm_mips_static_libraries)
+LOCAL_WHOLE_STATIC_LIBRARIES_mips64 += $(llvm_mips_static_libraries)
+LOCAL_WHOLE_STATIC_LIBRARIES_arm64 += $(llvm_aarch64_static_libraries)
+LOCAL_WHOLE_STATIC_LIBRARIES_arm64 += $(llvm_arm_static_libraries)
+
+ifeq ($(BUILD_ARM_FOR_X86),true)
+LOCAL_WHOLE_STATIC_LIBRARIES_x86 += $(llvm_arm_static_libraries)
+LOCAL_WHOLE_STATIC_LIBRARIES_x86 += $(llvm_aarch64_static_libraries)
+LOCAL_WHOLE_STATIC_LIBRARIES_x86_64 += $(llvm_arm_static_libraries)
+LOCAL_WHOLE_STATIC_LIBRARIES_x86_64 += $(llvm_aarch64_static_libraries)
+endif
+
+LOCAL_WHOLE_STATIC_LIBRARIES += \
+  $(llvm_device_static_libraries) \
+  $(llvm_post_static_libraries)
+
+include $(LLVM_DEVICE_BUILD_MK)
+include $(BUILD_SHARED_LIBRARY)
+
+endif
diff --git a/tools/bugpoint-passes/Android.mk b/tools/bugpoint-passes/Android.mk
new file mode 100644 (file)
index 0000000..b82bcb2
--- /dev/null
@@ -0,0 +1,22 @@
+LOCAL_PATH := $(call my-dir)
+
+LLVM_ROOT_PATH := $(LOCAL_PATH)/../..
+include $(LLVM_ROOT_PATH)/llvm.mk
+
+bugpoint_passes_SRC_FILES := \
+  TestPasses.cpp
+
+# BugpointPasses module for the host
+# =====================================================
+include $(CLEAR_VARS)
+
+LOCAL_SRC_FILES := $(bugpoint_passes_SRC_FILES)
+LOCAL_MODULE := BugpointPasses
+
+LOCAL_MODULE_CLASS := SHARED_LIBRARIES # needed for tblgen
+LOCAL_LDFLAGS_darwin := -Wl,-undefined -Wl,dynamic_lookup
+
+include $(LLVM_HOST_BUILD_MK)
+include $(LLVM_GEN_ATTRIBUTES_MK)
+include $(LLVM_GEN_INTRINSICS_MK)
+include $(BUILD_HOST_SHARED_LIBRARY)
diff --git a/tools/bugpoint/Android.mk b/tools/bugpoint/Android.mk
new file mode 100644 (file)
index 0000000..040ad49
--- /dev/null
@@ -0,0 +1,62 @@
+LOCAL_PATH := $(call my-dir)
+
+LLVM_ROOT_PATH := $(LOCAL_PATH)/../..
+
+
+#===---------------------------------------------------------------===
+# bugpoint command line tool
+#===---------------------------------------------------------------===
+
+bugpoint_SRC_FILES := \
+  BugDriver.cpp       \
+  CrashDebugger.cpp   \
+  ExecutionDriver.cpp \
+  ExtractFunction.cpp \
+  FindBugs.cpp        \
+  Miscompilation.cpp  \
+  OptimizerDriver.cpp \
+  ToolRunner.cpp      \
+  bugpoint.cpp        \
+
+bugpoint_STATIC_LIBRARIES := \
+  libLLVMBitWriter \
+  libLLVMCodeGen \
+  libLLVMipo \
+  libLLVMIRReader \
+  libLLVMBitReader \
+  libLLVMAsmParser \
+  libLLVMInstCombine \
+  libLLVMInstrumentation \
+  libLLVMLinker \
+  libLLVMTransformObjCARC \
+  libLLVMObject \
+  libLLVMScalarOpts \
+  libLLVMTransformUtils \
+  libLLVMAnalysis \
+  libLLVMTarget \
+  libLLVMCore \
+  libLLVMMC \
+  libLLVMMCParser \
+  libLLVMProfileData \
+  libLLVMVectorize \
+  libLLVMSupport \
+
+include $(CLEAR_VARS)
+
+LOCAL_MODULE := bugpoint
+LOCAL_MODULE_CLASS := EXECUTABLES
+LOCAL_IS_HOST_MODULE := true
+
+LOCAL_SRC_FILES := $(bugpoint_SRC_FILES)
+
+LOCAL_STATIC_LIBRARIES := $(bugpoint_STATIC_LIBRARIES)
+
+LOCAL_LDLIBS += -lpthread -lm -ldl
+LOCAL_LDFLAGS_darwin := -Wl,-export_dynamic
+LOCAL_LDFLAGS_linux := -Wl,--export-dynamic
+
+include $(LLVM_ROOT_PATH)/llvm.mk
+include $(LLVM_HOST_BUILD_MK)
+include $(LLVM_GEN_ATTRIBUTES_MK)
+include $(LLVM_GEN_INTRINSICS_MK)
+include $(BUILD_HOST_EXECUTABLE)
diff --git a/tools/dsymutil/Android.mk b/tools/dsymutil/Android.mk
new file mode 100644 (file)
index 0000000..bd887dd
--- /dev/null
@@ -0,0 +1,71 @@
+LOCAL_PATH := $(call my-dir)
+
+LLVM_ROOT_PATH := $(LOCAL_PATH)/../..
+include $(LLVM_ROOT_PATH)/llvm.mk
+
+llvm_dsymutil_SRC_FILES := \
+  BinaryHolder.cpp \
+  DebugMap.cpp \
+  dsymutil.cpp \
+  DwarfLinker.cpp \
+  MachODebugMapParser.cpp \
+  MachOUtils.cpp \
+
+llvm_dsymutil_STATIC_LIBRARIES := \
+  libLLVMARMCodeGen \
+  libLLVMARMAsmParser \
+  libLLVMARMInfo \
+  libLLVMARMDesc \
+  libLLVMARMAsmPrinter \
+  libLLVMARMDisassembler \
+  libLLVMAArch64CodeGen \
+  libLLVMAArch64Info \
+  libLLVMAArch64AsmParser \
+  libLLVMAArch64Desc \
+  libLLVMAArch64AsmPrinter \
+  libLLVMAArch64Utils \
+  libLLVMAArch64Disassembler \
+  libLLVMMipsCodeGen \
+  libLLVMMipsInfo \
+  libLLVMMipsAsmParser \
+  libLLVMMipsDesc \
+  libLLVMMipsAsmPrinter \
+  libLLVMMipsDisassembler \
+  libLLVMX86CodeGen \
+  libLLVMX86Info \
+  libLLVMX86Desc \
+  libLLVMX86AsmParser \
+  libLLVMX86AsmPrinter \
+  libLLVMX86Utils \
+  libLLVMX86Disassembler \
+  libLLVMX86CodeGen \
+  libLLVMAsmPrinter \
+  libLLVMSelectionDAG \
+  libLLVMCodeGen \
+  libLLVMDebugInfoDWARF \
+  libLLVMInstrumentation \
+  libLLVMMCParser \
+  libLLVMMCDisassembler \
+  libLLVMObject \
+  libLLVMBitReader \
+  libLLVMScalarOpts \
+  libLLVMTransformUtils \
+  libLLVMAnalysis \
+  libLLVMTarget \
+  libLLVMCore \
+  libLLVMMC \
+  libLLVMSupport \
+
+include $(CLEAR_VARS)
+
+LOCAL_MODULE := llvm-dsymutil
+LOCAL_MODULE_CLASS := EXECUTABLES
+LOCAL_MODULE_TAGS := optional
+LOCAL_SRC_FILES := $(llvm_dsymutil_SRC_FILES)
+LOCAL_LDLIBS += -lpthread -lm -ldl
+
+LOCAL_STATIC_LIBRARIES := $(llvm_dsymutil_STATIC_LIBRARIES)
+
+include $(LLVM_HOST_BUILD_MK)
+include $(LLVM_GEN_INTRINSICS_MK)
+include $(BUILD_HOST_EXECUTABLE)
diff --git a/tools/gold/Android.mk b/tools/gold/Android.mk
new file mode 100644 (file)
index 0000000..976bd62
--- /dev/null
@@ -0,0 +1,47 @@
+#
+# Copyright (C) 2015 The Android Open Source Project
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#      http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+
+LOCAL_PATH:= $(call my-dir)
+
+LLVM_ROOT_PATH := $(LOCAL_PATH)/../../
+include $(LLVM_ROOT_PATH)/llvm.mk
+
+# For the host only
+# =====================================================
+include $(CLEAR_VARS)
+include $(CLEAR_TBLGEN_VARS)
+
+LOCAL_MODULE := LLVMgold
+
+LOCAL_MODULE_CLASS := SHARED_LIBRARIES
+
+llvm_gold_SRC_FILES := \
+  gold-plugin.cpp
+
+LOCAL_SRC_FILES := $(llvm_gold_SRC_FILES)
+
+LOCAL_SHARED_LIBRARIES := libLLVM
+
+ifndef USE_MINGW
+LOCAL_LDLIBS += -lpthread -ldl
+endif
+
+LOCAL_C_INCLUDES += toolchain/binutils/binutils-2.25/include
+
+include $(LLVM_HOST_BUILD_MK)
+include $(LLVM_GEN_ATTRIBUTES_MK)
+include $(LLVM_GEN_INTRINSICS_MK)
+include $(BUILD_HOST_SHARED_LIBRARY)
diff --git a/tools/llc/Android.mk b/tools/llc/Android.mk
new file mode 100644 (file)
index 0000000..7842368
--- /dev/null
@@ -0,0 +1,136 @@
+LOCAL_PATH := $(call my-dir)
+
+LLVM_ROOT_PATH := $(LOCAL_PATH)/../..
+
+
+#===---------------------------------------------------------------===
+# llc command line tool (common)
+#===---------------------------------------------------------------===
+
+llvm_llc_SRC_FILES := \
+  llc.cpp
+
+llvm_llc_mips_STATIC_LIBRARIES := \
+  libLLVMMipsAsmParser \
+  libLLVMMipsInfo \
+  libLLVMMipsCodeGen \
+  libLLVMMipsDesc \
+  libLLVMMipsAsmPrinter \
+
+llvm_llc_x86_STATIC_LIBRARIES := \
+  libLLVMX86Info \
+  libLLVMX86AsmParser \
+  libLLVMX86CodeGen \
+  libLLVMX86Disassembler \
+  libLLVMX86Desc \
+  libLLVMX86AsmPrinter \
+  libLLVMX86Utils
+
+llvm_llc_arm_STATIC_LIBRARIES := \
+  libLLVMARMCodeGen \
+  libLLVMARMDisassembler \
+  libLLVMARMAsmParser \
+  libLLVMARMAsmPrinter \
+  libLLVMARMDesc \
+  libLLVMARMInfo
+
+llvm_llc_STATIC_LIBRARIES := \
+  libLLVMAsmPrinter \
+  libLLVMIRReader \
+  libLLVMAsmParser \
+  libLLVMBitReader \
+  libLLVMBitWriter \
+  libLLVMSelectionDAG \
+  libLLVMInstCombine \
+  libLLVMCodeGen \
+  libLLVMInstrumentation \
+  libLLVMObject \
+  libLLVMipo \
+  libLLVMLinker \
+  libLLVMMCDisassembler \
+  libLLVMMC \
+  libLLVMMIRParser \
+  libLLVMMCParser \
+  libLLVMScalarOpts \
+  libLLVMTransformUtils \
+  libLLVMVectorize \
+  libLLVMAnalysis \
+  libLLVMTarget \
+  libLLVMCore \
+  libLLVMSupport \
+  libLLVMObject
+
+llvm_llc_aarch64_STATIC_LIBRARIES := \
+  libLLVMAArch64Info \
+  libLLVMAArch64AsmParser \
+  libLLVMAArch64CodeGen \
+  libLLVMAArch64Disassembler \
+  libLLVMAArch64Desc \
+  libLLVMAArch64AsmPrinter \
+  libLLVMAArch64Utils
+
+
+
+#===---------------------------------------------------------------===
+# llc command line tool (host)
+#===---------------------------------------------------------------===
+
+include $(CLEAR_VARS)
+
+LOCAL_MODULE := llc
+LOCAL_MODULE_TAGS := optional
+LOCAL_MODULE_CLASS := EXECUTABLES
+LOCAL_IS_HOST_MODULE := true
+
+LOCAL_SRC_FILES := $(llvm_llc_SRC_FILES)
+
+LOCAL_STATIC_LIBRARIES := \
+  $(llvm_llc_arm_STATIC_LIBRARIES) \
+  $(llvm_llc_mips_STATIC_LIBRARIES) \
+  $(llvm_llc_x86_STATIC_LIBRARIES) \
+  $(llvm_llc_aarch64_STATIC_LIBRARIES) \
+  $(llvm_llc_STATIC_LIBRARIES)
+
+LOCAL_LDLIBS += -lpthread -lm -ldl
+
+include $(LLVM_ROOT_PATH)/llvm.mk
+include $(LLVM_HOST_BUILD_MK)
+include $(LLVM_GEN_ATTRIBUTES_MK)
+include $(LLVM_GEN_INTRINSICS_MK)
+include $(BUILD_HOST_EXECUTABLE)
+
+
+#===---------------------------------------------------------------===
+# llc command line tool (target)
+#===---------------------------------------------------------------===
+
+ifeq (,$(filter $(TARGET_ARCH),$(LLVM_SUPPORTED_ARCH)))
+$(warning TODO $(TARGET_ARCH): Enable llc build)
+endif
+
+ifneq (true,$(DISABLE_LLVM_DEVICE_BUILDS))
+include $(CLEAR_VARS)
+
+LOCAL_MODULE := llc
+LOCAL_MODULE_TAGS := optional
+LOCAL_MODULE_CLASS := EXECUTABLES
+
+LOCAL_SRC_FILES := $(llvm_llc_SRC_FILES)
+LOCAL_C_INCLUDES += external/llvm/include
+
+LOCAL_STATIC_LIBRARIES_arm += $(llvm_llc_arm_STATIC_LIBRARIES)
+LOCAL_STATIC_LIBRARIES_mips += $(llvm_llc_mips_STATIC_LIBRARIES)
+LOCAL_STATIC_LIBRARIES_mips64 += $(llvm_llc_mips_STATIC_LIBRARIES)
+LOCAL_STATIC_LIBRARIES_x86 += $(llvm_llc_x86_STATIC_LIBRARIES)
+LOCAL_STATIC_LIBRARIES_x86_64 += $(llvm_llc_x86_STATIC_LIBRARIES)
+LOCAL_STATIC_LIBRARIES_arm64 += $(llvm_llc_aarch64_STATIC_LIBRARIES)
+LOCAL_STATIC_LIBRARIES_arm64 += $(llvm_llc_arm_STATIC_LIBRARIES)
+
+LOCAL_STATIC_LIBRARIES += $(llvm_llc_STATIC_LIBRARIES)
+
+include $(LLVM_ROOT_PATH)/llvm.mk
+include $(LLVM_DEVICE_BUILD_MK)
+include $(LLVM_GEN_ATTRIBUTES_MK)
+include $(LLVM_GEN_INTRINSICS_MK)
+include $(BUILD_EXECUTABLE)
+endif
diff --git a/tools/lli/Android.mk b/tools/lli/Android.mk
new file mode 100644 (file)
index 0000000..99552de
--- /dev/null
@@ -0,0 +1,86 @@
+LOCAL_PATH := $(call my-dir)
+
+LLVM_ROOT_PATH := $(LOCAL_PATH)/../..
+
+
+#===---------------------------------------------------------------===
+# lli command line tool
+#===---------------------------------------------------------------===
+
+lli_SRC_FILES := \
+  lli.cpp \
+  OrcLazyJIT.cpp \
+  RemoteMemoryManager.cpp \
+  RemoteTarget.cpp \
+  RemoteTargetExternal.cpp \
+
+lli_STATIC_LIBRARIES := \
+  libLLVMIRReader \
+  libLLVMBitReader \
+  libLLVMARMCodeGen \
+  libLLVMARMInfo \
+  libLLVMARMDesc \
+  libLLVMARMAsmPrinter \
+  libLLVMARMAsmParser \
+  libLLVMARMDisassembler \
+  libLLVMAArch64CodeGen \
+  libLLVMAArch64Info \
+  libLLVMAArch64Desc \
+  libLLVMAArch64AsmPrinter \
+  libLLVMAArch64AsmParser \
+  libLLVMAArch64Utils \
+  libLLVMAArch64Disassembler \
+  libLLVMMipsCodeGen \
+  libLLVMMipsInfo \
+  libLLVMMipsDesc \
+  libLLVMMipsAsmPrinter \
+  libLLVMMipsAsmParser \
+  libLLVMMipsDisassembler \
+  libLLVMX86CodeGen \
+  libLLVMX86Info \
+  libLLVMX86Desc \
+  libLLVMX86AsmPrinter \
+  libLLVMX86AsmParser \
+  libLLVMX86Utils \
+  libLLVMX86Disassembler \
+  libLLVMAsmPrinter \
+  libLLVMSelectionDAG \
+  libLLVMCodeGen \
+  libLLVMInstrumentation \
+  libLLVMLinker \
+  libLLVMInterpreter \
+  libLLVMScalarOpts \
+  libLLVMTransformUtils \
+  libLLVMAnalysis \
+  libLLVMTarget \
+  libLLVMMC \
+  libLLVMMCJIT \
+  libLLVMOrcJIT \
+  libLLVMExecutionEngine \
+  libLLVMRuntimeDyld \
+  libLLVMMCParser \
+  libLLVMObject \
+  libLLVMCore \
+  libLLVMAsmParser \
+  libLLVMOption \
+  libLLVMSupport \
+  libLLVMMCDisassembler \
+
+include $(CLEAR_VARS)
+
+LOCAL_MODULE := lli
+LOCAL_MODULE_TAGS := optional
+LOCAL_MODULE_CLASS := EXECUTABLES
+LOCAL_IS_HOST_MODULE := true
+
+LOCAL_SRC_FILES := $(lli_SRC_FILES)
+
+LOCAL_STATIC_LIBRARIES := $(lli_STATIC_LIBRARIES)
+
+LOCAL_LDLIBS += -lpthread -lm -ldl
+
+include $(LLVM_ROOT_PATH)/llvm.mk
+include $(LLVM_HOST_BUILD_MK)
+include $(LLVM_GEN_ATTRIBUTES_MK)
+include $(LLVM_GEN_INTRINSICS_MK)
+include $(BUILD_HOST_EXECUTABLE)
diff --git a/tools/lli/ChildTarget/Android.mk b/tools/lli/ChildTarget/Android.mk
new file mode 100644 (file)
index 0000000..e4836e8
--- /dev/null
@@ -0,0 +1,31 @@
+LOCAL_PATH := $(call my-dir)
+
+LLVM_ROOT_PATH := $(LOCAL_PATH)/../../../
+
+
+#===---------------------------------------------------------------===
+# lli-child-target command line tool
+#===---------------------------------------------------------------===
+
+lli_child_target_SRC_FILES := \
+  ChildTarget.cpp \
+  ../RemoteTarget.cpp
+
+include $(CLEAR_VARS)
+
+LOCAL_MODULE := lli-child-target
+LOCAL_MODULE_TAGS := optional
+LOCAL_MODULE_CLASS := EXECUTABLES
+LOCAL_IS_HOST_MODULE := true
+
+LOCAL_SRC_FILES := $(lli_child_target_SRC_FILES)
+
+LOCAL_STATIC_LIBRARIES := \
+  libLLVMSupport
+
+LOCAL_LDLIBS += -lpthread -lm -ldl
+
+include $(LLVM_ROOT_PATH)/llvm.mk
+include $(LLVM_HOST_BUILD_MK)
+include $(LLVM_GEN_INTRINSICS_MK)
+include $(BUILD_HOST_EXECUTABLE)
diff --git a/tools/llvm-ar/Android.mk b/tools/llvm-ar/Android.mk
new file mode 100644 (file)
index 0000000..e9544ef
--- /dev/null
@@ -0,0 +1,34 @@
+LOCAL_PATH := $(call my-dir)
+
+LLVM_ROOT_PATH := $(LOCAL_PATH)/../..
+
+
+#===---------------------------------------------------------------===
+# llvm-ar command line tool
+#===---------------------------------------------------------------===
+
+llvm_ar_SRC_FILES := \
+  llvm-ar.cpp
+
+include $(CLEAR_VARS)
+
+LOCAL_MODULE := llvm-ar
+LOCAL_MODULE_TAGS := optional
+LOCAL_MODULE_CLASS := EXECUTABLES
+LOCAL_IS_HOST_MODULE := true
+
+LOCAL_SRC_FILES := $(llvm_ar_SRC_FILES)
+
+LOCAL_SHARED_LIBRARIES := libLLVM
+
+LOCAL_LDLIBS += -lpthread -lm -ldl
+
+# Create symlink llvm-lib and llvm-ranlib pointing to llvm-ar.
+# Use "=" (instead of ":=") to defer the evaluation.
+LOCAL_POST_INSTALL_CMD = $(hide) ln -sf llvm-ar $(dir $(LOCAL_INSTALLED_MODULE))llvm-lib \
+                                                && ln -sf llvm-ar $(dir $(LOCAL_INSTALLED_MODULE))llvm-ranlib
+
+include $(LLVM_ROOT_PATH)/llvm.mk
+include $(LLVM_HOST_BUILD_MK)
+include $(LLVM_GEN_ATTRIBUTES_MK)
+include $(BUILD_HOST_EXECUTABLE)
diff --git a/tools/llvm-as/Android.mk b/tools/llvm-as/Android.mk
new file mode 100644 (file)
index 0000000..404f3b7
--- /dev/null
@@ -0,0 +1,25 @@
+LOCAL_PATH:= $(call my-dir)
+
+llvm_as_SRC_FILES := \
+  llvm-as.cpp
+
+include $(CLEAR_VARS)
+
+LOCAL_MODULE := llvm-as
+LOCAL_MODULE_CLASS := EXECUTABLES
+LOCAL_MODULE_TAGS := optional
+LOCAL_SRC_FILES := $(llvm_as_SRC_FILES)
+LOCAL_LDLIBS += -lm
+LOCAL_LDLIBS_windows := -limagehlp
+LOCAL_LDLIBS_darwin := -lpthread -ldl
+LOCAL_LDLIBS_linux := -lpthread -ldl
+
+LOCAL_STATIC_LIBRARIES := \
+  libLLVMAsmParser \
+  libLLVMBitWriter \
+  libLLVMCore \
+  libLLVMSupport
+
+include $(LLVM_HOST_BUILD_MK)
+include $(LLVM_GEN_ATTRIBUTES_MK)
+include $(BUILD_HOST_EXECUTABLE)
diff --git a/tools/llvm-bcanalyzer/Android.mk b/tools/llvm-bcanalyzer/Android.mk
new file mode 100644 (file)
index 0000000..f26e733
--- /dev/null
@@ -0,0 +1,36 @@
+LOCAL_PATH := $(call my-dir)
+
+LLVM_ROOT_PATH := $(LOCAL_PATH)/../..
+
+
+#===---------------------------------------------------------------===
+# llvm-bcanalyzer command line tool
+#===---------------------------------------------------------------===
+
+llvm_bcanalyzer_SRC_FILES := \
+  llvm-bcanalyzer.cpp
+
+llvm_bcanalyzer_STATIC_LIBRARIES := \
+  libLLVMBitReader                  \
+  libLLVMCore                       \
+  libLLVMSupport                    \
+
+include $(CLEAR_VARS)
+
+LOCAL_MODULE := llvm-bcanalyzer
+LOCAL_MODULE_TAGS := optional
+LOCAL_MODULE_CLASS := EXECUTABLES
+LOCAL_IS_HOST_MODULE := true
+
+LOCAL_SRC_FILES := $(llvm_bcanalyzer_SRC_FILES)
+
+LOCAL_STATIC_LIBRARIES := $(llvm_bcanalyzer_STATIC_LIBRARIES)
+
+LOCAL_LDLIBS += -lpthread -lm -ldl
+LOCAL_C_INCLUDES += external/llvm/include
+
+include $(LLVM_ROOT_PATH)/llvm.mk
+include $(LLVM_HOST_BUILD_MK)
+include $(LLVM_GEN_ATTRIBUTES_MK)
+include $(LLVM_GEN_INTRINSICS_MK)
+include $(BUILD_HOST_EXECUTABLE)
diff --git a/tools/llvm-c-test/Android.mk b/tools/llvm-c-test/Android.mk
new file mode 100644 (file)
index 0000000..16b9d94
--- /dev/null
@@ -0,0 +1,78 @@
+LOCAL_PATH := $(call my-dir)
+
+LLVM_ROOT_PATH := $(LOCAL_PATH)/../..
+
+
+#===---------------------------------------------------------------===
+# llvm-c-test command line tool
+#===---------------------------------------------------------------===
+
+llvm_c_test_SRC_FILES := \
+  calc.c                 \
+  disassemble.c          \
+  helpers.c              \
+  include-all.c          \
+  main.c                 \
+  metadata.c             \
+  module.c               \
+  object.c               \
+  targets.c              \
+
+llvm_c_test_STATIC_LIBRARIES := \
+  libLLVMBitReader \
+  libLLVMARMCodeGen \
+  libLLVMARMInfo \
+  libLLVMARMDesc \
+  libLLVMARMAsmPrinter \
+  libLLVMARMDisassembler \
+  libLLVMAArch64CodeGen \
+  libLLVMAArch64Info \
+  libLLVMAArch64Desc \
+  libLLVMAArch64AsmPrinter \
+  libLLVMAArch64Utils \
+  libLLVMAArch64Disassembler \
+  libLLVMMipsCodeGen \
+  libLLVMMipsInfo \
+  libLLVMMipsDesc \
+  libLLVMMipsAsmPrinter \
+  libLLVMMipsDisassembler \
+  libLLVMX86CodeGen \
+  libLLVMX86Info \
+  libLLVMX86Desc \
+  libLLVMX86AsmPrinter \
+  libLLVMX86Utils \
+  libLLVMX86Disassembler \
+  libLLVMAsmPrinter \
+  libLLVMSelectionDAG \
+  libLLVMCodeGen \
+  libLLVMInstrumentation \
+  libLLVMScalarOpts \
+  libLLVMTransformUtils \
+  libLLVMAnalysis \
+  libLLVMTarget \
+  libLLVMMC \
+  libLLVMObject \
+  libLLVMMCParser \
+  libLLVMCore \
+  libLLVMAsmParser \
+  libLLVMOption \
+  libLLVMSupport \
+  libLLVMMCDisassembler \
+
+include $(CLEAR_VARS)
+
+LOCAL_MODULE := llvm-c-test
+LOCAL_MODULE_TAGS := optional
+LOCAL_MODULE_CLASS := EXECUTABLES
+LOCAL_IS_HOST_MODULE := true
+
+LOCAL_SRC_FILES := $(llvm_c_test_SRC_FILES)
+
+LOCAL_STATIC_LIBRARIES := $(llvm_c_test_STATIC_LIBRARIES)
+
+LOCAL_LDLIBS += -lpthread -lm -ldl
+
+include $(LLVM_ROOT_PATH)/llvm.mk
+include $(LLVM_HOST_BUILD_MK)
+include $(LLVM_GEN_INTRINSICS_MK)
+include $(BUILD_HOST_EXECUTABLE)
diff --git a/tools/llvm-config/Android.mk b/tools/llvm-config/Android.mk
new file mode 100644 (file)
index 0000000..ac97e0b
--- /dev/null
@@ -0,0 +1,49 @@
+LOCAL_PATH := $(call my-dir)
+
+LLVM_ROOT_PATH := $(LOCAL_PATH)/../..
+
+#===---------------------------------------------------------------===
+# llvm-config command line tool
+#===---------------------------------------------------------------===
+
+include $(CLEAR_VARS)
+
+llvm_config_SRC_FILES := \
+  llvm-config.cpp
+
+llvm_config_STATIC_LIBRARIES := \
+  libLLVMCore \
+  libLLVMSupport
+
+LOCAL_MODULE := llvm-config
+LOCAL_MODULE_TAGS := optional
+LOCAL_MODULE_CLASS := EXECUTABLES
+LOCAL_IS_HOST_MODULE := true
+
+# Create BuildVariables.inc dynamically from BuildVariables.inc.in
+generated_sources := $(call local-generated-sources-dir)
+GEN := $(addprefix $(generated_sources)/, \
+            BuildVariables.inc \
+        )
+
+$(GEN) : PRIVATE_PATH := $(LOCAL_PATH)
+$(GEN) : PRIVATE_CUSTOM_TOOL = sed -e 's/@ANDROID_BUILD_TOP@/$(subst /,\/,$(ANDROID_BUILD_TOP))/' < $< > $@
+$(GEN) : $(LOCAL_PATH)/BuildVariables.inc.in
+$(GEN): $(generated_sources)/%.inc : $(LOCAL_PATH)/%.inc.in
+       $(transform-generated-source)
+
+LOCAL_GENERATED_SOURCES += $(GEN)
+
+LOCAL_C_INCLUDES := $(generated_sources)
+
+LOCAL_SRC_FILES := $(llvm_config_SRC_FILES)
+LOCAL_STATIC_LIBRARIES := $(llvm_config_STATIC_LIBRARIES)
+
+LOCAL_LDLIBS += -lpthread -lm -ldl
+LOCAL_ADDITIONAL_DEPENDENCIES := \
+  $(LOCAL_PATH)/Android.mk \
+  $(LOCAL_GENERATED_SOURCES)
+
+include $(LLVM_ROOT_PATH)/llvm.mk
+include $(LLVM_HOST_BUILD_MK)
+include $(BUILD_HOST_EXECUTABLE)
diff --git a/tools/llvm-cov/Android.mk b/tools/llvm-cov/Android.mk
new file mode 100644 (file)
index 0000000..798e601
--- /dev/null
@@ -0,0 +1,45 @@
+LOCAL_PATH := $(call my-dir)
+
+LLVM_ROOT_PATH := $(LOCAL_PATH)/../..
+
+
+#===---------------------------------------------------------------===
+# llvm-cov command line tool
+#===---------------------------------------------------------------===
+
+llvm_cov_SRC_FILES := \
+  CodeCoverage.cpp \
+  CoverageFilters.cpp \
+  CoverageReport.cpp \
+  CoverageSummaryInfo.cpp \
+  gcov.cpp \
+  llvm-cov.cpp \
+  SourceCoverageView.cpp \
+  TestingSupport.cpp
+
+llvm_cov_STATIC_LIBRARIES := \
+  libLLVMObject              \
+  libLLVMProfileData         \
+  libLLVMMC                  \
+  libLLVMMCParser            \
+  libLLVMBitReader           \
+  libLLVMCore                \
+  libLLVMSupport             \
+
+include $(CLEAR_VARS)
+
+LOCAL_MODULE := llvm-cov
+LOCAL_MODULE_TAGS := optional
+LOCAL_MODULE_CLASS := EXECUTABLES
+LOCAL_IS_HOST_MODULE := true
+
+LOCAL_SRC_FILES := $(llvm_cov_SRC_FILES)
+
+LOCAL_STATIC_LIBRARIES := $(llvm_cov_STATIC_LIBRARIES)
+
+LOCAL_LDLIBS += -lpthread -lm -ldl
+
+include $(LLVM_ROOT_PATH)/llvm.mk
+include $(LLVM_HOST_BUILD_MK)
+include $(LLVM_GEN_INTRINSICS_MK)
+include $(BUILD_HOST_EXECUTABLE)
diff --git a/tools/llvm-cxxdump/Android.mk b/tools/llvm-cxxdump/Android.mk
new file mode 100644 (file)
index 0000000..b45912c
--- /dev/null
@@ -0,0 +1,60 @@
+LOCAL_PATH := $(call my-dir)
+
+LLVM_ROOT_PATH := $(LOCAL_PATH)/../..
+include $(LLVM_ROOT_PATH)/llvm.mk
+
+llvm_cxxdump_SRC_FILES := \
+  Error.cpp \
+  llvm-cxxdump.cpp
+
+llvm_cxxdump_STATIC_LIBRARIES := \
+  libLLVMARMAsmParser \
+  libLLVMARMInfo \
+  libLLVMARMDesc \
+  libLLVMARMAsmPrinter \
+  libLLVMARMDisassembler \
+  libLLVMAArch64Info \
+  libLLVMAArch64AsmParser \
+  libLLVMAArch64Desc \
+  libLLVMAArch64AsmPrinter \
+  libLLVMAArch64Utils \
+  libLLVMAArch64Disassembler \
+  libLLVMMipsInfo \
+  libLLVMMipsAsmParser \
+  libLLVMMipsDesc \
+  libLLVMMipsAsmPrinter \
+  libLLVMMipsDisassembler \
+  libLLVMX86Info \
+  libLLVMX86Desc \
+  libLLVMX86AsmParser \
+  libLLVMX86CodeGen \
+  libLLVMX86AsmPrinter \
+  libLLVMX86Utils \
+  libLLVMX86Disassembler \
+  libLLVMAsmPrinter \
+  libLLVMCodeGen \
+  libLLVMAnalysis \
+  libLLVMTarget \
+  libLLVMObject \
+  libLLVMMCParser \
+  libLLVMMC \
+  libLLVMMCDisassembler \
+  libLLVMBitReader \
+  libLLVMCore \
+  libLLVMAsmParser \
+  libLLVMSupport \
+
+
+include $(CLEAR_VARS)
+
+LOCAL_MODULE := llvm-cxxdump
+LOCAL_MODULE_CLASS := EXECUTABLES
+LOCAL_MODULE_TAGS := optional
+LOCAL_SRC_FILES := $(llvm_cxxdump_SRC_FILES)
+LOCAL_LDLIBS += -lpthread -lm -ldl
+
+LOCAL_STATIC_LIBRARIES := $(llvm_cxxdump_STATIC_LIBRARIES)
+
+include $(LLVM_HOST_BUILD_MK)
+include $(LLVM_GEN_INTRINSICS_MK)
+include $(BUILD_HOST_EXECUTABLE)
diff --git a/tools/llvm-diff/Android.mk b/tools/llvm-diff/Android.mk
new file mode 100644 (file)
index 0000000..a3743d8
--- /dev/null
@@ -0,0 +1,40 @@
+LOCAL_PATH := $(call my-dir)
+
+LLVM_ROOT_PATH := $(LOCAL_PATH)/../..
+
+
+#===---------------------------------------------------------------===
+# llvm-diff command line tool
+#===---------------------------------------------------------------===
+
+llvm_diff_SRC_FILES := \
+  llvm-diff.cpp        \
+  DiffConsumer.cpp     \
+  DifferenceEngine.cpp \
+  DiffLog.cpp          \
+
+llvm_diff_STATIC_LIBRARIES := \
+  libLLVMIRReader             \
+  libLLVMBitReader            \
+  libLLVMAsmParser            \
+  libLLVMCore                 \
+  libLLVMSupport              \
+
+include $(CLEAR_VARS)
+
+LOCAL_MODULE := llvm-diff
+LOCAL_MODULE_TAGS := optional
+LOCAL_MODULE_CLASS := EXECUTABLES
+LOCAL_IS_HOST_MODULE := true
+
+LOCAL_SRC_FILES := $(llvm_diff_SRC_FILES)
+
+LOCAL_STATIC_LIBRARIES := $(llvm_diff_STATIC_LIBRARIES)
+
+LOCAL_LDLIBS += -lpthread -lm -ldl
+
+include $(LLVM_ROOT_PATH)/llvm.mk
+include $(LLVM_HOST_BUILD_MK)
+include $(LLVM_GEN_ATTRIBUTES_MK)
+include $(LLVM_GEN_INTRINSICS_MK)
+include $(BUILD_HOST_EXECUTABLE)
diff --git a/tools/llvm-dis/Android.mk b/tools/llvm-dis/Android.mk
new file mode 100644 (file)
index 0000000..bf1fca3
--- /dev/null
@@ -0,0 +1,23 @@
+LOCAL_PATH:= $(call my-dir)
+
+llvm_dis_SRC_FILES := \
+  llvm-dis.cpp
+
+include $(CLEAR_VARS)
+
+LOCAL_MODULE := llvm-dis
+LOCAL_MODULE_CLASS := EXECUTABLES
+LOCAL_MODULE_TAGS := optional
+LOCAL_SRC_FILES := $(llvm_dis_SRC_FILES)
+LOCAL_LDLIBS += -lpthread -lm -ldl
+
+LOCAL_STATIC_LIBRARIES := \
+  libLLVMAnalysis \
+  libLLVMBitReader \
+  libLLVMCore \
+  libLLVMSupport
+
+include $(LLVM_HOST_BUILD_MK)
+include $(LLVM_GEN_ATTRIBUTES_MK)
+include $(LLVM_GEN_INTRINSICS_MK)
+include $(BUILD_HOST_EXECUTABLE)
diff --git a/tools/llvm-dwarfdump/Android.mk b/tools/llvm-dwarfdump/Android.mk
new file mode 100644 (file)
index 0000000..225004a
--- /dev/null
@@ -0,0 +1,39 @@
+LOCAL_PATH := $(call my-dir)
+
+LLVM_ROOT_PATH := $(LOCAL_PATH)/../..
+
+
+#===---------------------------------------------------------------===
+# llvm-dwarfdump command line tool
+#===---------------------------------------------------------------===
+
+llvm_dwarfdump_SRC_FILES := \
+  llvm-dwarfdump.cpp
+
+llvm_dwarfdump_STATIC_LIBRARIES := \
+  libLLVMDebugInfoDWARF            \
+  libLLVMDebugInfoPDB              \
+  libLLVMObject                    \
+  libLLVMBitReader                 \
+  libLLVMMC                        \
+  libLLVMMCParser                  \
+  libLLVMCore                      \
+  libLLVMSupport                   \
+
+include $(CLEAR_VARS)
+
+LOCAL_MODULE := llvm-dwarfdump
+LOCAL_MODULE_TAGS := optional
+LOCAL_MODULE_CLASS := EXECUTABLES
+LOCAL_IS_HOST_MODULE := true
+
+LOCAL_SRC_FILES := $(llvm_dwarfdump_SRC_FILES)
+
+LOCAL_STATIC_LIBRARIES := $(llvm_dwarfdump_STATIC_LIBRARIES)
+
+LOCAL_LDLIBS += -lpthread -lm -ldl
+
+include $(LLVM_ROOT_PATH)/llvm.mk
+include $(LLVM_HOST_BUILD_MK)
+include $(LLVM_GEN_INTRINSICS_MK)
+include $(BUILD_HOST_EXECUTABLE)
diff --git a/tools/llvm-dwp/Android.mk b/tools/llvm-dwp/Android.mk
new file mode 100644 (file)
index 0000000..2b68f67
--- /dev/null
@@ -0,0 +1,85 @@
+LOCAL_PATH := $(call my-dir)
+
+LLVM_ROOT_PATH := $(LOCAL_PATH)/../..
+
+
+#===---------------------------------------------------------------===
+# llvm-dwp command line tool
+#===---------------------------------------------------------------===
+
+llvm_dwp_SRC_FILES := \
+  llvm-dwp.cpp
+
+llvm_dwp_STATIC_LIBRARIES := \
+  libLLVMDebugInfoDWARF \
+  libLLVMObject \
+  libLLVMBitReader \
+  libLLVMARMCodeGen \
+  libLLVMARMAsmParser \
+  libLLVMARMAsmPrinter \
+  libLLVMARMInfo \
+  libLLVMARMDesc \
+  libLLVMARMDisassembler \
+  libLLVMMipsCodeGen \
+  libLLVMMipsInfo \
+  libLLVMMipsDesc \
+  libLLVMMipsAsmParser \
+  libLLVMMipsAsmPrinter \
+  libLLVMMipsDisassembler \
+  libLLVMX86CodeGen \
+  libLLVMX86Info \
+  libLLVMX86Desc \
+  libLLVMX86AsmParser \
+  libLLVMX86AsmPrinter \
+  libLLVMX86Utils \
+  libLLVMX86Disassembler \
+  libLLVMAArch64CodeGen \
+  libLLVMAArch64Info \
+  libLLVMAArch64Desc \
+  libLLVMAArch64AsmParser \
+  libLLVMAArch64AsmPrinter \
+  libLLVMAArch64Utils \
+  libLLVMAArch64Disassembler \
+  libLLVMExecutionEngine \
+  libLLVMRuntimeDyld \
+  libLLVMMCJIT \
+  libLLVMOrcJIT \
+  libLLVMAsmPrinter \
+  libLLVMSelectionDAG \
+  libLLVMCodeGen \
+  libLLVMObject \
+  libLLVMScalarOpts \
+  libLLVMInstCombine \
+  libLLVMInstrumentation \
+  libLLVMTransformObjCARC \
+  libLLVMTransformUtils \
+  libLLVMVectorize \
+  libLLVMAnalysis \
+  libLLVMTarget \
+  libLLVMMCDisassembler \
+  libLLVMMC \
+  libLLVMMCParser \
+  libLLVMCore \
+  libLLVMAsmParser \
+  libLLVMOption \
+  libLLVMLTO \
+  libLLVMSupport \
+  libLLVMProfileData
+
+include $(CLEAR_VARS)
+
+LOCAL_MODULE := llvm-dwp
+LOCAL_MODULE_TAGS := optional
+LOCAL_MODULE_CLASS := EXECUTABLES
+LOCAL_IS_HOST_MODULE := true
+
+LOCAL_SRC_FILES := $(llvm_dwp_SRC_FILES)
+
+LOCAL_STATIC_LIBRARIES := $(llvm_dwp_STATIC_LIBRARIES)
+
+LOCAL_LDLIBS += -lpthread -lm -ldl
+
+include $(LLVM_ROOT_PATH)/llvm.mk
+include $(LLVM_HOST_BUILD_MK)
+include $(LLVM_GEN_INTRINSICS_MK)
+include $(BUILD_HOST_EXECUTABLE)
diff --git a/tools/llvm-extract/Android.mk b/tools/llvm-extract/Android.mk
new file mode 100644 (file)
index 0000000..809f4b2
--- /dev/null
@@ -0,0 +1,43 @@
+LOCAL_PATH := $(call my-dir)
+
+LLVM_ROOT_PATH := $(LOCAL_PATH)/../..
+
+
+#===---------------------------------------------------------------===
+# llvm-extract command line tool
+#===---------------------------------------------------------------===
+
+llvm_extract_SRC_FILES := \
+  llvm-extract.cpp
+
+llvm_extract_STATIC_LIBRARIES := \
+  libLLVMIRReader                \
+  libLLVMAsmParser               \
+  libLLVMObject                  \
+  libLLVMBitReader               \
+  libLLVMBitWriter               \
+  libLLVMipo                     \
+  libLLVMTransformUtils          \
+  libLLVMAnalysis                \
+  libLLVMTarget                  \
+  libLLVMCore                    \
+  libLLVMSupport                 \
+
+include $(CLEAR_VARS)
+
+LOCAL_MODULE := llvm-extract
+LOCAL_MODULE_TAGS := optional
+LOCAL_MODULE_CLASS := EXECUTABLES
+LOCAL_IS_HOST_MODULE := true
+
+LOCAL_SRC_FILES := $(llvm_extract_SRC_FILES)
+
+LOCAL_STATIC_LIBRARIES := $(llvm_extract_STATIC_LIBRARIES)
+
+LOCAL_LDLIBS += -lpthread -lm -ldl
+
+include $(LLVM_ROOT_PATH)/llvm.mk
+include $(LLVM_HOST_BUILD_MK)
+include $(LLVM_GEN_ATTRIBUTES_MK)
+include $(LLVM_GEN_INTRINSICS_MK)
+include $(BUILD_HOST_EXECUTABLE)
diff --git a/tools/llvm-link/Android.mk b/tools/llvm-link/Android.mk
new file mode 100644 (file)
index 0000000..a77f7d0
--- /dev/null
@@ -0,0 +1,54 @@
+LOCAL_PATH:= $(call my-dir)
+
+llvm_link_SRC_FILES := \
+  llvm-link.cpp
+
+llvm_link_STATIC_LIBRARIES := \
+  libLLVMLinker \
+  libLLVMIRReader \
+  libLLVMObject \
+  libLLVMMC \
+  libLLVMMCParser \
+  libLLVMBitReader \
+  libLLVMBitWriter \
+  libLLVMAsmParser \
+  libLLVMTransformUtils \
+  libLLVMAnalysis \
+  libLLVMTarget \
+  libLLVMCore \
+  libLLVMSupport
+
+#===---------------------------------------------------------------===
+# llvm-link command line tool (host)
+#===---------------------------------------------------------------===
+
+include $(CLEAR_VARS)
+
+LOCAL_MODULE := llvm-link
+LOCAL_MODULE_TAGS := optional
+LOCAL_MODULE_CLASS := EXECUTABLES
+LOCAL_SRC_FILES := $(llvm_link_SRC_FILES)
+LOCAL_STATIC_LIBRARIES := $(llvm_link_STATIC_LIBRARIES)
+LOCAL_LDLIBS += -lpthread
+
+include $(LLVM_HOST_BUILD_MK)
+include $(LLVM_GEN_ATTRIBUTES_MK)
+include $(BUILD_HOST_EXECUTABLE)
+
+#===---------------------------------------------------------------===
+# llvm-link command line tool (target)
+#===---------------------------------------------------------------===
+
+ifneq (true,$(DISABLE_LLVM_DEVICE_BUILDS))
+include $(CLEAR_VARS)
+
+LOCAL_MODULE := llvm-link
+LOCAL_MODULE_TAGS := optional
+LOCAL_MODULE_CLASS := EXECUTABLES
+LOCAL_SRC_FILES := $(llvm_link_SRC_FILES)
+LOCAL_STATIC_LIBRARIES := $(llvm_link_STATIC_LIBRARIES)
+
+include $(LLVM_DEVICE_BUILD_MK)
+include $(LLVM_GEN_ATTRIBUTES_MK)
+include $(BUILD_EXECUTABLE)
+endif
diff --git a/tools/llvm-lto/Android.mk b/tools/llvm-lto/Android.mk
new file mode 100644 (file)
index 0000000..e15c3fc
--- /dev/null
@@ -0,0 +1,83 @@
+LOCAL_PATH := $(call my-dir)
+
+LLVM_ROOT_PATH := $(LOCAL_PATH)/../..
+
+
+#===---------------------------------------------------------------===
+# llvm-lto command line tool
+#===---------------------------------------------------------------===
+
+llvm_lto_SRC_FILES := \
+  llvm-lto.cpp
+
+llvm_lto_STATIC_LIBRARIES := \
+  libLLVMARMCodeGen \
+  libLLVMARMInfo \
+  libLLVMARMDesc \
+  libLLVMARMAsmPrinter \
+  libLLVMARMAsmParser \
+  libLLVMARMDisassembler \
+  libLLVMAArch64CodeGen \
+  libLLVMAArch64Info \
+  libLLVMAArch64AsmParser \
+  libLLVMAArch64AsmPrinter \
+  libLLVMAArch64Desc \
+  libLLVMAArch64Utils \
+  libLLVMAArch64Disassembler \
+  libLLVMMipsCodeGen \
+  libLLVMMipsInfo \
+  libLLVMMipsDesc \
+  libLLVMMipsAsmPrinter \
+  libLLVMMipsAsmParser \
+  libLLVMMipsDisassembler \
+  libLLVMX86CodeGen \
+  libLLVMX86Info \
+  libLLVMX86Desc \
+  libLLVMX86AsmPrinter \
+  libLLVMX86AsmParser \
+  libLLVMX86Utils \
+  libLLVMX86Disassembler \
+  libLLVMAsmPrinter \
+  libLLVMSelectionDAG \
+  libLLVMLTO \
+  libLLVMCodeGen \
+  libLLVMTarget \
+  libLLVMBitReader \
+  libLLVMBitWriter \
+  libLLVMLinker \
+  libLLVMipo \
+  libLLVMIRReader \
+  libLLVMTransformObjCARC \
+  libLLVMScalarOpts \
+  libLLVMInstCombine \
+  libLLVMVectorize \
+  libLLVMInstrumentation \
+  libLLVMTransformUtils \
+  libLLVMAnalysis \
+  libLLVMMC \
+  libLLVMMCParser \
+  libLLVMMCDisassembler \
+  libLLVMObject \
+  libLLVMCore \
+  libLLVMAsmParser \
+  libLLVMOption \
+  libLLVMSupport \
+
+include $(CLEAR_VARS)
+
+LOCAL_MODULE := llvm-lto
+LOCAL_MODULE_TAGS := optional
+LOCAL_MODULE_CLASS := EXECUTABLES
+LOCAL_IS_HOST_MODULE := true
+
+LOCAL_SRC_FILES := $(llvm_lto_SRC_FILES)
+
+LOCAL_STATIC_LIBRARIES := $(llvm_lto_STATIC_LIBRARIES)
+
+LOCAL_LDLIBS += -lpthread -lm -ldl
+
+include $(LLVM_ROOT_PATH)/llvm.mk
+include $(LLVM_HOST_BUILD_MK)
+include $(LLVM_GEN_ATTRIBUTES_MK)
+include $(LLVM_GEN_INTRINSICS_MK)
+include $(BUILD_HOST_EXECUTABLE)
diff --git a/tools/llvm-mc/Android.mk b/tools/llvm-mc/Android.mk
new file mode 100644 (file)
index 0000000..e7e29ee
--- /dev/null
@@ -0,0 +1,68 @@
+LOCAL_PATH := $(call my-dir)
+
+LLVM_ROOT_PATH := $(LOCAL_PATH)/../..
+
+
+#===---------------------------------------------------------------===
+# llvm-mc command line tool
+#===---------------------------------------------------------------===
+
+llvm_mc_SRC_FILES := \
+  llvm-mc.cpp \
+  Disassembler.cpp
+
+llvm_mc_STATIC_LIBRARIES := \
+  libLLVMARMAsmParser \
+  libLLVMARMInfo \
+  libLLVMARMDesc \
+  libLLVMARMAsmPrinter \
+  libLLVMARMDisassembler \
+  libLLVMAArch64Info \
+  libLLVMAArch64AsmParser \
+  libLLVMAArch64Desc \
+  libLLVMAArch64AsmPrinter \
+  libLLVMAArch64Utils \
+  libLLVMAArch64Disassembler \
+  libLLVMMipsInfo \
+  libLLVMMipsAsmParser \
+  libLLVMMipsDesc \
+  libLLVMMipsAsmPrinter \
+  libLLVMMipsDisassembler \
+  libLLVMX86Info \
+  libLLVMX86Desc \
+  libLLVMX86AsmParser \
+  libLLVMX86AsmPrinter \
+  libLLVMX86Utils \
+  libLLVMX86Disassembler \
+  libLLVMX86CodeGen \
+  libLLVMAsmPrinter \
+  libLLVMCodeGen \
+  libLLVMTransformUtils \
+  libLLVMTarget \
+  libLLVMAnalysis \
+  libLLVMMC \
+  libLLVMObject \
+  libLLVMBitReader \
+  libLLVMMCParser \
+  libLLVMCore \
+  libLLVMAsmParser \
+  libLLVMSupport \
+  libLLVMMCDisassembler \
+
+include $(CLEAR_VARS)
+
+LOCAL_MODULE := llvm-mc
+LOCAL_MODULE_TAGS := optional
+LOCAL_MODULE_CLASS := EXECUTABLES
+LOCAL_IS_HOST_MODULE := true
+
+LOCAL_SRC_FILES := $(llvm_mc_SRC_FILES)
+
+LOCAL_STATIC_LIBRARIES := $(llvm_mc_STATIC_LIBRARIES)
+
+LOCAL_LDLIBS += -lpthread -lm -ldl
+
+include $(LLVM_ROOT_PATH)/llvm.mk
+include $(LLVM_HOST_BUILD_MK)
+include $(LLVM_GEN_INTRINSICS_MK)
+include $(BUILD_HOST_EXECUTABLE)
diff --git a/tools/llvm-mcmarkup/Android.mk b/tools/llvm-mcmarkup/Android.mk
new file mode 100644 (file)
index 0000000..92529ea
--- /dev/null
@@ -0,0 +1,33 @@
+LOCAL_PATH := $(call my-dir)
+
+LLVM_ROOT_PATH := $(LOCAL_PATH)/../..
+
+
+#===---------------------------------------------------------------===
+# llvm-mcmarkup command line tool
+#===---------------------------------------------------------------===
+
+llvm_mcmarkup_SRC_FILES := \
+  llvm-mcmarkup.cpp
+
+llvm_mcmarkup_STATIC_LIBRARIES := \
+  libLLVMCore \
+  libLLVMSupport \
+
+include $(CLEAR_VARS)
+
+LOCAL_MODULE := llvm-mcmarkup
+LOCAL_MODULE_TAGS := optional
+LOCAL_MODULE_CLASS := EXECUTABLES
+LOCAL_IS_HOST_MODULE := true
+
+LOCAL_SRC_FILES := $(llvm_mcmarkup_SRC_FILES)
+
+LOCAL_STATIC_LIBRARIES := $(llvm_mcmarkup_STATIC_LIBRARIES)
+
+LOCAL_LDLIBS += -lpthread -lm -ldl
+
+include $(LLVM_ROOT_PATH)/llvm.mk
+include $(LLVM_HOST_BUILD_MK)
+include $(LLVM_GEN_INTRINSICS_MK)
+include $(BUILD_HOST_EXECUTABLE)
diff --git a/tools/llvm-nm/Android.mk b/tools/llvm-nm/Android.mk
new file mode 100644 (file)
index 0000000..236378c
--- /dev/null
@@ -0,0 +1,69 @@
+LOCAL_PATH := $(call my-dir)
+
+LLVM_ROOT_PATH := $(LOCAL_PATH)/../..
+
+
+#===---------------------------------------------------------------===
+# llvm-nm command line tool
+#===---------------------------------------------------------------===
+
+llvm_nm_SRC_FILES := \
+  llvm-nm.cpp
+
+llvm_nm_STATIC_LIBRARIES := \
+  libLLVMARMCodeGen \
+  libLLVMARMInfo \
+  libLLVMARMDesc \
+  libLLVMARMAsmPrinter \
+  libLLVMARMAsmParser \
+  libLLVMARMDisassembler \
+  libLLVMAArch64CodeGen \
+  libLLVMAArch64Info \
+  libLLVMAArch64AsmParser \
+  libLLVMAArch64Desc \
+  libLLVMAArch64AsmPrinter \
+  libLLVMAArch64Utils \
+  libLLVMAArch64Disassembler \
+  libLLVMMipsCodeGen \
+  libLLVMMipsInfo \
+  libLLVMMipsAsmParser \
+  libLLVMMipsDesc \
+  libLLVMMipsAsmPrinter \
+  libLLVMMipsDisassembler \
+  libLLVMX86Info \
+  libLLVMX86Desc \
+  libLLVMX86AsmPrinter \
+  libLLVMX86AsmParser \
+  libLLVMX86CodeGen \
+  libLLVMX86Utils \
+  libLLVMX86Disassembler \
+  libLLVMCodeGen \
+  libLLVMTransformUtils \
+  libLLVMTarget \
+  libLLVMAnalysis \
+  libLLVMObject             \
+  libLLVMBitReader          \
+  libLLVMMC                 \
+  libLLVMMCParser           \
+  libLLVMCore               \
+  libLLVMSupport            \
+  libLLVMMCDisassembler \
+
+include $(CLEAR_VARS)
+
+LOCAL_MODULE := llvm-nm
+LOCAL_MODULE_TAGS := optional
+LOCAL_MODULE_CLASS := EXECUTABLES
+LOCAL_IS_HOST_MODULE := true
+
+LOCAL_SRC_FILES := $(llvm_nm_SRC_FILES)
+
+LOCAL_STATIC_LIBRARIES := $(llvm_nm_STATIC_LIBRARIES)
+
+LOCAL_LDLIBS += -lpthread -lm -ldl
+
+include $(LLVM_ROOT_PATH)/llvm.mk
+include $(LLVM_HOST_BUILD_MK)
+include $(LLVM_GEN_ATTRIBUTES_MK)
+include $(LLVM_GEN_INTRINSICS_MK)
+include $(BUILD_HOST_EXECUTABLE)
diff --git a/tools/llvm-objdump/Android.mk b/tools/llvm-objdump/Android.mk
new file mode 100644 (file)
index 0000000..847f932
--- /dev/null
@@ -0,0 +1,72 @@
+LOCAL_PATH := $(call my-dir)
+
+LLVM_ROOT_PATH := $(LOCAL_PATH)/../..
+
+
+#===---------------------------------------------------------------===
+# llvm-objdump command line tool
+#===---------------------------------------------------------------===
+
+llvm_objdump_SRC_FILES := \
+  llvm-objdump.cpp \
+  COFFDump.cpp \
+  ELFDump.cpp \
+  MachODump.cpp \
+
+llvm_objdump_STATIC_LIBRARIES := \
+  libLLVMDebugInfoDWARF \
+  libLLVMDebugInfoPDB \
+  libLLVMARMAsmParser \
+  libLLVMARMInfo \
+  libLLVMARMDesc \
+  libLLVMARMAsmPrinter \
+  libLLVMARMDisassembler \
+  libLLVMAArch64Info \
+  libLLVMAArch64AsmParser \
+  libLLVMAArch64Desc \
+  libLLVMAArch64AsmPrinter \
+  libLLVMAArch64Utils \
+  libLLVMAArch64Disassembler \
+  libLLVMMipsInfo \
+  libLLVMMipsAsmParser \
+  libLLVMMipsDesc \
+  libLLVMMipsAsmPrinter \
+  libLLVMMipsDisassembler \
+  libLLVMX86Info \
+  libLLVMX86Desc \
+  libLLVMX86AsmParser \
+  libLLVMX86CodeGen \
+  libLLVMX86AsmPrinter \
+  libLLVMX86Utils \
+  libLLVMX86Disassembler \
+  libLLVMAsmPrinter \
+  libLLVMCodeGen \
+  libLLVMTransformUtils \
+  libLLVMTarget \
+  libLLVMAnalysis \
+  libLLVMObject \
+  libLLVMMCParser \
+  libLLVMMC \
+  libLLVMMCDisassembler \
+  libLLVMBitReader \
+  libLLVMCore \
+  libLLVMAsmParser \
+  libLLVMSupport \
+
+include $(CLEAR_VARS)
+
+LOCAL_MODULE := llvm-objdump
+LOCAL_MODULE_TAGS := optional
+LOCAL_MODULE_CLASS := EXECUTABLES
+LOCAL_IS_HOST_MODULE := true
+
+LOCAL_SRC_FILES := $(llvm_objdump_SRC_FILES)
+
+LOCAL_STATIC_LIBRARIES := $(llvm_objdump_STATIC_LIBRARIES)
+
+LOCAL_LDLIBS += -lpthread -lm -ldl
+
+include $(LLVM_ROOT_PATH)/llvm.mk
+include $(LLVM_HOST_BUILD_MK)
+include $(LLVM_GEN_INTRINSICS_MK)
+include $(BUILD_HOST_EXECUTABLE)
diff --git a/tools/llvm-profdata/Android.mk b/tools/llvm-profdata/Android.mk
new file mode 100644 (file)
index 0000000..663bcbb
--- /dev/null
@@ -0,0 +1,36 @@
+LOCAL_PATH := $(call my-dir)
+
+LLVM_ROOT_PATH := $(LOCAL_PATH)/../..
+
+
+#===---------------------------------------------------------------===
+# llvm-profdata command line tool
+#===---------------------------------------------------------------===
+
+llvm_profdata_SRC_FILES := \
+  llvm-profdata.cpp
+
+llvm_profdata_STATIC_LIBRARIES := \
+  libLLVMObject                   \
+  libLLVMProfileData              \
+  libLLVMCore                     \
+  libLLVMSupport                  \
+
+include $(CLEAR_VARS)
+
+LOCAL_MODULE := llvm-profdata
+LOCAL_MODULE_TAGS := optional
+LOCAL_MODULE_CLASS := EXECUTABLES
+LOCAL_IS_HOST_MODULE := true
+
+LOCAL_SRC_FILES := $(llvm_profdata_SRC_FILES)
+
+LOCAL_STATIC_LIBRARIES := $(llvm_profdata_STATIC_LIBRARIES)
+
+LOCAL_LDLIBS += -lpthread -lm -ldl
+
+include $(LLVM_ROOT_PATH)/llvm.mk
+include $(LLVM_HOST_BUILD_MK)
+include $(LLVM_GEN_ATTRIBUTES_MK)
+include $(LLVM_GEN_INTRINSICS_MK)
+include $(BUILD_HOST_EXECUTABLE)
diff --git a/tools/llvm-readobj/Android.mk b/tools/llvm-readobj/Android.mk
new file mode 100644 (file)
index 0000000..61ef3c8
--- /dev/null
@@ -0,0 +1,51 @@
+LOCAL_PATH := $(call my-dir)
+
+LLVM_ROOT_PATH := $(LOCAL_PATH)/../..
+
+
+#===---------------------------------------------------------------===
+# llvm-readobj command line tool
+#===---------------------------------------------------------------===
+
+llvm_readobj_SRC_FILES := \
+  ARMAttributeParser.cpp \
+  ARMWinEHPrinter.cpp \
+  COFFDumper.cpp \
+  COFFImportDumper.cpp \
+  ELFDumper.cpp \
+  Error.cpp \
+  llvm-readobj.cpp \
+  MachODumper.cpp \
+  ObjDumper.cpp \
+  StreamWriter.cpp \
+  Win64EHDumper.cpp \
+
+llvm_readobj_STATIC_LIBRARIES := \
+  libLLVMARMInfo \
+  libLLVMAArch64Info \
+  libLLVMMipsInfo \
+  libLLVMX86Info \
+  libLLVMObject \
+  libLLVMBitReader \
+  libLLVMMC \
+  libLLVMMCParser \
+  libLLVMCore \
+  libLLVMSupport \
+
+include $(CLEAR_VARS)
+
+LOCAL_MODULE := llvm-readobj
+LOCAL_MODULE_TAGS := optional
+LOCAL_MODULE_CLASS := EXECUTABLES
+LOCAL_IS_HOST_MODULE := true
+
+LOCAL_SRC_FILES := $(llvm_readobj_SRC_FILES)
+
+LOCAL_STATIC_LIBRARIES := $(llvm_readobj_STATIC_LIBRARIES)
+
+LOCAL_LDLIBS += -lpthread -lm -ldl
+
+include $(LLVM_ROOT_PATH)/llvm.mk
+include $(LLVM_HOST_BUILD_MK)
+include $(LLVM_GEN_INTRINSICS_MK)
+include $(BUILD_HOST_EXECUTABLE)
diff --git a/tools/llvm-rtdyld/Android.mk b/tools/llvm-rtdyld/Android.mk
new file mode 100644 (file)
index 0000000..853c71a
--- /dev/null
@@ -0,0 +1,69 @@
+LOCAL_PATH := $(call my-dir)
+
+LLVM_ROOT_PATH := $(LOCAL_PATH)/../..
+
+
+#===---------------------------------------------------------------===
+# llvm-rtdyld command line tool
+#===---------------------------------------------------------------===
+
+llvm_rtdyld_SRC_FILES := \
+  llvm-rtdyld.cpp
+
+llvm_rtdyld_STATIC_LIBRARIES := \
+  libLLVMARMCodeGen \
+  libLLVMARMInfo \
+  libLLVMARMDesc \
+  libLLVMARMAsmPrinter \
+  libLLVMARMAsmParser \
+  libLLVMARMDisassembler \
+  libLLVMAArch64CodeGen \
+  libLLVMAArch64Info \
+  libLLVMAArch64AsmParser \
+  libLLVMAArch64Desc \
+  libLLVMAArch64AsmPrinter \
+  libLLVMAArch64Utils \
+  libLLVMAArch64Disassembler \
+  libLLVMMipsCodeGen \
+  libLLVMMipsInfo \
+  libLLVMMipsDesc \
+  libLLVMMipsAsmPrinter \
+  libLLVMMipsAsmParser \
+  libLLVMMipsDisassembler \
+  libLLVMX86CodeGen \
+  libLLVMX86Info \
+  libLLVMX86Desc \
+  libLLVMX86AsmPrinter \
+  libLLVMX86AsmParser \
+  libLLVMX86Utils \
+  libLLVMX86Disassembler \
+  libLLVMDebugInfoDWARF \
+  libLLVMDebugInfoPDB \
+  libLLVMExecutionEngine    \
+  libLLVMCodeGen \
+  libLLVMObject             \
+  libLLVMMC                 \
+  libLLVMMCParser           \
+  libLLVMRuntimeDyld        \
+  libLLVMBitReader          \
+  libLLVMCore               \
+  libLLVMSupport            \
+  libLLVMMCDisassembler \
+
+include $(CLEAR_VARS)
+
+LOCAL_MODULE := llvm-rtdyld
+LOCAL_MODULE_TAGS := optional
+LOCAL_MODULE_CLASS := EXECUTABLES
+LOCAL_IS_HOST_MODULE := true
+
+LOCAL_SRC_FILES := $(llvm_rtdyld_SRC_FILES)
+
+LOCAL_STATIC_LIBRARIES := $(llvm_rtdyld_STATIC_LIBRARIES)
+
+LOCAL_LDLIBS += -lpthread -lm -ldl
+
+include $(LLVM_ROOT_PATH)/llvm.mk
+include $(LLVM_HOST_BUILD_MK)
+include $(LLVM_GEN_INTRINSICS_MK)
+include $(BUILD_HOST_EXECUTABLE)
diff --git a/tools/llvm-size/Android.mk b/tools/llvm-size/Android.mk
new file mode 100644 (file)
index 0000000..4c26cce
--- /dev/null
@@ -0,0 +1,37 @@
+LOCAL_PATH := $(call my-dir)
+
+LLVM_ROOT_PATH := $(LOCAL_PATH)/../..
+
+
+#===---------------------------------------------------------------===
+# llvm-size command line tool
+#===---------------------------------------------------------------===
+
+llvm_size_SRC_FILES := \
+  llvm-size.cpp
+
+llvm_size_STATIC_LIBRARIES := \
+  libLLVMObject               \
+  libLLVMMC                   \
+  libLLVMMCParser             \
+  libLLVMBitReader            \
+  libLLVMCore                 \
+  libLLVMSupport
+
+include $(CLEAR_VARS)
+
+LOCAL_MODULE := llvm-size
+LOCAL_MODULE_TAGS := optional
+LOCAL_MODULE_CLASS := EXECUTABLES
+LOCAL_IS_HOST_MODULE := true
+
+LOCAL_SRC_FILES := $(llvm_size_SRC_FILES)
+
+LOCAL_STATIC_LIBRARIES := $(llvm_size_STATIC_LIBRARIES)
+
+LOCAL_LDLIBS += -lpthread -lm -ldl
+
+include $(LLVM_ROOT_PATH)/llvm.mk
+include $(LLVM_HOST_BUILD_MK)
+include $(LLVM_GEN_INTRINSICS_MK)
+include $(BUILD_HOST_EXECUTABLE)
diff --git a/tools/llvm-split/Android.mk b/tools/llvm-split/Android.mk
new file mode 100644 (file)
index 0000000..5e615d7
--- /dev/null
@@ -0,0 +1,29 @@
+LOCAL_PATH:= $(call my-dir)
+
+llvm_split_SRC_FILES := \
+  llvm-split.cpp
+
+include $(CLEAR_VARS)
+
+LOCAL_MODULE := llvm-split
+LOCAL_MODULE_CLASS := EXECUTABLES
+LOCAL_MODULE_TAGS := optional
+LOCAL_SRC_FILES := $(llvm_split_SRC_FILES)
+LOCAL_LDLIBS += -lm
+LOCAL_LDLIBS_windows := -limagehlp
+LOCAL_LDLIBS_darwin := -lpthread -ldl
+LOCAL_LDLIBS_linux := -lpthread -ldl
+
+LOCAL_STATIC_LIBRARIES := \
+  libLLVMIRReader \
+  libLLVMBitReader \
+  libLLVMBitWriter \
+  libLLVMTransformUtils \
+  libLLVMAnalysis \
+  libLLVMCore \
+  libLLVMAsmParser \
+  libLLVMSupport
+
+include $(LLVM_HOST_BUILD_MK)
+include $(LLVM_GEN_ATTRIBUTES_MK)
+include $(BUILD_HOST_EXECUTABLE)
diff --git a/tools/llvm-symbolizer/Android.mk b/tools/llvm-symbolizer/Android.mk
new file mode 100644 (file)
index 0000000..0577706
--- /dev/null
@@ -0,0 +1,42 @@
+LOCAL_PATH := $(call my-dir)
+
+LLVM_ROOT_PATH := $(LOCAL_PATH)/../..
+include $(LLVM_ROOT_PATH)/llvm.mk
+
+llvm_symbolizer_SRC_FILES := \
+  llvm-symbolizer.cpp
+
+include $(CLEAR_VARS)
+
+LOCAL_MODULE := llvm-symbolizer
+LOCAL_MODULE_CLASS := EXECUTABLES
+LOCAL_MODULE_TAGS := optional
+LOCAL_SRC_FILES := $(llvm_symbolizer_SRC_FILES)
+LOCAL_LDLIBS += -lpthread -lm -ldl
+
+LOCAL_STATIC_LIBRARIES := \
+  libLLVMSymbolize \
+  libLLVMDebugInfoDWARF \
+  libLLVMDebugInfoPDB \
+  libLLVMObject \
+  libLLVMBitReader \
+  libLLVMMC \
+  libLLVMMCParser \
+  libLLVMCore \
+  libLLVMSupport
+
+include $(LLVM_HOST_BUILD_MK)
+include $(LLVM_GEN_INTRINSICS_MK)
+include $(BUILD_HOST_EXECUTABLE)
+
+include $(CLEAR_VARS)
+
+ifneq (true,$(DISABLE_LLVM_DEVICE_BUILDS))
+LOCAL_MODULE := llvm-symbolizer
+LOCAL_MODULE_CLASS := EXECUTABLES
+LOCAL_SRC_FILES := $(llvm_symbolizer_SRC_FILES)
+LOCAL_SHARED_LIBRARIES := libLLVM
+
+include $(LLVM_DEVICE_BUILD_MK)
+include $(BUILD_EXECUTABLE)
+endif
diff --git a/tools/lto/Android.mk b/tools/lto/Android.mk
new file mode 100644 (file)
index 0000000..6e593a9
--- /dev/null
@@ -0,0 +1,105 @@
+#
+# Copyright (C) 2015 The Android Open Source Project
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#      http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+
+LOCAL_PATH:= $(call my-dir)
+
+LLVM_ROOT_PATH := $(LOCAL_PATH)/../../
+include $(LLVM_ROOT_PATH)/llvm.mk
+
+# For the host only
+# =====================================================
+include $(CLEAR_VARS)
+include $(CLEAR_TBLGEN_VARS)
+
+LOCAL_MODULE := libLTO
+
+LOCAL_MODULE_CLASS := SHARED_LIBRARIES
+
+llvm_lto_SRC_FILES := \
+  lto.cpp \
+  LTODisassembler.cpp
+
+LOCAL_SRC_FILES := $(llvm_lto_SRC_FILES)
+
+llvm_lto_STATIC_LIBRARIES := \
+  libLLVMLinker \
+  libLLVMipo \
+  libLLVMDebugInfoDWARF \
+  libLLVMDebugInfoPDB \
+  libLLVMIRReader \
+  libLLVMBitWriter \
+  libLLVMBitReader \
+  libLLVMARMCodeGen \
+  libLLVMARMAsmParser \
+  libLLVMARMAsmPrinter \
+  libLLVMARMInfo \
+  libLLVMARMDesc \
+  libLLVMARMDisassembler \
+  libLLVMMipsCodeGen \
+  libLLVMMipsInfo \
+  libLLVMMipsDesc \
+  libLLVMMipsAsmParser \
+  libLLVMMipsAsmPrinter \
+  libLLVMMipsDisassembler \
+  libLLVMX86CodeGen \
+  libLLVMX86Info \
+  libLLVMX86Desc \
+  libLLVMX86AsmParser \
+  libLLVMX86AsmPrinter \
+  libLLVMX86Utils \
+  libLLVMX86Disassembler \
+  libLLVMAArch64CodeGen \
+  libLLVMAArch64Info \
+  libLLVMAArch64Desc \
+  libLLVMAArch64AsmParser \
+  libLLVMAArch64AsmPrinter \
+  libLLVMAArch64Utils \
+  libLLVMAArch64Disassembler \
+  libLLVMExecutionEngine \
+  libLLVMRuntimeDyld \
+  libLLVMMCJIT \
+  libLLVMOrcJIT \
+  libLLVMAsmPrinter \
+  libLLVMSelectionDAG \
+  libLLVMCodeGen \
+  libLLVMObject \
+  libLLVMScalarOpts \
+  libLLVMInstCombine \
+  libLLVMInstrumentation \
+  libLLVMTransformObjCARC \
+  libLLVMTransformUtils \
+  libLLVMVectorize \
+  libLLVMAnalysis \
+  libLLVMTarget \
+  libLLVMMCDisassembler \
+  libLLVMMC \
+  libLLVMMCParser \
+  libLLVMCore \
+  libLLVMAsmParser \
+  libLLVMOption \
+  libLLVMLTO \
+  libLLVMSupport \
+  libLLVMProfileData
+
+LOCAL_LDLIBS_darwin := -lpthread -ldl
+LOCAL_LDLIBS_linux := -lpthread -ldl
+
+LOCAL_STATIC_LIBRARIES := $(llvm_lto_STATIC_LIBRARIES) $(llvm_lto_STATIC_LIBRARIES)
+
+include $(LLVM_HOST_BUILD_MK)
+include $(LLVM_GEN_ATTRIBUTES_MK)
+include $(LLVM_GEN_INTRINSICS_MK)
+include $(BUILD_HOST_SHARED_LIBRARY)
diff --git a/tools/obj2yaml/Android.mk b/tools/obj2yaml/Android.mk
new file mode 100644 (file)
index 0000000..2994622
--- /dev/null
@@ -0,0 +1,40 @@
+LOCAL_PATH := $(call my-dir)
+
+LLVM_ROOT_PATH := $(LOCAL_PATH)/../..
+
+
+#===---------------------------------------------------------------===
+# obj2yaml command line tool
+#===---------------------------------------------------------------===
+
+obj2yaml_SRC_FILES := \
+  obj2yaml.cpp \
+  coff2yaml.cpp \
+  elf2yaml.cpp \
+  Error.cpp \
+
+obj2yaml_STATIC_LIBRARIES := \
+  libLLVMObject             \
+  libLLVMMC                 \
+  libLLVMMCParser           \
+  libLLVMBitReader          \
+  libLLVMCore               \
+  libLLVMSupport            \
+
+include $(CLEAR_VARS)
+
+LOCAL_MODULE := obj2yaml
+LOCAL_MODULE_TAGS := optional
+LOCAL_MODULE_CLASS := EXECUTABLES
+LOCAL_IS_HOST_MODULE := true
+
+LOCAL_SRC_FILES := $(obj2yaml_SRC_FILES)
+
+LOCAL_STATIC_LIBRARIES := $(obj2yaml_STATIC_LIBRARIES)
+
+LOCAL_LDLIBS += -lpthread -lm -ldl
+
+include $(LLVM_ROOT_PATH)/llvm.mk
+include $(LLVM_HOST_BUILD_MK)
+include $(LLVM_GEN_INTRINSICS_MK)
+include $(BUILD_HOST_EXECUTABLE)
diff --git a/tools/opt/Android.mk b/tools/opt/Android.mk
new file mode 100644 (file)
index 0000000..0d006f1
--- /dev/null
@@ -0,0 +1,104 @@
+LOCAL_PATH := $(call my-dir)
+
+LLVM_ROOT_PATH := $(LOCAL_PATH)/../..
+
+
+#===---------------------------------------------------------------===
+# opt command line tool
+#===---------------------------------------------------------------===
+
+llvm_opt_SRC_FILES := \
+  AnalysisWrappers.cpp \
+  BreakpointPrinter.cpp \
+  GraphPrinters.cpp \
+  NewPMDriver.cpp \
+  PassPrinters.cpp \
+  PrintSCC.cpp \
+  opt.cpp \
+
+llvm_opt_STATIC_LIBRARIES := \
+  libLLVMIRReader \
+  libLLVMBitReader \
+  libLLVMBitWriter \
+  libLLVMARMCodeGen \
+  libLLVMARMInfo \
+  libLLVMARMDesc \
+  libLLVMARMAsmPrinter \
+  libLLVMARMDisassembler \
+  libLLVMAArch64CodeGen \
+  libLLVMAArch64Info \
+  libLLVMAArch64Desc \
+  libLLVMAArch64AsmPrinter \
+  libLLVMAArch64Utils \
+  libLLVMAArch64Disassembler \
+  libLLVMMipsCodeGen \
+  libLLVMMipsInfo \
+  libLLVMMipsDesc \
+  libLLVMMipsAsmPrinter \
+  libLLVMMipsDisassembler \
+  libLLVMX86CodeGen \
+  libLLVMX86Info \
+  libLLVMX86Desc \
+  libLLVMX86AsmPrinter \
+  libLLVMX86Utils \
+  libLLVMX86Disassembler \
+  libLLVMAsmPrinter \
+  libLLVMSelectionDAG \
+  libLLVMCodeGen \
+  libLLVMTransformObjCARC \
+  libLLVMVectorize \
+  libLLVMScalarOpts \
+  libLLVMPasses \
+  libLLVMipo \
+  libLLVMLinker \
+  libLLVMInstCombine \
+  libLLVMInstrumentation \
+  libLLVMTransformUtils \
+  libLLVMAnalysis \
+  libLLVMTarget \
+  libLLVMMC \
+  libLLVMMCParser \
+  libLLVMObject \
+  libLLVMProfileData \
+  libLLVMCore \
+  libLLVMAsmParser \
+  libLLVMOption \
+  libLLVMSupport \
+  libLLVMMCDisassembler \
+
+include $(CLEAR_VARS)
+
+LOCAL_MODULE := opt
+LOCAL_MODULE_TAGS := optional
+LOCAL_MODULE_CLASS := EXECUTABLES
+LOCAL_IS_HOST_MODULE := true
+
+LOCAL_SRC_FILES := $(llvm_opt_SRC_FILES)
+LOCAL_STATIC_LIBRARIES := $(llvm_opt_STATIC_LIBRARIES)
+LOCAL_LDLIBS += -lpthread -ldl
+LOCAL_LDFLAGS_darwin := -Wl,-export_dynamic
+LOCAL_LDFLAGS_linux := -Wl,--export-dynamic
+
+include $(LLVM_ROOT_PATH)/llvm.mk
+include $(LLVM_HOST_BUILD_MK)
+include $(LLVM_GEN_ATTRIBUTES_MK)
+include $(LLVM_GEN_INTRINSICS_MK)
+include $(BUILD_HOST_EXECUTABLE)
+
+
+ifneq (true,$(DISABLE_LLVM_DEVICE_BUILDS))
+include $(CLEAR_VARS)
+
+LOCAL_MODULE := opt
+LOCAL_MODULE_TAGS := optional
+LOCAL_MODULE_CLASS := EXECUTABLES
+
+LOCAL_SRC_FILES := $(llvm_opt_SRC_FILES)
+LOCAL_STATIC_LIBRARIES := $(llvm_opt_STATIC_LIBRARIES)
+
+include $(LLVM_ROOT_PATH)/llvm.mk
+include $(LLVM_DEVICE_BUILD_MK)
+include $(LLVM_GEN_ATTRIBUTES_MK)
+include $(LLVM_GEN_INTRINSICS_MK)
+include $(BUILD_EXECUTABLE)
+endif
diff --git a/tools/sancov/Android.mk b/tools/sancov/Android.mk
new file mode 100644 (file)
index 0000000..3e37a2c
--- /dev/null
@@ -0,0 +1,76 @@
+LOCAL_PATH := $(call my-dir)
+
+LLVM_ROOT_PATH := $(LOCAL_PATH)/../..
+
+
+#===---------------------------------------------------------------===
+# sancov command line tool
+#===---------------------------------------------------------------===
+
+llvm_sancov_SRC_FILES := \
+  sancov.cc \
+
+llvm_sancov_STATIC_LIBRARIES := \
+  libLLVMIRReader \
+  libLLVMARMCodeGen \
+  libLLVMARMInfo \
+  libLLVMARMDesc \
+  libLLVMARMAsmPrinter \
+  libLLVMARMDisassembler \
+  libLLVMAArch64CodeGen \
+  libLLVMAArch64Info \
+  libLLVMAArch64Desc \
+  libLLVMAArch64AsmPrinter \
+  libLLVMAArch64Utils \
+  libLLVMAArch64Disassembler \
+  libLLVMMipsCodeGen \
+  libLLVMMipsInfo \
+  libLLVMMipsDesc \
+  libLLVMMipsAsmPrinter \
+  libLLVMMipsDisassembler \
+  libLLVMX86CodeGen \
+  libLLVMX86Info \
+  libLLVMX86Desc \
+  libLLVMX86AsmPrinter \
+  libLLVMX86Utils \
+  libLLVMX86Disassembler \
+  libLLVMSymbolize \
+  libLLVMDebugInfoDWARF \
+  libLLVMDebugInfoPDB \
+  libLLVMAsmPrinter \
+  libLLVMSelectionDAG \
+  libLLVMCodeGen \
+  libLLVMTransformObjCARC \
+  libLLVMVectorize \
+  libLLVMScalarOpts \
+  libLLVMPasses \
+  libLLVMipo \
+  libLLVMLinker \
+  libLLVMInstCombine \
+  libLLVMInstrumentation \
+  libLLVMTransformUtils \
+  libLLVMAnalysis \
+  libLLVMTarget \
+  libLLVMObject \
+  libLLVMBitReader \
+  libLLVMBitWriter \
+  libLLVMMC \
+  libLLVMMCParser \
+  libLLVMProfileData \
+  libLLVMCore \
+  libLLVMAsmParser \
+  libLLVMOption \
+  libLLVMSupport \
+  libLLVMMCDisassembler \
+
+include $(CLEAR_VARS)
+
+LOCAL_MODULE := sancov
+
+LOCAL_CPP_EXTENSION := .cc
+LOCAL_SRC_FILES := $(llvm_sancov_SRC_FILES)
+LOCAL_STATIC_LIBRARIES := $(llvm_sancov_STATIC_LIBRARIES)
+
+include $(LLVM_ROOT_PATH)/llvm.mk
+include $(LLVM_HOST_BUILD_MK)
+include $(BUILD_HOST_EXECUTABLE)
diff --git a/tools/verify-uselistorder/Android.mk b/tools/verify-uselistorder/Android.mk
new file mode 100644 (file)
index 0000000..424b48c
--- /dev/null
@@ -0,0 +1,28 @@
+LOCAL_PATH := $(call my-dir)
+
+LLVM_ROOT_PATH := $(LOCAL_PATH)/../..
+include $(LLVM_ROOT_PATH)/llvm.mk
+
+verify_uselistorder_SRC_FILES := \
+  verify-uselistorder.cpp
+
+include $(CLEAR_VARS)
+
+LOCAL_MODULE := verify-uselistorder
+LOCAL_MODULE_CLASS := EXECUTABLES
+LOCAL_MODULE_TAGS := optional
+LOCAL_SRC_FILES := $(verify_uselistorder_SRC_FILES)
+LOCAL_LDLIBS += -lpthread -lm -ldl
+
+LOCAL_STATIC_LIBRARIES := \
+  libLLVMAsmParser \
+  libLLVMBitReader \
+  libLLVMBitWriter \
+  libLLVMCore \
+  libLLVMIRReader \
+  libLLVMSupport
+
+include $(LLVM_HOST_BUILD_MK)
+include $(LLVM_GEN_ATTRIBUTES_MK)
+include $(LLVM_GEN_INTRINSICS_MK)
+include $(BUILD_HOST_EXECUTABLE)
diff --git a/tools/yaml2obj/Android.mk b/tools/yaml2obj/Android.mk
new file mode 100644 (file)
index 0000000..3242c31
--- /dev/null
@@ -0,0 +1,39 @@
+LOCAL_PATH := $(call my-dir)
+
+LLVM_ROOT_PATH := $(LOCAL_PATH)/../..
+
+
+#===---------------------------------------------------------------===
+# yaml2obj command line tool
+#===---------------------------------------------------------------===
+
+yaml2obj_SRC_FILES := \
+  yaml2obj.cpp        \
+  yaml2coff.cpp       \
+  yaml2elf.cpp        \
+
+yaml2obj_STATIC_LIBRARIES := \
+  libLLVMObject              \
+  libLLVMMC                  \
+  libLLVMMCParser            \
+  libLLVMBitReader           \
+  libLLVMCore                \
+  libLLVMSupport             \
+
+include $(CLEAR_VARS)
+
+LOCAL_MODULE := yaml2obj
+LOCAL_MODULE_TAGS := optional
+LOCAL_MODULE_CLASS := EXECUTABLES
+LOCAL_IS_HOST_MODULE := true
+
+LOCAL_SRC_FILES := $(yaml2obj_SRC_FILES)
+
+LOCAL_STATIC_LIBRARIES := $(yaml2obj_STATIC_LIBRARIES)
+
+LOCAL_LDLIBS += -lpthread -lm -ldl
+
+include $(LLVM_ROOT_PATH)/llvm.mk
+include $(LLVM_HOST_BUILD_MK)
+include $(LLVM_GEN_INTRINSICS_MK)
+include $(BUILD_HOST_EXECUTABLE)
diff --git a/utils/FileCheck/Android.mk b/utils/FileCheck/Android.mk
new file mode 100644 (file)
index 0000000..3d32008
--- /dev/null
@@ -0,0 +1,22 @@
+LOCAL_PATH:= $(call my-dir)
+
+filecheck_SRC_FILES := \
+  FileCheck.cpp
+
+filecheck_STATIC_LIBRARIES := \
+  libLLVMSupport
+
+include $(CLEAR_VARS)
+
+LOCAL_MODULE := FileCheck
+LOCAL_SRC_FILES := $(filecheck_SRC_FILES)
+LOCAL_STATIC_LIBRARIES := $(filecheck_STATIC_LIBRARIES)
+LOCAL_C_INCLUDES += external/llvm/host/include
+LOCAL_LDLIBS += -lpthread -lm -ldl
+LOCAL_CFLAGS += -D __STDC_LIMIT_MACROS -D __STDC_CONSTANT_MACROS
+
+#REQUIRES_EH := 1
+#REQUIRES_RTTI := 1
+
+include $(LLVM_HOST_BUILD_MK)
+include $(BUILD_HOST_EXECUTABLE)
diff --git a/utils/TableGen/Android.mk b/utils/TableGen/Android.mk
new file mode 100644 (file)
index 0000000..1d8c0e9
--- /dev/null
@@ -0,0 +1,59 @@
+LOCAL_PATH := $(call my-dir)
+LLVM_ROOT_PATH := $(LOCAL_PATH)/../..
+include $(LLVM_ROOT_PATH)/llvm.mk
+
+tablegen_SRC_FILES := \
+  AsmMatcherEmitter.cpp \
+  AsmWriterEmitter.cpp \
+  AsmWriterInst.cpp \
+  Attributes.cpp \
+  CallingConvEmitter.cpp \
+  CodeEmitterGen.cpp \
+  CodeGenDAGPatterns.cpp \
+  CodeGenInstruction.cpp \
+  CodeGenMapTable.cpp \
+  CodeGenRegisters.cpp \
+  CodeGenSchedule.cpp \
+  CodeGenTarget.cpp \
+  CTagsEmitter.cpp \
+  DAGISelEmitter.cpp \
+  DAGISelMatcherEmitter.cpp \
+  DAGISelMatcherGen.cpp \
+  DAGISelMatcherOpt.cpp \
+  DAGISelMatcher.cpp \
+  DFAPacketizerEmitter.cpp \
+  DisassemblerEmitter.cpp \
+  FastISelEmitter.cpp \
+  FixedLenDecoderEmitter.cpp \
+  InstrInfoEmitter.cpp \
+  IntrinsicEmitter.cpp \
+  OptParserEmitter.cpp \
+  PseudoLoweringEmitter.cpp \
+  RegisterInfoEmitter.cpp \
+  SubtargetEmitter.cpp \
+  TableGen.cpp \
+  X86DisassemblerTables.cpp \
+  X86ModRMFilters.cpp \
+  X86RecognizableInstr.cpp
+
+include $(CLEAR_VARS)
+LOCAL_ADDITIONAL_DEPENDENCIES := $(LOCAL_PATH)/Android.mk
+
+LOCAL_MODULE := llvm-tblgen
+LOCAL_MODULE_TAGS := optional
+LOCAL_SRC_FILES := $(tablegen_SRC_FILES)
+
+REQUIRES_EH := 1
+REQUIRES_RTTI := 1
+
+LOCAL_STATIC_LIBRARIES := \
+  libLLVMTableGen \
+  libLLVMSupport
+
+LOCAL_LDLIBS += -lm
+LOCAL_LDLIBS_windows := -limagehlp -lpsapi
+LOCAL_LDLIBS_darwin := -lpthread -ldl
+LOCAL_LDLIBS_linux := -lpthread -ldl
+
+include $(LLVM_HOST_BUILD_MK)
+include $(BUILD_HOST_EXECUTABLE)
diff --git a/utils/count/Android.mk b/utils/count/Android.mk
new file mode 100644 (file)
index 0000000..1ee8271
--- /dev/null
@@ -0,0 +1,26 @@
+LOCAL_PATH := $(call my-dir)
+
+LLVM_ROOT_PATH := $(LOCAL_PATH)/../..
+
+
+#===---------------------------------------------------------------===
+# count command line tool
+#===---------------------------------------------------------------===
+
+count_SRC_FILES := \
+  count.c
+
+include $(CLEAR_VARS)
+
+LOCAL_MODULE := count
+LOCAL_MODULE_TAGS := optional
+LOCAL_MODULE_CLASS := EXECUTABLES
+LOCAL_IS_HOST_MODULE := true
+
+LOCAL_SRC_FILES := $(count_SRC_FILES)
+
+LOCAL_LDLIBS += -lpthread -lm -ldl
+
+include $(LLVM_ROOT_PATH)/llvm.mk
+include $(LLVM_HOST_BUILD_MK)
+include $(BUILD_HOST_EXECUTABLE)
diff --git a/utils/not/Android.mk b/utils/not/Android.mk
new file mode 100644 (file)
index 0000000..93d2a46
--- /dev/null
@@ -0,0 +1,32 @@
+LOCAL_PATH := $(call my-dir)
+
+LLVM_ROOT_PATH := $(LOCAL_PATH)/../..
+
+
+#===---------------------------------------------------------------===
+# not command line tool
+#===---------------------------------------------------------------===
+
+not_SRC_FILES := \
+  not.cpp
+
+not_STATIC_LIBRARIES := \
+  libLLVMCore               \
+  libLLVMSupport            \
+
+include $(CLEAR_VARS)
+
+LOCAL_MODULE := not
+LOCAL_MODULE_TAGS := optional
+LOCAL_MODULE_CLASS := EXECUTABLES
+LOCAL_IS_HOST_MODULE := true
+
+LOCAL_SRC_FILES := $(not_SRC_FILES)
+
+LOCAL_STATIC_LIBRARIES := $(not_STATIC_LIBRARIES)
+
+LOCAL_LDLIBS += -lpthread -lm -ldl
+
+include $(LLVM_ROOT_PATH)/llvm.mk
+include $(LLVM_HOST_BUILD_MK)
+include $(BUILD_HOST_EXECUTABLE)
diff --git a/utils/yaml-bench/Android.mk b/utils/yaml-bench/Android.mk
new file mode 100644 (file)
index 0000000..79db899
--- /dev/null
@@ -0,0 +1,28 @@
+LOCAL_PATH := $(call my-dir)
+
+LLVM_ROOT_PATH := $(LOCAL_PATH)/../..
+
+
+yaml_bench_SRC_FILES := \
+  YAMLBench.cpp
+
+yaml_bench_STATIC_LIBRARIES := \
+  libLLVMSupport \
+
+# yaml-bench executable for the host
+# =====================================================
+
+include $(CLEAR_VARS)
+
+LOCAL_MODULE := yaml-bench
+LOCAL_MODULE_TAGS := optional
+LOCAL_MODULE_CLASS := EXECUTABLES
+LOCAL_IS_HOST_MODULE := true
+
+LOCAL_SRC_FILES := $(yaml_bench_SRC_FILES)
+
+LOCAL_STATIC_LIBRARIES := $(yaml_bench_STATIC_LIBRARIES)
+
+include $(LLVM_ROOT_PATH)/llvm.mk
+include $(LLVM_HOST_BUILD_MK)
+include $(BUILD_HOST_EXECUTABLE)