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 ], 29 cflags: [ 30 "-DGL_GLEXT_PROTOTYPES", 31 "-DEGL_EGLEXT_PROTOTYPES", 32 ], 33 shared_libs: [ 34 "libbase", 35 "libcutils", 36 "libEGL", 37 "libGLESv1_CM", 38 "libGLESv2", 39 "libgui", 40 "liblog", 41 "libnativewindow", 42 "libprocessgroup", 43 "libsync", 44 "libui", 45 "libutils", 46 "libvulkan", 47 ], 48 49 static_libs: [ 50 "libshaders", 51 "libtonemap", 52 "libsurfaceflinger_common", 53 "libsurfaceflingerflags", 54 ], 55 local_include_dirs: ["include"], 56 export_include_dirs: ["include"], 57} 58 59// Needed by FlagManager to access a #define. 60cc_library_static { 61 name: "librenderengine_includes", 62 local_include_dirs: ["include"], 63 export_include_dirs: ["include"], 64} 65 66filegroup { 67 name: "librenderengine_sources", 68 srcs: [ 69 "ExternalTexture.cpp", 70 "RenderEngine.cpp", 71 ], 72} 73 74filegroup { 75 name: "librenderengine_threaded_sources", 76 srcs: [ 77 "threaded/RenderEngineThreaded.cpp", 78 ], 79} 80 81filegroup { 82 name: "librenderengine_skia_sources", 83 srcs: [ 84 "skia/AutoBackendTexture.cpp", 85 "skia/Cache.cpp", 86 "skia/ColorSpaces.cpp", 87 "skia/GaneshVkRenderEngine.cpp", 88 "skia/GraphiteVkRenderEngine.cpp", 89 "skia/GLExtensions.cpp", 90 "skia/SkiaRenderEngine.cpp", 91 "skia/SkiaGLRenderEngine.cpp", 92 "skia/SkiaVkRenderEngine.cpp", 93 "skia/VulkanInterface.cpp", 94 "skia/compat/GaneshBackendTexture.cpp", 95 "skia/compat/GaneshGpuContext.cpp", 96 "skia/compat/GraphiteBackendTexture.cpp", 97 "skia/compat/GraphiteGpuContext.cpp", 98 "skia/debug/CaptureTimer.cpp", 99 "skia/debug/CommonPool.cpp", 100 "skia/debug/SkiaCapture.cpp", 101 "skia/debug/SkiaMemoryReporter.cpp", 102 "skia/filters/BlurFilter.cpp", 103 "skia/filters/GainmapFactory.cpp", 104 "skia/filters/GaussianBlurFilter.cpp", 105 "skia/filters/KawaseBlurDualFilter.cpp", 106 "skia/filters/KawaseBlurFilter.cpp", 107 "skia/filters/LinearEffect.cpp", 108 "skia/filters/LutShader.cpp", 109 "skia/filters/MouriMap.cpp", 110 "skia/filters/StretchShaderFactory.cpp", 111 "skia/filters/EdgeExtensionShaderFactory.cpp", 112 ], 113} 114 115// Used to consolidate and simplify pulling Skia & Skia deps into targets that depend on 116// librenderengine. This allows shared deps to be deduplicated (e.g. Perfetto), which doesn't seem 117// possible if libskia_renderengine is just pulled into librenderengine via whole_static_libs. 118cc_defaults { 119 name: "librenderengine_deps", 120 defaults: ["skia_renderengine_deps"], 121 static_libs: ["libskia_renderengine"], 122} 123 124// Note: if compilation fails when adding librenderengine as a dependency, try adding 125// librenderengine_deps to the defaults field of your dependent target. 126cc_library_static { 127 name: "librenderengine", 128 defaults: [ 129 "librenderengine_defaults", 130 "librenderengine_deps", 131 ], 132 double_loadable: true, 133 cflags: [ 134 "-fvisibility=hidden", 135 "-Werror=format", 136 "-Wno-unused-parameter", 137 ], 138 srcs: [ 139 ":librenderengine_sources", 140 ":librenderengine_threaded_sources", 141 ":librenderengine_skia_sources", 142 ], 143 header_libs: [ 144 "libtonemap_headers", 145 ], 146 include_dirs: [ 147 "external/skia/src/gpu", 148 ], 149 lto: { 150 thin: true, 151 }, 152} 153 154cc_library_static { 155 name: "librenderengine_mocks", 156 defaults: ["librenderengine_defaults"], 157 srcs: [ 158 "mock/RenderEngine.cpp", 159 ], 160 static_libs: [ 161 "libgtest", 162 "libgmock", 163 ], 164 local_include_dirs: ["include"], 165 export_include_dirs: ["include"], 166} 167