OSDN Git Service

android: fix Target/ARM build
authorMauro Rossi <issor.oruam@gmail.com>
Fri, 19 Jan 2018 13:10:18 +0000 (14:10 +0100)
committerMauro Rossi <issor.oruam@gmail.com>
Sat, 9 Jun 2018 09:00:06 +0000 (11:00 +0200)
Changelog:

updated list of *.cpp sources in ARM Android.mk makefiles
added lib/Target/ARM/Utils/Android.mk to build libLLVMARMUtils module
shared_llvm.mk: added libLLVMARMUtils to arm static libraries
main Android.mk: lib/Target/ARM/Utils path added
llvm-tblgen-rules.mk: new rule for ARMGenSystemRegister.inc aligned to AMR Cmakelist.txt
ARM modules Android.mk: added ARMGenSystemRegister.inc generated file where necessary
ARM modules Android.mk: added *GEN_ATTRIBUTES_MK, *GEN_INTRINSICS_MK rules where necessary

Android.mk
lib/Target/ARM/Android.mk
lib/Target/ARM/AsmParser/Android.mk
lib/Target/ARM/Disassembler/Android.mk
lib/Target/ARM/InstPrinter/Android.mk
lib/Target/ARM/MCTargetDesc/Android.mk
lib/Target/ARM/Utils/Android.mk [new file with mode: 0644]
llvm-tblgen-rules.mk
shared_llvm.mk

index 98af444..65657f9 100644 (file)
@@ -81,7 +81,8 @@ subdirs += \
   lib/Target/ARM/InstPrinter \
   lib/Target/ARM/Disassembler \
   lib/Target/ARM/MCTargetDesc \
-  lib/Target/ARM/TargetInfo
+  lib/Target/ARM/TargetInfo \
+  lib/Target/ARM/Utils
 
 # AArch64 Code Generation Libraries
 subdirs += \
index 89dae73..37673d5 100644 (file)
@@ -12,7 +12,8 @@ arm_codegen_TBLGEN_TABLES70 := \
   ARMGenFastISel.inc \
   ARMGenCallingConv.inc \
   ARMGenSubtargetInfo.inc \
-  ARMGenDisassemblerTables.inc
+  ARMGenDisassemblerTables.inc \
+  ARMGenSystemRegister.inc
 
 arm_codegen_SRC_FILES := \
   A15SDOptimizer.cpp \
index 86461c6..f930c01 100644 (file)
@@ -11,7 +11,8 @@ arm_asm_parser_TBLGEN_TABLES70 := \
   ARMGenInstrInfo.inc \
   ARMGenRegisterInfo.inc \
   ARMGenAsmMatcher.inc \
-  ARMGenSubtargetInfo.inc
+  ARMGenSubtargetInfo.inc \
+  ARMGenSystemRegister.inc
 
 arm_asm_parser_TBLGEN_TD_DIR70 := $(LOCAL_PATH)/..
 
index 4119fd6..6993966 100644 (file)
@@ -4,7 +4,8 @@ arm_disassembler_TBLGEN_TABLES70 := \
   ARMGenDisassemblerTables.inc \
   ARMGenInstrInfo.inc \
   ARMGenSubtargetInfo.inc \
-  ARMGenRegisterInfo.inc
+  ARMGenRegisterInfo.inc \
+  ARMGenSystemRegister.inc
 
 arm_disassembler_SRC_FILES := \
   ARMDisassembler.cpp
index 80dded7..3b962a8 100644 (file)
@@ -4,7 +4,8 @@ arm_asm_printer_TBLGEN_TABLES70 := \
   ARMGenAsmWriter.inc \
   ARMGenRegisterInfo.inc \
   ARMGenSubtargetInfo.inc \
-  ARMGenInstrInfo.inc
+  ARMGenInstrInfo.inc \
+  ARMGenSystemRegister.inc
 
 arm_asm_printer_SRC_FILES := \
   ARMInstPrinter.cpp
@@ -29,6 +30,8 @@ LOCAL_MODULE_HOST_OS := darwin linux windows
 
 include $(LLVM70_HOST_BUILD_MK)
 include $(LLVM70_TBLGEN_RULES_MK)
+include $(LLVM70_GEN_ATTRIBUTES_MK)
+include $(LLVM70_GEN_INTRINSICS_MK)
 include $(BUILD_HOST_STATIC_LIBRARY)
 
 # For the device only
@@ -50,6 +53,8 @@ LOCAL_MODULE:= libLLVM70ARMAsmPrinter
 
 include $(LLVM70_DEVICE_BUILD_MK)
 include $(LLVM70_TBLGEN_RULES_MK)
