1From ca95c159402c89aff7dab5a29f3ea3b54c5a77a4 Mon Sep 17 00:00:00 2001 2From: Tim Murray <timmurray@google.com> 3Date: Thu, 27 Mar 2014 15:10:30 -0700 4Subject: [PATCH 4/5] Add Android makefiles for LLVM. 5 6Change-Id: I4f561d517605569e11af40bb191d056d7e7196de 7--- 8 Android.mk | 90 +++++++++++++ 9 CleanSpec.mk | 54 ++++++++ 10 clear_tblgen_vars.mk | 2 + 11 lib/Analysis/Android.mk | 80 +++++++++++ 12 lib/Analysis/IPA/Android.mk | 40 ++++++ 13 lib/AsmParser/Android.mk | 34 +++++ 14 lib/Bitcode/Reader/Android.mk | 36 +++++ 15 lib/Bitcode/Writer/Android.mk | 37 +++++ 16 lib/CodeGen/Android.mk | 143 ++++++++++++++++++++ 17 lib/CodeGen/AsmPrinter/Android.mk | 62 +++++++++ 18 lib/CodeGen/SelectionDAG/Android.mk | 56 ++++++++ 19 lib/ExecutionEngine/Android.mk | 18 +++ 20 lib/ExecutionEngine/JIT/Android.mk | 17 +++ 21 lib/ExecutionEngine/MCJIT/Android.mk | 16 +++ 22 lib/ExecutionEngine/RuntimeDyld/Android.mk | 18 +++ 23 lib/IR/Android.mk | 79 +++++++++++ 24 lib/IRReader/Android.mk | 38 ++++++ 25 lib/Linker/Android.mk | 32 +++++ 26 lib/MC/Android.mk | 78 +++++++++++ 27 lib/MC/MCDisassembler/Android.mk | 15 +++ 28 lib/MC/MCParser/Android.mk | 40 ++++++ 29 lib/Object/Android.mk | 45 +++++++ 30 lib/Option/Android.mk | 42 ++++++ 31 lib/Support/Android.mk | 120 +++++++++++++++++ 32 lib/TableGen/Android.mk | 39 ++++++ 33 lib/Target/AArch64/Android.mk | 67 ++++++++++ 34 lib/Target/AArch64/AsmParser/Android.mk | 63 +++++++++ 35 lib/Target/AArch64/Disassembler/Android.mk | 55 ++++++++ 36 lib/Target/AArch64/InstPrinter/Android.mk | 57 ++++++++ 37 lib/Target/AArch64/MCTargetDesc/Android.mk | 57 ++++++++ 38 lib/Target/AArch64/TargetInfo/Android.mk | 55 ++++++++ 39 lib/Target/AArch64/Utils/Android.mk | 36 +++++ 40 lib/Target/ARM/Android.mk | 87 ++++++++++++ 41 lib/Target/ARM/AsmParser/Android.mk | 63 +++++++++ 42 lib/Target/ARM/Disassembler/Android.mk | 55 ++++++++ 43 lib/Target/ARM/InstPrinter/Android.mk | 57 ++++++++ 44 lib/Target/ARM/MCTargetDesc/Android.mk | 61 +++++++++ 45 lib/Target/ARM/TargetInfo/Android.mk | 55 ++++++++ 46 lib/Target/Android.mk | 39 ++++++ 47 lib/Target/Mips/Android.mk | 85 ++++++++++++ 48 lib/Target/Mips/AsmParser/Android.mk | 56 ++++++++ 49 lib/Target/Mips/Disassembler/Android.mk | 48 +++++++ 50 lib/Target/Mips/InstPrinter/Android.mk | 48 +++++++ 51 lib/Target/Mips/MCTargetDesc/Android.mk | 58 ++++++++ 52 lib/Target/Mips/TargetInfo/Android.mk | 47 +++++++ 53 lib/Target/X86/Android.mk | 72 ++++++++++ 54 lib/Target/X86/AsmParser/Android.mk | 59 ++++++++ 55 lib/Target/X86/Disassembler/Android.mk | 56 ++++++++ 56 lib/Target/X86/InstPrinter/Android.mk | 57 ++++++++ 57 lib/Target/X86/MCTargetDesc/Android.mk | 56 ++++++++ 58 lib/Target/X86/TargetInfo/Android.mk | 55 ++++++++ 59 lib/Target/X86/Utils/Android.mk | 36 +++++ 60 lib/Transforms/IPO/Android.mk | 52 ++++++++ 61 lib/Transforms/InstCombine/Android.mk | 44 ++++++ 62 lib/Transforms/Instrumentation/Android.mk | 37 +++++ 63 lib/Transforms/ObjCARC/Android.mk | 40 ++++++ 64 lib/Transforms/Scalar/Android.mk | 73 ++++++++++ 65 lib/Transforms/Utils/Android.mk | 66 +++++++++ 66 lib/Transforms/Vectorize/Android.mk | 35 +++++ 67 llvm-device-build.mk | 79 +++++++++++ 68 llvm-gen-intrinsics.mk | 19 +++ 69 llvm-host-build.mk | 64 +++++++++ 70 llvm-tblgen-rules.mk | 208 +++++++++++++++++++++++++++++ 71 llvm.mk | 11 ++ 72 shared_llvm.mk | 137 +++++++++++++++++++ 73 tools/llc/Android.mk | 136 +++++++++++++++++++ 74 tools/llvm-as/Android.mk | 28 ++++ 75 tools/llvm-dis/Android.mk | 25 ++++ 76 tools/llvm-link/Android.mk | 50 +++++++ 77 tools/opt/Android.mk | 81 +++++++++++ 78 utils/FileCheck/Android.mk | 23 ++++ 79 utils/TableGen/Android.mk | 58 ++++++++ 80 72 files changed, 4037 insertions(+) 81 create mode 100644 Android.mk 82 create mode 100644 CleanSpec.mk 83 create mode 100644 clear_tblgen_vars.mk 84 create mode 100644 lib/Analysis/Android.mk 85 create mode 100644 lib/Analysis/IPA/Android.mk 86 create mode 100644 lib/AsmParser/Android.mk 87 create mode 100644 lib/Bitcode/Reader/Android.mk 88 create mode 100644 lib/Bitcode/Writer/Android.mk 89 create mode 100644 lib/CodeGen/Android.mk 90 create mode 100644 lib/CodeGen/AsmPrinter/Android.mk 91 create mode 100644 lib/CodeGen/SelectionDAG/Android.mk 92 create mode 100644 lib/ExecutionEngine/Android.mk 93 create mode 100644 lib/ExecutionEngine/JIT/Android.mk 94 create mode 100644 lib/ExecutionEngine/MCJIT/Android.mk 95 create mode 100644 lib/ExecutionEngine/RuntimeDyld/Android.mk 96 create mode 100644 lib/IR/Android.mk 97 create mode 100644 lib/IRReader/Android.mk 98 create mode 100644 lib/Linker/Android.mk 99 create mode 100644 lib/MC/Android.mk 100 create mode 100644 lib/MC/MCDisassembler/Android.mk 101 create mode 100644 lib/MC/MCParser/Android.mk 102 create mode 100644 lib/Object/Android.mk 103 create mode 100644 lib/Option/Android.mk 104 create mode 100644 lib/Support/Android.mk 105 create mode 100644 lib/TableGen/Android.mk 106 create mode 100644 lib/Target/AArch64/Android.mk 107 create mode 100644 lib/Target/AArch64/AsmParser/Android.mk 108 create mode 100644 lib/Target/AArch64/Disassembler/Android.mk 109 create mode 100644 lib/Target/AArch64/InstPrinter/Android.mk 110 create mode 100644 lib/Target/AArch64/MCTargetDesc/Android.mk 111 create mode 100644 lib/Target/AArch64/TargetInfo/Android.mk 112 create mode 100644 lib/Target/AArch64/Utils/Android.mk 113 create mode 100644 lib/Target/ARM/Android.mk 114 create mode 100644 lib/Target/ARM/AsmParser/Android.mk 115 create mode 100644 lib/Target/ARM/Disassembler/Android.mk 116 create mode 100644 lib/Target/ARM/InstPrinter/Android.mk 117 create mode 100644 lib/Target/ARM/MCTargetDesc/Android.mk 118 create mode 100644 lib/Target/ARM/TargetInfo/Android.mk 119 create mode 100644 lib/Target/Android.mk 120 create mode 100644 lib/Target/Mips/Android.mk 121 create mode 100644 lib/Target/Mips/AsmParser/Android.mk 122 create mode 100644 lib/Target/Mips/Disassembler/Android.mk 123 create mode 100644 lib/Target/Mips/InstPrinter/Android.mk 124 create mode 100644 lib/Target/Mips/MCTargetDesc/Android.mk 125 create mode 100644 lib/Target/Mips/TargetInfo/Android.mk 126 create mode 100644 lib/Target/X86/Android.mk 127 create mode 100644 lib/Target/X86/AsmParser/Android.mk 128 create mode 100644 lib/Target/X86/Disassembler/Android.mk 129 create mode 100644 lib/Target/X86/InstPrinter/Android.mk 130 create mode 100644 lib/Target/X86/MCTargetDesc/Android.mk 131 create mode 100644 lib/Target/X86/TargetInfo/Android.mk 132 create mode 100644 lib/Target/X86/Utils/Android.mk 133 create mode 100644 lib/Transforms/IPO/Android.mk 134 create mode 100644 lib/Transforms/InstCombine/Android.mk 135 create mode 100644 lib/Transforms/Instrumentation/Android.mk 136 create mode 100644 lib/Transforms/ObjCARC/Android.mk 137 create mode 100644 lib/Transforms/Scalar/Android.mk 138 create mode 100644 lib/Transforms/Utils/Android.mk 139 create mode 100644 lib/Transforms/Vectorize/Android.mk 140 create mode 100644 llvm-device-build.mk 141 create mode 100644 llvm-gen-intrinsics.mk 142 create mode 100644 llvm-host-build.mk 143 create mode 100644 llvm-tblgen-rules.mk 144 create mode 100644 llvm.mk 145 create mode 100644 shared_llvm.mk 146 create mode 100644 tools/llc/Android.mk 147 create mode 100644 tools/llvm-as/Android.mk 148 create mode 100644 tools/llvm-dis/Android.mk 149 create mode 100644 tools/llvm-link/Android.mk 150 create mode 100644 tools/opt/Android.mk 151 create mode 100644 utils/FileCheck/Android.mk 152 create mode 100644 utils/TableGen/Android.mk 153 154diff --git a/Android.mk b/Android.mk 155new file mode 100644 156index 0000000..9f6e8a5 157--- /dev/null 158+++ b/Android.mk 159@@ -0,0 +1,90 @@ 160+LOCAL_PATH := $(call my-dir) 161+LLVM_ROOT_PATH := $(LOCAL_PATH) 162+LLVM_ENABLE_ASSERTION := false 163+ 164+include $(CLEAR_VARS) 165+ 166+# LLVM Libraries 167+subdirs := \ 168+ lib/Analysis \ 169+ lib/Analysis/IPA \ 170+ lib/AsmParser \ 171+ lib/Bitcode/Reader \ 172+ lib/Bitcode/Writer \ 173+ lib/ExecutionEngine \ 174+ lib/ExecutionEngine/RuntimeDyld \ 175+ lib/ExecutionEngine/JIT \ 176+ lib/ExecutionEngine/MCJIT \ 177+ lib/CodeGen \ 178+ lib/CodeGen/AsmPrinter \ 179+ lib/CodeGen/SelectionDAG \ 180+ lib/IR \ 181+ lib/IRReader \ 182+ lib/Linker \ 183+ lib/MC \ 184+ lib/MC/MCDisassembler \ 185+ lib/MC/MCParser \ 186+ lib/Object \ 187+ lib/Option \ 188+ lib/Support \ 189+ lib/TableGen \ 190+ lib/Target \ 191+ lib/Transforms/IPO \ 192+ lib/Transforms/InstCombine \ 193+ lib/Transforms/Instrumentation \ 194+ lib/Transforms/ObjCARC \ 195+ lib/Transforms/Scalar \ 196+ lib/Transforms/Utils \ 197+ lib/Transforms/Vectorize \ 198+ utils/FileCheck \ 199+ utils/TableGen 200+ 201+# ARM Code Generation Libraries 202+subdirs += \ 203+ lib/Target/ARM \ 204+ lib/Target/ARM/AsmParser \ 205+ lib/Target/ARM/InstPrinter \ 206+ lib/Target/ARM/Disassembler \ 207+ lib/Target/ARM/MCTargetDesc \ 208+ lib/Target/ARM/TargetInfo 209+ 210+# ARM64 Code Generation Libraries 211+subdirs += \ 212+ lib/Target/AArch64 \ 213+ lib/Target/AArch64/AsmParser \ 214+ lib/Target/AArch64/InstPrinter \ 215+ lib/Target/AArch64/Disassembler \ 216+ lib/Target/AArch64/MCTargetDesc \ 217+ lib/Target/AArch64/TargetInfo \ 218+ lib/Target/AArch64/Utils 219+ 220+# MIPS Code Generation Libraries 221+subdirs += \ 222+ lib/Target/Mips \ 223+ lib/Target/Mips/AsmParser \ 224+ lib/Target/Mips/InstPrinter \ 225+ lib/Target/Mips/Disassembler \ 226+ lib/Target/Mips/MCTargetDesc \ 227+ lib/Target/Mips/TargetInfo 228+ 229+# X86 Code Generation Libraries 230+subdirs += \ 231+ lib/Target/X86 \ 232+ lib/Target/X86/AsmParser \ 233+ lib/Target/X86/InstPrinter \ 234+ lib/Target/X86/Disassembler \ 235+ lib/Target/X86/MCTargetDesc \ 236+ lib/Target/X86/TargetInfo \ 237+ lib/Target/X86/Utils 238+ 239+# LLVM Command Line Tools 240+subdirs += tools/llc 241+subdirs += tools/llvm-as 242+subdirs += tools/llvm-dis 243+subdirs += tools/llvm-link 244+#subdirs += tools/opt 245+ 246+include $(LOCAL_PATH)/llvm.mk 247+include $(LOCAL_PATH)/shared_llvm.mk 248+ 249+include $(addprefix $(LOCAL_PATH)/,$(addsuffix /Android.mk, $(subdirs))) 250diff --git a/CleanSpec.mk b/CleanSpec.mk 251new file mode 100644 252index 0000000..f756f04 253--- /dev/null 254+++ b/CleanSpec.mk 255@@ -0,0 +1,54 @@ 256+# Copyright (C) 2007 The Android Open Source Project 257+# 258+# Licensed under the Apache License, Version 2.0 (the "License"); 259+# you may not use this file except in compliance with the License. 260+# You may obtain a copy of the License at 261+# 262+# http://www.apache.org/licenses/LICENSE-2.0 263+# 264+# Unless required by applicable law or agreed to in writing, software 265+# distributed under the License is distributed on an "AS IS" BASIS, 266+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 267+# See the License for the specific language governing permissions and 268+# limitations under the License. 269+# 270+ 271+# If you don't need to do a full clean build but would like to touch 272+# a file or delete some intermediate files, add a clean step to the end 273+# of the list. These steps will only be run once, if they haven't been 274+# run before. 275+# 276+# E.g.: 277+# $(call add-clean-step, touch -c external/sqlite/sqlite3.h) 278+# $(call add-clean-step, rm -rf $(PRODUCT_OUT)/obj/STATIC_LIBRARIES/libz_intermediates) 279+# 280+# Always use "touch -c" and "rm -f" or "rm -rf" to gracefully deal with 281+# files that are missing or have been moved. 282+# 283+# Use $(PRODUCT_OUT) to get to the "out/target/product/blah/" directory. 284+# Use $(OUT_DIR) to refer to the "out" directory. 285+# 286+# If you need to re-do something that's already mentioned, just copy 287+# the command and add it to the bottom of the list. E.g., if a change 288+# that you made last week required touching a file and a change you 289+# made today requires touching the same file, just copy the old 290+# touch step and add it to the end of the list. 291+# 292+# ************************************************ 293+# NEWER CLEAN STEPS MUST BE AT THE END OF THE LIST 294+# ************************************************ 295+ 296+# For example: 297+#$(call add-clean-step, rm -rf $(OUT_DIR)/target/common/obj/APPS/AndroidTests_intermediates) 298+#$(call add-clean-step, rm -rf $(OUT_DIR)/target/common/obj/JAVA_LIBRARIES/core_intermediates) 299+#$(call add-clean-step, find $(OUT_DIR) -type f -name "IGTalkSession*" -print0 | xargs -0 rm -f) 300+#$(call add-clean-step, rm -rf $(PRODUCT_OUT)/data/*) 301+ 302+# ************************************************ 303+# NEWER CLEAN STEPS MUST BE AT THE END OF THE LIST 304+# ************************************************ 305+$(call add-clean-step, rm -rf $(OUT_DIR)/target/product/stingray/obj/STATIC_LIBRARIES/libLLVM*) 306+$(call add-clean-step, rm -rf $(OUT_DIR)/target/product/stingray/obj/STATIC_LIBRARIES/libLLVMARMCodeGen_intermediates*) 307+$(call add-clean-step, rm -rf $(OUT_DIR)/host/$(HOST_PREBUILT_TAG)/obj/STATIC_LIBRARIES/libLLVMARM*) 308+$(call add-clean-step, rm -rf $(PRODUCT_OUT)/obj/STATIC_LIBRARIES/libLLVMARM*) 309+$(call add-clean-step, rm -rf $(PRODUCT_OUT)/obj/EXECUTABLES/app_process__asan_intermediates*) 310diff --git a/clear_tblgen_vars.mk b/clear_tblgen_vars.mk 311new file mode 100644 312index 0000000..6c9623e 313--- /dev/null 314+++ b/clear_tblgen_vars.mk 315@@ -0,0 +1,2 @@ 316+TBLGEN_TABLES := 317+TBLGEN_TD_DIR := 318diff --git a/lib/Analysis/Android.mk b/lib/Analysis/Android.mk 319new file mode 100644 320index 0000000..76eee74 321--- /dev/null 322+++ b/lib/Analysis/Android.mk 323@@ -0,0 +1,80 @@ 324+LOCAL_PATH:= $(call my-dir) 325+ 326+analysis_SRC_FILES := \ 327+ AliasAnalysis.cpp \ 328+ AliasAnalysisCounter.cpp \ 329+ AliasAnalysisEvaluator.cpp \ 330+ AliasDebugger.cpp \ 331+ AliasSetTracker.cpp \ 332+ Analysis.cpp \ 333+ BasicAliasAnalysis.cpp \ 334+ BlockFrequencyInfo.cpp \ 335+ BranchProbabilityInfo.cpp \ 336+ CFG.cpp \ 337+ CFGPrinter.cpp \ 338+ CaptureTracking.cpp \ 339+ CodeMetrics.cpp \ 340+ ConstantFolding.cpp \ 341+ CostModel.cpp \ 342+ Delinearization.cpp \ 343+ DependenceAnalysis.cpp \ 344+ DomPrinter.cpp \ 345+ DominanceFrontier.cpp \ 346+ IVUsers.cpp \ 347+ InstCount.cpp \ 348+ InstructionSimplify.cpp \ 349+ Interval.cpp \ 350+ IntervalPartition.cpp \ 351+ LazyValueInfo.cpp \ 352+ LibCallAliasAnalysis.cpp \ 353+ LibCallSemantics.cpp \ 354+ Lint.cpp \ 355+ Loads.cpp \ 356+ LoopInfo.cpp \ 357+ LoopPass.cpp \ 358+ MemDepPrinter.cpp \ 359+ MemoryBuiltins.cpp \ 360+ MemoryDependenceAnalysis.cpp \ 361+ ModuleDebugInfoPrinter.cpp \ 362+ NoAliasAnalysis.cpp \ 363+ PHITransAddr.cpp \ 364+ PostDominators.cpp \ 365+ PtrUseVisitor.cpp \ 366+ RegionInfo.cpp \ 367+ RegionPass.cpp \ 368+ RegionPrinter.cpp \ 369+ ScalarEvolution.cpp \ 370+ ScalarEvolutionAliasAnalysis.cpp \ 371+ ScalarEvolutionExpander.cpp \ 372+ ScalarEvolutionNormalization.cpp \ 373+ SparsePropagation.cpp \ 374+ TargetTransformInfo.cpp \ 375+ Trace.cpp \ 376+ TypeBasedAliasAnalysis.cpp \ 377+ ValueTracking.cpp 378+ 379+# For the host 380+# ===================================================== 381+include $(CLEAR_VARS) 382+ 383+LOCAL_MODULE:= libLLVMAnalysis 384+LOCAL_MODULE_TAGS := optional 385+LOCAL_SRC_FILES := $(analysis_SRC_FILES) 386+ 387+include $(LLVM_HOST_BUILD_MK) 388+include $(LLVM_GEN_INTRINSICS_MK) 389+include $(BUILD_HOST_STATIC_LIBRARY) 390+ 391+# For the device 392+# ===================================================== 393+ifneq (true,$(DISABLE_LLVM_DEVICE_BUILDS)) 394+include $(CLEAR_VARS) 395+ 396+LOCAL_MODULE:= libLLVMAnalysis 397+LOCAL_MODULE_TAGS := optional 398+LOCAL_SRC_FILES := $(analysis_SRC_FILES) 399+ 400+include $(LLVM_DEVICE_BUILD_MK) 401+include $(LLVM_GEN_INTRINSICS_MK) 402+include $(BUILD_STATIC_LIBRARY) 403+endif 404diff --git a/lib/Analysis/IPA/Android.mk b/lib/Analysis/IPA/Android.mk 405new file mode 100644 406index 0000000..d56d931 407--- /dev/null 408+++ b/lib/Analysis/IPA/Android.mk 409@@ -0,0 +1,40 @@ 410+LOCAL_PATH:= $(call my-dir) 411+ 412+analysis_ipa_SRC_FILES := \ 413+ CallGraph.cpp \ 414+ CallGraphSCCPass.cpp \ 415+ CallPrinter.cpp \ 416+ FindUsedTypes.cpp \ 417+ GlobalsModRef.cpp \ 418+ IPA.cpp \ 419+ InlineCost.cpp 420+ 421+# For the host 422+# ===================================================== 423+include $(CLEAR_VARS) 424+ 425+LOCAL_SRC_FILES := $(analysis_ipa_SRC_FILES) 426+ 427+LOCAL_MODULE:= libLLVMipa 428+ 429+LOCAL_MODULE_TAGS := optional 430+ 431+include $(LLVM_HOST_BUILD_MK) 432+include $(LLVM_GEN_INTRINSICS_MK) 433+include $(BUILD_HOST_STATIC_LIBRARY) 434+ 435+# For the device 436+# ===================================================== 437+ifneq (true,$(DISABLE_LLVM_DEVICE_BUILDS)) 438+include $(CLEAR_VARS) 439+ 440+LOCAL_SRC_FILES := $(analysis_ipa_SRC_FILES) 441+ 442+LOCAL_MODULE:= libLLVMipa 443+ 444+LOCAL_MODULE_TAGS := optional 445+ 446+include $(LLVM_DEVICE_BUILD_MK) 447+include $(LLVM_GEN_INTRINSICS_MK) 448+include $(BUILD_STATIC_LIBRARY) 449+endif 450diff --git a/lib/AsmParser/Android.mk b/lib/AsmParser/Android.mk 451new file mode 100644 452index 0000000..7bd29a7 453--- /dev/null 454+++ b/lib/AsmParser/Android.mk 455@@ -0,0 +1,34 @@ 456+LOCAL_PATH:= $(call my-dir) 457+ 458+asm_parser_SRC_FILES := \ 459+ LLLexer.cpp \ 460+ LLParser.cpp \ 461+ Parser.cpp 462+ 463+# For the host 464+# ===================================================== 465+include $(CLEAR_VARS) 466+ 467+LOCAL_SRC_FILES := $(asm_parser_SRC_FILES) 468+ 469+LOCAL_MODULE:= libLLVMAsmParser 470+ 471+LOCAL_MODULE_TAGS := optional 472+ 473+include $(LOCAL_PATH)/../../llvm-host-build.mk 474+include $(BUILD_HOST_STATIC_LIBRARY) 475+ 476+# For the device 477+# ===================================================== 478+ifneq (true,$(DISABLE_LLVM_DEVICE_BUILDS)) 479+include $(CLEAR_VARS) 480+ 481+LOCAL_SRC_FILES := $(asm_parser_SRC_FILES) 482+ 483+LOCAL_MODULE:= libLLVMAsmParser 484+ 485+LOCAL_MODULE_TAGS := optional 486+ 487+include $(LOCAL_PATH)/../../llvm-device-build.mk 488+include $(BUILD_STATIC_LIBRARY) 489+endif 490\ No newline at end of file 491diff --git a/lib/Bitcode/Reader/Android.mk b/lib/Bitcode/Reader/Android.mk 492new file mode 100644 493index 0000000..3bdcdda 494--- /dev/null 495+++ b/lib/Bitcode/Reader/Android.mk 496@@ -0,0 +1,36 @@ 497+LOCAL_PATH:= $(call my-dir) 498+ 499+bitcode_reader_SRC_FILES := \ 500+ BitReader.cpp \ 501+ BitcodeReader.cpp \ 502+ BitstreamReader.cpp 503+ 504+# For the host 505+# ===================================================== 506+include $(CLEAR_VARS) 507+ 508+LOCAL_SRC_FILES := $(bitcode_reader_SRC_FILES) 509+ 510+LOCAL_MODULE:= libLLVMBitReader 511+ 512+LOCAL_MODULE_TAGS := optional 513+ 514+include $(LLVM_HOST_BUILD_MK) 515+include $(LLVM_GEN_INTRINSICS_MK) 516+include $(BUILD_HOST_STATIC_LIBRARY) 517+ 518+# For the device 519+# ===================================================== 520+include $(CLEAR_VARS) 521+ifneq (true,$(DISABLE_LLVM_DEVICE_BUILDS)) 522+ 523+LOCAL_SRC_FILES := $(bitcode_reader_SRC_FILES) 524+ 525+LOCAL_MODULE:= libLLVMBitReader 526+ 527+LOCAL_MODULE_TAGS := optional 528+ 529+include $(LLVM_DEVICE_BUILD_MK) 530+include $(LLVM_GEN_INTRINSICS_MK) 531+include $(BUILD_STATIC_LIBRARY) 532+endif 533diff --git a/lib/Bitcode/Writer/Android.mk b/lib/Bitcode/Writer/Android.mk 534new file mode 100644 535index 0000000..6aa208c 536--- /dev/null 537+++ b/lib/Bitcode/Writer/Android.mk 538@@ -0,0 +1,37 @@ 539+LOCAL_PATH:= $(call my-dir) 540+ 541+bitcode_writer_SRC_FILES := \ 542+ BitWriter.cpp \ 543+ BitcodeWriter.cpp \ 544+ BitcodeWriterPass.cpp \ 545+ ValueEnumerator.cpp 546+ 547+# For the host 548+# ===================================================== 549+include $(CLEAR_VARS) 550+ 551+LOCAL_SRC_FILES := $(bitcode_writer_SRC_FILES) 552+ 553+LOCAL_MODULE:= libLLVMBitWriter 554+ 555+LOCAL_MODULE_TAGS := optional 556+ 557+include $(LLVM_HOST_BUILD_MK) 558+include $(LLVM_GEN_INTRINSICS_MK) 559+include $(BUILD_HOST_STATIC_LIBRARY) 560+ 561+# For the device 562+# ===================================================== 563+include $(CLEAR_VARS) 564+ifneq (true,$(DISABLE_LLVM_DEVICE_BUILDS)) 565+ 566+LOCAL_SRC_FILES := $(bitcode_writer_SRC_FILES) 567+ 568+LOCAL_MODULE:= libLLVMBitWriter 569+ 570+LOCAL_MODULE_TAGS := optional 571+ 572+include $(LLVM_DEVICE_BUILD_MK) 573+include $(LLVM_GEN_INTRINSICS_MK) 574+include $(BUILD_STATIC_LIBRARY) 575+endif 576diff --git a/lib/CodeGen/Android.mk b/lib/CodeGen/Android.mk 577new file mode 100644 578index 0000000..26f04d0 579--- /dev/null 580+++ b/lib/CodeGen/Android.mk 581@@ -0,0 +1,143 @@ 582+LOCAL_PATH:= $(call my-dir) 583+ 584+codegen_SRC_FILES := \ 585+ AggressiveAntiDepBreaker.cpp \ 586+ AllocationOrder.cpp \ 587+ Analysis.cpp \ 588+ BasicTargetTransformInfo.cpp \ 589+ BranchFolding.cpp \ 590+ CalcSpillWeights.cpp \ 591+ CallingConvLower.cpp \ 592+ CodeGen.cpp \ 593+ CodeGenPrepare.cpp \ 594+ CriticalAntiDepBreaker.cpp \ 595+ DeadMachineInstructionElim.cpp \ 596+ DFAPacketizer.cpp \ 597+ DwarfEHPrepare.cpp \ 598+ EarlyIfConversion.cpp \ 599+ EdgeBundles.cpp \ 600+ ErlangGC.cpp \ 601+ ExecutionDepsFix.cpp \ 602+ ExpandISelPseudos.cpp \ 603+ ExpandPostRAPseudos.cpp \ 604+ GCMetadata.cpp \ 605+ GCMetadataPrinter.cpp \ 606+ GCStrategy.cpp \ 607+ IfConversion.cpp \ 608+ InlineSpiller.cpp \ 609+ InterferenceCache.cpp \ 610+ IntrinsicLowering.cpp \ 611+ JITCodeEmitter.cpp \ 612+ LatencyPriorityQueue.cpp \ 613+ LexicalScopes.cpp \ 614+ LiveDebugVariables.cpp \ 615+ LiveIntervalAnalysis.cpp \ 616+ LiveInterval.cpp \ 617+ LiveIntervalUnion.cpp \ 618+ LivePhysRegs.cpp \ 619+ LiveRangeCalc.cpp \ 620+ LiveRangeEdit.cpp \ 621+ LiveRegMatrix.cpp \ 622+ LiveStackAnalysis.cpp \ 623+ LiveVariables.cpp \ 624+ LLVMTargetMachine.cpp \ 625+ LocalStackSlotAllocation.cpp \ 626+ MachineBasicBlock.cpp \ 627+ MachineBlockFrequencyInfo.cpp \ 628+ MachineBlockPlacement.cpp \ 629+ MachineBranchProbabilityInfo.cpp \ 630+ MachineCodeEmitter.cpp \ 631+ MachineCopyPropagation.cpp \ 632+ MachineCSE.cpp \ 633+ MachineDominators.cpp \ 634+ MachineFunctionAnalysis.cpp \ 635+ MachineFunction.cpp \ 636+ MachineFunctionPass.cpp \ 637+ MachineFunctionPrinterPass.cpp \ 638+ MachineInstrBundle.cpp \ 639+ MachineInstr.cpp \ 640+ MachineLICM.cpp \ 641+ MachineLoopInfo.cpp \ 642+ MachineModuleInfo.cpp \ 643+ MachineModuleInfoImpls.cpp \ 644+ MachinePassRegistry.cpp \ 645+ MachinePostDominators.cpp \ 646+ MachineRegisterInfo.cpp \ 647+ MachineScheduler.cpp \ 648+ MachineSink.cpp \ 649+ MachineSSAUpdater.cpp \ 650+ MachineTraceMetrics.cpp \ 651+ MachineVerifier.cpp \ 652+ OcamlGC.cpp \ 653+ OptimizePHIs.cpp \ 654+ Passes.cpp \ 655+ PeepholeOptimizer.cpp \ 656+ PHIElimination.cpp \ 657+ PHIEliminationUtils.cpp \ 658+ PostRASchedulerList.cpp \ 659+ ProcessImplicitDefs.cpp \ 660+ PrologEpilogInserter.cpp \ 661+ PseudoSourceValue.cpp \ 662+ RegAllocBase.cpp \ 663+ RegAllocBasic.cpp \ 664+ RegAllocFast.cpp \ 665+ RegAllocGreedy.cpp \ 666+ RegAllocPBQP.cpp \ 667+ RegisterClassInfo.cpp \ 668+ RegisterCoalescer.cpp \ 669+ RegisterPressure.cpp \ 670+ RegisterScavenging.cpp \ 671+ ScheduleDAG.cpp \ 672+ ScheduleDAGInstrs.cpp \ 673+ ScheduleDAGPrinter.cpp \ 674+ ScoreboardHazardRecognizer.cpp \ 675+ ShadowStackGC.cpp \ 676+ SjLjEHPrepare.cpp \ 677+ SlotIndexes.cpp \ 678+ Spiller.cpp \ 679+ SpillPlacement.cpp \ 680+ SplitKit.cpp \ 681+ StackColoring.cpp \ 682+ StackMapLivenessAnalysis.cpp \ 683+ StackMaps.cpp \ 684+ StackProtector.cpp \ 685+ StackSlotColoring.cpp \ 686+ TailDuplication.cpp \ 687+ TargetFrameLoweringImpl.cpp \ 688+ TargetInstrInfo.cpp \ 689+ TargetLoweringBase.cpp \ 690+ TargetLoweringObjectFileImpl.cpp \ 691+ TargetOptionsImpl.cpp \ 692+ TargetRegisterInfo.cpp \ 693+ TargetSchedule.cpp \ 694+ TwoAddressInstructionPass.cpp \ 695+ UnreachableBlockElim.cpp \ 696+ VirtRegMap.cpp 697+ 698+# For the host 699+# ===================================================== 700+include $(CLEAR_VARS) 701+ 702+LOCAL_SRC_FILES := $(codegen_SRC_FILES) 703+LOCAL_MODULE:= libLLVMCodeGen 704+ 705+LOCAL_MODULE_TAGS := optional 706+ 707+include $(LLVM_HOST_BUILD_MK) 708+include $(LLVM_GEN_INTRINSICS_MK) 709+include $(BUILD_HOST_STATIC_LIBRARY) 710+ 711+# For the device 712+# ===================================================== 713+ifneq (true,$(DISABLE_LLVM_DEVICE_BUILDS)) 714+include $(CLEAR_VARS) 715+ 716+LOCAL_SRC_FILES := $(codegen_SRC_FILES) 717+LOCAL_MODULE:= libLLVMCodeGen 718+ 719+LOCAL_MODULE_TAGS := optional 720+ 721+include $(LLVM_DEVICE_BUILD_MK) 722+include $(LLVM_GEN_INTRINSICS_MK) 723+include $(BUILD_STATIC_LIBRARY) 724+endif 725diff --git a/lib/CodeGen/AsmPrinter/Android.mk b/lib/CodeGen/AsmPrinter/Android.mk 726new file mode 100644 727index 0000000..1e403ee 728--- /dev/null 729+++ b/lib/CodeGen/AsmPrinter/Android.mk 730@@ -0,0 +1,62 @@ 731+LOCAL_PATH := $(call my-dir) 732+ 733+codegen_asmprinter_SRC_FILES := \ 734+ AsmPrinter.cpp 735+ 736+# For the host 737+# ===================================================== 738+include $(CLEAR_VARS) 739+ 740+LOCAL_SRC_FILES := \ 741+ AsmPrinter.cpp \ 742+ AsmPrinterDwarf.cpp \ 743+ AsmPrinterInlineAsm.cpp \ 744+ ARMException.cpp \ 745+ DIE.cpp \ 746+ DIEHash.cpp \ 747+ DwarfAccelTable.cpp \ 748+ DwarfCFIException.cpp \ 749+ DwarfDebug.cpp \ 750+ DwarfException.cpp \ 751+ DwarfUnit.cpp \ 752+ ErlangGCPrinter.cpp \ 753+ OcamlGCPrinter.cpp \ 754+ Win64Exception.cpp \ 755+ WinCodeViewLineTables.cpp 756+ 757+LOCAL_MODULE:= libLLVMAsmPrinter 758+ 759+LOCAL_MODULE_TAGS := optional 760+ 761+include $(LLVM_HOST_BUILD_MK) 762+include $(LLVM_GEN_INTRINSICS_MK) 763+include $(BUILD_HOST_STATIC_LIBRARY) 764+ 765+# For the device 766+# ===================================================== 767+ifneq (true,$(DISABLE_LLVM_DEVICE_BUILDS)) 768+include $(CLEAR_VARS) 769+ 770+LOCAL_SRC_FILES := \ 771+ AsmPrinter.cpp \ 772+ AsmPrinterDwarf.cpp \ 773+ AsmPrinterInlineAsm.cpp \ 774+ ARMException.cpp \ 775+ DIE.cpp \ 776+ DIEHash.cpp \ 777+ DwarfAccelTable.cpp \ 778+ DwarfCFIException.cpp \ 779+ DwarfDebug.cpp \ 780+ DwarfException.cpp \ 781+ ErlangGCPrinter.cpp \ 782+ Win64Exception.cpp \ 783+ $(LOCAL_SRC_FILES) 784+ 785+LOCAL_MODULE:= libLLVMAsmPrinter 786+ 787+LOCAL_MODULE_TAGS := optional 788+ 789+include $(LLVM_DEVICE_BUILD_MK) 790+include $(LLVM_GEN_INTRINSICS_MK) 791+include $(BUILD_STATIC_LIBRARY) 792+endif 793diff --git a/lib/CodeGen/SelectionDAG/Android.mk b/lib/CodeGen/SelectionDAG/Android.mk 794new file mode 100644 795index 0000000..0e52ee3 796--- /dev/null 797+++ b/lib/CodeGen/SelectionDAG/Android.mk 798@@ -0,0 +1,56 @@ 799+LOCAL_PATH:= $(call my-dir) 800+ 801+codegen_selectiondag_SRC_FILES := \ 802+ DAGCombiner.cpp \ 803+ FastISel.cpp \ 804+ FunctionLoweringInfo.cpp \ 805+ InstrEmitter.cpp \ 806+ LegalizeDAG.cpp \ 807+ LegalizeFloatTypes.cpp \ 808+ LegalizeIntegerTypes.cpp \ 809+ LegalizeTypes.cpp \ 810+ LegalizeTypesGeneric.cpp \ 811+ LegalizeVectorOps.cpp \ 812+ LegalizeVectorTypes.cpp \ 813+ ResourcePriorityQueue.cpp \ 814+ ScheduleDAGFast.cpp \ 815+ ScheduleDAGRRList.cpp \ 816+ ScheduleDAGSDNodes.cpp \ 817+ ScheduleDAGVLIW.cpp \ 818+ SelectionDAG.cpp \ 819+ SelectionDAGBuilder.cpp \ 820+ SelectionDAGDumper.cpp \ 821+ SelectionDAGISel.cpp \ 822+ SelectionDAGPrinter.cpp \ 823+ TargetLowering.cpp \ 824+ TargetSelectionDAGInfo.cpp 825+ 826+# For the host 827+# ===================================================== 828+include $(CLEAR_VARS) 829+ 830+LOCAL_SRC_FILES := $(codegen_selectiondag_SRC_FILES) 831+ 832+LOCAL_MODULE:= libLLVMSelectionDAG 833+ 834+LOCAL_MODULE_TAGS := optional 835+ 836+include $(LLVM_HOST_BUILD_MK) 837+include $(LLVM_GEN_INTRINSICS_MK) 838+include $(BUILD_HOST_STATIC_LIBRARY) 839+ 840+# For the device 841+# ===================================================== 842+ifneq (true,$(DISABLE_LLVM_DEVICE_BUILDS)) 843+include $(CLEAR_VARS) 844+ 845+LOCAL_SRC_FILES := $(codegen_selectiondag_SRC_FILES) 846+ 847+LOCAL_MODULE:= libLLVMSelectionDAG 848+ 849+LOCAL_MODULE_TAGS := optional 850+ 851+include $(LLVM_DEVICE_BUILD_MK) 852+include $(LLVM_GEN_INTRINSICS_MK) 853+include $(BUILD_STATIC_LIBRARY) 854+endif 855diff --git a/lib/ExecutionEngine/Android.mk b/lib/ExecutionEngine/Android.mk 856new file mode 100644 857index 0000000..9f1befd 858--- /dev/null 859+++ b/lib/ExecutionEngine/Android.mk 860@@ -0,0 +1,18 @@ 861+LOCAL_PATH:= $(call my-dir) 862+ 863+# For the host 864+# ===================================================== 865+include $(CLEAR_VARS) 866+ 867+LOCAL_SRC_FILES := \ 868+ ExecutionEngineBindings.cpp \ 869+ ExecutionEngine.cpp \ 870+ RTDyldMemoryManager.cpp \ 871+ TargetSelect.cpp 872+ 873+LOCAL_MODULE:= libLLVMExecutionEngine 874+ 875+LOCAL_MODULE_TAGS := optional 876+ 877+include $(LLVM_HOST_BUILD_MK) 878+include $(BUILD_HOST_STATIC_LIBRARY) 879diff --git a/lib/ExecutionEngine/JIT/Android.mk b/lib/ExecutionEngine/JIT/Android.mk 880new file mode 100644 881index 0000000..0466ba0 882--- /dev/null 883+++ b/lib/ExecutionEngine/JIT/Android.mk 884@@ -0,0 +1,17 @@ 885+LOCAL_PATH:= $(call my-dir) 886+ 887+# For the host 888+# ===================================================== 889+include $(CLEAR_VARS) 890+ 891+LOCAL_SRC_FILES := \ 892+ JIT.cpp \ 893+ JITEmitter.cpp \ 894+ JITMemoryManager.cpp 895+ 896+LOCAL_MODULE:= libLLVMJIT 897+ 898+LOCAL_MODULE_TAGS := optional 899+ 900+include $(LLVM_HOST_BUILD_MK) 901+include $(BUILD_HOST_STATIC_LIBRARY) 902diff --git a/lib/ExecutionEngine/MCJIT/Android.mk b/lib/ExecutionEngine/MCJIT/Android.mk 903new file mode 100644 904index 0000000..0314958 905--- /dev/null 906+++ b/lib/ExecutionEngine/MCJIT/Android.mk 907@@ -0,0 +1,16 @@ 908+LOCAL_PATH:= $(call my-dir) 909+ 910+# For the host 911+# ===================================================== 912+include $(CLEAR_VARS) 913+ 914+LOCAL_SRC_FILES := \ 915+ MCJIT.cpp \ 916+ SectionMemoryManager.cpp 917+ 918+LOCAL_MODULE:= libLLVMMCJIT 919+ 920+LOCAL_MODULE_TAGS := optional 921+ 922+include $(LLVM_HOST_BUILD_MK) 923+include $(BUILD_HOST_STATIC_LIBRARY) 924diff --git a/lib/ExecutionEngine/RuntimeDyld/Android.mk b/lib/ExecutionEngine/RuntimeDyld/Android.mk 925new file mode 100644 926index 0000000..e98e80a 927--- /dev/null 928+++ b/lib/ExecutionEngine/RuntimeDyld/Android.mk 929@@ -0,0 +1,18 @@ 930+LOCAL_PATH:= $(call my-dir) 931+ 932+# For the host 933+# ===================================================== 934+include $(CLEAR_VARS) 935+ 936+LOCAL_SRC_FILES := \ 937+ GDBRegistrar.cpp \ 938+ RuntimeDyld.cpp \ 939+ RuntimeDyldELF.cpp \ 940+ RuntimeDyldMachO.cpp 941+ 942+LOCAL_MODULE:= libLLVMRuntimeDyld 943+ 944+LOCAL_MODULE_TAGS := optional 945+ 946+include $(LLVM_HOST_BUILD_MK) 947+include $(BUILD_HOST_STATIC_LIBRARY) 948diff --git a/lib/IR/Android.mk b/lib/IR/Android.mk 949new file mode 100644 950index 0000000..071bb04 951--- /dev/null 952+++ b/lib/IR/Android.mk 953@@ -0,0 +1,79 @@ 954+LOCAL_PATH:= $(call my-dir) 955+ 956+vmcore_SRC_FILES := \ 957+ AsmWriter.cpp \ 958+ Attributes.cpp \ 959+ AutoUpgrade.cpp \ 960+ BasicBlock.cpp \ 961+ ConstantFold.cpp \ 962+ ConstantRange.cpp \ 963+ Constants.cpp \ 964+ Core.cpp \ 965+ DataLayout.cpp \ 966+ DebugInfo.cpp \ 967+ DebugLoc.cpp \ 968+ DiagnosticInfo.cpp \ 969+ DiagnosticPrinter.cpp \ 970+ DIBuilder.cpp \ 971+ Dominators.cpp \ 972+ Function.cpp \ 973+ GVMaterializer.cpp \ 974+ Globals.cpp \ 975+ IRBuilder.cpp \ 976+ IRPrintingPasses.cpp \ 977+ InlineAsm.cpp \ 978+ Instruction.cpp \ 979+ Instructions.cpp \ 980+ IntrinsicInst.cpp \ 981+ LLVMContext.cpp \ 982+ LLVMContextImpl.cpp \ 983+ LeakDetector.cpp \ 984+ LegacyPassManager.cpp \ 985+ Mangler.cpp \ 986+ Metadata.cpp \ 987+ Module.cpp \ 988+ Pass.cpp \ 989+ PassManager.cpp \ 990+ PassRegistry.cpp \ 991+ Type.cpp \ 992+ TypeFinder.cpp \ 993+ Use.cpp \ 994+ User.cpp \ 995+ Value.cpp \ 996+ ValueSymbolTable.cpp \ 997+ ValueTypes.cpp \ 998+ Verifier.cpp 999+ 1000+# For the host 1001+# ===================================================== 1002+include $(CLEAR_VARS) 1003+ 1004+REQUIRES_RTTI := 1 1005+ 1006+LOCAL_SRC_FILES := $(vmcore_SRC_FILES) 1007+ 1008+LOCAL_MODULE:= libLLVMCore 1009+ 1010+LOCAL_MODULE_TAGS := optional 1011+ 1012+include $(LLVM_HOST_BUILD_MK) 1013+include $(LLVM_GEN_INTRINSICS_MK) 1014+include $(BUILD_HOST_STATIC_LIBRARY) 1015+ 1016+# For the device 1017+# ===================================================== 1018+include $(CLEAR_VARS) 1019+ifneq (true,$(DISABLE_LLVM_DEVICE_BUILDS)) 1020+ 1021+REQUIRES_RTTI := 1 1022+ 1023+LOCAL_SRC_FILES := $(vmcore_SRC_FILES) 1024+ 1025+LOCAL_MODULE:= libLLVMCore 1026+ 1027+LOCAL_MODULE_TAGS := optional 1028+ 1029+include $(LLVM_DEVICE_BUILD_MK) 1030+include $(LLVM_GEN_INTRINSICS_MK) 1031+include $(BUILD_STATIC_LIBRARY) 1032+endif 1033diff --git a/lib/IRReader/Android.mk b/lib/IRReader/Android.mk 1034new file mode 100644 1035index 0000000..d620521 1036--- /dev/null 1037+++ b/lib/IRReader/Android.mk 1038@@ -0,0 +1,38 @@ 1039+LOCAL_PATH:= $(call my-dir) 1040+ 1041+irreader_SRC_FILES := \ 1042+ IRReader.cpp 1043+ 1044+# For the host 1045+# ===================================================== 1046+include $(CLEAR_VARS) 1047+ 1048+REQUIRES_RTTI := 1 1049+ 1050+LOCAL_SRC_FILES := $(irreader_SRC_FILES) 1051+ 1052+LOCAL_MODULE:= libLLVMIRReader 1053+ 1054+LOCAL_MODULE_TAGS := optional 1055+ 1056+include $(LLVM_HOST_BUILD_MK) 1057+include $(LLVM_GEN_INTRINSICS_MK) 1058+include $(BUILD_HOST_STATIC_LIBRARY) 1059+ 1060+# For the device 1061+# ===================================================== 1062+ifneq (true,$(DISABLE_LLVM_DEVICE_BUILDS)) 1063+include $(CLEAR_VARS) 1064+ 1065+REQUIRES_RTTI := 1 1066+ 1067+LOCAL_SRC_FILES := $(irreader_SRC_FILES) 1068+ 1069+LOCAL_MODULE:= libLLVMIRReader 1070+ 1071+LOCAL_MODULE_TAGS := optional 1072+ 1073+include $(LLVM_DEVICE_BUILD_MK) 1074+include $(LLVM_GEN_INTRINSICS_MK) 1075+include $(BUILD_STATIC_LIBRARY) 1076+endif 1077\ No newline at end of file 1078diff --git a/lib/Linker/Android.mk b/lib/Linker/Android.mk 1079new file mode 100644 1080index 0000000..161b2ae 1081--- /dev/null 1082+++ b/lib/Linker/Android.mk 1083@@ -0,0 +1,32 @@ 1084+LOCAL_PATH:= $(call my-dir) 1085+ 1086+linker_SRC_FILES := \ 1087+ LinkModules.cpp 1088+ 1089+# For the host 1090+# ===================================================== 1091+include $(CLEAR_VARS) 1092+include $(CLEAR_TBLGEN_VARS) 1093+ 1094+LOCAL_SRC_FILES := $(linker_SRC_FILES) 1095+ 1096+LOCAL_MODULE:= libLLVMLinker 1097+LOCAL_MODULE_TAGS := optional 1098+ 1099+include $(LLVM_HOST_BUILD_MK) 1100+include $(BUILD_HOST_STATIC_LIBRARY) 1101+ 1102+# For the device 1103+# ===================================================== 1104+ifneq (true,$(DISABLE_LLVM_DEVICE_BUILDS)) 1105+include $(CLEAR_VARS) 1106+ 1107+LOCAL_SRC_FILES := $(linker_SRC_FILES) 1108+ 1109+LOCAL_MODULE:= libLLVMLinker 1110+LOCAL_MODULE_TAGS := optional 1111+ 1112+include $(LLVM_DEVICE_BUILD_MK) 1113+include $(LLVM_GEN_INTRINSICS_MK) 1114+include $(BUILD_STATIC_LIBRARY) 1115+endif 1116diff --git a/lib/MC/Android.mk b/lib/MC/Android.mk 1117new file mode 100644 1118index 0000000..abf346b 1119--- /dev/null 1120+++ b/lib/MC/Android.mk 1121@@ -0,0 +1,78 @@ 1122+LOCAL_PATH:= $(call my-dir) 1123+ 1124+mc_SRC_FILES := \ 1125+ ELFObjectWriter.cpp \ 1126+ MachObjectWriter.cpp \ 1127+ MCAsmBackend.cpp \ 1128+ MCAsmInfo.cpp \ 1129+ MCAsmInfoCOFF.cpp \ 1130+ MCAsmInfoDarwin.cpp \ 1131+ MCAsmInfoELF.cpp \ 1132+ MCAsmStreamer.cpp \ 1133+ MCAssembler.cpp \ 1134+ MCCodeEmitter.cpp \ 1135+ MCCodeGenInfo.cpp \ 1136+ MCContext.cpp \ 1137+ MCDisassembler.cpp \ 1138+ MCDwarf.cpp \ 1139+ MCELF.cpp \ 1140+ MCELFObjectTargetWriter.cpp \ 1141+ MCELFStreamer.cpp \ 1142+ MCExpr.cpp \ 1143+ MCExternalSymbolizer.cpp \ 1144+ MCFixup.cpp \ 1145+ MCInst.cpp \ 1146+ MCInstPrinter.cpp \ 1147+ MCInstrAnalysis.cpp \ 1148+ MCLabel.cpp \ 1149+ MCLinkerOptimizationHint.cpp \ 1150+ MCMachObjectTargetWriter.cpp \ 1151+ MCMachOStreamer.cpp \ 1152+ MCNullStreamer.cpp \ 1153+ MCObjectFileInfo.cpp \ 1154+ MCObjectStreamer.cpp \ 1155+ MCObjectWriter.cpp \ 1156+ MCRegisterInfo.cpp \ 1157+ MCRelocationInfo.cpp \ 1158+ MCSection.cpp \ 1159+ MCSectionCOFF.cpp \ 1160+ MCSectionELF.cpp \ 1161+ MCSectionMachO.cpp \ 1162+ MCStreamer.cpp \ 1163+ MCSubtargetInfo.cpp \ 1164+ MCSymbol.cpp \ 1165+ MCSymbolizer.cpp \ 1166+ MCValue.cpp \ 1167+ MCWin64EH.cpp \ 1168+ WinCOFFObjectWriter.cpp \ 1169+ WinCOFFStreamer.cpp \ 1170+ SubtargetFeature.cpp 1171+ 1172+# For the host 1173+# ===================================================== 1174+include $(CLEAR_VARS) 1175+ 1176+LOCAL_SRC_FILES := $(mc_SRC_FILES) 1177+ 1178+LOCAL_MODULE:= libLLVMMC 1179+ 1180+LOCAL_MODULE_TAGS := optional 1181+ 1182+ 1183+include $(LLVM_HOST_BUILD_MK) 1184+include $(BUILD_HOST_STATIC_LIBRARY) 1185+ 1186+# For the device 1187+# ===================================================== 1188+include $(CLEAR_VARS) 1189+ifneq (true,$(DISABLE_LLVM_DEVICE_BUILDS)) 1190+ 1191+LOCAL_SRC_FILES := $(mc_SRC_FILES) 1192+ 1193+LOCAL_MODULE:= libLLVMMC 1194+ 1195+LOCAL_MODULE_TAGS := optional 1196+ 1197+include $(LLVM_DEVICE_BUILD_MK) 1198+include $(BUILD_STATIC_LIBRARY) 1199+endif 1200diff --git a/lib/MC/MCDisassembler/Android.mk b/lib/MC/MCDisassembler/Android.mk 1201new file mode 100644 1202index 0000000..7f73df3 1203--- /dev/null 1204+++ b/lib/MC/MCDisassembler/Android.mk 1205@@ -0,0 +1,15 @@ 1206+LOCAL_PATH:= $(call my-dir) 1207+ 1208+# For the host 1209+# ===================================================== 1210+include $(CLEAR_VARS) 1211+ 1212+LOCAL_SRC_FILES := \ 1213+ Disassembler.cpp 1214+ 1215+LOCAL_MODULE:= libLLVMMCDisassembler 1216+ 1217+LOCAL_MODULE_TAGS := optional 1218+ 1219+include $(LLVM_HOST_BUILD_MK) 1220+include $(BUILD_HOST_STATIC_LIBRARY) 1221diff --git a/lib/MC/MCParser/Android.mk b/lib/MC/MCParser/Android.mk 1222new file mode 100644 1223index 0000000..505a12b 1224--- /dev/null 1225+++ b/lib/MC/MCParser/Android.mk 1226@@ -0,0 +1,40 @@ 1227+LOCAL_PATH:= $(call my-dir) 1228+ 1229+mc_parser_SRC_FILES := \ 1230+ AsmLexer.cpp \ 1231+ AsmParser.cpp \ 1232+ COFFAsmParser.cpp \ 1233+ DarwinAsmParser.cpp \ 1234+ ELFAsmParser.cpp \ 1235+ MCAsmLexer.cpp \ 1236+ MCAsmParser.cpp \ 1237+ MCAsmParserExtension.cpp \ 1238+ MCTargetAsmParser.cpp 1239+ 1240+# For the host 1241+# ===================================================== 1242+include $(CLEAR_VARS) 1243+ 1244+LOCAL_SRC_FILES := $(mc_parser_SRC_FILES) 1245+ 1246+LOCAL_MODULE:= libLLVMMCParser 1247+ 1248+LOCAL_MODULE_TAGS := optional 1249+ 1250+include $(LLVM_HOST_BUILD_MK) 1251+include $(BUILD_HOST_STATIC_LIBRARY) 1252+ 1253+# For the device 1254+# ===================================================== 1255+include $(CLEAR_VARS) 1256+ifneq (true,$(DISABLE_LLVM_DEVICE_BUILDS)) 1257+ 1258+LOCAL_SRC_FILES := $(mc_parser_SRC_FILES) 1259+ 1260+LOCAL_MODULE:= libLLVMMCParser 1261+ 1262+LOCAL_MODULE_TAGS := optional 1263+ 1264+include $(LLVM_DEVICE_BUILD_MK) 1265+include $(BUILD_STATIC_LIBRARY) 1266+endif 1267diff --git a/lib/Object/Android.mk b/lib/Object/Android.mk 1268new file mode 100644 1269index 0000000..7dfa44f 1270--- /dev/null 1271+++ b/lib/Object/Android.mk 1272@@ -0,0 +1,45 @@ 1273+LOCAL_PATH := $(call my-dir) 1274+ 1275+object_SRC_FILES := \ 1276+ Archive.cpp \ 1277+ Binary.cpp \ 1278+ COFFObjectFile.cpp \ 1279+ ELF.cpp \ 1280+ ELFObjectFile.cpp \ 1281+ Error.cpp \ 1282+ IRObjectFile.cpp \ 1283+ MachOObjectFile.cpp \ 1284+ MachOUniversal.cpp \ 1285+ Object.cpp \ 1286+ ObjectFile.cpp \ 1287+ SymbolicFile.cpp 1288+ 1289+ 1290+# For the host 1291+# ===================================================== 1292+include $(CLEAR_VARS) 1293+include $(CLEAR_TBLGEN_VARS) 1294+ 1295+LOCAL_MODULE:= libLLVMObject 1296+LOCAL_MODULE_TAGS := optional 1297+ 1298+LOCAL_SRC_FILES := $(object_SRC_FILES) 1299+ 1300+include $(LLVM_HOST_BUILD_MK) 1301+include $(LLVM_GEN_INTRINSICS_MK) 1302+include $(BUILD_HOST_STATIC_LIBRARY) 1303+ 1304+# For the device only 1305+# ===================================================== 1306+ifneq (true,$(DISABLE_LLVM_DEVICE_BUILDS)) 1307+include $(CLEAR_VARS) 1308+ 1309+LOCAL_MODULE:= libLLVMObject 1310+LOCAL_MODULE_TAGS := optional 1311+ 1312+LOCAL_SRC_FILES := $(object_SRC_FILES) 1313+ 1314+include $(LLVM_DEVICE_BUILD_MK) 1315+include $(LLVM_GEN_INTRINSICS_MK) 1316+include $(BUILD_STATIC_LIBRARY) 1317+endif 1318diff --git a/lib/Option/Android.mk b/lib/Option/Android.mk 1319new file mode 100644 1320index 0000000..8680ce4 1321--- /dev/null 1322+++ b/lib/Option/Android.mk 1323@@ -0,0 +1,42 @@ 1324+LOCAL_PATH:= $(call my-dir) 1325+ 1326+option_SRC_FILES := \ 1327+ Arg.cpp \ 1328+ ArgList.cpp \ 1329+ Option.cpp \ 1330+ OptTable.cpp 1331+ 1332+# For the host 1333+# ===================================================== 1334+include $(CLEAR_VARS) 1335+ 1336+# FIXME: This only requires RTTI because tblgen uses it. Fix that. 1337+REQUIRES_RTTI := 1 1338+ 1339+LOCAL_SRC_FILES := $(option_SRC_FILES) 1340+ 1341+LOCAL_MODULE:= libLLVMOption 1342+ 1343+LOCAL_CFLAGS := -D__android__ 1344+ 1345+LOCAL_MODULE_TAGS := optional 1346+ 1347+include $(LLVM_HOST_BUILD_MK) 1348+include $(BUILD_HOST_STATIC_LIBRARY) 1349+ 1350+# For the device 1351+# ===================================================== 1352+include $(CLEAR_VARS) 1353+ifneq (true,$(DISABLE_LLVM_DEVICE_BUILDS)) 1354+ 1355+LOCAL_SRC_FILES := $(option_SRC_FILES) 1356+ 1357+LOCAL_MODULE:= libLLVMOption 1358+ 1359+LOCAL_CFLAGS := -D__android__ 1360+ 1361+LOCAL_MODULE_TAGS := optional 1362+ 1363+include $(LLVM_DEVICE_BUILD_MK) 1364+include $(BUILD_STATIC_LIBRARY) 1365+endif 1366diff --git a/lib/Support/Android.mk b/lib/Support/Android.mk 1367new file mode 100644 1368index 0000000..165305e 1369--- /dev/null 1370+++ b/lib/Support/Android.mk 1371@@ -0,0 +1,120 @@ 1372+LOCAL_PATH:= $(call my-dir) 1373+ 1374+support_SRC_FILES := \ 1375+ Allocator.cpp \ 1376+ APFloat.cpp \ 1377+ APInt.cpp \ 1378+ APSInt.cpp \ 1379+ ARMBuildAttrs.cpp \ 1380+ Atomic.cpp \ 1381+ BlockFrequency.cpp \ 1382+ BranchProbability.cpp \ 1383+ CommandLine.cpp \ 1384+ Compression.cpp \ 1385+ ConvertUTF.c \ 1386+ ConvertUTFWrapper.cpp \ 1387+ CrashRecoveryContext.cpp \ 1388+ DAGDeltaAlgorithm.cpp \ 1389+ DataStream.cpp \ 1390+ DataExtractor.cpp \ 1391+ Debug.cpp \ 1392+ DeltaAlgorithm.cpp \ 1393+ Dwarf.cpp \ 1394+ DynamicLibrary.cpp \ 1395+ Errno.cpp \ 1396+ ErrorHandling.cpp \ 1397+ FileUtilities.cpp \ 1398+ FoldingSet.cpp \ 1399+ FormattedStream.cpp \ 1400+ GraphWriter.cpp \ 1401+ Hashing.cpp \ 1402+ Host.cpp \ 1403+ IntervalMap.cpp \ 1404+ IntEqClasses.cpp \ 1405+ IntrusiveRefCntPtr.cpp \ 1406+ IsInf.cpp \ 1407+ IsNAN.cpp \ 1408+ LEB128.cpp \ 1409+ LineIterator.cpp \ 1410+ Locale.cpp \ 1411+ LockFileManager.cpp \ 1412+ MD5.cpp \ 1413+ ManagedStatic.cpp \ 1414+ Memory.cpp \ 1415+ MemoryBuffer.cpp \ 1416+ MemoryObject.cpp \ 1417+ Mutex.cpp \ 1418+ Path.cpp \ 1419+ PluginLoader.cpp \ 1420+ PrettyStackTrace.cpp \ 1421+ Process.cpp \ 1422+ Program.cpp \ 1423+ Regex.cpp \ 1424+ RWMutex.cpp \ 1425+ SearchForAddressOfSpecialSymbol.cpp \ 1426+ Signals.cpp \ 1427+ SmallPtrSet.cpp \ 1428+ SmallVector.cpp \ 1429+ SourceMgr.cpp \ 1430+ Statistic.cpp \ 1431+ StreamableMemoryObject.cpp \ 1432+ StringExtras.cpp \ 1433+ StringMap.cpp \ 1434+ StringPool.cpp \ 1435+ StringRef.cpp \ 1436+ SystemUtils.cpp \ 1437+ TargetRegistry.cpp \ 1438+ Threading.cpp \ 1439+ ThreadLocal.cpp \ 1440+ Timer.cpp \ 1441+ TimeValue.cpp \ 1442+ ToolOutputFile.cpp \ 1443+ Triple.cpp \ 1444+ Twine.cpp \ 1445+ Unicode.cpp \ 1446+ Valgrind.cpp \ 1447+ Watchdog.cpp \ 1448+ circular_raw_ostream.cpp \ 1449+ raw_os_ostream.cpp \ 1450+ raw_ostream.cpp \ 1451+ regcomp.c \ 1452+ regerror.c \ 1453+ regexec.c \ 1454+ regfree.c \ 1455+ regstrlcpy.c \ 1456+ system_error.cpp 1457+ 1458+# For the host 1459+# ===================================================== 1460+include $(CLEAR_VARS) 1461+ 1462+# FIXME: This only requires RTTI because tblgen uses it. Fix that. 1463+REQUIRES_RTTI := 1 1464+ 1465+LOCAL_SRC_FILES := $(support_SRC_FILES) 1466+ 1467+LOCAL_MODULE:= libLLVMSupport 1468+ 1469+LOCAL_CFLAGS := -D__android__ 1470+ 1471+LOCAL_MODULE_TAGS := optional 1472+ 1473+include $(LLVM_HOST_BUILD_MK) 1474+include $(BUILD_HOST_STATIC_LIBRARY) 1475+ 1476+# For the device 1477+# ===================================================== 1478+ifneq (true,$(DISABLE_LLVM_DEVICE_BUILDS)) 1479+include $(CLEAR_VARS) 1480+ 1481+LOCAL_SRC_FILES := $(support_SRC_FILES) 1482+ 1483+LOCAL_MODULE:= libLLVMSupport 1484+ 1485+LOCAL_CFLAGS := -D__android__ 1486+ 1487+LOCAL_MODULE_TAGS := optional 1488+ 1489+include $(LLVM_DEVICE_BUILD_MK) 1490+include $(BUILD_STATIC_LIBRARY) 1491+endif 1492diff --git a/lib/TableGen/Android.mk b/lib/TableGen/Android.mk 1493new file mode 100644 1494index 0000000..1f01ef7 1495--- /dev/null 1496+++ b/lib/TableGen/Android.mk 1497@@ -0,0 +1,39 @@ 1498+LOCAL_PATH:= $(call my-dir) 1499+ 1500+libtablegen_SRC_FILES := \ 1501+ Error.cpp \ 1502+ Main.cpp \ 1503+ Record.cpp \ 1504+ StringMatcher.cpp \ 1505+ TableGenBackend.cpp \ 1506+ TGLexer.cpp \ 1507+ TGParser.cpp 1508+ 1509+# For the host 1510+# ===================================================== 1511+include $(CLEAR_VARS) 1512+ 1513+LOCAL_SRC_FILES := $(libtablegen_SRC_FILES) 1514+LOCAL_MODULE:= libLLVMTableGen 1515+ 1516+LOCAL_MODULE_TAGS := optional 1517+ 1518+REQUIRES_EH := 1 1519+REQUIRES_RTTI := 1 1520+ 1521+include $(LLVM_HOST_BUILD_MK) 1522+include $(BUILD_HOST_STATIC_LIBRARY) 1523+ 1524+## For the device 1525+## ===================================================== 1526+ifneq (true,$(DISABLE_LLVM_DEVICE_BUILDS)) 1527+#include $(CLEAR_VARS) 1528+# 1529+#LOCAL_SRC_FILES := $(libtablegen_SRC_FILES) 1530+#LOCAL_MODULE:= libLLVMTableGen 1531+# 1532+#LOCAL_MODULE_TAGS := optional 1533+# 1534+#include $(LLVM_DEVICE_BUILD_MK) 1535+#include $(BUILD_STATIC_LIBRARY) 1536+endif 1537diff --git a/lib/Target/AArch64/Android.mk b/lib/Target/AArch64/Android.mk 1538new file mode 100644 1539index 0000000..144c2d3 1540--- /dev/null 1541+++ b/lib/Target/AArch64/Android.mk 1542@@ -0,0 +1,67 @@ 1543+LOCAL_PATH := $(call my-dir) 1544+ 1545+arm64_codegen_TBLGEN_TABLES := \ 1546+ AArch64GenRegisterInfo.inc \ 1547+ AArch64GenInstrInfo.inc \ 1548+ AArch64GenCodeEmitter.inc \ 1549+ AArch64GenMCCodeEmitter.inc \ 1550+ AArch64GenMCPseudoLowering.inc \ 1551+ AArch64GenAsmWriter.inc \ 1552+ AArch64GenAsmMatcher.inc \ 1553+ AArch64GenDAGISel.inc \ 1554+ AArch64GenFastISel.inc \ 1555+ AArch64GenCallingConv.inc \ 1556+ AArch64GenSubtargetInfo.inc \ 1557+ AArch64GenDisassemblerTables.inc 1558+ 1559+arm64_codegen_SRC_FILES := \ 1560+ AArch64AsmPrinter.cpp \ 1561+ AArch64FrameLowering.cpp \ 1562+ AArch64ISelDAGToDAG.cpp \ 1563+ AArch64MachineFunctionInfo.cpp \ 1564+ AArch64RegisterInfo.cpp \ 1565+ AArch64Subtarget.cpp \ 1566+ AArch64TargetObjectFile.cpp \ 1567+ AArch64BranchFixupPass.cpp \ 1568+ AArch64InstrInfo.cpp \ 1569+ AArch64ISelLowering.cpp \ 1570+ AArch64MCInstLower.cpp \ 1571+ AArch64SelectionDAGInfo.cpp \ 1572+ AArch64TargetMachine.cpp \ 1573+ AArch64TargetTransformInfo.cpp 1574+ 1575+# For the host 1576+# ===================================================== 1577+include $(CLEAR_VARS) 1578+include $(CLEAR_TBLGEN_VARS) 1579+ 1580+LOCAL_MODULE:= libLLVMARM64CodeGen 1581+LOCAL_MODULE_TAGS := optional 1582+ 1583+LOCAL_SRC_FILES := $(arm64_codegen_SRC_FILES) 1584+LOCAL_C_INCLUDES := $(LOCAL_PATH)/MCTargetDesc 1585+TBLGEN_TABLES := $(arm64_codegen_TBLGEN_TABLES) 1586+ 1587+include $(LLVM_HOST_BUILD_MK) 1588+include $(LLVM_TBLGEN_RULES_MK) 1589+include $(LLVM_GEN_INTRINSICS_MK) 1590+include $(BUILD_HOST_STATIC_LIBRARY) 1591+ 1592+# For the device only 1593+# ===================================================== 1594+ifneq (true,$(DISABLE_LLVM_DEVICE_BUILDS)) 1595+include $(CLEAR_VARS) 1596+include $(CLEAR_TBLGEN_VARS) 1597+ 1598+LOCAL_MODULE:= libLLVMARM64CodeGen 1599+LOCAL_MODULE_TAGS := optional 1600+ 1601+LOCAL_SRC_FILES := $(arm64_codegen_SRC_FILES) 1602+LOCAL_C_INCLUDES := $(LOCAL_PATH)/MCTargetDesc 1603+TBLGEN_TABLES := $(arm64_codegen_TBLGEN_TABLES) 1604+ 1605+include $(LLVM_DEVICE_BUILD_MK) 1606+include $(LLVM_TBLGEN_RULES_MK) 1607+include $(LLVM_GEN_INTRINSICS_MK) 1608+include $(BUILD_STATIC_LIBRARY) 1609+endif 1610diff --git a/lib/Target/AArch64/AsmParser/Android.mk b/lib/Target/AArch64/AsmParser/Android.mk 1611new file mode 100644 1612index 0000000..0588511 1613--- /dev/null 1614+++ b/lib/Target/AArch64/AsmParser/Android.mk 1615@@ -0,0 +1,63 @@ 1616+LOCAL_PATH := $(call my-dir) 1617+ 1618+#===---------------------------------------------------------------=== 1619+# libARMAsmParser (common) 1620+#===---------------------------------------------------------------=== 1621+ 1622+arm64_asm_parser_SRC_FILES := \ 1623+ AArch64AsmParser.cpp 1624+ 1625+arm64_asm_parser_TBLGEN_TABLES := \ 1626+ AArch64GenInstrInfo.inc \ 1627+ AArch64GenRegisterInfo.inc \ 1628+ AArch64GenAsmMatcher.inc \ 1629+ AArch64GenSubtargetInfo.inc 1630+ 1631+arm64_asm_parser_TBLGEN_TD_DIR := $(LOCAL_PATH)/.. 1632+ 1633+arm64_asm_parser_C_INCLUDES := $(LOCAL_PATH)/.. 1634+ 1635+ 1636+#===---------------------------------------------------------------=== 1637+# libARM64AsmParser (host) 1638+#===---------------------------------------------------------------=== 1639+include $(CLEAR_VARS) 1640+include $(CLEAR_TBLGEN_VARS) 1641+ 1642+LOCAL_MODULE:= libLLVMARM64AsmParser 1643+LOCAL_MODULE_TAGS := optional 1644+LOCAL_SRC_FILES := $(arm64_asm_parser_SRC_FILES) 1645+LOCAL_C_INCLUDES += $(arm64_asm_parser_C_INCLUDES) 1646+TBLGEN_TABLES := $(arm64_asm_parser_TBLGEN_TABLES) 1647+TBLGEN_TD_DIR := $(arm64_asm_parser_TBLGEN_TD_DIR) 1648+ 1649+include $(LLVM_HOST_BUILD_MK) 1650+include $(LLVM_TBLGEN_RULES_MK) 1651+ifneq (,$(filter windows darwin,$(HOST_OS))) 1652+# Override the default optimization level to work around taking forever (~50m) 1653+# to compile ARM64AsmParser.cpp on Mac with gcc 4.2, 1654+# or on Linux with mingw32msvc-gcc 4.2, which is used to cross-compile 1655+# the win_sdk. 1656+LOCAL_CFLAGS += -O0 1657+endif 1658+include $(BUILD_HOST_STATIC_LIBRARY) 1659+ 1660+ 1661+#===---------------------------------------------------------------=== 1662+# libARM64AsmParser (target) 1663+#===---------------------------------------------------------------=== 1664+ifneq (true,$(DISABLE_LLVM_DEVICE_BUILDS)) 1665+include $(CLEAR_VARS) 1666+include $(CLEAR_TBLGEN_VARS) 1667+ 1668+LOCAL_MODULE:= libLLVMARM64AsmParser 1669+LOCAL_MODULE_TAGS := optional 1670+LOCAL_SRC_FILES := $(arm64_asm_parser_SRC_FILES) 1671+LOCAL_C_INCLUDES += $(arm64_asm_parser_C_INCLUDES) 1672+TBLGEN_TABLES := $(arm64_asm_parser_TBLGEN_TABLES) 1673+TBLGEN_TD_DIR := $(arm64_asm_parser_TBLGEN_TD_DIR) 1674+ 1675+include $(LLVM_DEVICE_BUILD_MK) 1676+include $(LLVM_TBLGEN_RULES_MK) 1677+include $(BUILD_STATIC_LIBRARY) 1678+endif 1679diff --git a/lib/Target/AArch64/Disassembler/Android.mk b/lib/Target/AArch64/Disassembler/Android.mk 1680new file mode 100644 1681index 0000000..fcc53ad 1682--- /dev/null 1683+++ b/lib/Target/AArch64/Disassembler/Android.mk 1684@@ -0,0 +1,55 @@ 1685+LOCAL_PATH := $(call my-dir) 1686+ 1687+arm64_disassembler_TBLGEN_TABLES := \ 1688+ AArch64GenDisassemblerTables.inc \ 1689+ AArch64GenInstrInfo.inc \ 1690+ AArch64GenSubtargetInfo.inc \ 1691+ AArch64GenRegisterInfo.inc 1692+ 1693+arm64_disassembler_SRC_FILES := \ 1694+ AArch64Disassembler.cpp 1695+ 1696+# For the device 1697+# ===================================================== 1698+ifneq (true,$(DISABLE_LLVM_DEVICE_BUILDS)) 1699+include $(CLEAR_VARS) 1700+include $(CLEAR_TBLGEN_VARS) 1701+ 1702+TBLGEN_TABLES := $(arm64_disassembler_TBLGEN_TABLES) 1703+ 1704+TBLGEN_TD_DIR := $(LOCAL_PATH)/.. 1705+ 1706+LOCAL_SRC_FILES := $(arm64_disassembler_SRC_FILES) 1707+ 1708+LOCAL_C_INCLUDES += $(LOCAL_PATH)/.. 1709+ 1710+LOCAL_MODULE:= libLLVMARM64Disassembler 1711+ 1712+LOCAL_MODULE_TAGS := optional 1713+ 1714+include $(LLVM_DEVICE_BUILD_MK) 1715+include $(LLVM_TBLGEN_RULES_MK) 1716+include $(BUILD_STATIC_LIBRARY) 1717+endif 1718+ 1719+# For the host 1720+# ===================================================== 1721+include $(CLEAR_VARS) 1722+include $(CLEAR_TBLGEN_VARS) 1723+ 1724+TBLGEN_TABLES := $(arm64_disassembler_TBLGEN_TABLES) 1725+ 1726+TBLGEN_TD_DIR := $(LOCAL_PATH)/.. 1727+ 1728+LOCAL_SRC_FILES := $(arm64_disassembler_SRC_FILES) 1729+ 1730+LOCAL_C_INCLUDES += $(LOCAL_PATH)/.. 1731+ 1732+LOCAL_MODULE:= libLLVMARM64Disassembler 1733+ 1734+LOCAL_MODULE_TAGS := optional 1735+ 1736+include $(LLVM_HOST_BUILD_MK) 1737+include $(LLVM_TBLGEN_RULES_MK) 1738+include $(BUILD_HOST_STATIC_LIBRARY) 1739+ 1740diff --git a/lib/Target/AArch64/InstPrinter/Android.mk b/lib/Target/AArch64/InstPrinter/Android.mk 1741new file mode 100644 1742index 0000000..ac9b0df 1743--- /dev/null 1744+++ b/lib/Target/AArch64/InstPrinter/Android.mk 1745@@ -0,0 +1,57 @@ 1746+LOCAL_PATH := $(call my-dir) 1747+ 1748+arm64_asm_printer_TBLGEN_TABLES := \ 1749+ AArch64GenAsmWriter.inc \ 1750+ AArch64GenRegisterInfo.inc \ 1751+ AArch64GenSubtargetInfo.inc \ 1752+ AArch64GenInstrInfo.inc 1753+ 1754+arm64_asm_printer_SRC_FILES := \ 1755+ AArch64InstPrinter.cpp 1756+ 1757+# For the host 1758+# ===================================================== 1759+include $(CLEAR_VARS) 1760+include $(CLEAR_TBLGEN_VARS) 1761+ 1762+TBLGEN_TABLES := $(arm64_asm_printer_TBLGEN_TABLES) 1763+ 1764+TBLGEN_TD_DIR := $(LOCAL_PATH)/.. 1765+ 1766+LOCAL_SRC_FILES := $(arm64_asm_printer_SRC_FILES) 1767+ 1768+LOCAL_MODULE:= libLLVMARM64AsmPrinter 1769+ 1770+LOCAL_C_INCLUDES += \ 1771+ $(LOCAL_PATH)/.. 1772+ 1773+LOCAL_MODULE_TAGS := optional 1774+ 1775+include $(LLVM_HOST_BUILD_MK) 1776+include $(LLVM_TBLGEN_RULES_MK) 1777+include $(BUILD_HOST_STATIC_LIBRARY) 1778+ 1779+# For the device only 1780+# ===================================================== 1781+ifneq (true,$(DISABLE_LLVM_DEVICE_BUILDS)) 1782+include $(CLEAR_VARS) 1783+include $(CLEAR_TBLGEN_VARS) 1784+ 1785+TBLGEN_TABLES := $(arm64_asm_printer_TBLGEN_TABLES) 1786+ 1787+TBLGEN_TD_DIR := $(LOCAL_PATH)/.. 1788+ 1789+LOCAL_SRC_FILES := $(arm64_asm_printer_SRC_FILES) 1790+ 1791+LOCAL_C_INCLUDES+= \ 1792+ $(LOCAL_PATH)/.. 1793+ 1794+LOCAL_MODULE:= libLLVMARM64AsmPrinter 1795+ 1796+LOCAL_MODULE_TAGS := optional 1797+ 1798+include $(LLVM_DEVICE_BUILD_MK) 1799+include $(LLVM_TBLGEN_RULES_MK) 1800+include $(BUILD_STATIC_LIBRARY) 1801+endif 1802+ 1803diff --git a/lib/Target/AArch64/MCTargetDesc/Android.mk b/lib/Target/AArch64/MCTargetDesc/Android.mk 1804new file mode 100644 1805index 0000000..edcf1f2 1806--- /dev/null 1807+++ b/lib/Target/AArch64/MCTargetDesc/Android.mk 1808@@ -0,0 +1,57 @@ 1809+LOCAL_PATH := $(call my-dir) 1810+ 1811+arm64_mc_desc_TBLGEN_TABLES := \ 1812+ AArch64GenRegisterInfo.inc \ 1813+ AArch64GenInstrInfo.inc \ 1814+ AArch64GenMCCodeEmitter.inc \ 1815+ AArch64GenSubtargetInfo.inc 1816+ 1817+arm64_mc_desc_SRC_FILES := \ 1818+ AArch64AsmBackend.cpp \ 1819+ AArch64ELFObjectWriter.cpp \ 1820+ AArch64ELFStreamer.cpp \ 1821+ AArch64MCAsmInfo.cpp \ 1822+ AArch64MCCodeEmitter.cpp \ 1823+ AArch64MCExpr.cpp \ 1824+ AArch64MCTargetDesc.cpp 1825+ 1826+# For the host 1827+# ===================================================== 1828+include $(CLEAR_VARS) 1829+include $(CLEAR_TBLGEN_VARS) 1830+ 1831+ 1832+LOCAL_MODULE:= libLLVMARM64Desc 1833+LOCAL_MODULE_TAGS := optional 1834+ 1835+LOCAL_SRC_FILES := $(arm64_mc_desc_SRC_FILES) 1836+LOCAL_C_INCLUDES := $(LOCAL_PATH)/.. 1837+ 1838+TBLGEN_TD_DIR := $(LOCAL_PATH)/.. 1839+TBLGEN_TABLES := $(arm64_mc_desc_TBLGEN_TABLES) 1840+ 1841+include $(LLVM_HOST_BUILD_MK) 1842+include $(LLVM_TBLGEN_RULES_MK) 1843+include $(LLVM_GEN_INTRINSICS_MK) 1844+include $(BUILD_HOST_STATIC_LIBRARY) 1845+ 1846+# For the device only 1847+# ===================================================== 1848+ifneq (true,$(DISABLE_LLVM_DEVICE_BUILDS)) 1849+include $(CLEAR_VARS) 1850+include $(CLEAR_TBLGEN_VARS) 1851+ 1852+LOCAL_MODULE:= libLLVMARM64Desc 1853+LOCAL_MODULE_TAGS := optional 1854+ 1855+LOCAL_SRC_FILES := $(arm64_mc_desc_SRC_FILES) 1856+LOCAL_C_INCLUDES := $(LOCAL_PATH)/.. 1857+ 1858+TBLGEN_TD_DIR := $(LOCAL_PATH)/.. 1859+TBLGEN_TABLES := $(arm64_mc_desc_TBLGEN_TABLES) 1860+ 1861+include $(LLVM_DEVICE_BUILD_MK) 1862+include $(LLVM_TBLGEN_RULES_MK) 1863+include $(LLVM_GEN_INTRINSICS_MK) 1864+include $(BUILD_STATIC_LIBRARY) 1865+endif 1866diff --git a/lib/Target/AArch64/TargetInfo/Android.mk b/lib/Target/AArch64/TargetInfo/Android.mk 1867new file mode 100644 1868index 0000000..cc650f6 1869--- /dev/null 1870+++ b/lib/Target/AArch64/TargetInfo/Android.mk 1871@@ -0,0 +1,55 @@ 1872+LOCAL_PATH := $(call my-dir) 1873+ 1874+arm64_target_info_TBLGEN_TABLES := \ 1875+ AArch64GenSubtargetInfo.inc \ 1876+ AArch64GenRegisterInfo.inc \ 1877+ AArch64GenInstrInfo.inc 1878+ 1879+arm64_target_info_SRC_FILES := \ 1880+ AArch64TargetInfo.cpp 1881+ 1882+# For the host 1883+# ===================================================== 1884+include $(CLEAR_VARS) 1885+include $(CLEAR_TBLGEN_VARS) 1886+ 1887+TBLGEN_TABLES := $(arm64_target_info_TBLGEN_TABLES) 1888+ 1889+TBLGEN_TD_DIR := $(LOCAL_PATH)/.. 1890+ 1891+LOCAL_SRC_FILES := $(arm64_target_info_SRC_FILES) 1892+ 1893+LOCAL_C_INCLUDES += \ 1894+ $(LOCAL_PATH)/.. 1895+ 1896+LOCAL_MODULE:= libLLVMARM64Info 1897+ 1898+LOCAL_MODULE_TAGS := optional 1899+ 1900+include $(LLVM_HOST_BUILD_MK) 1901+include $(LLVM_TBLGEN_RULES_MK) 1902+include $(BUILD_HOST_STATIC_LIBRARY) 1903+ 1904+# For the device 1905+# ===================================================== 1906+ifneq (true,$(DISABLE_LLVM_DEVICE_BUILDS)) 1907+include $(CLEAR_VARS) 1908+include $(CLEAR_TBLGEN_VARS) 1909+ 1910+TBLGEN_TABLES := $(arm64_target_info_TBLGEN_TABLES) 1911+ 1912+TBLGEN_TD_DIR := $(LOCAL_PATH)/.. 1913+ 1914+LOCAL_SRC_FILES := $(arm64_target_info_SRC_FILES) 1915+ 1916+LOCAL_C_INCLUDES += \ 1917+ $(LOCAL_PATH)/.. 1918+ 1919+LOCAL_MODULE:= libLLVMARM64Info 1920+ 1921+LOCAL_MODULE_TAGS := optional 1922+ 1923+include $(LLVM_DEVICE_BUILD_MK) 1924+include $(LLVM_TBLGEN_RULES_MK) 1925+include $(BUILD_STATIC_LIBRARY) 1926+endif 1927diff --git a/lib/Target/AArch64/Utils/Android.mk b/lib/Target/AArch64/Utils/Android.mk 1928new file mode 100644 1929index 0000000..b8bf795 1930--- /dev/null 1931+++ b/lib/Target/AArch64/Utils/Android.mk 1932@@ -0,0 +1,36 @@ 1933+LOCAL_PATH := $(call my-dir) 1934+ 1935+arm64_utils_SRC_FILES := \ 1936+ AArch64BaseInfo.cpp 1937+ 1938+# For the device 1939+# ===================================================== 1940+ifneq (true,$(DISABLE_LLVM_DEVICE_BUILDS)) 1941+include $(CLEAR_VARS) 1942+ 1943+LOCAL_SRC_FILES := $(arm64_utils_SRC_FILES) 1944+ 1945+LOCAL_C_INCLUDES += $(LOCAL_PATH)/.. 1946+ 1947+LOCAL_MODULE:= libLLVMARM64Utils 1948+ 1949+LOCAL_MODULE_TAGS := optional 1950+ 1951+include $(LLVM_DEVICE_BUILD_MK) 1952+include $(BUILD_STATIC_LIBRARY) 1953+endif 1954+ 1955+# For the host 1956+# ===================================================== 1957+include $(CLEAR_VARS) 1958+ 1959+LOCAL_SRC_FILES := $(arm64_utils_SRC_FILES) 1960+ 1961+LOCAL_C_INCLUDES += $(LOCAL_PATH)/.. 1962+ 1963+LOCAL_MODULE:= libLLVMARM64Utils 1964+ 1965+LOCAL_MODULE_TAGS := optional 1966+ 1967+include $(LLVM_HOST_BUILD_MK) 1968+include $(BUILD_HOST_STATIC_LIBRARY) 1969diff --git a/lib/Target/ARM/Android.mk b/lib/Target/ARM/Android.mk 1970new file mode 100644 1971index 0000000..4be95aa 1972--- /dev/null 1973+++ b/lib/Target/ARM/Android.mk 1974@@ -0,0 +1,87 @@ 1975+LOCAL_PATH := $(call my-dir) 1976+ 1977+arm_codegen_TBLGEN_TABLES := \ 1978+ ARMGenRegisterInfo.inc \ 1979+ ARMGenInstrInfo.inc \ 1980+ ARMGenCodeEmitter.inc \ 1981+ ARMGenMCCodeEmitter.inc \ 1982+ ARMGenMCPseudoLowering.inc \ 1983+ ARMGenAsmWriter.inc \ 1984+ ARMGenAsmMatcher.inc \ 1985+ ARMGenDAGISel.inc \ 1986+ ARMGenFastISel.inc \ 1987+ ARMGenCallingConv.inc \ 1988+ ARMGenSubtargetInfo.inc \ 1989+ ARMGenDisassemblerTables.inc 1990+ 1991+arm_codegen_SRC_FILES := \ 1992+ A15SDOptimizer.cpp \ 1993+ ARMAsmPrinter.cpp \ 1994+ ARMAtomicExpandPass.cpp \ 1995+ ARMBaseInstrInfo.cpp \ 1996+ ARMBaseRegisterInfo.cpp \ 1997+ ARMCodeEmitter.cpp \ 1998+ ARMConstantIslandPass.cpp \ 1999+ ARMConstantPoolValue.cpp \ 2000+ ARMExpandPseudoInsts.cpp \ 2001+ ARMFastISel.cpp \ 2002+ ARMFrameLowering.cpp \ 2003+ ARMHazardRecognizer.cpp \ 2004+ ARMISelDAGToDAG.cpp \ 2005+ ARMISelLowering.cpp \ 2006+ ARMInstrInfo.cpp \ 2007+ ARMJITInfo.cpp \ 2008+ ARMLoadStoreOptimizer.cpp \ 2009+ ARMMCInstLower.cpp \ 2010+ ARMMachineFunctionInfo.cpp \ 2011+ ARMOptimizeBarriersPass.cpp \ 2012+ ARMRegisterInfo.cpp \ 2013+ ARMSelectionDAGInfo.cpp \ 2014+ ARMSubtarget.cpp \ 2015+ ARMTargetMachine.cpp \ 2016+ ARMTargetObjectFile.cpp \ 2017+ ARMTargetTransformInfo.cpp \ 2018+ MLxExpansionPass.cpp \ 2019+ Thumb1FrameLowering.cpp \ 2020+ Thumb1InstrInfo.cpp \ 2021+ Thumb1RegisterInfo.cpp \ 2022+ Thumb2ITBlockPass.cpp \ 2023+ Thumb2InstrInfo.cpp \ 2024+ Thumb2RegisterInfo.cpp \ 2025+ Thumb2SizeReduction.cpp 2026+ 2027+# For the host 2028+# ===================================================== 2029+include $(CLEAR_VARS) 2030+include $(CLEAR_TBLGEN_VARS) 2031+ 2032+LOCAL_MODULE:= libLLVMARMCodeGen 2033+LOCAL_MODULE_TAGS := optional 2034+ 2035+LOCAL_SRC_FILES := $(arm_codegen_SRC_FILES) 2036+LOCAL_C_INCLUDES := $(LOCAL_PATH)/MCTargetDesc 2037+TBLGEN_TABLES := $(arm_codegen_TBLGEN_TABLES) 2038+ 2039+include $(LLVM_HOST_BUILD_MK) 2040+include $(LLVM_TBLGEN_RULES_MK) 2041+include $(LLVM_GEN_INTRINSICS_MK) 2042+include $(BUILD_HOST_STATIC_LIBRARY) 2043+ 2044+# For the device only 2045+# ===================================================== 2046+ifneq (true,$(DISABLE_LLVM_DEVICE_BUILDS)) 2047+include $(CLEAR_VARS) 2048+include $(CLEAR_TBLGEN_VARS) 2049+ 2050+LOCAL_MODULE:= libLLVMARMCodeGen 2051+LOCAL_MODULE_TAGS := optional 2052+ 2053+LOCAL_SRC_FILES := $(arm_codegen_SRC_FILES) 2054+LOCAL_C_INCLUDES := $(LOCAL_PATH)/MCTargetDesc 2055+TBLGEN_TABLES := $(arm_codegen_TBLGEN_TABLES) 2056+ 2057+include $(LLVM_DEVICE_BUILD_MK) 2058+include $(LLVM_TBLGEN_RULES_MK) 2059+include $(LLVM_GEN_INTRINSICS_MK) 2060+include $(BUILD_STATIC_LIBRARY) 2061+endif 2062diff --git a/lib/Target/ARM/AsmParser/Android.mk b/lib/Target/ARM/AsmParser/Android.mk 2063new file mode 100644 2064index 0000000..5f88cc3 2065--- /dev/null 2066+++ b/lib/Target/ARM/AsmParser/Android.mk 2067@@ -0,0 +1,63 @@ 2068+LOCAL_PATH := $(call my-dir) 2069+ 2070+#===---------------------------------------------------------------=== 2071+# libARMAsmParser (common) 2072+#===---------------------------------------------------------------=== 2073+ 2074+arm_asm_parser_SRC_FILES := \ 2075+ ARMAsmParser.cpp 2076+ 2077+arm_asm_parser_TBLGEN_TABLES := \ 2078+ ARMGenInstrInfo.inc \ 2079+ ARMGenRegisterInfo.inc \ 2080+ ARMGenAsmMatcher.inc \ 2081+ ARMGenSubtargetInfo.inc 2082+ 2083+arm_asm_parser_TBLGEN_TD_DIR := $(LOCAL_PATH)/.. 2084+ 2085+arm_asm_parser_C_INCLUDES := $(LOCAL_PATH)/.. 2086+ 2087+ 2088+#===---------------------------------------------------------------=== 2089+# libARMAsmParser (host) 2090+#===---------------------------------------------------------------=== 2091+include $(CLEAR_VARS) 2092+include $(CLEAR_TBLGEN_VARS) 2093+ 2094+LOCAL_MODULE:= libLLVMARMAsmParser 2095+LOCAL_MODULE_TAGS := optional 2096+LOCAL_SRC_FILES := $(arm_asm_parser_SRC_FILES) 2097+LOCAL_C_INCLUDES += $(arm_asm_parser_C_INCLUDES) 2098+TBLGEN_TABLES := $(arm_asm_parser_TBLGEN_TABLES) 2099+TBLGEN_TD_DIR := $(arm_asm_parser_TBLGEN_TD_DIR) 2100+ 2101+include $(LLVM_HOST_BUILD_MK) 2102+include $(LLVM_TBLGEN_RULES_MK) 2103+ifneq (,$(filter windows darwin,$(HOST_OS))) 2104+# Override the default optimization level to work around taking forever (~50m) 2105+# to compile ARMAsmParser.cpp on Mac with gcc 4.2, 2106+# or on Linux with mingw32msvc-gcc 4.2, which is used to cross-compile 2107+# the win_sdk. 2108+LOCAL_CFLAGS += -O0 2109+endif 2110+include $(BUILD_HOST_STATIC_LIBRARY) 2111+ 2112+ 2113+#===---------------------------------------------------------------=== 2114+# libARMAsmParser (target) 2115+#===---------------------------------------------------------------=== 2116+ifneq (true,$(DISABLE_LLVM_DEVICE_BUILDS)) 2117+include $(CLEAR_VARS) 2118+include $(CLEAR_TBLGEN_VARS) 2119+ 2120+LOCAL_MODULE:= libLLVMARMAsmParser 2121+LOCAL_MODULE_TAGS := optional 2122+LOCAL_SRC_FILES := $(arm_asm_parser_SRC_FILES) 2123+LOCAL_C_INCLUDES += $(arm_asm_parser_C_INCLUDES) 2124+TBLGEN_TABLES := $(arm_asm_parser_TBLGEN_TABLES) 2125+TBLGEN_TD_DIR := $(arm_asm_parser_TBLGEN_TD_DIR) 2126+ 2127+include $(LLVM_DEVICE_BUILD_MK) 2128+include $(LLVM_TBLGEN_RULES_MK) 2129+include $(BUILD_STATIC_LIBRARY) 2130+endif 2131diff --git a/lib/Target/ARM/Disassembler/Android.mk b/lib/Target/ARM/Disassembler/Android.mk 2132new file mode 100644 2133index 0000000..3db61a5 2134--- /dev/null 2135+++ b/lib/Target/ARM/Disassembler/Android.mk 2136@@ -0,0 +1,55 @@ 2137+LOCAL_PATH := $(call my-dir) 2138+ 2139+arm_disassembler_TBLGEN_TABLES := \ 2140+ ARMGenDisassemblerTables.inc \ 2141+ ARMGenInstrInfo.inc \ 2142+ ARMGenSubtargetInfo.inc \ 2143+ ARMGenRegisterInfo.inc 2144+ 2145+arm_disassembler_SRC_FILES := \ 2146+ ARMDisassembler.cpp 2147+ 2148+# For the device 2149+# ===================================================== 2150+ifneq (true,$(DISABLE_LLVM_DEVICE_BUILDS)) 2151+include $(CLEAR_VARS) 2152+include $(CLEAR_TBLGEN_VARS) 2153+ 2154+TBLGEN_TABLES := $(arm_disassembler_TBLGEN_TABLES) 2155+ 2156+TBLGEN_TD_DIR := $(LOCAL_PATH)/.. 2157+ 2158+LOCAL_SRC_FILES := $(arm_disassembler_SRC_FILES) 2159+ 2160+LOCAL_C_INCLUDES += $(LOCAL_PATH)/.. 2161+ 2162+LOCAL_MODULE:= libLLVMARMDisassembler 2163+ 2164+LOCAL_MODULE_TAGS := optional 2165+ 2166+include $(LLVM_DEVICE_BUILD_MK) 2167+include $(LLVM_TBLGEN_RULES_MK) 2168+include $(BUILD_STATIC_LIBRARY) 2169+endif 2170+ 2171+# For the host 2172+# ===================================================== 2173+include $(CLEAR_VARS) 2174+include $(CLEAR_TBLGEN_VARS) 2175+ 2176+TBLGEN_TABLES := $(arm_disassembler_TBLGEN_TABLES) 2177+ 2178+TBLGEN_TD_DIR := $(LOCAL_PATH)/.. 2179+ 2180+LOCAL_SRC_FILES := $(arm_disassembler_SRC_FILES) 2181+ 2182+LOCAL_C_INCLUDES += $(LOCAL_PATH)/.. 2183+ 2184+LOCAL_MODULE:= libLLVMARMDisassembler 2185+ 2186+LOCAL_MODULE_TAGS := optional 2187+ 2188+include $(LLVM_HOST_BUILD_MK) 2189+include $(LLVM_TBLGEN_RULES_MK) 2190+include $(BUILD_HOST_STATIC_LIBRARY) 2191+ 2192diff --git a/lib/Target/ARM/InstPrinter/Android.mk b/lib/Target/ARM/InstPrinter/Android.mk 2193new file mode 100644 2194index 0000000..cefed76 2195--- /dev/null 2196+++ b/lib/Target/ARM/InstPrinter/Android.mk 2197@@ -0,0 +1,57 @@ 2198+LOCAL_PATH := $(call my-dir) 2199+ 2200+arm_asm_printer_TBLGEN_TABLES := \ 2201+ ARMGenAsmWriter.inc \ 2202+ ARMGenRegisterInfo.inc \ 2203+ ARMGenSubtargetInfo.inc \ 2204+ ARMGenInstrInfo.inc 2205+ 2206+arm_asm_printer_SRC_FILES := \ 2207+ ARMInstPrinter.cpp 2208+ 2209+# For the host 2210+# ===================================================== 2211+include $(CLEAR_VARS) 2212+include $(CLEAR_TBLGEN_VARS) 2213+ 2214+TBLGEN_TABLES := $(arm_asm_printer_TBLGEN_TABLES) 2215+ 2216+TBLGEN_TD_DIR := $(LOCAL_PATH)/.. 2217+ 2218+LOCAL_SRC_FILES := $(arm_asm_printer_SRC_FILES) 2219+ 2220+LOCAL_MODULE:= libLLVMARMAsmPrinter 2221+ 2222+LOCAL_C_INCLUDES += \ 2223+ $(LOCAL_PATH)/.. 2224+ 2225+LOCAL_MODULE_TAGS := optional 2226+ 2227+include $(LLVM_HOST_BUILD_MK) 2228+include $(LLVM_TBLGEN_RULES_MK) 2229+include $(BUILD_HOST_STATIC_LIBRARY) 2230+ 2231+# For the device only 2232+# ===================================================== 2233+ifneq (true,$(DISABLE_LLVM_DEVICE_BUILDS)) 2234+include $(CLEAR_VARS) 2235+include $(CLEAR_TBLGEN_VARS) 2236+ 2237+TBLGEN_TABLES := $(arm_asm_printer_TBLGEN_TABLES) 2238+ 2239+TBLGEN_TD_DIR := $(LOCAL_PATH)/.. 2240+ 2241+LOCAL_SRC_FILES := $(arm_asm_printer_SRC_FILES) 2242+ 2243+LOCAL_C_INCLUDES+= \ 2244+ $(LOCAL_PATH)/.. 2245+ 2246+LOCAL_MODULE:= libLLVMARMAsmPrinter 2247+ 2248+LOCAL_MODULE_TAGS := optional 2249+ 2250+include $(LLVM_DEVICE_BUILD_MK) 2251+include $(LLVM_TBLGEN_RULES_MK) 2252+include $(BUILD_STATIC_LIBRARY) 2253+endif 2254+ 2255diff --git a/lib/Target/ARM/MCTargetDesc/Android.mk b/lib/Target/ARM/MCTargetDesc/Android.mk 2256new file mode 100644 2257index 0000000..074d29e 2258--- /dev/null 2259+++ b/lib/Target/ARM/MCTargetDesc/Android.mk 2260@@ -0,0 +1,61 @@ 2261+LOCAL_PATH := $(call my-dir) 2262+ 2263+arm_mc_desc_TBLGEN_TABLES := \ 2264+ ARMGenRegisterInfo.inc \ 2265+ ARMGenInstrInfo.inc \ 2266+ ARMGenMCCodeEmitter.inc \ 2267+ ARMGenSubtargetInfo.inc 2268+ 2269+arm_mc_desc_SRC_FILES := \ 2270+ ARMAsmBackend.cpp \ 2271+ ARMELFObjectWriter.cpp \ 2272+ ARMELFStreamer.cpp \ 2273+ ARMMCAsmInfo.cpp \ 2274+ ARMMCCodeEmitter.cpp \ 2275+ ARMMCExpr.cpp \ 2276+ ARMMCTargetDesc.cpp \ 2277+ ARMMachObjectWriter.cpp \ 2278+ ARMMachORelocationInfo.cpp \ 2279+ ARMTargetStreamer.cpp \ 2280+ ARMUnwindOpAsm.cpp 2281+ 2282+# For the host 2283+# ===================================================== 2284+include $(CLEAR_VARS) 2285+include $(CLEAR_TBLGEN_VARS) 2286+ 2287+ 2288+LOCAL_MODULE:= libLLVMARMDesc 2289+LOCAL_MODULE_TAGS := optional 2290+ 2291+LOCAL_SRC_FILES := $(arm_mc_desc_SRC_FILES) 2292+LOCAL_C_INCLUDES := $(LOCAL_PATH)/.. 2293+ 2294+TBLGEN_TD_DIR := $(LOCAL_PATH)/.. 2295+TBLGEN_TABLES := $(arm_mc_desc_TBLGEN_TABLES) 2296+ 2297+include $(LLVM_HOST_BUILD_MK) 2298+include $(LLVM_TBLGEN_RULES_MK) 2299+include $(LLVM_GEN_INTRINSICS_MK) 2300+include $(BUILD_HOST_STATIC_LIBRARY) 2301+ 2302+# For the device only 2303+# ===================================================== 2304+ifneq (true,$(DISABLE_LLVM_DEVICE_BUILDS)) 2305+include $(CLEAR_VARS) 2306+include $(CLEAR_TBLGEN_VARS) 2307+ 2308+LOCAL_MODULE:= libLLVMARMDesc 2309+LOCAL_MODULE_TAGS := optional 2310+ 2311+LOCAL_SRC_FILES := $(arm_mc_desc_SRC_FILES) 2312+LOCAL_C_INCLUDES := $(LOCAL_PATH)/.. 2313+ 2314+TBLGEN_TD_DIR := $(LOCAL_PATH)/.. 2315+TBLGEN_TABLES := $(arm_mc_desc_TBLGEN_TABLES) 2316+ 2317+include $(LLVM_DEVICE_BUILD_MK) 2318+include $(LLVM_TBLGEN_RULES_MK) 2319+include $(LLVM_GEN_INTRINSICS_MK) 2320+include $(BUILD_STATIC_LIBRARY) 2321+endif 2322diff --git a/lib/Target/ARM/TargetInfo/Android.mk b/lib/Target/ARM/TargetInfo/Android.mk 2323new file mode 100644 2324index 0000000..e31c2b8 2325--- /dev/null 2326+++ b/lib/Target/ARM/TargetInfo/Android.mk 2327@@ -0,0 +1,55 @@ 2328+LOCAL_PATH := $(call my-dir) 2329+ 2330+arm_target_info_TBLGEN_TABLES := \ 2331+ ARMGenSubtargetInfo.inc \ 2332+ ARMGenRegisterInfo.inc \ 2333+ ARMGenInstrInfo.inc 2334+ 2335+arm_target_info_SRC_FILES := \ 2336+ ARMTargetInfo.cpp 2337+ 2338+# For the host 2339+# ===================================================== 2340+include $(CLEAR_VARS) 2341+include $(CLEAR_TBLGEN_VARS) 2342+ 2343+TBLGEN_TABLES := $(arm_target_info_TBLGEN_TABLES) 2344+ 2345+TBLGEN_TD_DIR := $(LOCAL_PATH)/.. 2346+ 2347+LOCAL_SRC_FILES := $(arm_target_info_SRC_FILES) 2348+ 2349+LOCAL_C_INCLUDES += \ 2350+ $(LOCAL_PATH)/.. 2351+ 2352+LOCAL_MODULE:= libLLVMARMInfo 2353+ 2354+LOCAL_MODULE_TAGS := optional 2355+ 2356+include $(LLVM_HOST_BUILD_MK) 2357+include $(LLVM_TBLGEN_RULES_MK) 2358+include $(BUILD_HOST_STATIC_LIBRARY) 2359+ 2360+# For the device 2361+# ===================================================== 2362+ifneq (true,$(DISABLE_LLVM_DEVICE_BUILDS)) 2363+include $(CLEAR_VARS) 2364+include $(CLEAR_TBLGEN_VARS) 2365+ 2366+TBLGEN_TABLES := $(arm_target_info_TBLGEN_TABLES) 2367+ 2368+TBLGEN_TD_DIR := $(LOCAL_PATH)/.. 2369+ 2370+LOCAL_SRC_FILES := $(arm_target_info_SRC_FILES) 2371+ 2372+LOCAL_C_INCLUDES += \ 2373+ $(LOCAL_PATH)/.. 2374+ 2375+LOCAL_MODULE:= libLLVMARMInfo 2376+ 2377+LOCAL_MODULE_TAGS := optional 2378+ 2379+include $(LLVM_DEVICE_BUILD_MK) 2380+include $(LLVM_TBLGEN_RULES_MK) 2381+include $(BUILD_STATIC_LIBRARY) 2382+endif 2383diff --git a/lib/Target/Android.mk b/lib/Target/Android.mk 2384new file mode 100644 2385index 0000000..1b43ce4 2386--- /dev/null 2387+++ b/lib/Target/Android.mk 2388@@ -0,0 +1,39 @@ 2389+LOCAL_PATH:= $(call my-dir) 2390+ 2391+target_SRC_FILES := \ 2392+ Target.cpp \ 2393+ TargetIntrinsicInfo.cpp \ 2394+ TargetJITInfo.cpp \ 2395+ TargetLibraryInfo.cpp \ 2396+ TargetLoweringObjectFile.cpp \ 2397+ TargetMachineC.cpp \ 2398+ TargetMachine.cpp \ 2399+ TargetSubtargetInfo.cpp 2400+ 2401+# For the host 2402+# ===================================================== 2403+include $(CLEAR_VARS) 2404+ 2405+LOCAL_SRC_FILES := $(target_SRC_FILES) 2406+ 2407+LOCAL_MODULE:= libLLVMTarget 2408+ 2409+LOCAL_MODULE_TAGS := optional 2410+ 2411+include $(LLVM_HOST_BUILD_MK) 2412+include $(BUILD_HOST_STATIC_LIBRARY) 2413+ 2414+# For the device 2415+# ===================================================== 2416+ifneq (true,$(DISABLE_LLVM_DEVICE_BUILDS)) 2417+include $(CLEAR_VARS) 2418+ 2419+LOCAL_SRC_FILES := $(target_SRC_FILES) 2420+ 2421+LOCAL_MODULE:= libLLVMTarget 2422+ 2423+LOCAL_MODULE_TAGS := optional 2424+ 2425+include $(LLVM_DEVICE_BUILD_MK) 2426+include $(BUILD_STATIC_LIBRARY) 2427+endif 2428diff --git a/lib/Target/Mips/Android.mk b/lib/Target/Mips/Android.mk 2429new file mode 100644 2430index 0000000..74b8a3b 2431--- /dev/null 2432+++ b/lib/Target/Mips/Android.mk 2433@@ -0,0 +1,85 @@ 2434+LOCAL_PATH := $(call my-dir) 2435+ 2436+mips_codegen_TBLGEN_TABLES := \ 2437+ MipsGenRegisterInfo.inc \ 2438+ MipsGenInstrInfo.inc \ 2439+ MipsGenCodeEmitter.inc \ 2440+ MipsGenMCCodeEmitter.inc \ 2441+ MipsGenMCPseudoLowering.inc \ 2442+ MipsGenAsmWriter.inc \ 2443+ MipsGenDAGISel.inc \ 2444+ MipsGenCallingConv.inc \ 2445+ MipsGenSubtargetInfo.inc 2446+ 2447+mips_codegen_SRC_FILES := \ 2448+ Mips16FrameLowering.cpp \ 2449+ Mips16HardFloat.cpp \ 2450+ Mips16HardFloatInfo.cpp \ 2451+ Mips16ISelDAGToDAG.cpp \ 2452+ Mips16ISelLowering.cpp \ 2453+ Mips16InstrInfo.cpp \ 2454+ Mips16RegisterInfo.cpp \ 2455+ MipsAnalyzeImmediate.cpp \ 2456+ MipsAsmPrinter.cpp \ 2457+ MipsCodeEmitter.cpp \ 2458+ MipsConstantIslandPass.cpp \ 2459+ MipsDelaySlotFiller.cpp \ 2460+ MipsFrameLowering.cpp \ 2461+ MipsInstrInfo.cpp \ 2462+ MipsISelDAGToDAG.cpp \ 2463+ MipsISelLowering.cpp \ 2464+ MipsJITInfo.cpp \ 2465+ MipsLongBranch.cpp \ 2466+ MipsMachineFunction.cpp \ 2467+ MipsMCInstLower.cpp \ 2468+ MipsModuleISelDAGToDAG.cpp \ 2469+ MipsOs16.cpp \ 2470+ MipsOptimizePICCall.cpp \ 2471+ MipsRegisterInfo.cpp \ 2472+ MipsSEFrameLowering.cpp \ 2473+ MipsSEISelDAGToDAG.cpp \ 2474+ MipsSEISelLowering.cpp \ 2475+ MipsSEInstrInfo.cpp \ 2476+ MipsSERegisterInfo.cpp \ 2477+ MipsSelectionDAGInfo.cpp \ 2478+ MipsSubtarget.cpp \ 2479+ MipsTargetMachine.cpp \ 2480+ MipsTargetObjectFile.cpp 2481+ 2482+# For the host 2483+# ===================================================== 2484+include $(CLEAR_VARS) 2485+include $(CLEAR_TBLGEN_VARS) 2486+ 2487+LOCAL_MODULE:= libLLVMMipsCodeGen 2488+LOCAL_MODULE_TAGS := optional 2489+ 2490+LOCAL_SRC_FILES := $(mips_codegen_SRC_FILES) 2491+LOCAL_C_INCLUDES := $(LOCAL_PATH)/MCTargetDesc 2492+ 2493+TBLGEN_TABLES := $(mips_codegen_TBLGEN_TABLES) 2494+ 2495+include $(LLVM_HOST_BUILD_MK) 2496+include $(LLVM_TBLGEN_RULES_MK) 2497+include $(LLVM_GEN_INTRINSICS_MK) 2498+include $(BUILD_HOST_STATIC_LIBRARY) 2499+ 2500+# For the device only 2501+# ===================================================== 2502+ifneq (true,$(DISABLE_LLVM_DEVICE_BUILDS)) 2503+include $(CLEAR_VARS) 2504+include $(CLEAR_TBLGEN_VARS) 2505+ 2506+LOCAL_MODULE:= libLLVMMipsCodeGen 2507+LOCAL_MODULE_TAGS := optional 2508+ 2509+LOCAL_SRC_FILES := $(mips_codegen_SRC_FILES) 2510+LOCAL_C_INCLUDES := $(LOCAL_PATH)/MCTargetDesc 2511+ 2512+TBLGEN_TABLES := $(mips_codegen_TBLGEN_TABLES) 2513+ 2514+include $(LLVM_DEVICE_BUILD_MK) 2515+include $(LLVM_TBLGEN_RULES_MK) 2516+include $(LLVM_GEN_INTRINSICS_MK) 2517+include $(BUILD_STATIC_LIBRARY) 2518+endif 2519diff --git a/lib/Target/Mips/AsmParser/Android.mk b/lib/Target/Mips/AsmParser/Android.mk 2520new file mode 100644 2521index 0000000..7d8eec1 2522--- /dev/null 2523+++ b/lib/Target/Mips/AsmParser/Android.mk 2524@@ -0,0 +1,56 @@ 2525+LOCAL_PATH := $(call my-dir) 2526+ 2527+#===---------------------------------------------------------------=== 2528+# libLLVMMipsAsmParser (common) 2529+#===---------------------------------------------------------------=== 2530+ 2531+mips_asm_parser_SRC_FILES := \ 2532+ MipsAsmParser.cpp 2533+ 2534+mips_asm_parser_C_INCLUDES := $(LOCAL_PATH)/.. 2535+ 2536+mips_asm_parser_TBLGEN_TABLES := \ 2537+ MipsGenAsmMatcher.inc \ 2538+ MipsGenInstrInfo.inc \ 2539+ MipsGenRegisterInfo.inc \ 2540+ MipsGenSubtargetInfo.inc 2541+ 2542+mips_asm_parser_TBLGEN_TD_DIR := $(LOCAL_PATH)/.. 2543+ 2544+ 2545+#===---------------------------------------------------------------=== 2546+# libLLVMMipsAsmParser (host) 2547+#===---------------------------------------------------------------=== 2548+include $(CLEAR_VARS) 2549+include $(CLEAR_TBLGEN_VARS) 2550+ 2551+LOCAL_MODULE:= libLLVMMipsAsmParser 2552+LOCAL_MODULE_TAGS := optional 2553+LOCAL_SRC_FILES := $(mips_asm_parser_SRC_FILES) 2554+LOCAL_C_INCLUDES += $(mips_asm_parser_C_INCLUDES) 2555+TBLGEN_TABLES := $(mips_asm_parser_TBLGEN_TABLES) 2556+TBLGEN_TD_DIR := $(LOCAL_PATH)/.. 2557+ 2558+include $(LLVM_HOST_BUILD_MK) 2559+include $(LLVM_TBLGEN_RULES_MK) 2560+include $(BUILD_HOST_STATIC_LIBRARY) 2561+ 2562+ 2563+#===---------------------------------------------------------------=== 2564+# libLLVMMipsAsmParser (target) 2565+#===---------------------------------------------------------------=== 2566+ifneq (true,$(DISABLE_LLVM_DEVICE_BUILDS)) 2567+include $(CLEAR_VARS) 2568+include $(CLEAR_TBLGEN_VARS) 2569+ 2570+LOCAL_MODULE:= libLLVMMipsAsmParser 2571+LOCAL_MODULE_TAGS := optional 2572+LOCAL_SRC_FILES := $(mips_asm_parser_SRC_FILES) 2573+LOCAL_C_INCLUDES += $(mips_asm_parser_C_INCLUDES) 2574+TBLGEN_TABLES := $(mips_asm_parser_TBLGEN_TABLES) 2575+TBLGEN_TD_DIR := $(LOCAL_PATH)/.. 2576+ 2577+include $(LLVM_DEVICE_BUILD_MK) 2578+include $(LLVM_TBLGEN_RULES_MK) 2579+include $(BUILD_STATIC_LIBRARY) 2580+endif 2581diff --git a/lib/Target/Mips/Disassembler/Android.mk b/lib/Target/Mips/Disassembler/Android.mk 2582new file mode 100644 2583index 0000000..20fd87a 2584--- /dev/null 2585+++ b/lib/Target/Mips/Disassembler/Android.mk 2586@@ -0,0 +1,48 @@ 2587+LOCAL_PATH := $(call my-dir) 2588+ 2589+mips_disassembler_TBLGEN_TABLES := \ 2590+ MipsGenDisassemblerTables.inc \ 2591+ MipsGenInstrInfo.inc \ 2592+ MipsGenRegisterInfo.inc \ 2593+ MipsGenSubtargetInfo.inc 2594+ 2595+mips_disassembler_SRC_FILES := \ 2596+ MipsDisassembler.cpp 2597+ 2598+# For the device 2599+# ===================================================== 2600+ifneq (true,$(DISABLE_LLVM_DEVICE_BUILDS)) 2601+include $(CLEAR_VARS) 2602+include $(CLEAR_TBLGEN_VARS) 2603+ 2604+LOCAL_MODULE:= libLLVMMipsDisassembler 2605+LOCAL_MODULE_TAGS := optional 2606+ 2607+LOCAL_SRC_FILES := $(mips_disassembler_SRC_FILES) 2608+LOCAL_C_INCLUDES += $(LOCAL_PATH)/.. 2609+ 2610+TBLGEN_TABLES := $(mips_disassembler_TBLGEN_TABLES) 2611+TBLGEN_TD_DIR := $(LOCAL_PATH)/.. 2612+ 2613+include $(LLVM_DEVICE_BUILD_MK) 2614+include $(LLVM_TBLGEN_RULES_MK) 2615+include $(BUILD_STATIC_LIBRARY) 2616+endif 2617+ 2618+# For the host 2619+# ===================================================== 2620+include $(CLEAR_VARS) 2621+include $(CLEAR_TBLGEN_VARS) 2622+ 2623+LOCAL_MODULE:= libLLVMMipsDisassembler 2624+LOCAL_MODULE_TAGS := optional 2625+ 2626+LOCAL_SRC_FILES := $(mips_disassembler_SRC_FILES) 2627+LOCAL_C_INCLUDES += $(LOCAL_PATH)/.. 2628+ 2629+TBLGEN_TABLES := $(mips_disassembler_TBLGEN_TABLES) 2630+TBLGEN_TD_DIR := $(LOCAL_PATH)/.. 2631+ 2632+include $(LLVM_HOST_BUILD_MK) 2633+include $(LLVM_TBLGEN_RULES_MK) 2634+include $(BUILD_HOST_STATIC_LIBRARY) 2635diff --git a/lib/Target/Mips/InstPrinter/Android.mk b/lib/Target/Mips/InstPrinter/Android.mk 2636new file mode 100644 2637index 0000000..f4f3a4f 2638--- /dev/null 2639+++ b/lib/Target/Mips/InstPrinter/Android.mk 2640@@ -0,0 +1,48 @@ 2641+LOCAL_PATH := $(call my-dir) 2642+ 2643+mips_asm_printer_TBLGEN_TABLES := \ 2644+ MipsGenAsmWriter.inc \ 2645+ MipsGenRegisterInfo.inc \ 2646+ MipsGenSubtargetInfo.inc \ 2647+ MipsGenInstrInfo.inc 2648+ 2649+mips_asm_printer_SRC_FILES := \ 2650+ MipsInstPrinter.cpp 2651+ 2652+# For the host 2653+# ===================================================== 2654+include $(CLEAR_VARS) 2655+include $(CLEAR_TBLGEN_VARS) 2656+ 2657+LOCAL_MODULE:= libLLVMMipsAsmPrinter 2658+LOCAL_MODULE_TAGS := optional 2659+ 2660+TBLGEN_TABLES := $(mips_asm_printer_TBLGEN_TABLES) 2661+TBLGEN_TD_DIR := $(LOCAL_PATH)/.. 2662+ 2663+LOCAL_SRC_FILES := $(mips_asm_printer_SRC_FILES) 2664+LOCAL_C_INCLUDES += $(LOCAL_PATH)/.. 2665+ 2666+include $(LLVM_HOST_BUILD_MK) 2667+include $(LLVM_TBLGEN_RULES_MK) 2668+include $(BUILD_HOST_STATIC_LIBRARY) 2669+ 2670+# For the device only 2671+# ===================================================== 2672+ifneq (true,$(DISABLE_LLVM_DEVICE_BUILDS)) 2673+include $(CLEAR_VARS) 2674+include $(CLEAR_TBLGEN_VARS) 2675+ 2676+LOCAL_MODULE:= libLLVMMipsAsmPrinter 2677+LOCAL_MODULE_TAGS := optional 2678+ 2679+TBLGEN_TABLES := $(mips_asm_printer_TBLGEN_TABLES) 2680+TBLGEN_TD_DIR := $(LOCAL_PATH)/.. 2681+ 2682+LOCAL_SRC_FILES := $(mips_asm_printer_SRC_FILES) 2683+LOCAL_C_INCLUDES += $(LOCAL_PATH)/.. 2684+ 2685+include $(LLVM_DEVICE_BUILD_MK) 2686+include $(LLVM_TBLGEN_RULES_MK) 2687+include $(BUILD_STATIC_LIBRARY) 2688+endif 2689diff --git a/lib/Target/Mips/MCTargetDesc/Android.mk b/lib/Target/Mips/MCTargetDesc/Android.mk 2690new file mode 100644 2691index 0000000..7ee11a1 2692--- /dev/null 2693+++ b/lib/Target/Mips/MCTargetDesc/Android.mk 2694@@ -0,0 +1,58 @@ 2695+LOCAL_PATH := $(call my-dir) 2696+ 2697+mips_mc_desc_TBLGEN_TABLES := \ 2698+ MipsGenRegisterInfo.inc \ 2699+ MipsGenInstrInfo.inc \ 2700+ MipsGenMCCodeEmitter.inc \ 2701+ MipsGenSubtargetInfo.inc 2702+ 2703+mips_mc_desc_SRC_FILES := \ 2704+ MipsAsmBackend.cpp \ 2705+ MipsELFObjectWriter.cpp \ 2706+ MipsELFStreamer.cpp \ 2707+ MipsMCAsmInfo.cpp \ 2708+ MipsMCCodeEmitter.cpp \ 2709+ MipsMCExpr.cpp \ 2710+ MipsMCTargetDesc.cpp \ 2711+ MipsNaClELFStreamer.cpp \ 2712+ MipsTargetStreamer.cpp 2713+ 2714+# For the host 2715+# ===================================================== 2716+include $(CLEAR_VARS) 2717+include $(CLEAR_TBLGEN_VARS) 2718+ 2719+LOCAL_MODULE:= libLLVMMipsDesc 2720+LOCAL_MODULE_TAGS := optional 2721+ 2722+LOCAL_SRC_FILES := $(mips_mc_desc_SRC_FILES) 2723+LOCAL_C_INCLUDES := $(LOCAL_PATH)/.. 2724+ 2725+TBLGEN_TD_DIR := $(LOCAL_PATH)/.. 2726+TBLGEN_TABLES := $(mips_mc_desc_TBLGEN_TABLES) 2727+ 2728+include $(LLVM_HOST_BUILD_MK) 2729+include $(LLVM_TBLGEN_RULES_MK) 2730+include $(LLVM_GEN_INTRINSICS_MK) 2731+include $(BUILD_HOST_STATIC_LIBRARY) 2732+ 2733+# For the device only 2734+# ===================================================== 2735+ifneq (true,$(DISABLE_LLVM_DEVICE_BUILDS)) 2736+include $(CLEAR_VARS) 2737+include $(CLEAR_TBLGEN_VARS) 2738+ 2739+LOCAL_MODULE:= libLLVMMipsDesc 2740+LOCAL_MODULE_TAGS := optional 2741+ 2742+LOCAL_SRC_FILES := $(mips_mc_desc_SRC_FILES) 2743+LOCAL_C_INCLUDES := $(LOCAL_PATH)/.. 2744+ 2745+TBLGEN_TD_DIR := $(LOCAL_PATH)/.. 2746+TBLGEN_TABLES := $(mips_mc_desc_TBLGEN_TABLES) 2747+ 2748+include $(LLVM_DEVICE_BUILD_MK) 2749+include $(LLVM_TBLGEN_RULES_MK) 2750+include $(LLVM_GEN_INTRINSICS_MK) 2751+include $(BUILD_STATIC_LIBRARY) 2752+endif 2753diff --git a/lib/Target/Mips/TargetInfo/Android.mk b/lib/Target/Mips/TargetInfo/Android.mk 2754new file mode 100644 2755index 0000000..173d05b 2756--- /dev/null 2757+++ b/lib/Target/Mips/TargetInfo/Android.mk 2758@@ -0,0 +1,47 @@ 2759+LOCAL_PATH := $(call my-dir) 2760+ 2761+mips_target_info_TBLGEN_TABLES := \ 2762+ MipsGenInstrInfo.inc \ 2763+ MipsGenRegisterInfo.inc \ 2764+ MipsGenSubtargetInfo.inc 2765+ 2766+mips_target_info_SRC_FILES := \ 2767+ MipsTargetInfo.cpp 2768+ 2769+# For the host 2770+# ===================================================== 2771+include $(CLEAR_VARS) 2772+include $(CLEAR_TBLGEN_VARS) 2773+ 2774+LOCAL_MODULE:= libLLVMMipsInfo 2775+LOCAL_MODULE_TAGS := optional 2776+ 2777+TBLGEN_TABLES := $(mips_target_info_TBLGEN_TABLES) 2778+TBLGEN_TD_DIR := $(LOCAL_PATH)/.. 2779+ 2780+LOCAL_SRC_FILES := $(mips_target_info_SRC_FILES) 2781+LOCAL_C_INCLUDES += $(LOCAL_PATH)/.. 2782+ 2783+include $(LLVM_HOST_BUILD_MK) 2784+include $(LLVM_TBLGEN_RULES_MK) 2785+include $(BUILD_HOST_STATIC_LIBRARY) 2786+ 2787+# For the device 2788+# ===================================================== 2789+ifneq (true,$(DISABLE_LLVM_DEVICE_BUILDS)) 2790+include $(CLEAR_VARS) 2791+include $(CLEAR_TBLGEN_VARS) 2792+ 2793+LOCAL_MODULE:= libLLVMMipsInfo 2794+LOCAL_MODULE_TAGS := optional 2795+ 2796+TBLGEN_TABLES := $(mips_target_info_TBLGEN_TABLES) 2797+TBLGEN_TD_DIR := $(LOCAL_PATH)/.. 2798+ 2799+LOCAL_SRC_FILES := $(mips_target_info_SRC_FILES) 2800+LOCAL_C_INCLUDES += $(LOCAL_PATH)/.. 2801+ 2802+include $(LLVM_DEVICE_BUILD_MK) 2803+include $(LLVM_TBLGEN_RULES_MK) 2804+include $(BUILD_STATIC_LIBRARY) 2805+endif 2806\ No newline at end of file 2807diff --git a/lib/Target/X86/Android.mk b/lib/Target/X86/Android.mk 2808new file mode 100644 2809index 0000000..73031de 2810--- /dev/null 2811+++ b/lib/Target/X86/Android.mk 2812@@ -0,0 +1,72 @@ 2813+LOCAL_PATH := $(call my-dir) 2814+ 2815+x86_codegen_TBLGEN_TABLES := \ 2816+ X86GenAsmWriter.inc \ 2817+ X86GenAsmWriter1.inc \ 2818+ X86GenRegisterInfo.inc \ 2819+ X86GenInstrInfo.inc \ 2820+ X86GenDAGISel.inc \ 2821+ X86GenFastISel.inc \ 2822+ X86GenSubtargetInfo.inc \ 2823+ X86GenCallingConv.inc 2824+ 2825+x86_codegen_SRC_FILES := \ 2826+ X86AsmPrinter.cpp \ 2827+ X86COFFMachineModuleInfo.cpp \ 2828+ X86CodeEmitter.cpp \ 2829+ X86FastISel.cpp \ 2830+ X86FixupLEAs.cpp \ 2831+ X86FloatingPoint.cpp \ 2832+ X86FrameLowering.cpp \ 2833+ X86ISelDAGToDAG.cpp \ 2834+ X86ISelLowering.cpp \ 2835+ X86InstrInfo.cpp \ 2836+ X86JITInfo.cpp \ 2837+ X86MachineFunctionInfo.cpp \ 2838+ X86MCInstLower.cpp \ 2839+ X86PadShortFunction.cpp \ 2840+ X86RegisterInfo.cpp \ 2841+ X86SelectionDAGInfo.cpp \ 2842+ X86Subtarget.cpp \ 2843+ X86TargetMachine.cpp \ 2844+ X86TargetObjectFile.cpp \ 2845+ X86TargetTransformInfo.cpp \ 2846+ X86VZeroUpper.cpp 2847+ 2848+# For the host 2849+# ===================================================== 2850+include $(CLEAR_VARS) 2851+include $(CLEAR_TBLGEN_VARS) 2852+ 2853+TBLGEN_TABLES := $(x86_codegen_TBLGEN_TABLES) 2854+ 2855+LOCAL_SRC_FILES := $(x86_codegen_SRC_FILES) 2856+ 2857+LOCAL_MODULE:= libLLVMX86CodeGen 2858+ 2859+LOCAL_MODULE_TAGS := optional 2860+ 2861+include $(LLVM_HOST_BUILD_MK) 2862+include $(LLVM_TBLGEN_RULES_MK) 2863+include $(LLVM_GEN_INTRINSICS_MK) 2864+include $(BUILD_HOST_STATIC_LIBRARY) 2865+ 2866+# For the device only 2867+# ===================================================== 2868+ifneq (true,$(DISABLE_LLVM_DEVICE_BUILDS)) 2869+include $(CLEAR_VARS) 2870+include $(CLEAR_TBLGEN_VARS) 2871+ 2872+TBLGEN_TABLES := $(x86_codegen_TBLGEN_TABLES) 2873+ 2874+LOCAL_SRC_FILES := $(x86_codegen_SRC_FILES) 2875+ 2876+LOCAL_MODULE:= libLLVMX86CodeGen 2877+ 2878+LOCAL_MODULE_TAGS := optional 2879+ 2880+include $(LLVM_DEVICE_BUILD_MK) 2881+include $(LLVM_TBLGEN_RULES_MK) 2882+include $(LLVM_GEN_INTRINSICS_MK) 2883+include $(BUILD_STATIC_LIBRARY) 2884+endif 2885diff --git a/lib/Target/X86/AsmParser/Android.mk b/lib/Target/X86/AsmParser/Android.mk 2886new file mode 100644 2887index 0000000..4235cb1 2888--- /dev/null 2889+++ b/lib/Target/X86/AsmParser/Android.mk 2890@@ -0,0 +1,59 @@ 2891+LOCAL_PATH := $(call my-dir) 2892+ 2893+# For the device only 2894+# ===================================================== 2895+include $(CLEAR_VARS) 2896+include $(CLEAR_TBLGEN_VARS) 2897+ 2898+x86_asm_parser_SRC_FILES := \ 2899+ X86AsmInstrumentation.cpp \ 2900+ X86AsmParser.cpp 2901+ 2902+x86_asm_parser_TBLGEN_TABLES := \ 2903+ X86GenAsmMatcher.inc \ 2904+ X86GenInstrInfo.inc \ 2905+ X86GenRegisterInfo.inc \ 2906+ X86GenSubtargetInfo.inc 2907+ 2908+x86_asm_parser_TBLGEN_TD_DIR := $(LOCAL_PATH)/.. 2909+ 2910+x86_asm_parser_C_INCLUDES += \ 2911+ $(LOCAL_PATH)/.. 2912+ 2913+ 2914+#===---------------------------------------------------------------=== 2915+# libX86AsmParser (host) 2916+#===---------------------------------------------------------------=== 2917+include $(CLEAR_VARS) 2918+include $(CLEAR_TBLGEN_VARS) 2919+ 2920+LOCAL_MODULE:= libLLVMX86AsmParser 2921+LOCAL_MODULE_TAGS := optional 2922+LOCAL_SRC_FILES := $(x86_asm_parser_SRC_FILES) 2923+LOCAL_C_INCLUDES += $(x86_asm_parser_C_INCLUDES) 2924+TBLGEN_TABLES := $(x86_asm_parser_TBLGEN_TABLES) 2925+TBLGEN_TD_DIR := $(x86_asm_parser_TBLGEN_TD_DIR) 2926+ 2927+include $(LLVM_HOST_BUILD_MK) 2928+include $(LLVM_TBLGEN_RULES_MK) 2929+include $(BUILD_HOST_STATIC_LIBRARY) 2930+ 2931+ 2932+#===---------------------------------------------------------------=== 2933+# libX86AsmParser (target) 2934+#===---------------------------------------------------------------=== 2935+ifneq (true,$(DISABLE_LLVM_DEVICE_BUILDS)) 2936+include $(CLEAR_VARS) 2937+include $(CLEAR_TBLGEN_VARS) 2938+ 2939+LOCAL_MODULE:= libLLVMX86AsmParser 2940+LOCAL_MODULE_TAGS := optional 2941+LOCAL_SRC_FILES := $(x86_asm_parser_SRC_FILES) 2942+LOCAL_C_INCLUDES += $(x86_asm_parser_C_INCLUDES) 2943+TBLGEN_TABLES := $(x86_asm_parser_TBLGEN_TABLES) 2944+TBLGEN_TD_DIR := $(x86_asm_parser_TBLGEN_TD_DIR) 2945+ 2946+include $(LLVM_DEVICE_BUILD_MK) 2947+include $(LLVM_TBLGEN_RULES_MK) 2948+include $(BUILD_STATIC_LIBRARY) 2949+endif 2950diff --git a/lib/Target/X86/Disassembler/Android.mk b/lib/Target/X86/Disassembler/Android.mk 2951new file mode 100644 2952index 0000000..3984266 2953--- /dev/null 2954+++ b/lib/Target/X86/Disassembler/Android.mk 2955@@ -0,0 +1,56 @@ 2956+LOCAL_PATH := $(call my-dir) 2957+ 2958+x86_disassembler_TBLGEN_TABLES := \ 2959+ X86GenDisassemblerTables.inc \ 2960+ X86GenInstrInfo.inc \ 2961+ X86GenRegisterInfo.inc \ 2962+ X86GenSubtargetInfo.inc 2963+ 2964+x86_disassembler_SRC_FILES := \ 2965+ X86Disassembler.cpp \ 2966+ X86DisassemblerDecoder.c 2967+ 2968+# For the device 2969+# ===================================================== 2970+ifneq (true,$(DISABLE_LLVM_DEVICE_BUILDS)) 2971+include $(CLEAR_VARS) 2972+include $(CLEAR_TBLGEN_VARS) 2973+ 2974+TBLGEN_TABLES := $(x86_disassembler_TBLGEN_TABLES) 2975+ 2976+TBLGEN_TD_DIR := $(LOCAL_PATH)/.. 2977+ 2978+LOCAL_SRC_FILES := $(x86_disassembler_SRC_FILES) 2979+ 2980+LOCAL_C_INCLUDES += $(LOCAL_PATH)/.. 2981+ 2982+LOCAL_MODULE:= libLLVMX86Disassembler 2983+ 2984+LOCAL_MODULE_TAGS := optional 2985+ 2986+include $(LLVM_DEVICE_BUILD_MK) 2987+include $(LLVM_TBLGEN_RULES_MK) 2988+include $(BUILD_STATIC_LIBRARY) 2989+endif 2990+ 2991+# For the host 2992+# ===================================================== 2993+include $(CLEAR_VARS) 2994+include $(CLEAR_TBLGEN_VARS) 2995+ 2996+TBLGEN_TABLES := $(x86_disassembler_TBLGEN_TABLES) 2997+ 2998+TBLGEN_TD_DIR := $(LOCAL_PATH)/.. 2999+ 3000+LOCAL_SRC_FILES := $(x86_disassembler_SRC_FILES) 3001+ 3002+LOCAL_C_INCLUDES += \ 3003+ $(LOCAL_PATH)/.. 3004+ 3005+LOCAL_MODULE:= libLLVMX86Disassembler 3006+ 3007+LOCAL_MODULE_TAGS := optional 3008+ 3009+include $(LLVM_HOST_BUILD_MK) 3010+include $(LLVM_TBLGEN_RULES_MK) 3011+include $(BUILD_HOST_STATIC_LIBRARY) 3012diff --git a/lib/Target/X86/InstPrinter/Android.mk b/lib/Target/X86/InstPrinter/Android.mk 3013new file mode 100644 3014index 0000000..9881beb 3015--- /dev/null 3016+++ b/lib/Target/X86/InstPrinter/Android.mk 3017@@ -0,0 +1,57 @@ 3018+LOCAL_PATH := $(call my-dir) 3019+ 3020+x86_instprinter_TBLGEN_TABLES := \ 3021+ X86GenAsmWriter.inc \ 3022+ X86GenAsmWriter1.inc \ 3023+ X86GenInstrInfo.inc \ 3024+ X86GenRegisterInfo.inc \ 3025+ X86GenSubtargetInfo.inc 3026+ 3027+x86_instprinter_SRC_FILES := \ 3028+ X86ATTInstPrinter.cpp \ 3029+ X86IntelInstPrinter.cpp \ 3030+ X86InstComments.cpp 3031+ 3032+# For the device 3033+# ===================================================== 3034+ifneq (true,$(DISABLE_LLVM_DEVICE_BUILDS)) 3035+include $(CLEAR_VARS) 3036+include $(CLEAR_TBLGEN_VARS) 3037+ 3038+TBLGEN_TABLES := $(x86_instprinter_TBLGEN_TABLES) 3039+ 3040+TBLGEN_TD_DIR := $(LOCAL_PATH)/.. 3041+ 3042+LOCAL_SRC_FILES := $(x86_instprinter_SRC_FILES) 3043+ 3044+LOCAL_C_INCLUDES += $(LOCAL_PATH)/.. 3045+ 3046+LOCAL_MODULE:= libLLVMX86AsmPrinter 3047+ 3048+LOCAL_MODULE_TAGS := optional 3049+ 3050+include $(LLVM_DEVICE_BUILD_MK) 3051+include $(LLVM_TBLGEN_RULES_MK) 3052+include $(BUILD_STATIC_LIBRARY) 3053+endif 3054+ 3055+# For the host 3056+# ===================================================== 3057+include $(CLEAR_VARS) 3058+include $(CLEAR_TBLGEN_VARS) 3059+ 3060+TBLGEN_TABLES := $(x86_instprinter_TBLGEN_TABLES) 3061+ 3062+TBLGEN_TD_DIR := $(LOCAL_PATH)/.. 3063+ 3064+LOCAL_SRC_FILES := $(x86_instprinter_SRC_FILES) 3065+ 3066+LOCAL_C_INCLUDES += $(LOCAL_PATH)/.. 3067+ 3068+LOCAL_MODULE := libLLVMX86AsmPrinter 3069+ 3070+LOCAL_MODULE_TAGS := optional 3071+ 3072+include $(LLVM_HOST_BUILD_MK) 3073+include $(LLVM_TBLGEN_RULES_MK) 3074+include $(BUILD_HOST_STATIC_LIBRARY) 3075diff --git a/lib/Target/X86/MCTargetDesc/Android.mk b/lib/Target/X86/MCTargetDesc/Android.mk 3076new file mode 100644 3077index 0000000..ee37c27 3078--- /dev/null 3079+++ b/lib/Target/X86/MCTargetDesc/Android.mk 3080@@ -0,0 +1,56 @@ 3081+LOCAL_PATH := $(call my-dir) 3082+ 3083+x86_mc_desc_TBLGEN_TABLES := \ 3084+ X86GenRegisterInfo.inc \ 3085+ X86GenInstrInfo.inc \ 3086+ X86GenSubtargetInfo.inc 3087+ 3088+x86_mc_desc_SRC_FILES := \ 3089+ X86AsmBackend.cpp \ 3090+ X86ELFObjectWriter.cpp \ 3091+ X86ELFRelocationInfo.cpp \ 3092+ X86MCTargetDesc.cpp \ 3093+ X86MCAsmInfo.cpp \ 3094+ X86MCCodeEmitter.cpp \ 3095+ X86MachORelocationInfo.cpp \ 3096+ X86MachObjectWriter.cpp \ 3097+ X86WinCOFFObjectWriter.cpp 3098+ 3099+# For the host 3100+# ===================================================== 3101+include $(CLEAR_VARS) 3102+include $(CLEAR_TBLGEN_VARS) 3103+ 3104+LOCAL_MODULE:= libLLVMX86Desc 3105+LOCAL_MODULE_TAGS := optional 3106+ 3107+LOCAL_SRC_FILES := $(x86_mc_desc_SRC_FILES) 3108+LOCAL_C_INCLUDES := $(LOCAL_PATH)/.. 3109+TBLGEN_TABLES := $(x86_mc_desc_TBLGEN_TABLES) 3110+TBLGEN_TD_DIR := $(LOCAL_PATH)/.. 3111+ 3112+include $(LLVM_HOST_BUILD_MK) 3113+include $(LLVM_TBLGEN_RULES_MK) 3114+include $(LLVM_GEN_INTRINSICS_MK) 3115+include $(BUILD_HOST_STATIC_LIBRARY) 3116+ 3117+# For the device only 3118+# ===================================================== 3119+ifneq (true,$(DISABLE_LLVM_DEVICE_BUILDS)) 3120+include $(CLEAR_VARS) 3121+include $(CLEAR_TBLGEN_VARS) 3122+ 3123+ 3124+LOCAL_MODULE:= libLLVMX86Desc 3125+LOCAL_MODULE_TAGS := optional 3126+ 3127+LOCAL_SRC_FILES := $(x86_mc_desc_SRC_FILES) 3128+LOCAL_C_INCLUDES := $(LOCAL_PATH)/.. 3129+TBLGEN_TABLES := $(x86_mc_desc_TBLGEN_TABLES) 3130+TBLGEN_TD_DIR := $(LOCAL_PATH)/.. 3131+ 3132+include $(LLVM_DEVICE_BUILD_MK) 3133+include $(LLVM_TBLGEN_RULES_MK) 3134+include $(LLVM_GEN_INTRINSICS_MK) 3135+include $(BUILD_STATIC_LIBRARY) 3136+endif 3137diff --git a/lib/Target/X86/TargetInfo/Android.mk b/lib/Target/X86/TargetInfo/Android.mk 3138new file mode 100644 3139index 0000000..1a6c902 3140--- /dev/null 3141+++ b/lib/Target/X86/TargetInfo/Android.mk 3142@@ -0,0 +1,55 @@ 3143+LOCAL_PATH := $(call my-dir) 3144+ 3145+x86_target_info_TBLGEN_TABLES := \ 3146+ X86GenRegisterInfo.inc \ 3147+ X86GenSubtargetInfo.inc \ 3148+ X86GenInstrInfo.inc 3149+ 3150+x86_target_info_SRC_FILES := \ 3151+ X86TargetInfo.cpp 3152+ 3153+# For the host 3154+# ===================================================== 3155+include $(CLEAR_VARS) 3156+include $(CLEAR_TBLGEN_VARS) 3157+ 3158+TBLGEN_TABLES := $(x86_target_info_TBLGEN_TABLES) 3159+ 3160+TBLGEN_TD_DIR := $(LOCAL_PATH)/.. 3161+ 3162+LOCAL_SRC_FILES := $(x86_target_info_SRC_FILES) 3163+ 3164+LOCAL_C_INCLUDES += \ 3165+ $(LOCAL_PATH)/.. 3166+ 3167+LOCAL_MODULE:= libLLVMX86Info 3168+ 3169+LOCAL_MODULE_TAGS := optional 3170+ 3171+include $(LLVM_HOST_BUILD_MK) 3172+include $(LLVM_TBLGEN_RULES_MK) 3173+include $(BUILD_HOST_STATIC_LIBRARY) 3174+ 3175+# For the device 3176+# ===================================================== 3177+ifneq (true,$(DISABLE_LLVM_DEVICE_BUILDS)) 3178+include $(CLEAR_VARS) 3179+include $(CLEAR_TBLGEN_VARS) 3180+ 3181+TBLGEN_TABLES := $(x86_target_info_TBLGEN_TABLES) 3182+ 3183+TBLGEN_TD_DIR := $(LOCAL_PATH)/.. 3184+ 3185+LOCAL_SRC_FILES := $(x86_target_info_SRC_FILES) 3186+ 3187+LOCAL_C_INCLUDES += \ 3188+ $(LOCAL_PATH)/.. 3189+ 3190+LOCAL_MODULE:= libLLVMX86Info 3191+ 3192+LOCAL_MODULE_TAGS := optional 3193+ 3194+include $(LLVM_DEVICE_BUILD_MK) 3195+include $(LLVM_TBLGEN_RULES_MK) 3196+include $(BUILD_STATIC_LIBRARY) 3197+endif 3198diff --git a/lib/Target/X86/Utils/Android.mk b/lib/Target/X86/Utils/Android.mk 3199new file mode 100644 3200index 0000000..e0c4797 3201--- /dev/null 3202+++ b/lib/Target/X86/Utils/Android.mk 3203@@ -0,0 +1,36 @@ 3204+LOCAL_PATH := $(call my-dir) 3205+ 3206+x86_utils_SRC_FILES := \ 3207+ X86ShuffleDecode.cpp 3208+ 3209+# For the device 3210+# ===================================================== 3211+ifneq (true,$(DISABLE_LLVM_DEVICE_BUILDS)) 3212+include $(CLEAR_VARS) 3213+ 3214+LOCAL_SRC_FILES := $(x86_utils_SRC_FILES) 3215+ 3216+LOCAL_C_INCLUDES += $(LOCAL_PATH)/.. 3217+ 3218+LOCAL_MODULE:= libLLVMX86Utils 3219+ 3220+LOCAL_MODULE_TAGS := optional 3221+ 3222+include $(LLVM_DEVICE_BUILD_MK) 3223+include $(BUILD_STATIC_LIBRARY) 3224+endif 3225+ 3226+# For the host 3227+# ===================================================== 3228+include $(CLEAR_VARS) 3229+ 3230+LOCAL_SRC_FILES := $(x86_utils_SRC_FILES) 3231+ 3232+LOCAL_C_INCLUDES += $(LOCAL_PATH)/.. 3233+ 3234+LOCAL_MODULE:= libLLVMX86Utils 3235+ 3236+LOCAL_MODULE_TAGS := optional 3237+ 3238+include $(LLVM_HOST_BUILD_MK) 3239+include $(BUILD_HOST_STATIC_LIBRARY) 3240diff --git a/lib/Transforms/IPO/Android.mk b/lib/Transforms/IPO/Android.mk 3241new file mode 100644 3242index 0000000..1fe7d63 3243--- /dev/null 3244+++ b/lib/Transforms/IPO/Android.mk 3245@@ -0,0 +1,52 @@ 3246+LOCAL_PATH:= $(call my-dir) 3247+ 3248+transforms_ipo_SRC_FILES := \ 3249+ ArgumentPromotion.cpp \ 3250+ BarrierNoopPass.cpp \ 3251+ ConstantMerge.cpp \ 3252+ DeadArgumentElimination.cpp \ 3253+ ExtractGV.cpp \ 3254+ FunctionAttrs.cpp \ 3255+ GlobalDCE.cpp \ 3256+ GlobalOpt.cpp \ 3257+ IPConstantPropagation.cpp \ 3258+ IPO.cpp \ 3259+ InlineAlways.cpp \ 3260+ InlineSimple.cpp \ 3261+ Inliner.cpp \ 3262+ Internalize.cpp \ 3263+ LoopExtractor.cpp \ 3264+ MergeFunctions.cpp \ 3265+ PartialInlining.cpp \ 3266+ PassManagerBuilder.cpp \ 3267+ PruneEH.cpp \ 3268+ StripDeadPrototypes.cpp \ 3269+ StripSymbols.cpp 3270+ 3271+# For the host 3272+# ===================================================== 3273+include $(CLEAR_VARS) 3274+ 3275+LOCAL_SRC_FILES := $(transforms_ipo_SRC_FILES) 3276+LOCAL_MODULE:= libLLVMipo 3277+ 3278+LOCAL_MODULE_TAGS := optional 3279+ 3280+include $(LLVM_HOST_BUILD_MK) 3281+include $(LLVM_GEN_INTRINSICS_MK) 3282+include $(BUILD_HOST_STATIC_LIBRARY) 3283+ 3284+# For the device 3285+# ===================================================== 3286+ifneq (true,$(DISABLE_LLVM_DEVICE_BUILDS)) 3287+include $(CLEAR_VARS) 3288+ 3289+LOCAL_SRC_FILES := $(transforms_ipo_SRC_FILES) 3290+LOCAL_MODULE:= libLLVMipo 3291+ 3292+LOCAL_MODULE_TAGS := optional 3293+ 3294+include $(LLVM_DEVICE_BUILD_MK) 3295+include $(LLVM_GEN_INTRINSICS_MK) 3296+include $(BUILD_STATIC_LIBRARY) 3297+endif 3298diff --git a/lib/Transforms/InstCombine/Android.mk b/lib/Transforms/InstCombine/Android.mk 3299new file mode 100644 3300index 0000000..62dc7d9 3301--- /dev/null 3302+++ b/lib/Transforms/InstCombine/Android.mk 3303@@ -0,0 +1,44 @@ 3304+LOCAL_PATH:= $(call my-dir) 3305+ 3306+transforms_inst_combine_SRC_FILES := \ 3307+ InstCombineAddSub.cpp \ 3308+ InstCombineAndOrXor.cpp \ 3309+ InstCombineCalls.cpp \ 3310+ InstCombineCasts.cpp \ 3311+ InstCombineCompares.cpp \ 3312+ InstCombineLoadStoreAlloca.cpp \ 3313+ InstCombineMulDivRem.cpp \ 3314+ InstCombinePHI.cpp \ 3315+ InstCombineSelect.cpp \ 3316+ InstCombineShifts.cpp \ 3317+ InstCombineSimplifyDemanded.cpp \ 3318+ InstCombineVectorOps.cpp \ 3319+ InstructionCombining.cpp 3320+ 3321+# For the host 3322+# ===================================================== 3323+include $(CLEAR_VARS) 3324+ 3325+LOCAL_SRC_FILES := $(transforms_inst_combine_SRC_FILES) 3326+LOCAL_MODULE:= libLLVMInstCombine 3327+ 3328+LOCAL_MODULE_TAGS := optional 3329+ 3330+include $(LLVM_HOST_BUILD_MK) 3331+include $(LLVM_GEN_INTRINSICS_MK) 3332+include $(BUILD_HOST_STATIC_LIBRARY) 3333+ 3334+# For the device 3335+# ===================================================== 3336+ifneq (true,$(DISABLE_LLVM_DEVICE_BUILDS)) 3337+include $(CLEAR_VARS) 3338+ 3339+LOCAL_SRC_FILES := $(transforms_inst_combine_SRC_FILES) 3340+LOCAL_MODULE:= libLLVMInstCombine 3341+ 3342+LOCAL_MODULE_TAGS := optional 3343+ 3344+include $(LLVM_DEVICE_BUILD_MK) 3345+include $(LLVM_GEN_INTRINSICS_MK) 3346+include $(BUILD_STATIC_LIBRARY) 3347+endif 3348diff --git a/lib/Transforms/Instrumentation/Android.mk b/lib/Transforms/Instrumentation/Android.mk 3349new file mode 100644 3350index 0000000..f9a55c7 3351--- /dev/null 3352+++ b/lib/Transforms/Instrumentation/Android.mk 3353@@ -0,0 +1,37 @@ 3354+LOCAL_PATH:= $(call my-dir) 3355+ 3356+instrumentation_SRC_FILES := \ 3357+ AddressSanitizer.cpp \ 3358+ BoundsChecking.cpp \ 3359+ DataFlowSanitizer.cpp \ 3360+ DebugIR.cpp \ 3361+ GCOVProfiling.cpp \ 3362+ Instrumentation.cpp \ 3363+ MemorySanitizer.cpp \ 3364+ ThreadSanitizer.cpp 3365+ 3366+# For the host 3367+# ===================================================== 3368+include $(CLEAR_VARS) 3369+ 3370+LOCAL_MODULE:= libLLVMInstrumentation 3371+LOCAL_MODULE_TAGS := optional 3372+LOCAL_SRC_FILES := $(instrumentation_SRC_FILES) 3373+ 3374+include $(LLVM_HOST_BUILD_MK) 3375+include $(LLVM_GEN_INTRINSICS_MK) 3376+include $(BUILD_HOST_STATIC_LIBRARY) 3377+ 3378+# For the target 3379+# ===================================================== 3380+ifneq (true,$(DISABLE_LLVM_DEVICE_BUILDS)) 3381+include $(CLEAR_VARS) 3382+ 3383+LOCAL_MODULE:= libLLVMInstrumentation 3384+LOCAL_MODULE_TAGS := optional 3385+LOCAL_SRC_FILES := $(instrumentation_SRC_FILES) 3386+ 3387+include $(LLVM_DEVICE_BUILD_MK) 3388+include $(LLVM_GEN_INTRINSICS_MK) 3389+include $(BUILD_STATIC_LIBRARY) 3390+endif 3391diff --git a/lib/Transforms/ObjCARC/Android.mk b/lib/Transforms/ObjCARC/Android.mk 3392new file mode 100644 3393index 0000000..226e9e1 3394--- /dev/null 3395+++ b/lib/Transforms/ObjCARC/Android.mk 3396@@ -0,0 +1,40 @@ 3397+LOCAL_PATH:= $(call my-dir) 3398+ 3399+transforms_objcarc_SRC_FILES := \ 3400+ DependencyAnalysis.cpp \ 3401+ ObjCARCAliasAnalysis.cpp \ 3402+ ObjCARCAPElim.cpp \ 3403+ ObjCARCContract.cpp \ 3404+ ObjCARC.cpp \ 3405+ ObjCARCExpand.cpp \ 3406+ ObjCARCOpts.cpp \ 3407+ ObjCARCUtil.cpp \ 3408+ ProvenanceAnalysis.cpp 3409+ 3410+# For the host 3411+# ===================================================== 3412+include $(CLEAR_VARS) 3413+ 3414+LOCAL_SRC_FILES := $(transforms_objcarc_SRC_FILES) 3415+LOCAL_MODULE:= libLLVMTransformObjCARC 3416+ 3417+LOCAL_MODULE_TAGS := optional 3418+ 3419+include $(LLVM_HOST_BUILD_MK) 3420+include $(LLVM_GEN_INTRINSICS_MK) 3421+include $(BUILD_HOST_STATIC_LIBRARY) 3422+ 3423+# For the device 3424+# ===================================================== 3425+ifneq (true,$(DISABLE_LLVM_DEVICE_BUILDS)) 3426+include $(CLEAR_VARS) 3427+ 3428+LOCAL_SRC_FILES := $(transforms_objcarc_SRC_FILES) 3429+LOCAL_MODULE:= libLLVMTransformObjCARC 3430+ 3431+LOCAL_MODULE_TAGS := optional 3432+ 3433+include $(LLVM_DEVICE_BUILD_MK) 3434+include $(LLVM_GEN_INTRINSICS_MK) 3435+include $(BUILD_STATIC_LIBRARY) 3436+endif 3437diff --git a/lib/Transforms/Scalar/Android.mk b/lib/Transforms/Scalar/Android.mk 3438new file mode 100644 3439index 0000000..3894f93 3440--- /dev/null 3441+++ b/lib/Transforms/Scalar/Android.mk 3442@@ -0,0 +1,73 @@ 3443+LOCAL_PATH:= $(call my-dir) 3444+ 3445+transforms_scalar_SRC_FILES := \ 3446+ ADCE.cpp \ 3447+ ConstantProp.cpp \ 3448+ ConstantHoisting.cpp \ 3449+ CorrelatedValuePropagation.cpp \ 3450+ DCE.cpp \ 3451+ DeadStoreElimination.cpp \ 3452+ EarlyCSE.cpp \ 3453+ GlobalMerge.cpp \ 3454+ GVN.cpp \ 3455+ IndVarSimplify.cpp \ 3456+ JumpThreading.cpp \ 3457+ LICM.cpp \ 3458+ LoopDeletion.cpp \ 3459+ LoopIdiomRecognize.cpp \ 3460+ LoopInstSimplify.cpp \ 3461+ LoopRerollPass.cpp \ 3462+ LoopRotation.cpp \ 3463+ LoopStrengthReduce.cpp \ 3464+ LoopUnrollPass.cpp \ 3465+ LoopUnswitch.cpp \ 3466+ LowerAtomic.cpp \ 3467+ MemCpyOptimizer.cpp \ 3468+ PartiallyInlineLibCalls.cpp \ 3469+ Reassociate.cpp \ 3470+ Reg2Mem.cpp \ 3471+ SCCP.cpp \ 3472+ SROA.cpp \ 3473+ SampleProfile.cpp \ 3474+ Scalar.cpp \ 3475+ Scalarizer.cpp \ 3476+ ScalarReplAggregates.cpp \ 3477+ SimplifyCFGPass.cpp \ 3478+ Sink.cpp \ 3479+ StructurizeCFG.cpp \ 3480+ TailRecursionElimination.cpp 3481+ 3482+# For the host 3483+# ===================================================== 3484+include $(CLEAR_VARS) 3485+ 3486+LOCAL_SRC_FILES := \ 3487+ $(transforms_scalar_SRC_FILES) 3488+ 3489+LOCAL_MODULE:= libLLVMScalarOpts 3490+ 3491+LOCAL_MODULE_TAGS := optional 3492+ 3493+include $(LLVM_HOST_BUILD_MK) 3494+include $(LLVM_GEN_INTRINSICS_MK) 3495+include $(BUILD_HOST_STATIC_LIBRARY) 3496+ 3497+# For the device 3498+# ===================================================== 3499+ifneq (true,$(DISABLE_LLVM_DEVICE_BUILDS)) 3500+include $(CLEAR_VARS) 3501+ 3502+LOCAL_SRC_FILES := $(transforms_scalar_SRC_FILES) 3503+LOCAL_MODULE:= libLLVMScalarOpts 3504+ 3505+# Override the default optimization level to work around a SIGSEGV 3506+# on x86 target builds for SROA.cpp. 3507+# Bug: 8047767 3508+LOCAL_CFLAGS_x86 += -O1 3509+ 3510+LOCAL_MODULE_TAGS := optional 3511+ 3512+include $(LLVM_DEVICE_BUILD_MK) 3513+include $(LLVM_GEN_INTRINSICS_MK) 3514+include $(BUILD_STATIC_LIBRARY) 3515+endif 3516diff --git a/lib/Transforms/Utils/Android.mk b/lib/Transforms/Utils/Android.mk 3517new file mode 100644 3518index 0000000..ab4d8a8 3519--- /dev/null 3520+++ b/lib/Transforms/Utils/Android.mk 3521@@ -0,0 +1,66 @@ 3522+LOCAL_PATH:= $(call my-dir) 3523+ 3524+transforms_utils_SRC_FILES := \ 3525+ AddDiscriminators.cpp \ 3526+ ASanStackFrameLayout.cpp \ 3527+ BasicBlockUtils.cpp \ 3528+ BreakCriticalEdges.cpp \ 3529+ BuildLibCalls.cpp \ 3530+ BypassSlowDivision.cpp \ 3531+ CloneFunction.cpp \ 3532+ CloneModule.cpp \ 3533+ CmpInstAnalysis.cpp \ 3534+ CodeExtractor.cpp \ 3535+ DemoteRegToStack.cpp \ 3536+ GlobalStatus.cpp \ 3537+ InlineFunction.cpp \ 3538+ InstructionNamer.cpp \ 3539+ LCSSA.cpp \ 3540+ Local.cpp \ 3541+ LoopSimplify.cpp \ 3542+ LoopUnroll.cpp \ 3543+ LoopUnrollRuntime.cpp \ 3544+ LowerExpectIntrinsic.cpp \ 3545+ LowerInvoke.cpp \ 3546+ LowerSwitch.cpp \ 3547+ Mem2Reg.cpp \ 3548+ MetaRenamer.cpp \ 3549+ ModuleUtils.cpp \ 3550+ PromoteMemoryToRegister.cpp \ 3551+ SSAUpdater.cpp \ 3552+ SimplifyCFG.cpp \ 3553+ SimplifyIndVar.cpp \ 3554+ SimplifyInstructions.cpp \ 3555+ SimplifyLibCalls.cpp \ 3556+ SpecialCaseList.cpp \ 3557+ UnifyFunctionExitNodes.cpp \ 3558+ Utils.cpp \ 3559+ ValueMapper.cpp 3560+ 3561+# For the host 3562+# ===================================================== 3563+include $(CLEAR_VARS) 3564+ 3565+LOCAL_SRC_FILES := $(transforms_utils_SRC_FILES) 3566+LOCAL_MODULE:= libLLVMTransformUtils 3567+ 3568+LOCAL_MODULE_TAGS := optional 3569+ 3570+include $(LLVM_HOST_BUILD_MK) 3571+include $(LLVM_GEN_INTRINSICS_MK) 3572+include $(BUILD_HOST_STATIC_LIBRARY) 3573+ 3574+# For the device 3575+# ===================================================== 3576+ifneq (true,$(DISABLE_LLVM_DEVICE_BUILDS)) 3577+include $(CLEAR_VARS) 3578+ 3579+LOCAL_SRC_FILES := $(transforms_utils_SRC_FILES) 3580+LOCAL_MODULE:= libLLVMTransformUtils 3581+ 3582+LOCAL_MODULE_TAGS := optional 3583+ 3584+include $(LLVM_DEVICE_BUILD_MK) 3585+include $(LLVM_GEN_INTRINSICS_MK) 3586+include $(BUILD_STATIC_LIBRARY) 3587+endif 3588diff --git a/lib/Transforms/Vectorize/Android.mk b/lib/Transforms/Vectorize/Android.mk 3589new file mode 100644 3590index 0000000..ea090c0 3591--- /dev/null 3592+++ b/lib/Transforms/Vectorize/Android.mk 3593@@ -0,0 +1,35 @@ 3594+LOCAL_PATH:= $(call my-dir) 3595+ 3596+transforms_vectorize_SRC_FILES := \ 3597+ BBVectorize.cpp \ 3598+ LoopVectorize.cpp \ 3599+ SLPVectorizer.cpp \ 3600+ Vectorize.cpp 3601+ 3602+# For the host 3603+# ===================================================== 3604+include $(CLEAR_VARS) 3605+ 3606+LOCAL_SRC_FILES := $(transforms_vectorize_SRC_FILES) 3607+LOCAL_MODULE:= libLLVMVectorize 3608+ 3609+LOCAL_MODULE_TAGS := optional 3610+ 3611+include $(LLVM_HOST_BUILD_MK) 3612+include $(LLVM_GEN_INTRINSICS_MK) 3613+include $(BUILD_HOST_STATIC_LIBRARY) 3614+ 3615+# For the device 3616+# ===================================================== 3617+ifneq (true,$(DISABLE_LLVM_DEVICE_BUILDS)) 3618+include $(CLEAR_VARS) 3619+ 3620+LOCAL_SRC_FILES := $(transforms_vectorize_SRC_FILES) 3621+LOCAL_MODULE:= libLLVMVectorize 3622+ 3623+LOCAL_MODULE_TAGS := optional 3624+ 3625+include $(LLVM_DEVICE_BUILD_MK) 3626+include $(LLVM_GEN_INTRINSICS_MK) 3627+include $(BUILD_STATIC_LIBRARY) 3628+endif 3629diff --git a/llvm-device-build.mk b/llvm-device-build.mk 3630new file mode 100644 3631index 0000000..7464c98 3632--- /dev/null 3633+++ b/llvm-device-build.mk 3634@@ -0,0 +1,79 @@ 3635+LOCAL_MODULE_TARGET_ARCH := $(LLVM_SUPPORTED_ARCH) 3636+ 3637+LOCAL_CLANG := true 3638+ 3639+LOCAL_CFLAGS := \ 3640+ -D_GNU_SOURCE \ 3641+ -D__STDC_LIMIT_MACROS \ 3642+ -D__STDC_CONSTANT_MACROS \ 3643+ -D__STDC_FORMAT_MACROS \ 3644+ -O2 \ 3645+ -fomit-frame-pointer \ 3646+ -Wall \ 3647+ -W \ 3648+ -Wno-unused-parameter \ 3649+ -Wwrite-strings \ 3650+ -Dsprintf=sprintf \ 3651+ $(LOCAL_CFLAGS) 3652+ 3653+# The three inline options together reduce libbcc.so almost 1MB. 3654+# We move them from global build/core/combo/TARGET_linux-arm.mk 3655+# to here. 3656+LOCAL_CFLAGS := -DANDROID_TARGET_BUILD \ 3657+ -finline-functions \ 3658+ $(LOCAL_CFLAGS) 3659+ 3660+ifeq ($(TARGET_BUILD_VARIANT),eng) 3661+LOCAL_CFLAGS := -DANDROID_ENGINEERING_BUILD \ 3662+ $(LOCAL_CFLAGS) 3663+endif 3664+ 3665+ifeq ($(LLVM_ENABLE_ASSERTION),true) 3666+LOCAL_CFLAGS := \ 3667+ $(LOCAL_CFLAGS) \ 3668+ -D_DEBUG \ 3669+ -UNDEBUG 3670+endif 3671+ 3672+ifneq ($(REQUIRES_EH),1) 3673+LOCAL_CFLAGS += -fno-exceptions 3674+else 3675+# No action. The device target should not have exception enabled since bionic 3676+# doesn't support it 3677+REQUIRES_EH := 0 3678+endif 3679+ 3680+ifneq ($(REQUIRES_RTTI),1) 3681+LOCAL_CPPFLAGS += -fno-rtti 3682+else 3683+REQUIRES_RTTI := 0 3684+endif 3685+ 3686+LOCAL_CPPFLAGS := \ 3687+ $(LOCAL_CPPFLAGS) \ 3688+ -Woverloaded-virtual \ 3689+ -Wno-sign-promo 3690+ 3691+# Make sure bionic is first so we can include system headers. 3692+LOCAL_C_INCLUDES := \ 3693+ bionic \ 3694+ external/stlport/stlport \ 3695+ $(LLVM_ROOT_PATH) \ 3696+ $(LLVM_ROOT_PATH)/include \ 3697+ $(LLVM_ROOT_PATH)/device/include \ 3698+ $(LOCAL_C_INCLUDES) 3699+ 3700+########################################################### 3701+## Commands for running tblgen to compile a td file 3702+########################################################### 3703+define transform-device-td-to-out 3704+@mkdir -p $(dir $@) 3705+@echo "Device TableGen (gen-$(1)): $(TBLGEN_LOCAL_MODULE) <= $<" 3706+$(hide) $(TBLGEN) \ 3707+ -I $(dir $<) \ 3708+ -I $(LLVM_ROOT_PATH)/include \ 3709+ -I $(LLVM_ROOT_PATH)/device/include \ 3710+ -I $(LLVM_ROOT_PATH)/lib/Target \ 3711+ -gen-$(strip $(1)) \ 3712+ -o $@ $< 3713+endef 3714diff --git a/llvm-gen-intrinsics.mk b/llvm-gen-intrinsics.mk 3715new file mode 100644 3716index 0000000..358027b 3717--- /dev/null 3718+++ b/llvm-gen-intrinsics.mk 3719@@ -0,0 +1,19 @@ 3720+# We treat Intrinsics.td as a very special target just like what lib/VMCore/Makefile does 3721+INTRINSICTD := $(LLVM_ROOT_PATH)/include/llvm/IR/Intrinsics.td 3722+INTRINSICTDS := $(wildcard $(dir $(INTRINSICTD))/Intrinsics*.td) 3723+ 3724+LOCAL_SRC_FILES := $(INTRINSICTD) $(LOCAL_SRC_FILES) 3725+ 3726+ifeq ($(LOCAL_MODULE_CLASS),) 3727+ LOCAL_MODULE_CLASS := STATIC_LIBRARIES 3728+endif 3729+ 3730+GENFILE := $(addprefix $(call local-generated-sources-dir)/llvm/IR/,Intrinsics.gen) 3731+LOCAL_GENERATED_SOURCES += $(GENFILE) 3732+$(GENFILE): TBLGEN_LOCAL_MODULE := $(LOCAL_MODULE) 3733+$(GENFILE): $(INTRINSICTD) $(INTRINSICTDS) | $(TBLGEN) 3734+ifeq ($(LOCAL_IS_HOST_MODULE),true) 3735+ $(call transform-host-td-to-out,intrinsic) 3736+else 3737+ $(call transform-device-td-to-out,intrinsic) 3738+endif 3739diff --git a/llvm-host-build.mk b/llvm-host-build.mk 3740new file mode 100644 3741index 0000000..7e96615 3742--- /dev/null 3743+++ b/llvm-host-build.mk 3744@@ -0,0 +1,64 @@ 3745+LOCAL_CLANG := true 3746+ 3747+LOCAL_CFLAGS += \ 3748+ -D_GNU_SOURCE \ 3749+ -D__STDC_LIMIT_MACROS \ 3750+ -O2 \ 3751+ -fomit-frame-pointer \ 3752+ -Wall \ 3753+ -W \ 3754+ -Wno-unused-parameter \ 3755+ -Wwrite-strings \ 3756+ -Dsprintf=sprintf \ 3757+ $(LOCAL_CFLAGS) 3758+ 3759+ifeq ($(LLVM_ENABLE_ASSERTION),true) 3760+LOCAL_CFLAGS := \ 3761+ $(LOCAL_CFLAGS) \ 3762+ -D_DEBUG \ 3763+ -UNDEBUG 3764+endif 3765+ 3766+ifneq ($(REQUIRES_EH),1) 3767+LOCAL_CFLAGS += -fno-exceptions 3768+else 3769+REQUIRES_EH := 0 3770+LOCAL_CFLAGS += -fexceptions 3771+endif 3772+ 3773+ifneq ($(REQUIRES_RTTI),1) 3774+LOCAL_CPPFLAGS += -fno-rtti 3775+else 3776+REQUIRES_RTTI := 0 3777+endif 3778+ 3779+LOCAL_CPPFLAGS := \ 3780+ $(LOCAL_CPPFLAGS) \ 3781+ -Woverloaded-virtual \ 3782+ -Wno-sign-promo \ 3783+ -std=c++11 3784+ 3785+# Make sure bionic is first so we can include system headers. 3786+LOCAL_C_INCLUDES := \ 3787+ $(LLVM_ROOT_PATH) \ 3788+ $(LLVM_ROOT_PATH)/include \ 3789+ $(LLVM_ROOT_PATH)/host/include \ 3790+ $(LOCAL_C_INCLUDES) 3791+ 3792+LOCAL_IS_HOST_MODULE := true 3793+ 3794+########################################################### 3795+## Commands for running tblgen to compile a td file 3796+########################################################### 3797+define transform-host-td-to-out 3798+@mkdir -p $(dir $@) 3799+@echo "Host TableGen: $(TBLGEN_LOCAL_MODULE) (gen-$(1)) <= $<" 3800+$(hide) $(TBLGEN) \ 3801+ -I $(dir $<) \ 3802+ -I $(LLVM_ROOT_PATH)/include \ 3803+ -I $(LLVM_ROOT_PATH)/host/include \ 3804+ -I $(LLVM_ROOT_PATH)/lib/Target \ 3805+ $(if $(strip $(CLANG_ROOT_PATH)),-I $(CLANG_ROOT_PATH)/include,) \ 3806+ -gen-$(strip $(1)) \ 3807+ -o $@ $< 3808+endef 3809diff --git a/llvm-tblgen-rules.mk b/llvm-tblgen-rules.mk 3810new file mode 100644 3811index 0000000..0746e8b 3812--- /dev/null 3813+++ b/llvm-tblgen-rules.mk 3814@@ -0,0 +1,208 @@ 3815+########################################################### 3816+## Commands for running tblgen to compile a td file 3817+########################################################## 3818+define transform-td-to-out 3819+$(if $(LOCAL_IS_HOST_MODULE), \ 3820+ $(call transform-host-td-to-out,$(1)), \ 3821+ $(call transform-device-td-to-out,$(1))) 3822+endef 3823+ 3824+########################################################### 3825+## TableGen: Compile .td files to .inc. 3826+########################################################### 3827+ 3828+# Set LOCAL_MODULE_CLASS to STATIC_LIBRARIES default (require 3829+# for macro local-generated-sources-dir) 3830+ifeq ($(LOCAL_MODULE_CLASS),) 3831+ LOCAL_MODULE_CLASS := STATIC_LIBRARIES 3832+endif 3833+ 3834+ifneq ($(strip $(TBLGEN_TABLES)),) 3835+ 3836+generated_sources := $(call local-generated-sources-dir) 3837+tblgen_gen_tables := $(addprefix $(generated_sources)/,$(TBLGEN_TABLES)) 3838+LOCAL_GENERATED_SOURCES += $(tblgen_gen_tables) 3839+ 3840+tblgen_source_dir := $(LOCAL_PATH) 3841+ifneq ($(TBLGEN_TD_DIR),) 3842+tblgen_source_dir := $(TBLGEN_TD_DIR) 3843+endif 3844+ 3845+ifneq (,$(filter $(tblgen_source_dir),MCTargetDesc)) 3846+tblgen_td_deps := $(tblgen_source_dir)/../*.td 3847+else 3848+tblgen_td_deps := $(tblgen_source_dir)/*.td 3849+endif 3850+tblgen_td_deps := $(wildcard $(tblgen_td_deps)) 3851+ 3852+# 3853+# The directory and the .td directory is not the same. 3854+# 3855+ifeq ($(tblgen_source_dir),$(LLVM_ROOT_PATH)/lib/Target/ARM/MCTargetDesc) 3856+$(generated_sources)/%GenRegisterInfo.inc: TBLGEN_LOCAL_MODULE := $(LOCAL_MODULE) 3857+$(generated_sources)/%GenRegisterInfo.inc: $(tblgen_source_dir)/../%.td \ 3858+ $(tblgen_td_deps) | $(TBLGEN) 3859+ $(call transform-td-to-out, register-info) 3860+ 3861+$(generated_sources)/%GenInstrInfo.inc: TBLGEN_LOCAL_MODULE := $(LOCAL_MODULE) 3862+$(generated_sources)/%GenInstrInfo.inc: $(tblgen_source_dir)/../%.td \ 3863+ $(tblgen_td_deps) | $(TBLGEN) 3864+ $(call transform-td-to-out,instr-info) 3865+ 3866+$(generated_sources)/%GenSubtargetInfo.inc: TBLGEN_LOCAL_MODULE := $(LOCAL_MODULE) 3867+$(generated_sources)/%GenSubtargetInfo.inc: $(tblgen_source_dir)/../%.td \ 3868+ $(tblgen_td_deps) | $(TBLGEN) 3869+ $(call transform-td-to-out,subtarget) 3870+endif 3871+ 3872+ifeq ($(tblgen_source_dir),$(LLVM_ROOT_PATH)/lib/Target/X86/MCTargetDesc) 3873+$(generated_sources)/%GenRegisterInfo.inc: TBLGEN_LOCAL_MODULE := $(LOCAL_MODULE) 3874+$(generated_sources)/%GenRegisterInfo.inc: $(tblgen_source_dir)/../%.td \ 3875+ $(tblgen_td_deps) | $(TBLGEN) 3876+ $(call transform-td-to-out, register-info) 3877+ 3878+$(generated_sources)/%GenInstrInfo.inc: TBLGEN_LOCAL_MODULE := $(LOCAL_MODULE) 3879+$(generated_sources)/%GenInstrInfo.inc: $(tblgen_source_dir)/../%.td \ 3880+ $(tblgen_td_deps) | $(TBLGEN) 3881+ $(call transform-td-to-out,instr-info) 3882+ 3883+$(generated_sources)/%GenSubtargetInfo.inc: TBLGEN_LOCAL_MODULE := $(LOCAL_MODULE) 3884+$(generated_sources)/%GenSubtargetInfo.inc: $(tblgen_source_dir)/../%.td \ 3885+ $(tblgen_td_deps) | $(TBLGEN) 3886+ $(call transform-td-to-out,subtarget) 3887+endif 3888+ 3889+ifeq ($(tblgen_source_dir),$(LLVM_ROOT_PATH)/lib/Target/Mips/MCTargetDesc) 3890+$(generated_sources)/%GenRegisterInfo.inc: TBLGEN_LOCAL_MODULE := $(LOCAL_MODULE) 3891+$(generated_sources)/%GenRegisterInfo.inc: $(tblgen_source_dir)/../%.td \ 3892+ $(tblgen_td_deps) | $(TBLGEN) 3893+ $(call transform-td-to-out, register-info) 3894+ 3895+$(generated_sources)/%GenInstrInfo.inc: TBLGEN_LOCAL_MODULE := $(LOCAL_MODULE) 3896+$(generated_sources)/%GenInstrInfo.inc: $(tblgen_source_dir)/../%.td \ 3897+ $(tblgen_td_deps) | $(TBLGEN) 3898+ $(call transform-td-to-out,instr-info) 3899+ 3900+$(generated_sources)/%GenSubtargetInfo.inc: TBLGEN_LOCAL_MODULE := $(LOCAL_MODULE) 3901+$(generated_sources)/%GenSubtargetInfo.inc: $(tblgen_source_dir)/../%.td \ 3902+ $(tblgen_td_deps) | $(TBLGEN) 3903+ $(call transform-td-to-out,subtarget) 3904+endif 3905+ 3906+ 3907+ifneq ($(filter %GenRegisterInfo.inc,$(tblgen_gen_tables)),) 3908+$(generated_sources)/%GenRegisterInfo.inc: TBLGEN_LOCAL_MODULE := $(LOCAL_MODULE) 3909+$(generated_sources)/%GenRegisterInfo.inc: $(tblgen_source_dir)/%.td \ 3910+ $(tblgen_td_deps) | $(TBLGEN) 3911+ $(call transform-td-to-out,register-info) 3912+endif 3913+ 3914+ifneq ($(filter %GenInstrInfo.inc,$(tblgen_gen_tables)),) 3915+$(generated_sources)/%GenInstrInfo.inc: TBLGEN_LOCAL_MODULE := $(LOCAL_MODULE) 3916+$(generated_sources)/%GenInstrInfo.inc: $(tblgen_source_dir)/%.td \ 3917+ $(tblgen_td_deps) | $(TBLGEN) 3918+ $(call transform-td-to-out,instr-info) 3919+endif 3920+ 3921+ifneq ($(filter %GenAsmWriter.inc,$(tblgen_gen_tables)),) 3922+$(generated_sources)/%GenAsmWriter.inc: TBLGEN_LOCAL_MODULE := $(LOCAL_MODULE) 3923+$(generated_sources)/%GenAsmWriter.inc: $(tblgen_source_dir)/%.td \ 3924+ $(tblgen_td_deps) | $(TBLGEN) 3925+ $(call transform-td-to-out,asm-writer) 3926+endif 3927+ 3928+ifneq ($(filter %GenAsmWriter1.inc,$(tblgen_gen_tables)),) 3929+$(generated_sources)/%GenAsmWriter1.inc: TBLGEN_LOCAL_MODULE := $(LOCAL_MODULE) 3930+$(generated_sources)/%GenAsmWriter1.inc: $(tblgen_source_dir)/%.td \ 3931+ $(tblgen_td_deps) | $(TBLGEN) 3932+ $(call transform-td-to-out,asm-writer -asmwriternum=1) 3933+endif 3934+ 3935+ifneq ($(filter %GenAsmMatcher.inc,$(tblgen_gen_tables)),) 3936+$(generated_sources)/%GenAsmMatcher.inc: TBLGEN_LOCAL_MODULE := $(LOCAL_MODULE) 3937+$(generated_sources)/%GenAsmMatcher.inc: $(tblgen_source_dir)/%.td \ 3938+ $(tblgen_td_deps) | $(TBLGEN) 3939+ $(call transform-td-to-out,asm-matcher) 3940+endif 3941+ 3942+ifneq ($(filter %GenCodeEmitter.inc,$(tblgen_gen_tables)),) 3943+$(generated_sources)/%GenCodeEmitter.inc: TBLGEN_LOCAL_MODULE := $(LOCAL_MODULE) 3944+$(generated_sources)/%GenCodeEmitter.inc: $(tblgen_source_dir)/%.td \ 3945+ $(tblgen_td_deps) | $(TBLGEN) 3946+ $(call transform-td-to-out,emitter) 3947+endif 3948+ 3949+ifneq ($(filter %GenMCCodeEmitter.inc,$(tblgen_gen_tables)),) 3950+$(generated_sources)/%GenMCCodeEmitter.inc: TBLGEN_LOCAL_MODULE := $(LOCAL_MODULE) 3951+$(generated_sources)/%GenMCCodeEmitter.inc: $(tblgen_source_dir)/%.td \ 3952+ $(tblgen_td_deps) | $(TBLGEN) 3953+ $(call transform-td-to-out,emitter -mc-emitter) 3954+endif 3955+ 3956+ifneq ($(filter %GenMCPseudoLowering.inc,$(tblgen_gen_tables)),) 3957+$(generated_sources)/%GenMCPseudoLowering.inc: TBLGEN_LOCAL_MODULE := $(LOCAL_MODULE) 3958+$(generated_sources)/%GenMCPseudoLowering.inc: $(tblgen_source_dir)/%.td \ 3959+ $(tblgen_td_deps) | $(TBLGEN) 3960+ $(call transform-td-to-out,pseudo-lowering) 3961+endif 3962+ 3963+ifneq ($(filter %GenDAGISel.inc,$(tblgen_gen_tables)),) 3964+$(generated_sources)/%GenDAGISel.inc: TBLGEN_LOCAL_MODULE := $(LOCAL_MODULE) 3965+$(generated_sources)/%GenDAGISel.inc: $(tblgen_source_dir)/%.td \ 3966+ $(tblgen_td_deps) | $(TBLGEN) 3967+ $(call transform-td-to-out,dag-isel) 3968+endif 3969+ 3970+ifneq ($(filter %GenDisassemblerTables.inc,$(tblgen_gen_tables)),) 3971+$(generated_sources)/%GenDisassemblerTables.inc: TBLGEN_LOCAL_MODULE := $(LOCAL_MODULE) 3972+$(generated_sources)/%GenDisassemblerTables.inc: $(tblgen_source_dir)/%.td \ 3973+ $(tblgen_td_deps) | $(TBLGEN) 3974+ $(call transform-td-to-out,disassembler) 3975+endif 3976+ 3977+ifneq ($(filter %GenEDInfo.inc,$(tblgen_gen_tables)),) 3978+$(generated_sources)/%GenEDInfo.inc: TBLGEN_LOCAL_MODULE := $(LOCAL_MODULE) 3979+$(generated_sources)/%GenEDInfo.inc: $(tblgen_source_dir)/%.td \ 3980+ $(tblgen_td_deps) | $(TBLGEN) 3981+ $(call transform-td-to-out,enhanced-disassembly-info) 3982+endif 3983+ 3984+ifneq ($(filter %GenFastISel.inc,$(tblgen_gen_tables)),) 3985+$(generated_sources)/%GenFastISel.inc: TBLGEN_LOCAL_MODULE := $(LOCAL_MODULE) 3986+$(generated_sources)/%GenFastISel.inc: $(tblgen_source_dir)/%.td \ 3987+ $(tblgen_td_deps) | $(TBLGEN) 3988+ $(call transform-td-to-out,fast-isel) 3989+endif 3990+ 3991+ifneq ($(filter %GenSubtargetInfo.inc,$(tblgen_gen_tables)),) 3992+$(generated_sources)/%GenSubtargetInfo.inc: TBLGEN_LOCAL_MODULE := $(LOCAL_MODULE) 3993+$(generated_sources)/%GenSubtargetInfo.inc: $(tblgen_source_dir)/%.td \ 3994+ $(tblgen_td_deps) | $(TBLGEN) 3995+ $(call transform-td-to-out,subtarget) 3996+endif 3997+ 3998+ifneq ($(filter %GenCallingConv.inc,$(tblgen_gen_tables)),) 3999+$(generated_sources)/%GenCallingConv.inc: TBLGEN_LOCAL_MODULE := $(LOCAL_MODULE) 4000+$(generated_sources)/%GenCallingConv.inc: $(tblgen_source_dir)/%.td \ 4001+ $(tblgen_td_deps) | $(TBLGEN) 4002+ $(call transform-td-to-out,callingconv) 4003+endif 4004+ 4005+ifneq ($(filter %GenIntrinsics.inc,$(tblgen_gen_tables)),) 4006+$(generated_sources)/%GenIntrinsics.inc: TBLGEN_LOCAL_MODULE := $(LOCAL_MODULE) 4007+$(generated_sources)/%GenIntrinsics.inc: $(tblgen_source_dir)/%.td \ 4008+ $(tblgen_td_deps) | $(TBLGEN) 4009+ $(call transform-td-to-out,tgt_intrinsics) 4010+endif 4011+ 4012+ifneq ($(findstring ARMGenDecoderTables.inc,$(tblgen_gen_tables)),) 4013+$(generated_sources)/ARMGenDecoderTables.inc: TBLGEN_LOCAL_MODULE := $(LOCAL_MODULE) 4014+$(generated_sources)/ARMGenDecoderTables.inc: $(tblgen_source_dir)/ARM.td \ 4015+ $(tblgen_td_deps) | $(TBLGEN) 4016+ $(call transform-td-to-out,arm-decoder) 4017+endif 4018+ 4019+# Reset local variables 4020+tblgen_td_deps := 4021+ 4022+endif 4023diff --git a/llvm.mk b/llvm.mk 4024new file mode 100644 4025index 0000000..073ceb7 4026--- /dev/null 4027+++ b/llvm.mk 4028@@ -0,0 +1,11 @@ 4029+ifeq ($(LLVM_ROOT_PATH),) 4030+$(error Must set variable LLVM_ROOT_PATH before including this! $(LOCAL_PATH)) 4031+endif 4032+ 4033+CLEAR_TBLGEN_VARS := $(LLVM_ROOT_PATH)/clear_tblgen_vars.mk 4034+LLVM_HOST_BUILD_MK := $(LLVM_ROOT_PATH)/llvm-host-build.mk 4035+LLVM_DEVICE_BUILD_MK := $(LLVM_ROOT_PATH)/llvm-device-build.mk 4036+LLVM_GEN_INTRINSICS_MK := $(LLVM_ROOT_PATH)/llvm-gen-intrinsics.mk 4037+LLVM_TBLGEN_RULES_MK := $(LLVM_ROOT_PATH)/llvm-tblgen-rules.mk 4038+ 4039+LLVM_SUPPORTED_ARCH := arm arm64 mips x86 x86_64 4040diff --git a/shared_llvm.mk b/shared_llvm.mk 4041new file mode 100644 4042index 0000000..f4be822 4043--- /dev/null 4044+++ b/shared_llvm.mk 4045@@ -0,0 +1,137 @@ 4046+# Don't build the library in unbundled branches. 4047+ifeq (,$(TARGET_BUILD_APPS)) 4048+ 4049+LOCAL_PATH:= $(call my-dir) 4050+ 4051+llvm_pre_static_libraries := \ 4052+ libLLVMLinker \ 4053+ libLLVMipo \ 4054+ libLLVMIRReader \ 4055+ libLLVMBitWriter \ 4056+ libLLVMBitReader 4057+ 4058+llvm_arm_static_libraries := \ 4059+ libLLVMARMCodeGen \ 4060+ libLLVMARMAsmParser \ 4061+ libLLVMARMAsmPrinter \ 4062+ libLLVMARMInfo \ 4063+ libLLVMARMDesc \ 4064+ libLLVMARMDisassembler 4065+ 4066+llvm_x86_static_libraries := \ 4067+ libLLVMX86CodeGen \ 4068+ libLLVMX86Info \ 4069+ libLLVMX86Desc \ 4070+ libLLVMX86AsmParser \ 4071+ libLLVMX86AsmPrinter \ 4072+ libLLVMX86Utils \ 4073+ libLLVMX86Disassembler 4074+ 4075+llvm_mips_static_libraries := \ 4076+ libLLVMMipsCodeGen \ 4077+ libLLVMMipsInfo \ 4078+ libLLVMMipsDesc \ 4079+ libLLVMMipsAsmParser \ 4080+ libLLVMMipsAsmPrinter \ 4081+ libLLVMMipsDisassembler 4082+ 4083+llvm_arm64_static_libraries := \ 4084+ libLLVMARM64CodeGen \ 4085+ libLLVMARM64Info \ 4086+ libLLVMARM64Desc \ 4087+ libLLVMARM64AsmParser \ 4088+ libLLVMARM64AsmPrinter \ 4089+ libLLVMARM64Utils \ 4090+ libLLVMARM64Disassembler 4091+ 4092+llvm_post_static_libraries := \ 4093+ libLLVMAsmPrinter \ 4094+ libLLVMSelectionDAG \ 4095+ libLLVMCodeGen \ 4096+ libLLVMObject \ 4097+ libLLVMScalarOpts \ 4098+ libLLVMInstCombine \ 4099+ libLLVMInstrumentation \ 4100+ libLLVMTransformObjCARC \ 4101+ libLLVMTransformUtils \ 4102+ libLLVMipa \ 4103+ libLLVMAnalysis \ 4104+ libLLVMTarget \ 4105+ libLLVMMC \ 4106+ libLLVMMCParser \ 4107+ libLLVMCore \ 4108+ libLLVMAsmParser \ 4109+ libLLVMOption \ 4110+ libLLVMSupport \ 4111+ libLLVMVectorize 4112+ 4113+llvm_host_static_libraries := \ 4114+ libLLVMExecutionEngine \ 4115+ libLLVMMCDisassembler \ 4116+ libLLVMRuntimeDyld \ 4117+ libLLVMJIT \ 4118+ libLLVMMCJIT 4119+ 4120+ifeq (true,$(FORCE_BUILD_LLVM_COMPONENTS)) 4121+# HOST LLVM shared library build 4122+include $(CLEAR_VARS) 4123+LOCAL_IS_HOST_MODULE := true 4124+ 4125+LOCAL_MODULE:= libLLVM 4126+ 4127+LOCAL_MODULE_TAGS := optional 4128+ 4129+# Host build pulls in all ARM, Mips, X86 components. 4130+LOCAL_WHOLE_STATIC_LIBRARIES := \ 4131+ $(llvm_pre_static_libraries) \ 4132+ $(llvm_arm_static_libraries) \ 4133+ $(llvm_x86_static_libraries) \ 4134+ $(llvm_mips_static_libraries) \ 4135+ $(llvm_arm64_static_libraries) \ 4136+ $(llvm_host_static_libraries) \ 4137+ $(llvm_post_static_libraries) 4138+ 4139+ifeq ($(HOST_OS),windows) 4140+ LOCAL_LDLIBS := -limagehlp -lpsapi 4141+else 4142+ LOCAL_LDLIBS := -ldl -lpthread 4143+endif 4144+ 4145+include $(LLVM_HOST_BUILD_MK) 4146+include $(BUILD_HOST_SHARED_LIBRARY) 4147+endif 4148+ 4149+ifeq (,$(filter $(TARGET_ARCH),$(LLVM_SUPPORTED_ARCH))) 4150+$(warning TODO $(TARGET_ARCH): Enable llvm build) 4151+endif 4152+ 4153+ifneq (true,$(DISABLE_LLVM_DEVICE_BUILDS)) 4154+# DEVICE LLVM shared library build 4155+include $(CLEAR_VARS) 4156+ 4157+LOCAL_MODULE:= libLLVM 4158+ 4159+LOCAL_MODULE_TAGS := optional 4160+ 4161+# Device build selectively pulls in ARM, Mips, X86 components. 4162+LOCAL_WHOLE_STATIC_LIBRARIES := \ 4163+ $(llvm_pre_static_libraries) 4164+ 4165+LOCAL_WHOLE_STATIC_LIBRARIES_arm += $(llvm_arm_static_libraries) 4166+LOCAL_WHOLE_STATIC_LIBRARIES_x86 += $(llvm_x86_static_libraries) 4167+LOCAL_WHOLE_STATIC_LIBRARIES_x86_64 += $(llvm_x86_static_libraries) 4168+LOCAL_WHOLE_STATIC_LIBRARIES_mips += $(llvm_mips_static_libraries) 4169+LOCAL_WHOLE_STATIC_LIBRARIES_arm64 += $(llvm_arm64_static_libraries) 4170+ 4171+LOCAL_WHOLE_STATIC_LIBRARIES += $(llvm_post_static_libraries) 4172+ 4173+#LOCAL_LDLIBS := -ldl -lpthread 4174+LOCAL_SHARED_LIBRARIES := libcutils libdl libstlport 4175+ 4176+include $(LLVM_DEVICE_BUILD_MK) 4177+include $(BUILD_SHARED_LIBRARY) 4178+ 4179+endif 4180+ 4181+endif # don't build in unbundled branches 4182+ 4183diff --git a/tools/llc/Android.mk b/tools/llc/Android.mk 4184new file mode 100644 4185index 0000000..b9d4b74 4186--- /dev/null 4187+++ b/tools/llc/Android.mk 4188@@ -0,0 +1,136 @@ 4189+LOCAL_PATH := $(call my-dir) 4190+ 4191+LLVM_ROOT_PATH := $(LOCAL_PATH)/../.. 4192+ 4193+ 4194+#===---------------------------------------------------------------=== 4195+# llc command line tool (common) 4196+#===---------------------------------------------------------------=== 4197+ 4198+llvm_llc_SRC_FILES := \ 4199+ llc.cpp 4200+ 4201+llvm_llc_mips_STATIC_LIBRARIES := \ 4202+ libLLVMMipsAsmParser \ 4203+ libLLVMMipsInfo \ 4204+ libLLVMMipsCodeGen \ 4205+ libLLVMMipsDesc \ 4206+ libLLVMMipsAsmPrinter \ 4207+ 4208+llvm_llc_x86_STATIC_LIBRARIES := \ 4209+ libLLVMX86Info \ 4210+ libLLVMX86AsmParser \ 4211+ libLLVMX86CodeGen \ 4212+ libLLVMX86Disassembler \ 4213+ libLLVMX86Desc \ 4214+ libLLVMX86AsmPrinter \ 4215+ libLLVMX86Utils 4216+ 4217+llvm_llc_arm_STATIC_LIBRARIES := \ 4218+ libLLVMARMCodeGen \ 4219+ libLLVMARMDisassembler \ 4220+ libLLVMARMAsmParser \ 4221+ libLLVMARMAsmPrinter \ 4222+ libLLVMARMDesc \ 4223+ libLLVMARMInfo 4224+ 4225+llvm_llc_STATIC_LIBRARIES := \ 4226+ libLLVMAsmPrinter \ 4227+ libLLVMIRReader \ 4228+ libLLVMAsmParser \ 4229+ libLLVMBitReader \ 4230+ libLLVMBitWriter \ 4231+ libLLVMSelectionDAG \ 4232+ libLLVMInstCombine \ 4233+ libLLVMInstrumentation \ 4234+ libLLVMCodeGen \ 4235+ libLLVMObject \ 4236+ libLLVMipo \ 4237+ libLLVMipa \ 4238+ libLLVMLinker \ 4239+ libLLVMMC \ 4240+ libLLVMMCParser \ 4241+ libLLVMScalarOpts \ 4242+ libLLVMTransformUtils \ 4243+ libLLVMVectorize \ 4244+ libLLVMAnalysis \ 4245+ libLLVMTarget \ 4246+ libLLVMCore \ 4247+ libLLVMSupport 4248+ 4249+llvm_llc_arm64_STATIC_LIBRARIES := \ 4250+ libLLVMARM64Info \ 4251+ libLLVMARM64AsmParser \ 4252+ libLLVMARM64CodeGen \ 4253+ libLLVMARM64Disassembler \ 4254+ libLLVMARM64Desc \ 4255+ libLLVMARM64AsmPrinter \ 4256+ libLLVMARM64Utils 4257+ 4258+ 4259+ 4260+#===---------------------------------------------------------------=== 4261+# llc command line tool (host) 4262+#===---------------------------------------------------------------=== 4263+ 4264+include $(CLEAR_VARS) 4265+ 4266+LOCAL_MODULE := llc 4267+LOCAL_MODULE_TAGS := optional 4268+LOCAL_MODULE_CLASS := EXECUTABLES 4269+LOCAL_IS_HOST_MODULE := true 4270+ 4271+LOCAL_SRC_FILES := $(llvm_llc_SRC_FILES) 4272+ 4273+LOCAL_STATIC_LIBRARIES := \ 4274+ $(llvm_llc_arm_STATIC_LIBRARIES) \ 4275+ $(llvm_llc_mips_STATIC_LIBRARIES) \ 4276+ $(llvm_llc_x86_STATIC_LIBRARIES) \ 4277+ $(llvm_llc_arm64_STATIC_LIBRARIES) \ 4278+ $(llvm_llc_STATIC_LIBRARIES) 4279+ 4280+LOCAL_LDLIBS += -lpthread -lm -ldl 4281+LOCAL_C_INCLUDES += external/llvm/include 4282+ 4283+include $(LLVM_ROOT_PATH)/llvm.mk 4284+include $(LLVM_HOST_BUILD_MK) 4285+include $(LLVM_GEN_INTRINSICS_MK) 4286+include $(BUILD_HOST_EXECUTABLE) 4287+ 4288+ 4289+#===---------------------------------------------------------------=== 4290+# llc command line tool (target) 4291+#===---------------------------------------------------------------=== 4292+ 4293+ifeq (,$(filter $(TARGET_ARCH),$(LLVM_SUPPORTED_ARCH))) 4294+$(warning TODO $(TARGET_ARCH): Enable llc build) 4295+endif 4296+ 4297+ifneq (true,$(DISABLE_LLVM_DEVICE_BUILDS)) 4298+include $(CLEAR_VARS) 4299+ 4300+LOCAL_MODULE := llc 4301+LOCAL_MODULE_TAGS := optional 4302+LOCAL_MODULE_CLASS := EXECUTABLES 4303+ 4304+LOCAL_SRC_FILES := $(llvm_llc_SRC_FILES) 4305+LOCAL_C_INCLUDES += external/llvm/include 4306+ 4307+LOCAL_STATIC_LIBRARIES_arm := $(llvm_llc_arm_STATIC_LIBRARIES) 4308+LOCAL_STATIC_LIBRARIES_mips := $(llvm_llc_mips_STATIC_LIBRARIES) 4309+LOCAL_STATIC_LIBRARIES_x86 := $(llvm_llc_x86_STATIC_LIBRARIES) 4310+LOCAL_STATIC_LIBRARIES_x86_64 := $(llvm_llc_x86_STATIC_LIBRARIES) 4311+LOCAL_STATIC_LIBRARIES_arm64 := $(llvm_llc_arm64_STATIC_LIBRARIES) 4312+ 4313+LOCAL_STATIC_LIBRARIES += $(llvm_llc_STATIC_LIBRARIES) 4314+ 4315+LOCAL_SHARED_LIBRARIES := \ 4316+ libcutils \ 4317+ libdl \ 4318+ libstlport 4319+ 4320+include $(LLVM_ROOT_PATH)/llvm.mk 4321+include $(LLVM_DEVICE_BUILD_MK) 4322+include $(LLVM_GEN_INTRINSICS_MK) 4323+include $(BUILD_EXECUTABLE) 4324+endif 4325diff --git a/tools/llvm-as/Android.mk b/tools/llvm-as/Android.mk 4326new file mode 100644 4327index 0000000..e58868b 4328--- /dev/null 4329+++ b/tools/llvm-as/Android.mk 4330@@ -0,0 +1,28 @@ 4331+LOCAL_PATH:= $(call my-dir) 4332+ 4333+llvm_as_SRC_FILES := \ 4334+ llvm-as.cpp 4335+ 4336+include $(CLEAR_VARS) 4337+ 4338+LOCAL_MODULE := llvm-as 4339+LOCAL_MODULE_TAGS := optional 4340+LOCAL_SRC_FILES := $(llvm_as_SRC_FILES) 4341+LOCAL_LDLIBS += -lm 4342+ifdef USE_MINGW 4343+LOCAL_LDLIBS += -limagehlp 4344+else 4345+LOCAL_LDLIBS += -lpthread -ldl 4346+endif 4347+ 4348+REQUIRES_EH := 1 4349+REQUIRES_RTTI := 1 4350+ 4351+LOCAL_STATIC_LIBRARIES := \ 4352+ libLLVMAsmParser \ 4353+ libLLVMBitWriter \ 4354+ libLLVMCore \ 4355+ libLLVMSupport 4356+ 4357+include $(LLVM_HOST_BUILD_MK) 4358+include $(BUILD_HOST_EXECUTABLE) 4359diff --git a/tools/llvm-dis/Android.mk b/tools/llvm-dis/Android.mk 4360new file mode 100644 4361index 0000000..22d44fd 4362--- /dev/null 4363+++ b/tools/llvm-dis/Android.mk 4364@@ -0,0 +1,25 @@ 4365+LOCAL_PATH:= $(call my-dir) 4366+ 4367+llvm_dis_SRC_FILES := \ 4368+ llvm-dis.cpp 4369+ 4370+include $(CLEAR_VARS) 4371+ 4372+LOCAL_MODULE := llvm-dis 4373+LOCAL_MODULE_CLASS := EXECUTABLES 4374+LOCAL_MODULE_TAGS := optional 4375+LOCAL_SRC_FILES := $(llvm_dis_SRC_FILES) 4376+LOCAL_LDLIBS += -lpthread -lm -ldl 4377+ 4378+REQUIRES_EH := 1 4379+REQUIRES_RTTI := 1 4380+ 4381+LOCAL_STATIC_LIBRARIES := \ 4382+ libLLVMAnalysis \ 4383+ libLLVMBitReader \ 4384+ libLLVMCore \ 4385+ libLLVMSupport 4386+ 4387+include $(LLVM_HOST_BUILD_MK) 4388+include $(LLVM_GEN_INTRINSICS_MK) 4389+include $(BUILD_HOST_EXECUTABLE) 4390diff --git a/tools/llvm-link/Android.mk b/tools/llvm-link/Android.mk 4391new file mode 100644 4392index 0000000..e051492 4393--- /dev/null 4394+++ b/tools/llvm-link/Android.mk 4395@@ -0,0 +1,50 @@ 4396+LOCAL_PATH:= $(call my-dir) 4397+ 4398+llvm_link_SRC_FILES := \ 4399+ llvm-link.cpp 4400+ 4401+llvm_link_STATIC_LIBRARIES := \ 4402+ libLLVMLinker \ 4403+ libLLVMIRReader \ 4404+ libLLVMBitReader \ 4405+ libLLVMBitWriter \ 4406+ libLLVMAsmParser \ 4407+ libLLVMTransformUtils \ 4408+ libLLVMAnalysis \ 4409+ libLLVMTarget \ 4410+ libLLVMCore \ 4411+ libLLVMSupport 4412+ 4413+#===---------------------------------------------------------------=== 4414+# llvm-link command line tool (host) 4415+#===---------------------------------------------------------------=== 4416+ 4417+include $(CLEAR_VARS) 4418+ 4419+LOCAL_MODULE := llvm-link 4420+LOCAL_MODULE_TAGS := optional 4421+LOCAL_SRC_FILES := $(llvm_link_SRC_FILES) 4422+LOCAL_STATIC_LIBRARIES := $(llvm_link_STATIC_LIBRARIES) 4423+LOCAL_LDLIBS += -lpthread -lm -ldl 4424+ 4425+include $(LLVM_HOST_BUILD_MK) 4426+include $(BUILD_HOST_EXECUTABLE) 4427+ 4428+#===---------------------------------------------------------------=== 4429+# llvm-link command line tool (target) 4430+#===---------------------------------------------------------------=== 4431+ 4432+ifneq (true,$(DISABLE_LLVM_DEVICE_BUILDS)) 4433+include $(CLEAR_VARS) 4434+ 4435+LOCAL_MODULE := llvm-link 4436+LOCAL_MODULE_TAGS := optional 4437+LOCAL_SRC_FILES := $(llvm_link_SRC_FILES) 4438+LOCAL_STATIC_LIBRARIES := $(llvm_link_STATIC_LIBRARIES) 4439+LOCAL_SHARED_LIBRARIES := \ 4440+ libcutils \ 4441+ libstlport 4442+ 4443+include $(LLVM_DEVICE_BUILD_MK) 4444+include $(BUILD_EXECUTABLE) 4445+endif 4446diff --git a/tools/opt/Android.mk b/tools/opt/Android.mk 4447new file mode 100644 4448index 0000000..c5bb4f8 4449--- /dev/null 4450+++ b/tools/opt/Android.mk 4451@@ -0,0 +1,81 @@ 4452+LOCAL_PATH := $(call my-dir) 4453+ 4454+LLVM_ROOT_PATH := $(LOCAL_PATH)/../.. 4455+ 4456+ 4457+#===---------------------------------------------------------------=== 4458+# opt command line tool (common) 4459+#===---------------------------------------------------------------=== 4460+ 4461+llvm_opt_SRC_FILES := \ 4462+ AnalysisWrappers.cpp \ 4463+ GraphPrinters.cpp \ 4464+ PrintSCC.cpp \ 4465+ opt.cpp 4466+ 4467+llvm_opt_STATIC_LIBRARIES := \ 4468+ libLLVMScalarOpts \ 4469+ libLLVMInstCombine \ 4470+ libLLVMInstrumentation \ 4471+ libLLVMMCParser \ 4472+ libLLVMMC \ 4473+ libLLVMAsmParser \ 4474+ libLLVMBitWriter \ 4475+ libLLVMBitReader \ 4476+ libLLVMipa \ 4477+ libLLVMipo \ 4478+ libLLVMTransformUtils \ 4479+ libLLVMVectorize \ 4480+ libLLVMAnalysis \ 4481+ libLLVMTarget \ 4482+ libLLVMCore \ 4483+ libLLVMSupport 4484+ 4485+ 4486+#===---------------------------------------------------------------=== 4487+# opt command line tool (host) 4488+#===---------------------------------------------------------------=== 4489+ 4490+include $(CLEAR_VARS) 4491+ 4492+LOCAL_MODULE := opt 4493+LOCAL_MODULE_TAGS := optional 4494+LOCAL_MODULE_CLASS := EXECUTABLES 4495+LOCAL_IS_HOST_MODULE := true 4496+ 4497+LOCAL_SRC_FILES := $(llvm_opt_SRC_FILES) 4498+LOCAL_STATIC_LIBRARIES := $(llvm_opt_STATIC_LIBRARIES) 4499+LOCAL_LDLIBS += -lpthread -lm -ldl 4500+LOCAL_C_INCLUDES += external/llvm/include 4501+ 4502+include $(LLVM_ROOT_PATH)/llvm.mk 4503+include $(LLVM_HOST_BUILD_MK) 4504+include $(LLVM_GEN_INTRINSICS_MK) 4505+include $(BUILD_HOST_EXECUTABLE) 4506+ 4507+ 4508+#===---------------------------------------------------------------=== 4509+# opt command line tool (target) 4510+#===---------------------------------------------------------------=== 4511+ 4512+ifneq (true,$(DISABLE_LLVM_DEVICE_BUILDS)) 4513+include $(CLEAR_VARS) 4514+ 4515+LOCAL_MODULE := opt 4516+LOCAL_MODULE_TAGS := optional 4517+LOCAL_MODULE_CLASS := EXECUTABLES 4518+ 4519+LOCAL_SRC_FILES := $(llvm_opt_SRC_FILES) 4520+LOCAL_C_INCLUDES += external/llvm/include 4521+LOCAL_STATIC_LIBRARIES := $(llvm_opt_STATIC_LIBRARIES) 4522+LOCAL_SHARED_LIBRARIES := \ 4523+ libcutils \ 4524+ libdl \ 4525+ libstlport 4526+ 4527+ 4528+include $(LLVM_ROOT_PATH)/llvm.mk 4529+include $(LLVM_DEVICE_BUILD_MK) 4530+include $(LLVM_GEN_INTRINSICS_MK) 4531+include $(BUILD_EXECUTABLE) 4532+endif 4533diff --git a/utils/FileCheck/Android.mk b/utils/FileCheck/Android.mk 4534new file mode 100644 4535index 0000000..2c211cf 4536--- /dev/null 4537+++ b/utils/FileCheck/Android.mk 4538@@ -0,0 +1,23 @@ 4539+LOCAL_PATH:= $(call my-dir) 4540+ 4541+filecheck_SRC_FILES := \ 4542+ FileCheck.cpp 4543+ 4544+filecheck_STATIC_LIBRARIES := \ 4545+ libLLVMSupport 4546+ 4547+include $(CLEAR_VARS) 4548+ 4549+LOCAL_MODULE := FileCheck 4550+LOCAL_SRC_FILES := $(filecheck_SRC_FILES) 4551+LOCAL_STATIC_LIBRARIES := $(filecheck_STATIC_LIBRARIES) 4552+LOCAL_C_INCLUDES += external/llvm/include 4553+LOCAL_C_INCLUDES += external/llvm/host/include 4554+LOCAL_LDLIBS += -lpthread -lm -ldl 4555+LOCAL_CFLAGS += -D __STDC_LIMIT_MACROS -D __STDC_CONSTANT_MACROS 4556+ 4557+#REQUIRES_EH := 1 4558+#REQUIRES_RTTI := 1 4559+ 4560+include $(LLVM_HOST_BUILD_MK) 4561+include $(BUILD_HOST_EXECUTABLE) 4562diff --git a/utils/TableGen/Android.mk b/utils/TableGen/Android.mk 4563new file mode 100644 4564index 0000000..8117672 4565--- /dev/null 4566+++ b/utils/TableGen/Android.mk 4567@@ -0,0 +1,58 @@ 4568+LOCAL_PATH:= $(call my-dir) 4569+ 4570+tablegen_SRC_FILES := \ 4571+ AsmMatcherEmitter.cpp \ 4572+ AsmWriterEmitter.cpp \ 4573+ AsmWriterInst.cpp \ 4574+ CallingConvEmitter.cpp \ 4575+ CodeEmitterGen.cpp \ 4576+ CodeGenDAGPatterns.cpp \ 4577+ CodeGenInstruction.cpp \ 4578+ CodeGenMapTable.cpp \ 4579+ CodeGenRegisters.cpp \ 4580+ CodeGenSchedule.cpp \ 4581+ CodeGenTarget.cpp \ 4582+ CTagsEmitter.cpp \ 4583+ DAGISelEmitter.cpp \ 4584+ DAGISelMatcherEmitter.cpp \ 4585+ DAGISelMatcherGen.cpp \ 4586+ DAGISelMatcherOpt.cpp \ 4587+ DAGISelMatcher.cpp \ 4588+ DFAPacketizerEmitter.cpp \ 4589+ DisassemblerEmitter.cpp \ 4590+ FastISelEmitter.cpp \ 4591+ FixedLenDecoderEmitter.cpp \ 4592+ InstrInfoEmitter.cpp \ 4593+ IntrinsicEmitter.cpp \ 4594+ OptParserEmitter.cpp \ 4595+ PseudoLoweringEmitter.cpp \ 4596+ RegisterInfoEmitter.cpp \ 4597+ SetTheory.cpp \ 4598+ SubtargetEmitter.cpp \ 4599+ TableGen.cpp \ 4600+ X86DisassemblerTables.cpp \ 4601+ X86ModRMFilters.cpp \ 4602+ X86RecognizableInstr.cpp 4603+ 4604+include $(CLEAR_VARS) 4605+ 4606+LOCAL_MODULE := tblgen 4607+LOCAL_MODULE_TAGS := optional 4608+LOCAL_SRC_FILES := $(tablegen_SRC_FILES) 4609+ 4610+REQUIRES_EH := 1 4611+REQUIRES_RTTI := 1 4612+ 4613+LOCAL_STATIC_LIBRARIES := \ 4614+ libLLVMTableGen \ 4615+ libLLVMSupport 4616+ 4617+LOCAL_LDLIBS += -lm 4618+ifeq ($(HOST_OS),windows) 4619+ LOCAL_LDLIBS += -limagehlp -lpsapi 4620+else 4621+ LOCAL_LDLIBS += -lpthread -ldl 4622+endif 4623+ 4624+include $(LLVM_HOST_BUILD_MK) 4625+include $(BUILD_HOST_EXECUTABLE) 4626-- 46271.9.1.423.g4596e3a 4628 4629