1 2LOCAL_PATH:=$(call my-dir) 3 4rs_base_CFLAGS := -Werror -Wall -Wno-unused-parameter -Wno-unused-variable -fno-exceptions 5ifeq ($(TARGET_BUILD_PDK), true) 6 rs_base_CFLAGS += -D__RS_PDK__ 7endif 8 9ifneq ($(OVERRIDE_RS_DRIVER),) 10 rs_base_CFLAGS += -DOVERRIDE_RS_DRIVER=$(OVERRIDE_RS_DRIVER) 11endif 12 13include $(CLEAR_VARS) 14ifneq ($(HOST_OS),windows) 15LOCAL_CLANG := true 16endif 17LOCAL_MODULE := libRSCpuRef 18LOCAL_MODULE_TARGET_ARCH := arm mips mips64 x86 x86_64 arm64 19 20ifeq ($(HOST_OS), darwin) 21LOCAL_CFLAGS += -no-integrated-as 22LOCAL_ASFLAGS += -no-integrated-as 23endif 24 25LOCAL_SRC_FILES:= \ 26 rsCpuCore.cpp \ 27 rsCpuScript.cpp \ 28 rsCpuRuntimeMath.cpp \ 29 rsCpuRuntimeStubs.cpp \ 30 rsCpuScriptGroup.cpp \ 31 rsCpuIntrinsic.cpp \ 32 rsCpuIntrinsic3DLUT.cpp \ 33 rsCpuIntrinsicBlend.cpp \ 34 rsCpuIntrinsicBlur.cpp \ 35 rsCpuIntrinsicColorMatrix.cpp \ 36 rsCpuIntrinsicConvolve3x3.cpp \ 37 rsCpuIntrinsicConvolve5x5.cpp \ 38 rsCpuIntrinsicHistogram.cpp \ 39 rsCpuIntrinsicResize.cpp \ 40 rsCpuIntrinsicLUT.cpp \ 41 rsCpuIntrinsicYuvToRGB.cpp 42 43LOCAL_CFLAGS_arm64 += -DARCH_ARM_USE_INTRINSICS -DARCH_ARM64_USE_INTRINSICS -DARCH_ARM64_HAVE_NEON 44 45ifeq ($(RS_DISABLE_A53_WORKAROUND),true) 46LOCAL_CFLAGS_arm64 += -DDISABLE_A53_WORKAROUND 47endif 48 49LOCAL_SRC_FILES_arm64 += \ 50 rsCpuIntrinsics_advsimd_3DLUT.S \ 51 rsCpuIntrinsics_advsimd_Convolve.S \ 52 rsCpuIntrinsics_advsimd_Blur.S \ 53 rsCpuIntrinsics_advsimd_ColorMatrix.S \ 54 rsCpuIntrinsics_advsimd_YuvToRGB.S 55# rsCpuIntrinsics_advsimd_Blend.S \ 56 57ifeq ($(ARCH_ARM_HAVE_NEON),true) 58 LOCAL_CFLAGS_arm += -DARCH_ARM_HAVE_NEON 59endif 60 61ifeq ($(ARCH_ARM_HAVE_VFP),true) 62 LOCAL_CFLAGS_arm += -DARCH_ARM_HAVE_VFP -DARCH_ARM_USE_INTRINSICS 63 LOCAL_SRC_FILES_arm += \ 64 rsCpuIntrinsics_neon_3DLUT.S \ 65 rsCpuIntrinsics_neon_Blend.S \ 66 rsCpuIntrinsics_neon_Blur.S \ 67 rsCpuIntrinsics_neon_Convolve.S \ 68 rsCpuIntrinsics_neon_ColorMatrix.S \ 69 rsCpuIntrinsics_neon_YuvToRGB.S \ 70 71 LOCAL_ASFLAGS_arm := -mfpu=neon 72endif 73 74ifeq ($(ARCH_X86_HAVE_SSSE3),true) 75 LOCAL_CFLAGS += -DARCH_X86_HAVE_SSSE3 76 LOCAL_SRC_FILES+= \ 77 rsCpuIntrinsics_x86.c 78endif 79 80LOCAL_SHARED_LIBRARIES += libRS libcutils libutils liblog libsync libc++ 81 82# these are not supported in 64-bit yet 83LOCAL_SHARED_LIBRARIES += libbcc libbcinfo 84 85 86LOCAL_C_INCLUDES += frameworks/compile/libbcc/include 87LOCAL_C_INCLUDES += frameworks/rs 88 89ifneq ($(HOST_OS),windows) 90include external/libcxx/libcxx.mk 91endif 92include frameworks/compile/libbcc/libbcc-targets.mk 93 94LOCAL_CFLAGS += $(rs_base_CFLAGS) 95 96LOCAL_MODULE_TAGS := optional 97 98include $(BUILD_SHARED_LIBRARY) 99