+include $(LLVM70_GEN_ATTRIBUTES_MK)
+include $(LLVM70_GEN_INTRINSICS_MK)
 include $(BUILD_STATIC_LIBRARY)
 endif
 
index a2a2be3..42b88ba 100644 (file)
@@ -4,7 +4,8 @@ arm_mc_desc_TBLGEN_TABLES70 := \
   ARMGenRegisterInfo.inc \
   ARMGenInstrInfo.inc \
   ARMGenMCCodeEmitter.inc \
-  ARMGenSubtargetInfo.inc
+  ARMGenSubtargetInfo.inc \
+  ARMGenSystemRegister.inc
 
 arm_mc_desc_SRC_FILES := \
   ARMAsmBackend.cpp \
diff --git a/lib/Target/ARM/Utils/Android.mk b/lib/Target/ARM/Utils/Android.mk
new file mode 100644 (file)
index 0000000..b69e6f8
--- /dev/null
@@ -0,0 +1,51 @@
+LOCAL_PATH := $(call my-dir)
+
+arm_utils_TBLGEN_TABLES70 := \
+  ARMGenRegisterInfo.inc \
+  ARMGenInstrInfo.inc \
+  ARMGenSubtargetInfo.inc \
+  ARMGenSystemOperands.inc \
+  ARMGenSystemRegister.inc
+
+arm_utils_SRC_FILES := \
+  ARMBaseInfo.cpp
+
+# For the device
+# =====================================================
+ifneq (true,$(DISABLE_LLVM_DEVICE_BUILDS))
+include $(CLEAR_VARS)
+
+LOCAL_SRC_FILES := $(arm_utils_SRC_FILES)
+
+LOCAL_C_INCLUDES += $(LOCAL_PATH)/..
+
+LOCAL_MODULE:= libLLVM70ARMUtils
+
+TBLGEN_TD_DIR70 := $(LOCAL_PATH)/..
+TBLGEN_TABLES70 := $(arm_utils_TBLGEN_TABLES70)
+
+include $(LLVM70_DEVICE_BUILD_MK)
+include $(LLVM70_TBLGEN_RULES_MK)
+include $(LLVM70_GEN_INTRINSICS_MK)
+include $(BUILD_STATIC_LIBRARY)
+endif
+
+# For the host
+# =====================================================
+include $(CLEAR_VARS)
+
+LOCAL_SRC_FILES := $(arm_utils_SRC_FILES)
+
+LOCAL_C_INCLUDES += $(LOCAL_PATH)/..
+
+LOCAL_MODULE:= libLLVM70ARMUtils
+
+LOCAL_MODULE_HOST_OS := darwin linux windows
+
+TBLGEN_TD_DIR70 := $(LOCAL_PATH)/..
+TBLGEN_TABLES70 := $(arm_utils_TBLGEN_TABLES70)
+
+include $(LLVM70_HOST_BUILD_MK)
+include $(LLVM70_TBLGEN_RULES_MK)
+include $(LLVM70_GEN_INTRINSICS_MK)
+include $(BUILD_HOST_STATIC_LIBRARY)
index 6687f82..7cfa590 100644 (file)
@@ -230,6 +230,13 @@ $(generated_sources)/ARMGenDecoderTables.inc: $(tblgen_source_dir)/ARM.td \
        $(call transform-td-to-out70,arm-decoder)
 endif
 
+ifneq ($(findstring ARMGenSystemRegister.inc,$(tblgen_gen_tables)),)
+$(generated_sources)/ARMGenSystemRegister.inc: TBLGEN_LOCAL_MODULE := $(LOCAL_MODULE)
+$(generated_sources)/ARMGenSystemRegister.inc: $(tblgen_source_dir)/ARM.td \
+                                          $(tblgen_td_deps) $(LLVM70_TBLGEN)
+       $(call transform-td-to-out70,searchable-tables)
+endif
+
 ifneq ($(findstring Options.inc,$(tblgen_gen_tables)),)
 $(generated_sources)/Options.inc: TBLGEN_LOCAL_MODULE := $(LOCAL_MODULE)
 $(generated_sources)/Options.inc: $(tblgen_source_dir)/Options.td \
index 6b44bf1..fabbba5 100644 (file)
@@ -19,7 +19,8 @@ llvm_arm_static_libraries := \
   libLLVM70ARMAsmPrinter \
   libLLVM70ARMInfo \
   libLLVM70ARMDesc \
-  libLLVM70ARMDisassembler
+  libLLVM70ARMDisassembler \
+  libLLVM70ARMUtils
 
 llvm_x86_static_libraries := \
   libLLVM70X86CodeGen \