Home | History | Annotate | Download | only in llc
      1 LOCAL_PATH := $(call my-dir)
      2 
      3 LLVM_ROOT_PATH := $(LOCAL_PATH)/../..
      4 
      5 
      6 #===---------------------------------------------------------------===
      7 # llc command line tool (common)
      8 #===---------------------------------------------------------------===
      9 
     10 llvm_llc_SRC_FILES := \
     11   llc.cpp
     12 
     13 llvm_llc_mips_STATIC_LIBRARIES := \
     14   libLLVMMipsAsmParser \
     15   libLLVMMipsInfo \
     16   libLLVMMipsCodeGen \
     17   libLLVMMipsDesc \
     18   libLLVMMipsAsmPrinter \
     19 
     20 llvm_llc_x86_STATIC_LIBRARIES := \
     21   libLLVMX86Info \
     22   libLLVMX86AsmParser \
     23   libLLVMX86CodeGen \
     24   libLLVMX86Disassembler \
     25   libLLVMX86Desc \
     26   libLLVMX86AsmPrinter \
     27   libLLVMX86Utils
     28 
     29 llvm_llc_arm_STATIC_LIBRARIES := \
     30   libLLVMARMCodeGen \
     31   libLLVMARMDisassembler \
     32   libLLVMARMAsmParser \
     33   libLLVMARMAsmPrinter \
     34   libLLVMARMDesc \
     35   libLLVMARMInfo
     36 
     37 llvm_llc_STATIC_LIBRARIES := \
     38   libLLVMAsmPrinter \
     39   libLLVMIRReader \
     40   libLLVMAsmParser \
     41   libLLVMBitReader \
     42   libLLVMBitWriter \
     43   libLLVMSelectionDAG \
     44   libLLVMInstCombine \
     45   libLLVMInstrumentation \
     46   libLLVMCodeGen \
     47   libLLVMObject \
     48   libLLVMipo \
     49   libLLVMipa \
     50   libLLVMLinker \
     51   libLLVMMC \
     52   libLLVMMCParser \
     53   libLLVMScalarOpts \
     54   libLLVMTransformUtils \
     55   libLLVMVectorize \
     56   libLLVMAnalysis \
     57   libLLVMTarget \
     58   libLLVMCore \
     59   libLLVMSupport \
     60   libLLVMObject
     61 
     62 llvm_llc_aarch64_STATIC_LIBRARIES := \
     63   libLLVMAArch64Info \
     64   libLLVMAArch64AsmParser \
     65   libLLVMAArch64CodeGen \
     66   libLLVMAArch64Disassembler \
     67   libLLVMAArch64Desc \
     68   libLLVMAArch64AsmPrinter \
     69   libLLVMAArch64Utils
     70 
     71 
     72 
     73 #===---------------------------------------------------------------===
     74 # llc command line tool (host)
     75 #===---------------------------------------------------------------===
     76 
     77 include $(CLEAR_VARS)
     78 
     79 LOCAL_MODULE := llc
     80 LOCAL_MODULE_TAGS := optional
     81 LOCAL_MODULE_CLASS := EXECUTABLES
     82 LOCAL_IS_HOST_MODULE := true
     83 
     84 LOCAL_SRC_FILES := $(llvm_llc_SRC_FILES)
     85 
     86 LOCAL_STATIC_LIBRARIES := \
     87   $(llvm_llc_arm_STATIC_LIBRARIES) \
     88   $(llvm_llc_mips_STATIC_LIBRARIES) \
     89   $(llvm_llc_x86_STATIC_LIBRARIES) \
     90   $(llvm_llc_aarch64_STATIC_LIBRARIES) \
     91   $(llvm_llc_STATIC_LIBRARIES)
     92 
     93 LOCAL_LDLIBS += -lpthread -lm -ldl
     94 
     95 include $(LLVM_ROOT_PATH)/llvm.mk
     96 include $(LLVM_HOST_BUILD_MK)
     97 include $(LLVM_GEN_INTRINSICS_MK)
     98 include $(BUILD_HOST_EXECUTABLE)
     99 
    100 
    101 #===---------------------------------------------------------------===
    102 # llc command line tool (target)
    103 #===---------------------------------------------------------------===
    104 
    105 ifeq (,$(filter $(TARGET_ARCH),$(LLVM_SUPPORTED_ARCH)))
    106 $(warning TODO $(TARGET_ARCH): Enable llc build)
    107 endif
    108 
    109 ifneq (true,$(DISABLE_LLVM_DEVICE_BUILDS))
    110 include $(CLEAR_VARS)
    111 
    112 LOCAL_MODULE := llc
    113 LOCAL_MODULE_TAGS := optional
    114 LOCAL_MODULE_CLASS := EXECUTABLES
    115 
    116 LOCAL_SRC_FILES := $(llvm_llc_SRC_FILES)
    117 LOCAL_C_INCLUDES += external/llvm/include
    118 
    119 LOCAL_STATIC_LIBRARIES_arm += $(llvm_llc_arm_STATIC_LIBRARIES)
    120 LOCAL_STATIC_LIBRARIES_mips += $(llvm_llc_mips_STATIC_LIBRARIES)
    121 LOCAL_STATIC_LIBRARIES_x86 += $(llvm_llc_x86_STATIC_LIBRARIES)
    122 LOCAL_STATIC_LIBRARIES_x86_64 += $(llvm_llc_x86_STATIC_LIBRARIES)
    123 LOCAL_STATIC_LIBRARIES_arm64 += $(llvm_llc_aarch64_STATIC_LIBRARIES)
    124 LOCAL_STATIC_LIBRARIES_arm64 += $(llvm_llc_arm_STATIC_LIBRARIES)
    125 
    126 LOCAL_STATIC_LIBRARIES += $(llvm_llc_STATIC_LIBRARIES)
    127 
    128 LOCAL_SHARED_LIBRARIES :=  \
    129   libcutils  \
    130   libdl  \
    131   libc++
    132 
    133 include $(LLVM_ROOT_PATH)/llvm.mk
    134 include $(LLVM_DEVICE_BUILD_MK)
    135 include $(LLVM_GEN_INTRINSICS_MK)
    136 include $(BUILD_EXECUTABLE)
    137 endif
    138