1*38e8c45fSAndroid Build Coastguard Workerpackage { 2*38e8c45fSAndroid Build Coastguard Worker // See: http://go/android-license-faq 3*38e8c45fSAndroid Build Coastguard Worker // A large-scale-change added 'default_applicable_licenses' to import 4*38e8c45fSAndroid Build Coastguard Worker // all of the 'license_kinds' from "frameworks_native_license" 5*38e8c45fSAndroid Build Coastguard Worker // to get the below license kinds: 6*38e8c45fSAndroid Build Coastguard Worker // SPDX-license-identifier-Apache-2.0 7*38e8c45fSAndroid Build Coastguard Worker default_applicable_licenses: ["frameworks_native_license"], 8*38e8c45fSAndroid Build Coastguard Worker default_team: "trendy_team_android_core_graphics_stack", 9*38e8c45fSAndroid Build Coastguard Worker} 10*38e8c45fSAndroid Build Coastguard Worker 11*38e8c45fSAndroid Build Coastguard Workercc_defaults { 12*38e8c45fSAndroid Build Coastguard Worker name: "renderengine_defaults", 13*38e8c45fSAndroid Build Coastguard Worker cflags: [ 14*38e8c45fSAndroid Build Coastguard Worker "-DLOG_TAG=\"RenderEngine\"", 15*38e8c45fSAndroid Build Coastguard Worker "-Wall", 16*38e8c45fSAndroid Build Coastguard Worker "-Werror", 17*38e8c45fSAndroid Build Coastguard Worker "-Wthread-safety", 18*38e8c45fSAndroid Build Coastguard Worker "-Wunused", 19*38e8c45fSAndroid Build Coastguard Worker "-Wunreachable-code", 20*38e8c45fSAndroid Build Coastguard Worker ], 21*38e8c45fSAndroid Build Coastguard Worker} 22*38e8c45fSAndroid Build Coastguard Worker 23*38e8c45fSAndroid Build Coastguard Workercc_defaults { 24*38e8c45fSAndroid Build Coastguard Worker name: "librenderengine_defaults", 25*38e8c45fSAndroid Build Coastguard Worker defaults: [ 26*38e8c45fSAndroid Build Coastguard Worker "android.hardware.graphics.composer3-ndk_shared", 27*38e8c45fSAndroid Build Coastguard Worker "renderengine_defaults", 28*38e8c45fSAndroid Build Coastguard Worker ], 29*38e8c45fSAndroid Build Coastguard Worker cflags: [ 30*38e8c45fSAndroid Build Coastguard Worker "-DGL_GLEXT_PROTOTYPES", 31*38e8c45fSAndroid Build Coastguard Worker "-DEGL_EGLEXT_PROTOTYPES", 32*38e8c45fSAndroid Build Coastguard Worker ], 33*38e8c45fSAndroid Build Coastguard Worker shared_libs: [ 34*38e8c45fSAndroid Build Coastguard Worker "libbase", 35*38e8c45fSAndroid Build Coastguard Worker "libcutils", 36*38e8c45fSAndroid Build Coastguard Worker "libEGL", 37*38e8c45fSAndroid Build Coastguard Worker "libGLESv1_CM", 38*38e8c45fSAndroid Build Coastguard Worker "libGLESv2", 39*38e8c45fSAndroid Build Coastguard Worker "libgui", 40*38e8c45fSAndroid Build Coastguard Worker "liblog", 41*38e8c45fSAndroid Build Coastguard Worker "libnativewindow", 42*38e8c45fSAndroid Build Coastguard Worker "libprocessgroup", 43*38e8c45fSAndroid Build Coastguard Worker "libsync", 44*38e8c45fSAndroid Build Coastguard Worker "libui", 45*38e8c45fSAndroid Build Coastguard Worker "libutils", 46*38e8c45fSAndroid Build Coastguard Worker "libvulkan", 47*38e8c45fSAndroid Build Coastguard Worker ], 48*38e8c45fSAndroid Build Coastguard Worker 49*38e8c45fSAndroid Build Coastguard Worker static_libs: [ 50*38e8c45fSAndroid Build Coastguard Worker "libshaders", 51*38e8c45fSAndroid Build Coastguard Worker "libtonemap", 52*38e8c45fSAndroid Build Coastguard Worker "libsurfaceflinger_common", 53*38e8c45fSAndroid Build Coastguard Worker "libsurfaceflingerflags", 54*38e8c45fSAndroid Build Coastguard Worker ], 55*38e8c45fSAndroid Build Coastguard Worker local_include_dirs: ["include"], 56*38e8c45fSAndroid Build Coastguard Worker export_include_dirs: ["include"], 57*38e8c45fSAndroid Build Coastguard Worker} 58*38e8c45fSAndroid Build Coastguard Worker 59*38e8c45fSAndroid Build Coastguard Worker// Needed by FlagManager to access a #define. 60*38e8c45fSAndroid Build Coastguard Workercc_library_static { 61*38e8c45fSAndroid Build Coastguard Worker name: "librenderengine_includes", 62*38e8c45fSAndroid Build Coastguard Worker local_include_dirs: ["include"], 63*38e8c45fSAndroid Build Coastguard Worker export_include_dirs: ["include"], 64*38e8c45fSAndroid Build Coastguard Worker} 65*38e8c45fSAndroid Build Coastguard Worker 66*38e8c45fSAndroid Build Coastguard Workerfilegroup { 67*38e8c45fSAndroid Build Coastguard Worker name: "librenderengine_sources", 68*38e8c45fSAndroid Build Coastguard Worker srcs: [ 69*38e8c45fSAndroid Build Coastguard Worker "ExternalTexture.cpp", 70*38e8c45fSAndroid Build Coastguard Worker "RenderEngine.cpp", 71*38e8c45fSAndroid Build Coastguard Worker ], 72*38e8c45fSAndroid Build Coastguard Worker} 73*38e8c45fSAndroid Build Coastguard Worker 74*38e8c45fSAndroid Build Coastguard Workerfilegroup { 75*38e8c45fSAndroid Build Coastguard Worker name: "librenderengine_threaded_sources", 76*38e8c45fSAndroid Build Coastguard Worker srcs: [ 77*38e8c45fSAndroid Build Coastguard Worker "threaded/RenderEngineThreaded.cpp", 78*38e8c45fSAndroid Build Coastguard Worker ], 79*38e8c45fSAndroid Build Coastguard Worker} 80*38e8c45fSAndroid Build Coastguard Worker 81*38e8c45fSAndroid Build Coastguard Workerfilegroup { 82*38e8c45fSAndroid Build Coastguard Worker name: "librenderengine_skia_sources", 83*38e8c45fSAndroid Build Coastguard Worker srcs: [ 84*38e8c45fSAndroid Build Coastguard Worker "skia/AutoBackendTexture.cpp", 85*38e8c45fSAndroid Build Coastguard Worker "skia/Cache.cpp", 86*38e8c45fSAndroid Build Coastguard Worker "skia/ColorSpaces.cpp", 87*38e8c45fSAndroid Build Coastguard Worker "skia/GaneshVkRenderEngine.cpp", 88*38e8c45fSAndroid Build Coastguard Worker "skia/GraphiteVkRenderEngine.cpp", 89*38e8c45fSAndroid Build Coastguard Worker "skia/GLExtensions.cpp", 90*38e8c45fSAndroid Build Coastguard Worker "skia/SkiaRenderEngine.cpp", 91*38e8c45fSAndroid Build Coastguard Worker "skia/SkiaGLRenderEngine.cpp", 92*38e8c45fSAndroid Build Coastguard Worker "skia/SkiaVkRenderEngine.cpp", 93*38e8c45fSAndroid Build Coastguard Worker "skia/VulkanInterface.cpp", 94*38e8c45fSAndroid Build Coastguard Worker "skia/compat/GaneshBackendTexture.cpp", 95*38e8c45fSAndroid Build Coastguard Worker "skia/compat/GaneshGpuContext.cpp", 96*38e8c45fSAndroid Build Coastguard Worker "skia/compat/GraphiteBackendTexture.cpp", 97*38e8c45fSAndroid Build Coastguard Worker "skia/compat/GraphiteGpuContext.cpp", 98*38e8c45fSAndroid Build Coastguard Worker "skia/debug/CaptureTimer.cpp", 99*38e8c45fSAndroid Build Coastguard Worker "skia/debug/CommonPool.cpp", 100*38e8c45fSAndroid Build Coastguard Worker "skia/debug/SkiaCapture.cpp", 101*38e8c45fSAndroid Build Coastguard Worker "skia/debug/SkiaMemoryReporter.cpp", 102*38e8c45fSAndroid Build Coastguard Worker "skia/filters/BlurFilter.cpp", 103*38e8c45fSAndroid Build Coastguard Worker "skia/filters/GainmapFactory.cpp", 104*38e8c45fSAndroid Build Coastguard Worker "skia/filters/GaussianBlurFilter.cpp", 105*38e8c45fSAndroid Build Coastguard Worker "skia/filters/KawaseBlurDualFilter.cpp", 106*38e8c45fSAndroid Build Coastguard Worker "skia/filters/KawaseBlurFilter.cpp", 107*38e8c45fSAndroid Build Coastguard Worker "skia/filters/LinearEffect.cpp", 108*38e8c45fSAndroid Build Coastguard Worker "skia/filters/LutShader.cpp", 109*38e8c45fSAndroid Build Coastguard Worker "skia/filters/MouriMap.cpp", 110*38e8c45fSAndroid Build Coastguard Worker "skia/filters/StretchShaderFactory.cpp", 111*38e8c45fSAndroid Build Coastguard Worker "skia/filters/EdgeExtensionShaderFactory.cpp", 112*38e8c45fSAndroid Build Coastguard Worker ], 113*38e8c45fSAndroid Build Coastguard Worker} 114*38e8c45fSAndroid Build Coastguard Worker 115*38e8c45fSAndroid Build Coastguard Worker// Used to consolidate and simplify pulling Skia & Skia deps into targets that depend on 116*38e8c45fSAndroid Build Coastguard Worker// librenderengine. This allows shared deps to be deduplicated (e.g. Perfetto), which doesn't seem 117*38e8c45fSAndroid Build Coastguard Worker// possible if libskia_renderengine is just pulled into librenderengine via whole_static_libs. 118*38e8c45fSAndroid Build Coastguard Workercc_defaults { 119*38e8c45fSAndroid Build Coastguard Worker name: "librenderengine_deps", 120*38e8c45fSAndroid Build Coastguard Worker defaults: ["skia_renderengine_deps"], 121*38e8c45fSAndroid Build Coastguard Worker static_libs: ["libskia_renderengine"], 122*38e8c45fSAndroid Build Coastguard Worker} 123*38e8c45fSAndroid Build Coastguard Worker 124*38e8c45fSAndroid Build Coastguard Worker// Note: if compilation fails when adding librenderengine as a dependency, try adding 125*38e8c45fSAndroid Build Coastguard Worker// librenderengine_deps to the defaults field of your dependent target. 126*38e8c45fSAndroid Build Coastguard Workercc_library_static { 127*38e8c45fSAndroid Build Coastguard Worker name: "librenderengine", 128*38e8c45fSAndroid Build Coastguard Worker defaults: [ 129*38e8c45fSAndroid Build Coastguard Worker "librenderengine_defaults", 130*38e8c45fSAndroid Build Coastguard Worker "librenderengine_deps", 131*38e8c45fSAndroid Build Coastguard Worker ], 132*38e8c45fSAndroid Build Coastguard Worker double_loadable: true, 133*38e8c45fSAndroid Build Coastguard Worker cflags: [ 134*38e8c45fSAndroid Build Coastguard Worker "-fvisibility=hidden", 135*38e8c45fSAndroid Build Coastguard Worker "-Werror=format", 136*38e8c45fSAndroid Build Coastguard Worker "-Wno-unused-parameter", 137*38e8c45fSAndroid Build Coastguard Worker ], 138*38e8c45fSAndroid Build Coastguard Worker srcs: [ 139*38e8c45fSAndroid Build Coastguard Worker ":librenderengine_sources", 140*38e8c45fSAndroid Build Coastguard Worker ":librenderengine_threaded_sources", 141*38e8c45fSAndroid Build Coastguard Worker ":librenderengine_skia_sources", 142*38e8c45fSAndroid Build Coastguard Worker ], 143*38e8c45fSAndroid Build Coastguard Worker header_libs: [ 144*38e8c45fSAndroid Build Coastguard Worker "libtonemap_headers", 145*38e8c45fSAndroid Build Coastguard Worker ], 146*38e8c45fSAndroid Build Coastguard Worker include_dirs: [ 147*38e8c45fSAndroid Build Coastguard Worker "external/skia/src/gpu", 148*38e8c45fSAndroid Build Coastguard Worker ], 149*38e8c45fSAndroid Build Coastguard Worker lto: { 150*38e8c45fSAndroid Build Coastguard Worker thin: true, 151*38e8c45fSAndroid Build Coastguard Worker }, 152*38e8c45fSAndroid Build Coastguard Worker} 153*38e8c45fSAndroid Build Coastguard Worker 154*38e8c45fSAndroid Build Coastguard Workercc_library_static { 155*38e8c45fSAndroid Build Coastguard Worker name: "librenderengine_mocks", 156*38e8c45fSAndroid Build Coastguard Worker defaults: ["librenderengine_defaults"], 157*38e8c45fSAndroid Build Coastguard Worker srcs: [ 158*38e8c45fSAndroid Build Coastguard Worker "mock/RenderEngine.cpp", 159*38e8c45fSAndroid Build Coastguard Worker ], 160*38e8c45fSAndroid Build Coastguard Worker static_libs: [ 161*38e8c45fSAndroid Build Coastguard Worker "libgtest", 162*38e8c45fSAndroid Build Coastguard Worker "libgmock", 163*38e8c45fSAndroid Build Coastguard Worker ], 164*38e8c45fSAndroid Build Coastguard Worker local_include_dirs: ["include"], 165*38e8c45fSAndroid Build Coastguard Worker export_include_dirs: ["include"], 166*38e8c45fSAndroid Build Coastguard Worker} 167