OSDN Git Service

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