OSDN Git Service

LLVM_SUPPORTED_ARCH to LLVM70_SUPPORTED_ARCH
[android-x86/external-llvm.git] / shared_llvm.mk
1 LOCAL_PATH:= $(call my-dir)
2
3 llvm_pre_static_libraries := \
4   libLLVM70Linker \
5   libLLVM70ipo \
6   libLLVM70DebugInfoDWARF \
7   libLLVM70DebugInfoPDB \
8   libLLVM70Symbolize \
9   libLLVM70DebugInfoMSF \
10   libLLVM70DebugInfoCodeView \
11   libLLVM70IRReader \
12   libLLVM70BitWriter \
13   libLLVM70BitReader \
14   libLLVM70GlobalISel
15
16 llvm_arm_static_libraries := \
17   libLLVM70ARMCodeGen \
18   libLLVM70ARMAsmParser \
19   libLLVM70ARMAsmPrinter \
20   libLLVM70ARMInfo \
21   libLLVM70ARMDesc \
22   libLLVM70ARMDisassembler
23
24 llvm_x86_static_libraries := \
25   libLLVM70X86CodeGen \
26   libLLVM70X86Info \
27   libLLVM70X86Desc \
28   libLLVM70X86AsmParser \
29   libLLVM70X86AsmPrinter \
30   libLLVM70X86Utils \
31   libLLVM70X86Disassembler
32
33 ifneq ($(filter radeonsi,$(BOARD_GPU_DRIVERS)),)
34 llvm_x86_static_libraries += \
35   libLLVM70AMDGPUCodeGen \
36   libLLVM70AMDGPUInfo \
37   libLLVM70AMDGPUDesc \
38   libLLVM70AMDGPUAsmParser \
39   libLLVM70AMDGPUAsmPrinter \
40   libLLVM70AMDGPUUtils
41 endif
42
43 llvm_mips_static_libraries := \
44   libLLVM70MipsCodeGen \
45   libLLVM70MipsInfo \
46   libLLVM70MipsDesc \
47   libLLVM70MipsAsmParser \
48   libLLVM70MipsAsmPrinter \
49   libLLVM70MipsDisassembler
50
51 llvm_aarch64_static_libraries := \
52   libLLVM70AArch64CodeGen \
53   libLLVM70AArch64Info \
54   libLLVM70AArch64Desc \
55   libLLVM70AArch64AsmParser \
56   libLLVM70AArch64AsmPrinter \
57   libLLVM70AArch64Utils \
58   libLLVM70AArch64Disassembler
59
60 llvm_post_static_libraries := \
61   libLLVM70AsmPrinter \
62   libLLVM70SelectionDAG \
63   libLLVM70CodeGen \
64   libLLVM70Object \
65   libLLVM70ScalarOpts \
66   libLLVM70InstCombine \
67   libLLVM70Instrumentation \
68   libLLVM70TransformObjCARC \
69   libLLVM70TransformUtils \
70   libLLVM70Analysis \
71   libLLVM70Target \
72   libLLVM70MCDisassembler \
73   libLLVM70MC \
74   libLLVM70MCParser \
75   libLLVM70Core \
76   libLLVM70AsmParser \
77   libLLVM70Option \
78   libLLVM70Support \
79   libLLVM70Vectorize \
80   libLLVM70ProfileData \
81   libLLVM70LibDriver \
82   libLLVM70BinaryFormat
83
84 llvm_host_static_libraries := \
85   libLLVM70ExecutionEngine \
86   libLLVM70RuntimeDyld \
87   libLLVM70MCJIT \
88   libLLVM70OrcJIT
89
90 llvm_device_static_libraries := \
91   libLLVM70ExecutionEngine \
92   libLLVM70RuntimeDyld \
93   libLLVM70MCJIT
94
95 # HOST LLVM shared library build
96 include $(CLEAR_VARS)
97 LOCAL_IS_HOST_MODULE := true
98
99 LOCAL_MODULE:= libLLVM70
100
101 LOCAL_MODULE_TAGS := optional
102
103 # Host build pulls in all ARM, Mips, X86 components.
104 LOCAL_WHOLE_STATIC_LIBRARIES := \
105   $(llvm_pre_static_libraries) \
106   $(llvm_arm_static_libraries) \
107   $(llvm_x86_static_libraries) \
108   $(llvm_mips_static_libraries) \
109   $(llvm_aarch64_static_libraries) \
110   $(llvm_host_static_libraries) \
111   $(llvm_post_static_libraries)
112
113 LOCAL_LDLIBS_windows := -limagehlp -lpsapi -lole32
114 LOCAL_LDLIBS_darwin := -ldl -lpthread
115 LOCAL_LDLIBS_linux := -ldl -lpthread
116
117 # Use prebuilts for linux and darwin unless
118 # FORCE_BUILD_LLVM_COMPONENTS is true
119 ifneq (true,$(FORCE_BUILD_LLVM_COMPONENTS))
120 LOCAL_MODULE_HOST_OS := windows
121 else
122 LOCAL_MODULE_HOST_OS := darwin linux windows
123 endif
124
125 include $(LLVM70_HOST_BUILD_MK)
126 include $(BUILD_HOST_SHARED_LIBRARY)
127
128 ifeq (,$(filter $(TARGET_ARCH),$(LLVM70_SUPPORTED_ARCH)))
129 $(warning TODO $(TARGET_ARCH): Enable llvm build)
130 endif
131
132 ifneq (true,$(DISABLE_LLVM_DEVICE_BUILDS))
133 # DEVICE LLVM shared library build
134 include $(CLEAR_VARS)
135
136 LOCAL_MODULE:= libLLVM70
137
138 LOCAL_MODULE_TAGS := optional
139
140 # Device build selectively pulls in ARM, Mips, X86 components.
141 LOCAL_WHOLE_STATIC_LIBRARIES := \
142   $(llvm_pre_static_libraries)
143
144 LOCAL_WHOLE_STATIC_LIBRARIES_arm += $(llvm_arm_static_libraries)
145 LOCAL_WHOLE_STATIC_LIBRARIES_x86 += $(llvm_x86_static_libraries)
146 LOCAL_WHOLE_STATIC_LIBRARIES_x86_64 += $(llvm_x86_static_libraries)
147 LOCAL_WHOLE_STATIC_LIBRARIES_mips += $(llvm_mips_static_libraries)
148 LOCAL_WHOLE_STATIC_LIBRARIES_mips64 += $(llvm_mips_static_libraries)
149 LOCAL_WHOLE_STATIC_LIBRARIES_arm64 += $(llvm_aarch64_static_libraries)
150 LOCAL_WHOLE_STATIC_LIBRARIES_arm64 += $(llvm_arm_static_libraries)
151
152 ifeq ($(BUILD_ARM_FOR_X86),true)
153 LOCAL_WHOLE_STATIC_LIBRARIES_x86 += $(llvm_arm_static_libraries)
154 LOCAL_WHOLE_STATIC_LIBRARIES_x86 += $(llvm_aarch64_static_libraries)
155 LOCAL_WHOLE_STATIC_LIBRARIES_x86_64 += $(llvm_arm_static_libraries)
156 LOCAL_WHOLE_STATIC_LIBRARIES_x86_64 += $(llvm_aarch64_static_libraries)
157 endif
158
159 LOCAL_WHOLE_STATIC_LIBRARIES += \
160   $(llvm_device_static_libraries) \
161   $(llvm_post_static_libraries)
162
163 include $(LLVM70_DEVICE_BUILD_MK)
164 include $(BUILD_SHARED_LIBRARY)
165
166 endif