aboutsummaryrefslogtreecommitdiffstats
path: root/shared_llvm.mk
diff options
context:
space:
mode:
authorStephen Hines <srhines@google.com>2013-02-27 21:49:16 -0800
committerStephen Hines <srhines@google.com>2013-02-27 21:52:28 -0800
commit7de4ee92f767db5e2093f1ad7e3ceb3669cc3453 (patch)
tree36d22ec40f024da6c2487b2025122283542f7d8f /shared_llvm.mk
parent2cfa6f75b6f7333e70e3144319824045f30c9df2 (diff)
downloadexternal_llvm-7de4ee92f767db5e2093f1ad7e3ceb3669cc3453.zip
external_llvm-7de4ee92f767db5e2093f1ad7e3ceb3669cc3453.tar.gz
external_llvm-7de4ee92f767db5e2093f1ad7e3ceb3669cc3453.tar.bz2
libLLVM.so build rules for the device.
Change-Id: I39ff136b64a861e67899a1b9639d6bca080e1736
Diffstat (limited to 'shared_llvm.mk')
-rw-r--r--shared_llvm.mk107
1 files changed, 107 insertions, 0 deletions
diff --git a/shared_llvm.mk b/shared_llvm.mk
new file mode 100644
index 0000000..6f85040
--- /dev/null
+++ b/shared_llvm.mk
@@ -0,0 +1,107 @@
+LOCAL_PATH:= $(call my-dir)
+
+llvm_pre_static_libraries := \
+ libLLVMLinker \
+ libLLVMipo \
+ libLLVMBitWriter \
+ libLLVMBitReader
+
+llvm_arm_static_libraries := \
+ libLLVMARMCodeGen \
+ libLLVMARMAsmParser \
+ libLLVMARMAsmPrinter \
+ libLLVMARMInfo \
+ libLLVMARMDesc
+
+llvm_x86_static_libraries := \
+ libLLVMX86CodeGen \
+ libLLVMX86Info \
+ libLLVMX86Desc \
+ libLLVMX86AsmParser \
+ libLLVMX86AsmPrinter \
+ libLLVMX86Utils
+
+llvm_mips_static_libraries := \
+ libLLVMMipsCodeGen \
+ libLLVMMipsInfo \
+ libLLVMMipsDesc \
+ libLLVMMipsAsmParser \
+ libLLVMMipsAsmPrinter
+
+llvm_post_static_libraries := \
+ libLLVMAsmPrinter \
+ libLLVMSelectionDAG \
+ libLLVMCodeGen \
+ libLLVMScalarOpts \
+ libLLVMInstCombine \
+ libLLVMInstrumentation \
+ libLLVMTransformUtils \
+ libLLVMipa \
+ libLLVMAnalysis \
+ libLLVMTarget \
+ libLLVMMC \
+ libLLVMMCParser \
+ libLLVMCore \
+ libLLVMArchive \
+ libLLVMAsmParser \
+ libLLVMSupport \
+ libLLVMVectorize
+
+# HOST LLVM shared library build
+include $(CLEAR_VARS)
+LOCAL_IS_HOST_MODULE := true
+
+LOCAL_MODULE:= libLLVM
+
+LOCAL_MODULE_TAGS := optional
+
+# Host build pulls in all ARM, Mips, X86 components.
+LOCAL_WHOLE_STATIC_LIBRARIES := \
+ $(llvm_pre_static_libraries) \
+ $(llvm_arm_static_libraries) \
+ $(llvm_x86_static_libraries) \
+ $(llvm_mips_static_libraries) \
+ $(llvm_post_static_libraries)
+
+ifeq ($(HOST_OS),windows)
+ LOCAL_LDLIBS := -limagehlp -lpsapi
+else
+ LOCAL_LDLIBS := -ldl -lpthread
+endif
+
+include $(LLVM_HOST_BUILD_MK)
+include $(BUILD_HOST_SHARED_LIBRARY)
+
+
+# DEVICE LLVM shared library build
+include $(CLEAR_VARS)
+
+LOCAL_MODULE:= libLLVM
+
+LOCAL_MODULE_TAGS := optional
+
+# Device build selectively pulls in ARM, Mips, X86 components.
+LOCAL_WHOLE_STATIC_LIBRARIES := \
+ $(llvm_pre_static_libraries)
+
+ifeq ($(TARGET_ARCH),arm)
+ LOCAL_WHOLE_STATIC_LIBRARIES += $(llvm_arm_static_libraries)
+else
+ ifeq ($(TARGET_ARCH),x86)
+ LOCAL_WHOLE_STATIC_LIBRARIES += $(llvm_x86_static_libraries)
+ else
+ ifeq ($(TARGET_ARCH),mips)
+ LOCAL_WHOLE_STATIC_LIBRARIES += $(llvm_mips_static_libraries)
+ else
+ $(error Unsupported architecture $(TARGET_ARCH))
+ endif
+ endif
+endif
+
+LOCAL_WHOLE_STATIC_LIBRARIES += $(llvm_post_static_libraries)
+
+#LOCAL_LDLIBS := -ldl -lpthread
+LOCAL_SHARED_LIBRARIES := libcutils libdl libstlport
+
+include $(LLVM_DEVICE_BUILD_MK)
+include $(BUILD_SHARED_LIBRARY)