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 45LOCAL_SRC_FILES_arm64 += \ 46 rsCpuIntrinsics_advsimd_3DLUT.S \ 47 rsCpuIntrinsics_advsimd_Convolve.S \ 48 rsCpuIntrinsics_advsimd_Blur.S \ 49 rsCpuIntrinsics_advsimd_ColorMatrix.S \ 50 rsCpuIntrinsics_advsimd_YuvToRGB.S 51# rsCpuIntrinsics_advsimd_Blend.S \ 52 53ifeq ($(ARCH_ARM_HAVE_NEON),true) 54 LOCAL_CFLAGS_arm += -DARCH_ARM_HAVE_NEON 55endif 56 57ifeq ($(ARCH_ARM_HAVE_VFP),true) 58 LOCAL_CFLAGS_arm += -DARCH_ARM_HAVE_VFP -DARCH_ARM_USE_INTRINSICS 59 LOCAL_SRC_FILES_arm += \ 60 rsCpuIntrinsics_neon_3DLUT.S \ 61 rsCpuIntrinsics_neon_Blend.S \ 62 rsCpuIntrinsics_neon_Blur.S \ 63 rsCpuIntrinsics_neon_Convolve.S \ 64 rsCpuIntrinsics_neon_ColorMatrix.S \ 65 rsCpuIntrinsics_neon_YuvToRGB.S \ 66 67 LOCAL_ASFLAGS_arm := -mfpu=neon 68endif 69 70ifeq ($(ARCH_X86_HAVE_SSSE3),true) 71 LOCAL_CFLAGS += -DARCH_X86_HAVE_SSSE3 72 LOCAL_SRC_FILES+= \ 73 rsCpuIntrinsics_x86.c 74endif 75 76LOCAL_SHARED_LIBRARIES += libRS libcutils libutils liblog libsync libc++ 77 78# these are not supported in 64-bit yet 79LOCAL_SHARED_LIBRARIES += libbcc libbcinfo 80 81 82LOCAL_C_INCLUDES += frameworks/compile/libbcc/include 83LOCAL_C_INCLUDES += frameworks/rs 84 85ifneq ($(HOST_OS),windows) 86include external/libcxx/libcxx.mk 87endif 88include frameworks/compile/libbcc/libbcc-targets.mk 89 90LOCAL_CFLAGS += $(rs_base_CFLAGS) 91 92LOCAL_MODULE_TAGS := optional 93 94include $(BUILD_SHARED_LIBRARY) 95