• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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