1*e1eccf28SAndroid Build Coastguard Workercc_defaults { 2*e1eccf28SAndroid Build Coastguard Worker name: "rs_support_defaults", 3*e1eccf28SAndroid Build Coastguard Worker product_variables: { 4*e1eccf28SAndroid Build Coastguard Worker unbundled_build: { 5*e1eccf28SAndroid Build Coastguard Worker // Unbundled builds use prebuilts in prebuilts/sdk/renderscript instead 6*e1eccf28SAndroid Build Coastguard Worker enabled: false, 7*e1eccf28SAndroid Build Coastguard Worker }, 8*e1eccf28SAndroid Build Coastguard Worker }, 9*e1eccf28SAndroid Build Coastguard Worker cflags: [ 10*e1eccf28SAndroid Build Coastguard Worker "-Wno-deprecated-declarations", 11*e1eccf28SAndroid Build Coastguard Worker ], 12*e1eccf28SAndroid Build Coastguard Worker} 13*e1eccf28SAndroid Build Coastguard Worker 14*e1eccf28SAndroid Build Coastguard Worker// Generate custom headers 15*e1eccf28SAndroid Build Coastguard Workergensrcs { 16*e1eccf28SAndroid Build Coastguard Worker name: "rs_generated_headers_support", 17*e1eccf28SAndroid Build Coastguard Worker tools: ["rsg-generator"], 18*e1eccf28SAndroid Build Coastguard Worker tool_files: [ 19*e1eccf28SAndroid Build Coastguard Worker "rs.spec", 20*e1eccf28SAndroid Build Coastguard Worker "rs_compat.spec", 21*e1eccf28SAndroid Build Coastguard Worker ], 22*e1eccf28SAndroid Build Coastguard Worker cmd: "cat $(location rs.spec) $(location rs_compat.spec) | $(location rsg-generator) $(in) $(out)", 23*e1eccf28SAndroid Build Coastguard Worker output_extension: "h", 24*e1eccf28SAndroid Build Coastguard Worker srcs: [ 25*e1eccf28SAndroid Build Coastguard Worker "rsgApiStructs.h_rsg", 26*e1eccf28SAndroid Build Coastguard Worker "rsgApiFuncDecl.h_rsg", 27*e1eccf28SAndroid Build Coastguard Worker ], 28*e1eccf28SAndroid Build Coastguard Worker export_include_dirs: ["."], 29*e1eccf28SAndroid Build Coastguard Worker} 30*e1eccf28SAndroid Build Coastguard Worker 31*e1eccf28SAndroid Build Coastguard Workergensrcs { 32*e1eccf28SAndroid Build Coastguard Worker name: "rs_generated_sources_support", 33*e1eccf28SAndroid Build Coastguard Worker tools: ["rsg-generator"], 34*e1eccf28SAndroid Build Coastguard Worker tool_files: [ 35*e1eccf28SAndroid Build Coastguard Worker "rs.spec", 36*e1eccf28SAndroid Build Coastguard Worker "rs_compat.spec", 37*e1eccf28SAndroid Build Coastguard Worker ], 38*e1eccf28SAndroid Build Coastguard Worker cmd: "cat $(location rs.spec) $(location rs_compat.spec) | $(location rsg-generator) $(in) $(out)", 39*e1eccf28SAndroid Build Coastguard Worker output_extension: "cpp", 40*e1eccf28SAndroid Build Coastguard Worker srcs: [ 41*e1eccf28SAndroid Build Coastguard Worker "rsgApi.cpp_rsg", 42*e1eccf28SAndroid Build Coastguard Worker "rsgApiReplay.cpp_rsg", 43*e1eccf28SAndroid Build Coastguard Worker ], 44*e1eccf28SAndroid Build Coastguard Worker} 45*e1eccf28SAndroid Build Coastguard Worker 46*e1eccf28SAndroid Build Coastguard Workercc_defaults { 47*e1eccf28SAndroid Build Coastguard Worker name: "libRSSupport_defaults", 48*e1eccf28SAndroid Build Coastguard Worker defaults: ["rs_support_defaults"], 49*e1eccf28SAndroid Build Coastguard Worker srcs: [ 50*e1eccf28SAndroid Build Coastguard Worker "rsAllocation.cpp", 51*e1eccf28SAndroid Build Coastguard Worker "rsApiAllocation.cpp", 52*e1eccf28SAndroid Build Coastguard Worker "rsApiContext.cpp", 53*e1eccf28SAndroid Build Coastguard Worker "rsApiDevice.cpp", 54*e1eccf28SAndroid Build Coastguard Worker "rsApiElement.cpp", 55*e1eccf28SAndroid Build Coastguard Worker "rsApiType.cpp", 56*e1eccf28SAndroid Build Coastguard Worker "rsClosure.cpp", 57*e1eccf28SAndroid Build Coastguard Worker "rsComponent.cpp", 58*e1eccf28SAndroid Build Coastguard Worker "rsContext.cpp", 59*e1eccf28SAndroid Build Coastguard Worker "rsCppUtils.cpp", 60*e1eccf28SAndroid Build Coastguard Worker "rsDevice.cpp", 61*e1eccf28SAndroid Build Coastguard Worker "rsDriverLoader.cpp", 62*e1eccf28SAndroid Build Coastguard Worker "rsElement.cpp", 63*e1eccf28SAndroid Build Coastguard Worker "rsFifoSocket.cpp", 64*e1eccf28SAndroid Build Coastguard Worker "rsObjectBase.cpp", 65*e1eccf28SAndroid Build Coastguard Worker "rsMatrix2x2.cpp", 66*e1eccf28SAndroid Build Coastguard Worker "rsMatrix3x3.cpp", 67*e1eccf28SAndroid Build Coastguard Worker "rsMatrix4x4.cpp", 68*e1eccf28SAndroid Build Coastguard Worker "rsMutex.cpp", 69*e1eccf28SAndroid Build Coastguard Worker "rsSampler.cpp", 70*e1eccf28SAndroid Build Coastguard Worker "rsScript.cpp", 71*e1eccf28SAndroid Build Coastguard Worker "rsScriptC.cpp", 72*e1eccf28SAndroid Build Coastguard Worker "rsScriptC_Lib.cpp", 73*e1eccf28SAndroid Build Coastguard Worker "rsScriptGroup.cpp", 74*e1eccf28SAndroid Build Coastguard Worker "rsScriptGroup2.cpp", 75*e1eccf28SAndroid Build Coastguard Worker "rsScriptIntrinsic.cpp", 76*e1eccf28SAndroid Build Coastguard Worker "rsSignal.cpp", 77*e1eccf28SAndroid Build Coastguard Worker "rsStream.cpp", 78*e1eccf28SAndroid Build Coastguard Worker "rsThreadIO.cpp", 79*e1eccf28SAndroid Build Coastguard Worker "rsType.cpp", 80*e1eccf28SAndroid Build Coastguard Worker "driver/rsdAllocation.cpp", 81*e1eccf28SAndroid Build Coastguard Worker "driver/rsdBcc.cpp", 82*e1eccf28SAndroid Build Coastguard Worker "driver/rsdCore.cpp", 83*e1eccf28SAndroid Build Coastguard Worker "driver/rsdElement.cpp", 84*e1eccf28SAndroid Build Coastguard Worker "driver/rsdRuntimeStubs.cpp", 85*e1eccf28SAndroid Build Coastguard Worker "driver/rsdSampler.cpp", 86*e1eccf28SAndroid Build Coastguard Worker "driver/rsdScriptGroup.cpp", 87*e1eccf28SAndroid Build Coastguard Worker "driver/rsdType.cpp", 88*e1eccf28SAndroid Build Coastguard Worker "cpu_ref/rsCpuCore.cpp", 89*e1eccf28SAndroid Build Coastguard Worker "cpu_ref/rsCpuExecutable.cpp", 90*e1eccf28SAndroid Build Coastguard Worker "cpu_ref/rsCpuScript.cpp", 91*e1eccf28SAndroid Build Coastguard Worker "cpu_ref/rsCpuRuntimeMath.cpp", 92*e1eccf28SAndroid Build Coastguard Worker "cpu_ref/rsCpuScriptGroup.cpp", 93*e1eccf28SAndroid Build Coastguard Worker "cpu_ref/rsCpuScriptGroup2.cpp", 94*e1eccf28SAndroid Build Coastguard Worker "cpu_ref/rsCpuIntrinsic.cpp", 95*e1eccf28SAndroid Build Coastguard Worker "cpu_ref/rsCpuIntrinsic3DLUT.cpp", 96*e1eccf28SAndroid Build Coastguard Worker "cpu_ref/rsCpuIntrinsicBlend.cpp", 97*e1eccf28SAndroid Build Coastguard Worker "cpu_ref/rsCpuIntrinsicBlur.cpp", 98*e1eccf28SAndroid Build Coastguard Worker "cpu_ref/rsCpuIntrinsicBLAS.cpp", 99*e1eccf28SAndroid Build Coastguard Worker "cpu_ref/rsCpuIntrinsicColorMatrix.cpp", 100*e1eccf28SAndroid Build Coastguard Worker "cpu_ref/rsCpuIntrinsicConvolve3x3.cpp", 101*e1eccf28SAndroid Build Coastguard Worker "cpu_ref/rsCpuIntrinsicConvolve5x5.cpp", 102*e1eccf28SAndroid Build Coastguard Worker "cpu_ref/rsCpuIntrinsicHistogram.cpp", 103*e1eccf28SAndroid Build Coastguard Worker "cpu_ref/rsCpuIntrinsicLUT.cpp", 104*e1eccf28SAndroid Build Coastguard Worker "cpu_ref/rsCpuIntrinsicResize.cpp", 105*e1eccf28SAndroid Build Coastguard Worker "cpu_ref/rsCpuIntrinsicYuvToRGB.cpp", 106*e1eccf28SAndroid Build Coastguard Worker ], 107*e1eccf28SAndroid Build Coastguard Worker 108*e1eccf28SAndroid Build Coastguard Worker generated_sources: ["rs_generated_sources_support"], 109*e1eccf28SAndroid Build Coastguard Worker generated_headers: ["rs_generated_headers_support"], 110*e1eccf28SAndroid Build Coastguard Worker 111*e1eccf28SAndroid Build Coastguard Worker arch: { 112*e1eccf28SAndroid Build Coastguard Worker arm: { 113*e1eccf28SAndroid Build Coastguard Worker cflags: [ 114*e1eccf28SAndroid Build Coastguard Worker "-DARCH_ARM_HAVE_NEON", 115*e1eccf28SAndroid Build Coastguard Worker "-DARCH_ARM_HAVE_VFP", 116*e1eccf28SAndroid Build Coastguard Worker "-DARCH_ARM_USE_INTRINSICS", 117*e1eccf28SAndroid Build Coastguard Worker ], 118*e1eccf28SAndroid Build Coastguard Worker srcs: [ 119*e1eccf28SAndroid Build Coastguard Worker "cpu_ref/rsCpuIntrinsics_neon_3DLUT.S", 120*e1eccf28SAndroid Build Coastguard Worker "cpu_ref/rsCpuIntrinsics_neon_Blend.S", 121*e1eccf28SAndroid Build Coastguard Worker "cpu_ref/rsCpuIntrinsics_neon_Blur.S", 122*e1eccf28SAndroid Build Coastguard Worker "cpu_ref/rsCpuIntrinsics_neon_ColorMatrix.S", 123*e1eccf28SAndroid Build Coastguard Worker "cpu_ref/rsCpuIntrinsics_neon_Convolve.S", 124*e1eccf28SAndroid Build Coastguard Worker "cpu_ref/rsCpuIntrinsics_neon_Resize.S", 125*e1eccf28SAndroid Build Coastguard Worker "cpu_ref/rsCpuIntrinsics_neon_YuvToRGB.S", 126*e1eccf28SAndroid Build Coastguard Worker ], 127*e1eccf28SAndroid Build Coastguard Worker }, 128*e1eccf28SAndroid Build Coastguard Worker 129*e1eccf28SAndroid Build Coastguard Worker arm64: { 130*e1eccf28SAndroid Build Coastguard Worker cflags: [ 131*e1eccf28SAndroid Build Coastguard Worker "-DARCH_ARM_USE_INTRINSICS", 132*e1eccf28SAndroid Build Coastguard Worker "-DARCH_ARM64_USE_INTRINSICS", 133*e1eccf28SAndroid Build Coastguard Worker "-DARCH_ARM64_HAVE_NEON", 134*e1eccf28SAndroid Build Coastguard Worker ], 135*e1eccf28SAndroid Build Coastguard Worker srcs: [ 136*e1eccf28SAndroid Build Coastguard Worker "cpu_ref/rsCpuIntrinsics_advsimd_3DLUT.S", 137*e1eccf28SAndroid Build Coastguard Worker "cpu_ref/rsCpuIntrinsics_advsimd_Blend.S", 138*e1eccf28SAndroid Build Coastguard Worker "cpu_ref/rsCpuIntrinsics_advsimd_Blur.S", 139*e1eccf28SAndroid Build Coastguard Worker "cpu_ref/rsCpuIntrinsics_advsimd_ColorMatrix.S", 140*e1eccf28SAndroid Build Coastguard Worker "cpu_ref/rsCpuIntrinsics_advsimd_Convolve.S", 141*e1eccf28SAndroid Build Coastguard Worker "cpu_ref/rsCpuIntrinsics_advsimd_Resize.S", 142*e1eccf28SAndroid Build Coastguard Worker "cpu_ref/rsCpuIntrinsics_advsimd_YuvToRGB.S", 143*e1eccf28SAndroid Build Coastguard Worker ], 144*e1eccf28SAndroid Build Coastguard Worker }, 145*e1eccf28SAndroid Build Coastguard Worker 146*e1eccf28SAndroid Build Coastguard Worker x86: { 147*e1eccf28SAndroid Build Coastguard Worker cflags: ["-DARCH_X86_HAVE_SSSE3"], 148*e1eccf28SAndroid Build Coastguard Worker srcs: ["cpu_ref/rsCpuIntrinsics_x86.cpp"], 149*e1eccf28SAndroid Build Coastguard Worker }, 150*e1eccf28SAndroid Build Coastguard Worker 151*e1eccf28SAndroid Build Coastguard Worker x86_64: { 152*e1eccf28SAndroid Build Coastguard Worker cflags: ["-DARCH_X86_HAVE_SSSE3"], 153*e1eccf28SAndroid Build Coastguard Worker srcs: ["cpu_ref/rsCpuIntrinsics_x86.cpp"], 154*e1eccf28SAndroid Build Coastguard Worker }, 155*e1eccf28SAndroid Build Coastguard Worker }, 156*e1eccf28SAndroid Build Coastguard Worker 157*e1eccf28SAndroid Build Coastguard Worker required: ["libblasV8"], 158*e1eccf28SAndroid Build Coastguard Worker static_libs: ["libbnnmlowpV8"], 159*e1eccf28SAndroid Build Coastguard Worker shared_libs: [ 160*e1eccf28SAndroid Build Coastguard Worker "liblog", 161*e1eccf28SAndroid Build Coastguard Worker "libdl", 162*e1eccf28SAndroid Build Coastguard Worker ], 163*e1eccf28SAndroid Build Coastguard Worker ldflags: [ 164*e1eccf28SAndroid Build Coastguard Worker "-Wl,--exclude-libs,libc++_static.a", 165*e1eccf28SAndroid Build Coastguard Worker "-Wl,--hash-style=sysv", 166*e1eccf28SAndroid Build Coastguard Worker ], 167*e1eccf28SAndroid Build Coastguard Worker stl: "c++_static", 168*e1eccf28SAndroid Build Coastguard Worker 169*e1eccf28SAndroid Build Coastguard Worker cflags: [ 170*e1eccf28SAndroid Build Coastguard Worker "-Werror", 171*e1eccf28SAndroid Build Coastguard Worker "-Wall", 172*e1eccf28SAndroid Build Coastguard Worker "-Wextra", 173*e1eccf28SAndroid Build Coastguard Worker "-Wno-unused-parameter", 174*e1eccf28SAndroid Build Coastguard Worker "-Wno-unused-variable", 175*e1eccf28SAndroid Build Coastguard Worker "-Wno-overloaded-virtual", 176*e1eccf28SAndroid Build Coastguard Worker "-DRS_COMPATIBILITY_LIB", 177*e1eccf28SAndroid Build Coastguard Worker 178*e1eccf28SAndroid Build Coastguard Worker "-DGEMMLOWP_USE_STLPORT", 179*e1eccf28SAndroid Build Coastguard Worker 180*e1eccf28SAndroid Build Coastguard Worker // Allow implicit fallthrough in rsContext.cpp:414 until it is fixed. 181*e1eccf28SAndroid Build Coastguard Worker "-Wno-error=implicit-fallthrough", 182*e1eccf28SAndroid Build Coastguard Worker ], 183*e1eccf28SAndroid Build Coastguard Worker} 184*e1eccf28SAndroid Build Coastguard Worker 185*e1eccf28SAndroid Build Coastguard Workercc_library_shared { 186*e1eccf28SAndroid Build Coastguard Worker name: "libRSSupport", 187*e1eccf28SAndroid Build Coastguard Worker defaults: ["libRSSupport_defaults"], 188*e1eccf28SAndroid Build Coastguard Worker sdk_version: "9", 189*e1eccf28SAndroid Build Coastguard Worker 190*e1eccf28SAndroid Build Coastguard Worker target: { 191*e1eccf28SAndroid Build Coastguard Worker platform: { 192*e1eccf28SAndroid Build Coastguard Worker shared_libs: ["libnativewindow"], 193*e1eccf28SAndroid Build Coastguard Worker }, 194*e1eccf28SAndroid Build Coastguard Worker }, 195*e1eccf28SAndroid Build Coastguard Worker} 196*e1eccf28SAndroid Build Coastguard Worker 197*e1eccf28SAndroid Build Coastguard Worker// Note: libnative_bridge_guest libraries don't support "sdk_version" - and we 198*e1eccf28SAndroid Build Coastguard Worker// must use libnative_bridge_guest_libnativewindow instead of libnativewindow 199*e1eccf28SAndroid Build Coastguard Worker// when we are doing native_bridge build. 200*e1eccf28SAndroid Build Coastguard Workercc_library_shared { 201*e1eccf28SAndroid Build Coastguard Worker name: "libnative_bridge_guest_libRSSupport", 202*e1eccf28SAndroid Build Coastguard Worker stem: "libRSSupport", 203*e1eccf28SAndroid Build Coastguard Worker defaults: ["libRSSupport_defaults"], 204*e1eccf28SAndroid Build Coastguard Worker 205*e1eccf28SAndroid Build Coastguard Worker // Import headers not provided by libnative_bridge_guest_libnativewindow. 206*e1eccf28SAndroid Build Coastguard Worker header_libs: [ 207*e1eccf28SAndroid Build Coastguard Worker "libarect_headers", 208*e1eccf28SAndroid Build Coastguard Worker "libnativewindow_headers" 209*e1eccf28SAndroid Build Coastguard Worker ], 210*e1eccf28SAndroid Build Coastguard Worker 211*e1eccf28SAndroid Build Coastguard Worker shared_libs: [ 212*e1eccf28SAndroid Build Coastguard Worker "libnative_bridge_guest_libnativewindow", 213*e1eccf28SAndroid Build Coastguard Worker ], 214*e1eccf28SAndroid Build Coastguard Worker 215*e1eccf28SAndroid Build Coastguard Worker enabled: false, 216*e1eccf28SAndroid Build Coastguard Worker native_bridge_supported: true, 217*e1eccf28SAndroid Build Coastguard Worker target: { 218*e1eccf28SAndroid Build Coastguard Worker native_bridge: { 219*e1eccf28SAndroid Build Coastguard Worker enabled: true, 220*e1eccf28SAndroid Build Coastguard Worker } 221*e1eccf28SAndroid Build Coastguard Worker }, 222*e1eccf28SAndroid Build Coastguard Worker} 223