1LOCAL_PATH:=$(call my-dir) 2 3# Not building RenderScript modules in PDK builds, as libmediandk 4# is not available in PDK. 5ifneq ($(TARGET_BUILD_PDK), true) 6 7rs_base_CFLAGS := -Werror -Wall -Wextra \ 8 -Wno-unused-parameter -Wno-unused-variable 9 10ifneq ($(OVERRIDE_RS_DRIVER),) 11 rs_base_CFLAGS += -DOVERRIDE_RS_DRIVER=$(OVERRIDE_RS_DRIVER) 12endif 13 14ifeq ($(BUILD_ARM_FOR_X86),true) 15 rs_base_CFLAGS += -DBUILD_ARM_FOR_X86 16endif 17 18include $(CLEAR_VARS) 19ifneq ($(HOST_OS),windows) 20endif 21LOCAL_MODULE := libRSCpuRef 22LOCAL_MODULE_TARGET_ARCH := arm mips mips64 x86 x86_64 arm64 23 24LOCAL_SRC_FILES:= \ 25 rsCpuCore.cpp \ 26 rsCpuExecutable.cpp \ 27 rsCpuScript.cpp \ 28 rsCpuRuntimeMath.cpp \ 29 rsCpuScriptGroup.cpp \ 30 rsCpuScriptGroup2.cpp \ 31 rsCpuIntrinsic.cpp \ 32 rsCpuIntrinsic3DLUT.cpp \ 33 rsCpuIntrinsicBLAS.cpp \ 34 rsCpuIntrinsicBlend.cpp \ 35 rsCpuIntrinsicBlur.cpp \ 36 rsCpuIntrinsicColorMatrix.cpp \ 37 rsCpuIntrinsicConvolve3x3.cpp \ 38 rsCpuIntrinsicConvolve5x5.cpp \ 39 rsCpuIntrinsicHistogram.cpp \ 40 rsCpuIntrinsicResize.cpp \ 41 rsCpuIntrinsicLUT.cpp \ 42 rsCpuIntrinsicYuvToRGB.cpp 43 44LOCAL_CFLAGS_arm64 += -DARCH_ARM_USE_INTRINSICS -DARCH_ARM64_USE_INTRINSICS -DARCH_ARM64_HAVE_NEON 45 46ifeq ($(RS_DISABLE_A53_WORKAROUND),true) 47LOCAL_CFLAGS_arm64 += -DDISABLE_A53_WORKAROUND 48endif 49 50LOCAL_SRC_FILES_arm64 += \ 51 rsCpuIntrinsics_advsimd_3DLUT.S \ 52 rsCpuIntrinsics_advsimd_Convolve.S \ 53 rsCpuIntrinsics_advsimd_Blur.S \ 54 rsCpuIntrinsics_advsimd_ColorMatrix.S \ 55 rsCpuIntrinsics_advsimd_Resize.S \ 56 rsCpuIntrinsics_advsimd_YuvToRGB.S \ 57 rsCpuIntrinsics_advsimd_Blend.S 58 59ifeq ($(ARCH_ARM_HAVE_NEON),true) 60 LOCAL_CFLAGS_arm += -DARCH_ARM_HAVE_NEON 61endif 62 63ifeq ($(ARCH_ARM_HAVE_VFP),true) 64 LOCAL_CFLAGS_arm += -DARCH_ARM_HAVE_VFP -DARCH_ARM_USE_INTRINSICS 65 LOCAL_SRC_FILES_arm += \ 66 rsCpuIntrinsics_neon_3DLUT.S \ 67 rsCpuIntrinsics_neon_Blend.S \ 68 rsCpuIntrinsics_neon_Blur.S \ 69 rsCpuIntrinsics_neon_Convolve.S \ 70 rsCpuIntrinsics_neon_ColorMatrix.S \ 71 rsCpuIntrinsics_neon_Resize.S \ 72 rsCpuIntrinsics_neon_YuvToRGB.S \ 73 74 LOCAL_ASFLAGS_arm := -mfpu=neon 75endif 76 77ifeq ($(ARCH_X86_HAVE_SSSE3),true) 78 LOCAL_CFLAGS_x86 += -DARCH_X86_HAVE_SSSE3 79 LOCAL_SRC_FILES_x86 += \ 80 rsCpuIntrinsics_x86.cpp 81 LOCAL_CFLAGS_x86_64 += -DARCH_X86_HAVE_SSSE3 82 LOCAL_SRC_FILES_x86_64 += \ 83 rsCpuIntrinsics_x86.cpp 84endif 85 86LOCAL_SHARED_LIBRARIES += libRS_internal libc++ liblog libz 87LOCAL_SHARED_LIBRARIES += libbcinfo libblas 88LOCAL_STATIC_LIBRARIES := libbnnmlowp 89 90LOCAL_C_INCLUDES += frameworks/compile/libbcc/include 91LOCAL_C_INCLUDES += frameworks/rs 92LOCAL_C_INCLUDES += external/cblas/include 93LOCAL_C_INCLUDES += external/gemmlowp/eight_bit_int_gemm 94LOCAL_C_INCLUDES += external/zlib 95 96include frameworks/compile/libbcc/libbcc-targets.mk 97 98LOCAL_CFLAGS += $(rs_base_CFLAGS) 99 100include $(BUILD_SHARED_LIBRARY) 101 102endif # TARGET_BUILD_PDK 103