OSDN Git Service

android: fix Target/ARM build
[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   libLLVM70ARMUtils
24
25 llvm_x86_static_libraries := \
26   libLLVM70X86CodeGen \
27   libLLVM70X86Info \
28   libLLVM70X86Desc \
29   libLLVM70X86AsmParser \
30   libLLVM70X86AsmPrinter \
31   libLLVM70X86Utils \
32   libLLVM70X86Disassembler
33
34 ifneq ($(filter radeonsi,$(BOARD_GPU_DRIVERS)),)
35 llvm_x86_static_libraries += \
36   libLLVM70AMDGPUCodeGen \
37   libLLVM70AMDGPUInfo \
38   libLLVM70AMDGPUDesc \
39   libLLVM70AMDGPUAsmParser \
40   libLLVM70AMDGPUAsmPrinter \
41   libLLVM70AMDGPUUtils
42 endif
43
44 llvm_mips_static_libraries := \
45   libLLVM70MipsCodeGen \
46   libLLVM70MipsInfo \
47   libLLVM70MipsDesc \
48   libLLVM70MipsAsmParser \
49   libLLVM70MipsAsmPrinter \
50   libLLVM70MipsDisassembler
51
52 llvm_aarch64_static_libraries := \
53   libLLVM70AArch64CodeGen \
54   libLLVM70AArch64Info \
55   libLLVM70AArch64Desc \
56   libLLVM70AArch64AsmParser \
57   libLLVM70AArch64AsmPrinter \
58   libLLVM70AArch64Utils \
59   libLLVM70AArch64Disassembler
60
61 llvm_post_static_libraries := \
62   libLLVM70AsmPrinter \
63   libLLVM70SelectionDAG \
64   libLLVM70CodeGen \
65   libLLVM70Object \
66   libLLVM70ScalarOpts \
67   libLLVM70InstCombine \
68   libLLVM70Instrumentation \
69   libLLVM70TransformObjCARC \
70   libLLVM70TransformUtils \
71   libLLVM70Analysis \
72   libLLVM70Target \
73   libLLVM70MCDisassembler \
74   libLLVM70MC \
75   libLLVM70MCParser \
76   libLLVM70Core \
77   libLLVM70AsmParser \
78   libLLVM70Option \
79   libLLVM70Support \
80   libLLVM70Vectorize \
81   libLLVM70ProfileData \
82   libLLVM70LibDriver \
83   libLLVM70BinaryFormat
84
85 llvm_host_static_libraries := \
86   libLLVM70ExecutionEngine \
87   libLLVM70RuntimeDyld \
88   libLLVM70MCJIT \
89   libLLVM70OrcJIT
90
91 llvm_device_static_libraries := \
92   libLLVM70ExecutionEngine \
93   libLLVM70RuntimeDyld \
94   libLLVM70MCJIT
95
96 # HOST LLVM shared library build
97 include $(CLEAR_VARS)
98 LOCAL_IS_HOST_MODULE := true
99
100 LOCAL_MODULE:= libLLVM70
101
102 LOCAL_MODULE_TAGS := optional
103
104 # Host build pulls in all ARM, Mips, X86 components.
105 LOCAL_WHOLE_STATIC_LIBRARIES := \
106   $(llvm_pre_static_libraries) \
107   $(llvm_arm_static_libraries) \
108   $(llvm_x86_static_libraries) \
109   $(llvm_mips_static_libraries) \
110   $(llvm_aarch64_static_libraries) \
111   $(llvm_host_static_libraries) \
112   $(llvm_post_static_libraries)
113
114 LOCAL_LDLIBS_windows := -limagehlp -lpsapi -lole32
115 LOCAL_LDLIBS_darwin := -ldl -lpthread
116 LOCAL_LDLIBS_linux := -ldl -lpthread
117
118 # Use prebuilts for linux and darwin unless
119 # FORCE_BUILD_LLVM_COMPONENTS is true
120 ifneq (true,$(FORCE_BUILD_LLVM_COMPONENTS))
121 LOCAL_MODULE_HOST_OS := windows
122 else
123 LOCAL_MODULE_HOST_OS := darwin linux windows
124 endif
125
126 include $(LLVM70_HOST_BUILD_MK)
127 include $(BUILD_HOST_SHARED_LIBRARY)
128
129 ifeq (,$(filter $(TARGET_ARCH),$(LLVM70_SUPPORTED_ARCH)))
130 $(warning TODO $(TARGET_ARCH): Enable llvm build)
131 endif
132
133 ifneq (true,$(DISABLE_LLVM_DEVICE_BUILDS))
134 # DEVICE LLVM shared library build
135 include $(CLEAR_VARS)
136
137 LOCAL_MODULE:= libLLVM70
138
139 LOCAL_MODULE_TAGS := optional
140
141 # Device build selectively pulls in ARM, Mips, X86 components.
142 LOCAL_WHOLE_STATIC_LIBRARIES := \
143   $(llvm_pre_static_libraries)
144
145 LOCAL_WHOLE_STATIC_LIBRARIES_arm += $(llvm_arm_static_libraries)
146 LOCAL_WHOLE_STATIC_LIBRARIES_x86 += $(llvm_x86_static_libraries)
147 LOCAL_WHOLE_STATIC_LIBRARIES_x86_64 += $(llvm_x86_static_libraries)
148 LOCAL_WHOLE_STATIC_LIBRARIES_mips += $(llvm_mips_static_libraries)
149 LOCAL_WHOLE_STATIC_LIBRARIES_mips64 += $(llvm_mips_static_libraries)
150 LOCAL_WHOLE_STATIC_LIBRARIES_arm64 += $(llvm_aarch64_static_libraries)
151 LOCAL_WHOLE_STATIC_LIBRARIES_arm64 += $(llvm_arm_static_libraries)
152
153 ifeq ($(BUILD_ARM_FOR_X86),true)
154 LOCAL_WHOLE_STATIC_LIBRARIES_x86 += $(llvm_arm_static_libraries)
155 LOCAL_WHOLE_STATIC_LIBRARIES_x86 += $(llvm_aarch64_static_libraries)
156 LOCAL_WHOLE_STATIC_LIBRARIES_x86_64 += $(llvm_arm_static_libraries)
157 LOCAL_WHOLE_STATIC_LIBRARIES_x86_64 += $(llvm_aarch64_static_libraries)
158 endif
159
160 LOCAL_WHOLE_STATIC_LIBRARIES += \
161   $(llvm_device_static_libraries) \
162   $(llvm_post_static_libraries)
163
164 LOCAL_MODULE_CLASS := SHARED_LIBRARIES
165 LOCAL_EXPORT_C_INCLUDE_DIRS := \
166   $(LOCAL_PATH)/include \
167   $(LOCAL_PATH)/device/include \
168   $(call local-generated-sources-dir)
169
170 include $(LLVM70_DEVICE_BUILD_MK)
171 include $(LLVM70_GEN_ATTRIBUTES_MK)
172 include $(LLVM70_GEN_INTRINSICS_MK)
173 include $(BUILD_SHARED_LIBRARY)
174
175 endif