blob: e929a9c4957cb36bd795ff2365832debfc3ef12d [file] [log] [blame]
cc_library_shared {
name: "libRSCpuRef",
defaults: ["libbcc-targets"],
vendor_available: true,
vndk: {
enabled: true,
support_system_process: true,
},
srcs: [
"rsCpuCore.cpp",
"rsCpuExecutable.cpp",
"rsCpuScript.cpp",
"rsCpuRuntimeMath.cpp",
"rsCpuScriptGroup.cpp",
"rsCpuScriptGroup2.cpp",
"rsCpuIntrinsic.cpp",
"rsCpuIntrinsic3DLUT.cpp",
"rsCpuIntrinsicBLAS.cpp",
"rsCpuIntrinsicBlend.cpp",
"rsCpuIntrinsicBlur.cpp",
"rsCpuIntrinsicColorMatrix.cpp",
"rsCpuIntrinsicConvolve3x3.cpp",
"rsCpuIntrinsicConvolve5x5.cpp",
"rsCpuIntrinsicHistogram.cpp",
"rsCpuIntrinsicResize.cpp",
"rsCpuIntrinsicLUT.cpp",
"rsCpuIntrinsicYuvToRGB.cpp",
],
arch: {
arm64: {
cflags: [
"-DARCH_ARM_USE_INTRINSICS",
"-DARCH_ARM64_USE_INTRINSICS",
"-DARCH_ARM64_HAVE_NEON",
],
srcs: [
"rsCpuIntrinsics_advsimd_3DLUT.S",
"rsCpuIntrinsics_advsimd_Convolve.S",
"rsCpuIntrinsics_advsimd_Blur.S",
"rsCpuIntrinsics_advsimd_ColorMatrix.S",
"rsCpuIntrinsics_advsimd_Resize.S",
"rsCpuIntrinsics_advsimd_YuvToRGB.S",
"rsCpuIntrinsics_advsimd_Blend.S",
],
},
arm: {
cflags: [
"-DARCH_ARM_HAVE_VFP",
"-DARCH_ARM_USE_INTRINSICS",
],
srcs: [
"rsCpuIntrinsics_neon_3DLUT.S",
"rsCpuIntrinsics_neon_Blend.S",
"rsCpuIntrinsics_neon_Blur.S",
"rsCpuIntrinsics_neon_Convolve.S",
"rsCpuIntrinsics_neon_ColorMatrix.S",
"rsCpuIntrinsics_neon_Resize.S",
"rsCpuIntrinsics_neon_YuvToRGB.S",
],
asflags: ["-mfpu=neon"],
neon: {
cflags: [
"-DARCH_ARM_HAVE_NEON",
],
},
},
x86: {
ssse3: {
cflags: ["-DARCH_X86_HAVE_SSSE3"],
srcs: ["rsCpuIntrinsics_x86.cpp"],
},
},
x86_64: {
ssse3: {
cflags: ["-DARCH_X86_HAVE_SSSE3"],
srcs: ["rsCpuIntrinsics_x86.cpp"],
},
},
},
target: {
arm_on_x86: {
cflags: ["-DBUILD_ARM_FOR_X86"],
},
},
shared_libs: [
"libRS_internal",
"libc++",
"liblog",
"libz",
"libbcinfo",
"libblas",
],
static_libs: ["libbnnmlowp"],
header_libs: [
"libutils_headers",
"libhardware_headers",
],
include_dirs: [
"frameworks/compile/libbcc/include",
"frameworks/rs",
],
cflags: [
"-Werror",
"-Wall",
"-Wextra",
"-Wno-unused-parameter",
"-Wno-unused-variable",
],
product_variables: {
pdk: {
// Not building RenderScript modules in PDK builds, as libmediandk
// is not available in PDK.
enabled: false,
},
},
}