libbcc.sha1.mk revision c6e6ee4392390c0888f808220adf33334e1f64a4
171df05005d8cbc15b4c288ff643be243af0c7b88Colin Cross#=====================================================================
271df05005d8cbc15b4c288ff643be243af0c7b88Colin Cross# Calculate SHA1 checksum for libbcc.so, libRS.so and libclcore.bc
371df05005d8cbc15b4c288ff643be243af0c7b88Colin Cross#=====================================================================
4c6e6ee4392390c0888f808220adf33334e1f64a4Tim Murrayifneq (true,$(DISABLE_LLVM_DEVICE_BUILDS))
571df05005d8cbc15b4c288ff643be243af0c7b88Colin Crossinclude $(CLEAR_VARS)
671df05005d8cbc15b4c288ff643be243af0c7b88Colin Cross
74470813359edb11fdf241b9d69fd51a9d8cdff4eTim Murray# not supported on 64-bit yet
84470813359edb11fdf241b9d69fd51a9d8cdff4eTim MurrayLOCAL_32_BIT_ONLY := true
94470813359edb11fdf241b9d69fd51a9d8cdff4eTim Murray
1071df05005d8cbc15b4c288ff643be243af0c7b88Colin CrossLOCAL_MODULE := libbcc.sha1
1171df05005d8cbc15b4c288ff643be243af0c7b88Colin CrossLOCAL_MODULE_TAGS := optional
1271df05005d8cbc15b4c288ff643be243af0c7b88Colin CrossLOCAL_MODULE_CLASS := SHARED_LIBRARIES
1371df05005d8cbc15b4c288ff643be243af0c7b88Colin Cross
1471df05005d8cbc15b4c288ff643be243af0c7b88Colin Crosslibbcc_SHA1_SRCS := \
1571df05005d8cbc15b4c288ff643be243af0c7b88Colin Cross  $($(my_2nd_arch_prefix)TARGET_OUT_INTERMEDIATE_LIBRARIES)/libbcc.so \
1671df05005d8cbc15b4c288ff643be243af0c7b88Colin Cross  $($(my_2nd_arch_prefix)TARGET_OUT_INTERMEDIATE_LIBRARIES)/libcompiler_rt.so \
1771df05005d8cbc15b4c288ff643be243af0c7b88Colin Cross  $($(my_2nd_arch_prefix)TARGET_OUT_INTERMEDIATE_LIBRARIES)/libRS.so \
1871df05005d8cbc15b4c288ff643be243af0c7b88Colin Cross  $(call intermediates-dir-for,SHARED_LIBRARIES,libclcore.bc,,,$(my_2nd_arch_prefix))/libclcore.bc \
1971df05005d8cbc15b4c288ff643be243af0c7b88Colin Cross  $(call intermediates-dir-for,SHARED_LIBRARIES,libclcore_debug.bc,,,$(my_2nd_arch_prefix))/libclcore_debug.bc
2071df05005d8cbc15b4c288ff643be243af0c7b88Colin Cross
2171df05005d8cbc15b4c288ff643be243af0c7b88Colin Crossifeq ($(TARGET_$(my_2nd_arch_prefix)ARCH),arm)
2271df05005d8cbc15b4c288ff643be243af0c7b88Colin Crossifeq ($(ARCH_ARM_HAVE_NEON),true)
2371df05005d8cbc15b4c288ff643be243af0c7b88Colin Cross  libbcc_SHA1_SRCS += \
2471df05005d8cbc15b4c288ff643be243af0c7b88Colin Cross    $(call intermediates-dir-for,SHARED_LIBRARIES,libclcore_neon.bc,,,$(my_2nd_arch_prefix))/libclcore_neon.bc
2571df05005d8cbc15b4c288ff643be243af0c7b88Colin Crossendif
2671df05005d8cbc15b4c288ff643be243af0c7b88Colin Crossendif
2771df05005d8cbc15b4c288ff643be243af0c7b88Colin Cross
2871df05005d8cbc15b4c288ff643be243af0c7b88Colin Crosslibbcc_GEN_SHA1_STAMP := $(LOCAL_PATH)/tools/build/gen-sha1-stamp.py
2971df05005d8cbc15b4c288ff643be243af0c7b88Colin Crossintermediates := $(call local-intermediates-dir,,$(my_2nd_arch_prefix))
3071df05005d8cbc15b4c288ff643be243af0c7b88Colin Cross
3171df05005d8cbc15b4c288ff643be243af0c7b88Colin Crosslibbcc_SHA1_ASM := $(intermediates)/libbcc.sha1.S
3271df05005d8cbc15b4c288ff643be243af0c7b88Colin CrossLOCAL_GENERATED_SOURCES += $(libbcc_SHA1_ASM)
3371df05005d8cbc15b4c288ff643be243af0c7b88Colin Cross$(libbcc_SHA1_ASM): PRIVATE_SHA1_SRCS := $(libbcc_SHA1_SRCS)
3471df05005d8cbc15b4c288ff643be243af0c7b88Colin Cross$(libbcc_SHA1_ASM): $(libbcc_SHA1_SRCS) $(libbcc_GEN_SHA1_STAMP)
3571df05005d8cbc15b4c288ff643be243af0c7b88Colin Cross	@echo libbcc.sha1: $@
3671df05005d8cbc15b4c288ff643be243af0c7b88Colin Cross	$(hide) mkdir -p $(dir $@)
3771df05005d8cbc15b4c288ff643be243af0c7b88Colin Cross	$(hide) $(libbcc_GEN_SHA1_STAMP) $(PRIVATE_SHA1_SRCS) > $@
3871df05005d8cbc15b4c288ff643be243af0c7b88Colin Cross
3971df05005d8cbc15b4c288ff643be243af0c7b88Colin CrossLOCAL_CFLAGS += -D_REENTRANT -DPIC -fPIC
4071df05005d8cbc15b4c288ff643be243af0c7b88Colin CrossLOCAL_CFLAGS += -O3 -nodefaultlibs -nostdlib
4171df05005d8cbc15b4c288ff643be243af0c7b88Colin Cross
4271df05005d8cbc15b4c288ff643be243af0c7b88Colin Crossifeq ($(my_2nd_arch_prefix),)
4371df05005d8cbc15b4c288ff643be243af0c7b88Colin CrossLOCAL_NO_2ND_ARCH := true
4471df05005d8cbc15b4c288ff643be243af0c7b88Colin Crosselse
4571df05005d8cbc15b4c288ff643be243af0c7b88Colin CrossLOCAL_32_BIT_ONLY := true
4671df05005d8cbc15b4c288ff643be243af0c7b88Colin Crossendif
4771df05005d8cbc15b4c288ff643be243af0c7b88Colin Cross
4871df05005d8cbc15b4c288ff643be243af0c7b88Colin CrossLOCAL_MODULE_TARGET_ARCH := $(LLVM_SUPPORTED_ARCH)
4971df05005d8cbc15b4c288ff643be243af0c7b88Colin Cross
5071df05005d8cbc15b4c288ff643be243af0c7b88Colin Crossinclude $(BUILD_SHARED_LIBRARY)
51c6e6ee4392390c0888f808220adf33334e1f64a4Tim Murrayendif