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