--- /dev/null
+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)))
--- /dev/null
+# 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)
--- /dev/null
+TBLGEN_TABLES :=
+TBLGEN_TD_DIR :=
--- /dev/null
+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
--- /dev/null
+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
--- /dev/null
+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
--- /dev/null
+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
--- /dev/null
+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
--- /dev/null
+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
--- /dev/null
+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
--- /dev/null
+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
--- /dev/null
+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
--- /dev/null
+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
--- /dev/null
+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
--- /dev/null
+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
--- /dev/null
+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
--- /dev/null
+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
--- /dev/null
+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
--- /dev/null
+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
--- /dev/null
+#
+# 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)
--- /dev/null
+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
--- /dev/null
+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
--- /dev/null
+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
--- /dev/null
+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
--- /dev/null
+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
--- /dev/null
+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
--- /dev/null
+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
--- /dev/null
+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
--- /dev/null
+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
--- /dev/null
+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
--- /dev/null
+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
--- /dev/null
+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
--- /dev/null
+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
--- /dev/null
+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
--- /dev/null
+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
--- /dev/null
+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)
+
--- /dev/null
+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
+
--- /dev/null
+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
--- /dev/null
+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
--- /dev/null
+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)
--- /dev/null
+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
--- /dev/null
+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
--- /dev/null
+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
--- /dev/null
+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
--- /dev/null
+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
--- /dev/null
+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
--- /dev/null
+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
--- /dev/null
+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
--- /dev/null
+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)
+
--- /dev/null
+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
+
--- /dev/null
+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
--- /dev/null
+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
--- /dev/null
+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
--- /dev/null
+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
--- /dev/null
+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
--- /dev/null
+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)
--- /dev/null
+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
--- /dev/null
+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
--- /dev/null
+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
--- /dev/null
+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
--- /dev/null
+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
--- /dev/null
+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)
--- /dev/null
+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)
--- /dev/null
+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
--- /dev/null
+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
--- /dev/null
+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)
--- /dev/null
+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)
--- /dev/null
+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
--- /dev/null
+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
--- /dev/null
+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
--- /dev/null
+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
--- /dev/null
+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
--- /dev/null
+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
--- /dev/null
+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
--- /dev/null
+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
--- /dev/null
+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
--- /dev/null
+# 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
--- /dev/null
+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
--- /dev/null
+###########################################################
+## 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
--- /dev/null
+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
--- /dev/null
+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
--- /dev/null
+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)
--- /dev/null
+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)
--- /dev/null
+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)
--- /dev/null
+#
+# 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)
--- /dev/null
+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
--- /dev/null
+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)
--- /dev/null
+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)
--- /dev/null
+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)
--- /dev/null
+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)
--- /dev/null
+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)
--- /dev/null
+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)
--- /dev/null
+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)
--- /dev/null
+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)
--- /dev/null
+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)
--- /dev/null
+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)
--- /dev/null
+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)
--- /dev/null
+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)
--- /dev/null
+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)
--- /dev/null
+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)
--- /dev/null
+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
--- /dev/null
+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)
--- /dev/null
+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)
--- /dev/null
+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)
--- /dev/null
+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)
--- /dev/null
+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)
--- /dev/null
+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)
--- /dev/null
+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)
--- /dev/null
+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)
--- /dev/null
+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)
--- /dev/null
+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)
--- /dev/null
+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
--- /dev/null
+#
+# 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)
--- /dev/null
+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)
--- /dev/null
+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
--- /dev/null
+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)
--- /dev/null
+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)
--- /dev/null
+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)
--- /dev/null
+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)
--- /dev/null
+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)
--- /dev/null
+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)
--- /dev/null
+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)
--- /dev/null
+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)