xref: /aosp_15_r20/frameworks/base/libs/hwui/Android.bp (revision d57664e9bc4670b3ecf6748a746a57c557b6bc9e)
1*d57664e9SAndroid Build Coastguard Workerpackage {
2*d57664e9SAndroid Build Coastguard Worker    default_team: "trendy_team_android_core_graphics_stack",
3*d57664e9SAndroid Build Coastguard Worker    default_applicable_licenses: ["frameworks_base_libs_hwui_license"],
4*d57664e9SAndroid Build Coastguard Worker}
5*d57664e9SAndroid Build Coastguard Worker
6*d57664e9SAndroid Build Coastguard Worker// Added automatically by a large-scale-change that took the approach of
7*d57664e9SAndroid Build Coastguard Worker// 'apply every license found to every target'. While this makes sure we respect
8*d57664e9SAndroid Build Coastguard Worker// every license restriction, it may not be entirely correct.
9*d57664e9SAndroid Build Coastguard Worker//
10*d57664e9SAndroid Build Coastguard Worker// e.g. GPL in an MIT project might only apply to the contrib/ directory.
11*d57664e9SAndroid Build Coastguard Worker//
12*d57664e9SAndroid Build Coastguard Worker// Please consider splitting the single license below into multiple licenses,
13*d57664e9SAndroid Build Coastguard Worker// taking care not to lose any license_kind information, and overriding the
14*d57664e9SAndroid Build Coastguard Worker// default license using the 'licenses: [...]' property on targets as needed.
15*d57664e9SAndroid Build Coastguard Worker//
16*d57664e9SAndroid Build Coastguard Worker// For unused files, consider creating a 'fileGroup' with "//visibility:private"
17*d57664e9SAndroid Build Coastguard Worker// to attach the license to, and including a comment whether the files may be
18*d57664e9SAndroid Build Coastguard Worker// used in the current project.
19*d57664e9SAndroid Build Coastguard Worker// See: http://go/android-license-faq
20*d57664e9SAndroid Build Coastguard Workerlicense {
21*d57664e9SAndroid Build Coastguard Worker    name: "frameworks_base_libs_hwui_license",
22*d57664e9SAndroid Build Coastguard Worker    visibility: [":__subpackages__"],
23*d57664e9SAndroid Build Coastguard Worker    license_kinds: [
24*d57664e9SAndroid Build Coastguard Worker        "SPDX-license-identifier-Apache-2.0",
25*d57664e9SAndroid Build Coastguard Worker        "SPDX-license-identifier-BSD",
26*d57664e9SAndroid Build Coastguard Worker    ],
27*d57664e9SAndroid Build Coastguard Worker    license_text: [
28*d57664e9SAndroid Build Coastguard Worker        "NOTICE",
29*d57664e9SAndroid Build Coastguard Worker    ],
30*d57664e9SAndroid Build Coastguard Worker}
31*d57664e9SAndroid Build Coastguard Worker
32*d57664e9SAndroid Build Coastguard Workeraconfig_declarations {
33*d57664e9SAndroid Build Coastguard Worker    name: "hwui_flags",
34*d57664e9SAndroid Build Coastguard Worker    package: "com.android.graphics.hwui.flags",
35*d57664e9SAndroid Build Coastguard Worker    container: "system",
36*d57664e9SAndroid Build Coastguard Worker    srcs: [
37*d57664e9SAndroid Build Coastguard Worker        "aconfig/hwui_flags.aconfig",
38*d57664e9SAndroid Build Coastguard Worker    ],
39*d57664e9SAndroid Build Coastguard Worker}
40*d57664e9SAndroid Build Coastguard Worker
41*d57664e9SAndroid Build Coastguard Workercc_aconfig_library {
42*d57664e9SAndroid Build Coastguard Worker    name: "hwui_flags_cc_lib",
43*d57664e9SAndroid Build Coastguard Worker    host_supported: true,
44*d57664e9SAndroid Build Coastguard Worker    aconfig_declarations: "hwui_flags",
45*d57664e9SAndroid Build Coastguard Worker}
46*d57664e9SAndroid Build Coastguard Worker
47*d57664e9SAndroid Build Coastguard Workercc_defaults {
48*d57664e9SAndroid Build Coastguard Worker    name: "hwui_defaults",
49*d57664e9SAndroid Build Coastguard Worker    defaults: [
50*d57664e9SAndroid Build Coastguard Worker        "hwui_static_deps",
51*d57664e9SAndroid Build Coastguard Worker        "skia_deps",
52*d57664e9SAndroid Build Coastguard Worker        //"hwui_bugreport_font_cache_usage",
53*d57664e9SAndroid Build Coastguard Worker        //"hwui_compile_for_perf",
54*d57664e9SAndroid Build Coastguard Worker        "hwui_lto",
55*d57664e9SAndroid Build Coastguard Worker    ],
56*d57664e9SAndroid Build Coastguard Worker
57*d57664e9SAndroid Build Coastguard Worker    cpp_std: "experimental",
58*d57664e9SAndroid Build Coastguard Worker
59*d57664e9SAndroid Build Coastguard Worker    cflags: [
60*d57664e9SAndroid Build Coastguard Worker        "-DEGL_EGLEXT_PROTOTYPES",
61*d57664e9SAndroid Build Coastguard Worker        "-DGL_GLEXT_PROTOTYPES",
62*d57664e9SAndroid Build Coastguard Worker        "-DATRACE_TAG=ATRACE_TAG_VIEW",
63*d57664e9SAndroid Build Coastguard Worker        "-DLOG_TAG=\"HWUI\"",
64*d57664e9SAndroid Build Coastguard Worker        "-Wall",
65*d57664e9SAndroid Build Coastguard Worker        "-Wthread-safety",
66*d57664e9SAndroid Build Coastguard Worker        "-Wno-unused-parameter",
67*d57664e9SAndroid Build Coastguard Worker        "-Wunreachable-code",
68*d57664e9SAndroid Build Coastguard Worker        "-Werror",
69*d57664e9SAndroid Build Coastguard Worker        "-fvisibility=hidden",
70*d57664e9SAndroid Build Coastguard Worker
71*d57664e9SAndroid Build Coastguard Worker        // GCC false-positives on this warning, and since we -Werror that's
72*d57664e9SAndroid Build Coastguard Worker        // a problem
73*d57664e9SAndroid Build Coastguard Worker        "-Wno-free-nonheap-object",
74*d57664e9SAndroid Build Coastguard Worker
75*d57664e9SAndroid Build Coastguard Worker        // Do not de-optimise cold code paths in AFDO.
76*d57664e9SAndroid Build Coastguard Worker        // Some code paths might be infrequently executed but critical to latency.
77*d57664e9SAndroid Build Coastguard Worker        "-fno-profile-sample-accurate",
78*d57664e9SAndroid Build Coastguard Worker    ],
79*d57664e9SAndroid Build Coastguard Worker
80*d57664e9SAndroid Build Coastguard Worker    include_dirs: [
81*d57664e9SAndroid Build Coastguard Worker        "external/skia/include/private",
82*d57664e9SAndroid Build Coastguard Worker        "external/skia/src/core",
83*d57664e9SAndroid Build Coastguard Worker        "external/skia/src/utils",
84*d57664e9SAndroid Build Coastguard Worker    ],
85*d57664e9SAndroid Build Coastguard Worker
86*d57664e9SAndroid Build Coastguard Worker    target: {
87*d57664e9SAndroid Build Coastguard Worker        android: {
88*d57664e9SAndroid Build Coastguard Worker            include_dirs: [
89*d57664e9SAndroid Build Coastguard Worker                "external/skia/src/image",
90*d57664e9SAndroid Build Coastguard Worker                "external/skia/src/gpu",
91*d57664e9SAndroid Build Coastguard Worker                "external/skia/src/shaders",
92*d57664e9SAndroid Build Coastguard Worker            ],
93*d57664e9SAndroid Build Coastguard Worker        },
94*d57664e9SAndroid Build Coastguard Worker        host: {
95*d57664e9SAndroid Build Coastguard Worker            include_dirs: [
96*d57664e9SAndroid Build Coastguard Worker                "external/vulkan-headers/include",
97*d57664e9SAndroid Build Coastguard Worker                "frameworks/av/media/ndk/include",
98*d57664e9SAndroid Build Coastguard Worker            ],
99*d57664e9SAndroid Build Coastguard Worker            cflags: [
100*d57664e9SAndroid Build Coastguard Worker                "-Wno-unused-variable",
101*d57664e9SAndroid Build Coastguard Worker                "-D__INTRODUCED_IN(n)=",
102*d57664e9SAndroid Build Coastguard Worker            ],
103*d57664e9SAndroid Build Coastguard Worker        },
104*d57664e9SAndroid Build Coastguard Worker    },
105*d57664e9SAndroid Build Coastguard Worker}
106*d57664e9SAndroid Build Coastguard Worker
107*d57664e9SAndroid Build Coastguard Workercc_defaults {
108*d57664e9SAndroid Build Coastguard Worker    name: "hwui_static_deps",
109*d57664e9SAndroid Build Coastguard Worker    defaults: [
110*d57664e9SAndroid Build Coastguard Worker        "android.hardware.graphics.common-ndk_shared",
111*d57664e9SAndroid Build Coastguard Worker        "android.hardware.graphics.composer3-ndk_shared",
112*d57664e9SAndroid Build Coastguard Worker    ],
113*d57664e9SAndroid Build Coastguard Worker    shared_libs: [
114*d57664e9SAndroid Build Coastguard Worker        "libbase",
115*d57664e9SAndroid Build Coastguard Worker        "libharfbuzz_ng",
116*d57664e9SAndroid Build Coastguard Worker        "libminikin",
117*d57664e9SAndroid Build Coastguard Worker    ],
118*d57664e9SAndroid Build Coastguard Worker
119*d57664e9SAndroid Build Coastguard Worker    static_libs: [
120*d57664e9SAndroid Build Coastguard Worker        "libui-types",
121*d57664e9SAndroid Build Coastguard Worker    ],
122*d57664e9SAndroid Build Coastguard Worker
123*d57664e9SAndroid Build Coastguard Worker    target: {
124*d57664e9SAndroid Build Coastguard Worker        android: {
125*d57664e9SAndroid Build Coastguard Worker            shared_libs: [
126*d57664e9SAndroid Build Coastguard Worker                "[email protected]",
127*d57664e9SAndroid Build Coastguard Worker                "liblog",
128*d57664e9SAndroid Build Coastguard Worker                "libcutils",
129*d57664e9SAndroid Build Coastguard Worker                "libutils",
130*d57664e9SAndroid Build Coastguard Worker                "libEGL",
131*d57664e9SAndroid Build Coastguard Worker                "libGLESv1_CM",
132*d57664e9SAndroid Build Coastguard Worker                "libGLESv2",
133*d57664e9SAndroid Build Coastguard Worker                "libGLESv3",
134*d57664e9SAndroid Build Coastguard Worker                "libvulkan",
135*d57664e9SAndroid Build Coastguard Worker                "libnativedisplay",
136*d57664e9SAndroid Build Coastguard Worker                "libnativewindow",
137*d57664e9SAndroid Build Coastguard Worker                "libprotobuf-cpp-lite",
138*d57664e9SAndroid Build Coastguard Worker                "libft2",
139*d57664e9SAndroid Build Coastguard Worker                "libandroidfw",
140*d57664e9SAndroid Build Coastguard Worker                "libcrypto",
141*d57664e9SAndroid Build Coastguard Worker                "libsync",
142*d57664e9SAndroid Build Coastguard Worker                "libui",
143*d57664e9SAndroid Build Coastguard Worker                "aconfig_text_flags_c_lib",
144*d57664e9SAndroid Build Coastguard Worker                "server_configurable_flags",
145*d57664e9SAndroid Build Coastguard Worker                "libaconfig_storage_read_api_cc",
146*d57664e9SAndroid Build Coastguard Worker                "libgraphicsenv",
147*d57664e9SAndroid Build Coastguard Worker            ],
148*d57664e9SAndroid Build Coastguard Worker            static_libs: [
149*d57664e9SAndroid Build Coastguard Worker                "libEGL_blobCache",
150*d57664e9SAndroid Build Coastguard Worker                "libprotoutil",
151*d57664e9SAndroid Build Coastguard Worker                "libshaders",
152*d57664e9SAndroid Build Coastguard Worker                "libstatslog_hwui",
153*d57664e9SAndroid Build Coastguard Worker                "libstatspull_lazy",
154*d57664e9SAndroid Build Coastguard Worker                "libstatssocket_lazy",
155*d57664e9SAndroid Build Coastguard Worker                "libtonemap",
156*d57664e9SAndroid Build Coastguard Worker            ],
157*d57664e9SAndroid Build Coastguard Worker            whole_static_libs: ["hwui_flags_cc_lib"],
158*d57664e9SAndroid Build Coastguard Worker        },
159*d57664e9SAndroid Build Coastguard Worker        host: {
160*d57664e9SAndroid Build Coastguard Worker            static_libs: [
161*d57664e9SAndroid Build Coastguard Worker                "libandroidfw",
162*d57664e9SAndroid Build Coastguard Worker                "libhostgraphics",
163*d57664e9SAndroid Build Coastguard Worker                "libutils",
164*d57664e9SAndroid Build Coastguard Worker            ],
165*d57664e9SAndroid Build Coastguard Worker        },
166*d57664e9SAndroid Build Coastguard Worker    },
167*d57664e9SAndroid Build Coastguard Worker}
168*d57664e9SAndroid Build Coastguard Worker
169*d57664e9SAndroid Build Coastguard Workercc_defaults {
170*d57664e9SAndroid Build Coastguard Worker    name: "hwui_bugreport_font_cache_usage",
171*d57664e9SAndroid Build Coastguard Worker    cflags: ["-DBUGREPORT_FONT_CACHE_USAGE"],
172*d57664e9SAndroid Build Coastguard Worker}
173*d57664e9SAndroid Build Coastguard Worker
174*d57664e9SAndroid Build Coastguard Workercc_defaults {
175*d57664e9SAndroid Build Coastguard Worker    name: "hwui_compile_for_perf",
176*d57664e9SAndroid Build Coastguard Worker    // TODO: Non-arm?
177*d57664e9SAndroid Build Coastguard Worker    cflags: [
178*d57664e9SAndroid Build Coastguard Worker        "-fno-omit-frame-pointer",
179*d57664e9SAndroid Build Coastguard Worker        "-marm",
180*d57664e9SAndroid Build Coastguard Worker        "-mapcs",
181*d57664e9SAndroid Build Coastguard Worker    ],
182*d57664e9SAndroid Build Coastguard Worker}
183*d57664e9SAndroid Build Coastguard Worker
184*d57664e9SAndroid Build Coastguard Worker// Build hwui library with ThinLTO by default.
185*d57664e9SAndroid Build Coastguard Workercc_defaults {
186*d57664e9SAndroid Build Coastguard Worker    name: "hwui_lto",
187*d57664e9SAndroid Build Coastguard Worker    target: {
188*d57664e9SAndroid Build Coastguard Worker        android: {
189*d57664e9SAndroid Build Coastguard Worker            lto: {
190*d57664e9SAndroid Build Coastguard Worker                thin: true,
191*d57664e9SAndroid Build Coastguard Worker            },
192*d57664e9SAndroid Build Coastguard Worker        },
193*d57664e9SAndroid Build Coastguard Worker    },
194*d57664e9SAndroid Build Coastguard Worker}
195*d57664e9SAndroid Build Coastguard Worker
196*d57664e9SAndroid Build Coastguard Worker// ------------------------
197*d57664e9SAndroid Build Coastguard Worker// framework-graphics jar
198*d57664e9SAndroid Build Coastguard Worker// ------------------------
199*d57664e9SAndroid Build Coastguard Worker
200*d57664e9SAndroid Build Coastguard Workerjava_sdk_library {
201*d57664e9SAndroid Build Coastguard Worker    name: "framework-graphics",
202*d57664e9SAndroid Build Coastguard Worker    defaults: ["framework-module-defaults"],
203*d57664e9SAndroid Build Coastguard Worker    visibility: [
204*d57664e9SAndroid Build Coastguard Worker        "//frameworks/base", // Framework
205*d57664e9SAndroid Build Coastguard Worker    ],
206*d57664e9SAndroid Build Coastguard Worker
207*d57664e9SAndroid Build Coastguard Worker    srcs: [
208*d57664e9SAndroid Build Coastguard Worker        ":framework-graphics-srcs",
209*d57664e9SAndroid Build Coastguard Worker    ],
210*d57664e9SAndroid Build Coastguard Worker
211*d57664e9SAndroid Build Coastguard Worker    permitted_packages: [
212*d57664e9SAndroid Build Coastguard Worker        "android.graphics",
213*d57664e9SAndroid Build Coastguard Worker    ],
214*d57664e9SAndroid Build Coastguard Worker
215*d57664e9SAndroid Build Coastguard Worker    // TODO: once framework-graphics is officially part of the
216*d57664e9SAndroid Build Coastguard Worker    // UI-rendering module this line would no longer be
217*d57664e9SAndroid Build Coastguard Worker    // needed.
218*d57664e9SAndroid Build Coastguard Worker    installable: true,
219*d57664e9SAndroid Build Coastguard Worker
220*d57664e9SAndroid Build Coastguard Worker    // Disable api_lint that the defaults enable
221*d57664e9SAndroid Build Coastguard Worker    // TODO: enable this
222*d57664e9SAndroid Build Coastguard Worker    api_lint: {
223*d57664e9SAndroid Build Coastguard Worker        enabled: false,
224*d57664e9SAndroid Build Coastguard Worker    },
225*d57664e9SAndroid Build Coastguard Worker    // TODO: remove this
226*d57664e9SAndroid Build Coastguard Worker    unsafe_ignore_missing_latest_api: true,
227*d57664e9SAndroid Build Coastguard Worker}
228*d57664e9SAndroid Build Coastguard Worker
229*d57664e9SAndroid Build Coastguard Workerfilegroup {
230*d57664e9SAndroid Build Coastguard Worker    name: "framework-graphics-srcs",
231*d57664e9SAndroid Build Coastguard Worker    srcs: [
232*d57664e9SAndroid Build Coastguard Worker        "apex/java/**/*.java",
233*d57664e9SAndroid Build Coastguard Worker    ],
234*d57664e9SAndroid Build Coastguard Worker    path: "apex/java",
235*d57664e9SAndroid Build Coastguard Worker}
236*d57664e9SAndroid Build Coastguard Worker
237*d57664e9SAndroid Build Coastguard Worker// ------------------------
238*d57664e9SAndroid Build Coastguard Worker// APEX
239*d57664e9SAndroid Build Coastguard Worker// ------------------------
240*d57664e9SAndroid Build Coastguard Worker
241*d57664e9SAndroid Build Coastguard Workercc_library_headers {
242*d57664e9SAndroid Build Coastguard Worker    name: "android_graphics_apex_headers",
243*d57664e9SAndroid Build Coastguard Worker
244*d57664e9SAndroid Build Coastguard Worker    host_supported: true,
245*d57664e9SAndroid Build Coastguard Worker    export_include_dirs: [
246*d57664e9SAndroid Build Coastguard Worker        "apex/include",
247*d57664e9SAndroid Build Coastguard Worker    ],
248*d57664e9SAndroid Build Coastguard Worker    target: {
249*d57664e9SAndroid Build Coastguard Worker        windows: {
250*d57664e9SAndroid Build Coastguard Worker            enabled: true,
251*d57664e9SAndroid Build Coastguard Worker        },
252*d57664e9SAndroid Build Coastguard Worker    },
253*d57664e9SAndroid Build Coastguard Worker}
254*d57664e9SAndroid Build Coastguard Worker
255*d57664e9SAndroid Build Coastguard Workercc_defaults {
256*d57664e9SAndroid Build Coastguard Worker    name: "android_graphics_apex",
257*d57664e9SAndroid Build Coastguard Worker    cflags: [
258*d57664e9SAndroid Build Coastguard Worker        "-Wno-unused-parameter",
259*d57664e9SAndroid Build Coastguard Worker        "-Wno-non-virtual-dtor",
260*d57664e9SAndroid Build Coastguard Worker        "-Wno-maybe-uninitialized",
261*d57664e9SAndroid Build Coastguard Worker        "-Wno-parentheses",
262*d57664e9SAndroid Build Coastguard Worker        "-Wall",
263*d57664e9SAndroid Build Coastguard Worker        "-Werror",
264*d57664e9SAndroid Build Coastguard Worker        "-Wno-error=deprecated-declarations",
265*d57664e9SAndroid Build Coastguard Worker        "-Wunused",
266*d57664e9SAndroid Build Coastguard Worker        "-Wunreachable-code",
267*d57664e9SAndroid Build Coastguard Worker    ],
268*d57664e9SAndroid Build Coastguard Worker
269*d57664e9SAndroid Build Coastguard Worker    cppflags: ["-Wno-conversion-null"],
270*d57664e9SAndroid Build Coastguard Worker
271*d57664e9SAndroid Build Coastguard Worker    srcs: [
272*d57664e9SAndroid Build Coastguard Worker        "apex/android_canvas.cpp",
273*d57664e9SAndroid Build Coastguard Worker        "apex/android_matrix.cpp",
274*d57664e9SAndroid Build Coastguard Worker        "apex/android_paint.cpp",
275*d57664e9SAndroid Build Coastguard Worker        "apex/android_region.cpp",
276*d57664e9SAndroid Build Coastguard Worker        "apex/properties.cpp",
277*d57664e9SAndroid Build Coastguard Worker    ],
278*d57664e9SAndroid Build Coastguard Worker
279*d57664e9SAndroid Build Coastguard Worker    header_libs: ["android_graphics_apex_headers"],
280*d57664e9SAndroid Build Coastguard Worker
281*d57664e9SAndroid Build Coastguard Worker    target: {
282*d57664e9SAndroid Build Coastguard Worker        android: {
283*d57664e9SAndroid Build Coastguard Worker            srcs: [ // sources that depend on android only libraries
284*d57664e9SAndroid Build Coastguard Worker                "apex/android_bitmap.cpp",
285*d57664e9SAndroid Build Coastguard Worker                "apex/jni_runtime.cpp",
286*d57664e9SAndroid Build Coastguard Worker            ],
287*d57664e9SAndroid Build Coastguard Worker        },
288*d57664e9SAndroid Build Coastguard Worker        host: {
289*d57664e9SAndroid Build Coastguard Worker            srcs: [
290*d57664e9SAndroid Build Coastguard Worker                "apex/LayoutlibLoader.cpp",
291*d57664e9SAndroid Build Coastguard Worker            ],
292*d57664e9SAndroid Build Coastguard Worker        },
293*d57664e9SAndroid Build Coastguard Worker    },
294*d57664e9SAndroid Build Coastguard Worker}
295*d57664e9SAndroid Build Coastguard Worker
296*d57664e9SAndroid Build Coastguard Worker// ------------------------
297*d57664e9SAndroid Build Coastguard Worker// Android Graphics JNI
298*d57664e9SAndroid Build Coastguard Worker// ------------------------
299*d57664e9SAndroid Build Coastguard Worker
300*d57664e9SAndroid Build Coastguard Workercc_library_headers {
301*d57664e9SAndroid Build Coastguard Worker    name: "android_graphics_jni_headers",
302*d57664e9SAndroid Build Coastguard Worker
303*d57664e9SAndroid Build Coastguard Worker    host_supported: true,
304*d57664e9SAndroid Build Coastguard Worker    export_include_dirs: [
305*d57664e9SAndroid Build Coastguard Worker        "jni",
306*d57664e9SAndroid Build Coastguard Worker    ],
307*d57664e9SAndroid Build Coastguard Worker    target: {
308*d57664e9SAndroid Build Coastguard Worker        windows: {
309*d57664e9SAndroid Build Coastguard Worker            enabled: true,
310*d57664e9SAndroid Build Coastguard Worker        },
311*d57664e9SAndroid Build Coastguard Worker    },
312*d57664e9SAndroid Build Coastguard Worker}
313*d57664e9SAndroid Build Coastguard Worker
314*d57664e9SAndroid Build Coastguard Workercc_defaults {
315*d57664e9SAndroid Build Coastguard Worker    name: "android_graphics_jni",
316*d57664e9SAndroid Build Coastguard Worker    cflags: [
317*d57664e9SAndroid Build Coastguard Worker        "-Wno-unused-parameter",
318*d57664e9SAndroid Build Coastguard Worker        "-Wno-non-virtual-dtor",
319*d57664e9SAndroid Build Coastguard Worker        "-Wno-maybe-uninitialized",
320*d57664e9SAndroid Build Coastguard Worker        "-Wno-parentheses",
321*d57664e9SAndroid Build Coastguard Worker
322*d57664e9SAndroid Build Coastguard Worker        "-DGL_GLEXT_PROTOTYPES",
323*d57664e9SAndroid Build Coastguard Worker        "-DEGL_EGLEXT_PROTOTYPES",
324*d57664e9SAndroid Build Coastguard Worker
325*d57664e9SAndroid Build Coastguard Worker        "-DU_USING_ICU_NAMESPACE=0",
326*d57664e9SAndroid Build Coastguard Worker
327*d57664e9SAndroid Build Coastguard Worker        "-Wall",
328*d57664e9SAndroid Build Coastguard Worker        "-Werror",
329*d57664e9SAndroid Build Coastguard Worker        "-Wno-error=deprecated-declarations",
330*d57664e9SAndroid Build Coastguard Worker        "-Wunused",
331*d57664e9SAndroid Build Coastguard Worker        "-Wunreachable-code",
332*d57664e9SAndroid Build Coastguard Worker    ],
333*d57664e9SAndroid Build Coastguard Worker
334*d57664e9SAndroid Build Coastguard Worker    cppflags: ["-Wno-conversion-null"],
335*d57664e9SAndroid Build Coastguard Worker
336*d57664e9SAndroid Build Coastguard Worker    srcs: [
337*d57664e9SAndroid Build Coastguard Worker        "jni/android_graphics_animation_NativeInterpolatorFactory.cpp",
338*d57664e9SAndroid Build Coastguard Worker        "jni/android_graphics_animation_RenderNodeAnimator.cpp",
339*d57664e9SAndroid Build Coastguard Worker        "jni/android_graphics_Canvas.cpp",
340*d57664e9SAndroid Build Coastguard Worker        "jni/android_graphics_Color.cpp",
341*d57664e9SAndroid Build Coastguard Worker        "jni/android_graphics_ColorSpace.cpp",
342*d57664e9SAndroid Build Coastguard Worker        "jni/android_graphics_drawable_AnimatedVectorDrawable.cpp",
343*d57664e9SAndroid Build Coastguard Worker        "jni/android_graphics_drawable_VectorDrawable.cpp",
344*d57664e9SAndroid Build Coastguard Worker        "jni/android_graphics_HardwareRenderer.cpp",
345*d57664e9SAndroid Build Coastguard Worker        "jni/android_graphics_HardwareBufferRenderer.cpp",
346*d57664e9SAndroid Build Coastguard Worker        "jni/android_graphics_HardwareRendererObserver.cpp",
347*d57664e9SAndroid Build Coastguard Worker        "jni/android_graphics_Matrix.cpp",
348*d57664e9SAndroid Build Coastguard Worker        "jni/android_graphics_Picture.cpp",
349*d57664e9SAndroid Build Coastguard Worker        "jni/android_graphics_DisplayListCanvas.cpp",
350*d57664e9SAndroid Build Coastguard Worker        "jni/android_graphics_Mesh.cpp",
351*d57664e9SAndroid Build Coastguard Worker        "jni/android_graphics_RenderNode.cpp",
352*d57664e9SAndroid Build Coastguard Worker        "jni/android_nio_utils.cpp",
353*d57664e9SAndroid Build Coastguard Worker        "jni/android_util_PathParser.cpp",
354*d57664e9SAndroid Build Coastguard Worker
355*d57664e9SAndroid Build Coastguard Worker        "jni/AnimatedImageDrawable.cpp",
356*d57664e9SAndroid Build Coastguard Worker        "jni/Bitmap.cpp",
357*d57664e9SAndroid Build Coastguard Worker        "jni/BitmapRegionDecoder.cpp",
358*d57664e9SAndroid Build Coastguard Worker        "jni/RuntimeXfermode.cpp",
359*d57664e9SAndroid Build Coastguard Worker        "jni/BufferUtils.cpp",
360*d57664e9SAndroid Build Coastguard Worker        "jni/HardwareBufferHelpers.cpp",
361*d57664e9SAndroid Build Coastguard Worker        "jni/BitmapFactory.cpp",
362*d57664e9SAndroid Build Coastguard Worker        "jni/ByteBufferStreamAdaptor.cpp",
363*d57664e9SAndroid Build Coastguard Worker        "jni/Camera.cpp",
364*d57664e9SAndroid Build Coastguard Worker        "jni/CanvasProperty.cpp",
365*d57664e9SAndroid Build Coastguard Worker        "jni/ColorFilter.cpp",
366*d57664e9SAndroid Build Coastguard Worker        "jni/CreateJavaOutputStreamAdaptor.cpp",
367*d57664e9SAndroid Build Coastguard Worker        "jni/FontFamily.cpp",
368*d57664e9SAndroid Build Coastguard Worker        "jni/FontUtils.cpp",
369*d57664e9SAndroid Build Coastguard Worker        "jni/Gainmap.cpp",
370*d57664e9SAndroid Build Coastguard Worker        "jni/Graphics.cpp",
371*d57664e9SAndroid Build Coastguard Worker        "jni/ImageDecoder.cpp",
372*d57664e9SAndroid Build Coastguard Worker        "jni/Interpolator.cpp",
373*d57664e9SAndroid Build Coastguard Worker        "jni/MeshSpecification.cpp",
374*d57664e9SAndroid Build Coastguard Worker        "jni/MaskFilter.cpp",
375*d57664e9SAndroid Build Coastguard Worker        "jni/NinePatch.cpp",
376*d57664e9SAndroid Build Coastguard Worker        "jni/NinePatchPeeker.cpp",
377*d57664e9SAndroid Build Coastguard Worker        "jni/Paint.cpp",
378*d57664e9SAndroid Build Coastguard Worker        "jni/PaintFilter.cpp",
379*d57664e9SAndroid Build Coastguard Worker        "jni/Path.cpp",
380*d57664e9SAndroid Build Coastguard Worker        "jni/PathEffect.cpp",
381*d57664e9SAndroid Build Coastguard Worker        "jni/PathIterator.cpp",
382*d57664e9SAndroid Build Coastguard Worker        "jni/PathMeasure.cpp",
383*d57664e9SAndroid Build Coastguard Worker        "jni/Picture.cpp",
384*d57664e9SAndroid Build Coastguard Worker        "jni/Region.cpp",
385*d57664e9SAndroid Build Coastguard Worker        "jni/ScopedParcel.cpp",
386*d57664e9SAndroid Build Coastguard Worker        "jni/Shader.cpp",
387*d57664e9SAndroid Build Coastguard Worker        "jni/RenderEffect.cpp",
388*d57664e9SAndroid Build Coastguard Worker        "jni/RuntimeEffectUtils.cpp",
389*d57664e9SAndroid Build Coastguard Worker        "jni/Typeface.cpp",
390*d57664e9SAndroid Build Coastguard Worker        "jni/Utils.cpp",
391*d57664e9SAndroid Build Coastguard Worker        "jni/YuvToJpegEncoder.cpp",
392*d57664e9SAndroid Build Coastguard Worker        "jni/fonts/Font.cpp",
393*d57664e9SAndroid Build Coastguard Worker        "jni/fonts/FontFamily.cpp",
394*d57664e9SAndroid Build Coastguard Worker        "jni/text/LineBreaker.cpp",
395*d57664e9SAndroid Build Coastguard Worker        "jni/text/MeasuredText.cpp",
396*d57664e9SAndroid Build Coastguard Worker        "jni/text/TextShaper.cpp",
397*d57664e9SAndroid Build Coastguard Worker        "jni/text/GraphemeBreak.cpp",
398*d57664e9SAndroid Build Coastguard Worker    ],
399*d57664e9SAndroid Build Coastguard Worker
400*d57664e9SAndroid Build Coastguard Worker    header_libs: [
401*d57664e9SAndroid Build Coastguard Worker        "android_graphics_jni_headers",
402*d57664e9SAndroid Build Coastguard Worker        "libnativewindow_headers",
403*d57664e9SAndroid Build Coastguard Worker    ],
404*d57664e9SAndroid Build Coastguard Worker
405*d57664e9SAndroid Build Coastguard Worker    include_dirs: [
406*d57664e9SAndroid Build Coastguard Worker        "external/skia/include/private",
407*d57664e9SAndroid Build Coastguard Worker        "external/skia/src/codec",
408*d57664e9SAndroid Build Coastguard Worker        "external/skia/src/core",
409*d57664e9SAndroid Build Coastguard Worker    ],
410*d57664e9SAndroid Build Coastguard Worker
411*d57664e9SAndroid Build Coastguard Worker    shared_libs: [
412*d57664e9SAndroid Build Coastguard Worker        "libbase",
413*d57664e9SAndroid Build Coastguard Worker        "libcutils",
414*d57664e9SAndroid Build Coastguard Worker        "libharfbuzz_ng",
415*d57664e9SAndroid Build Coastguard Worker        "libimage_io",
416*d57664e9SAndroid Build Coastguard Worker        "libjpeg",
417*d57664e9SAndroid Build Coastguard Worker        "libultrahdr",
418*d57664e9SAndroid Build Coastguard Worker        "liblog",
419*d57664e9SAndroid Build Coastguard Worker        "libminikin",
420*d57664e9SAndroid Build Coastguard Worker        "libz",
421*d57664e9SAndroid Build Coastguard Worker    ],
422*d57664e9SAndroid Build Coastguard Worker
423*d57664e9SAndroid Build Coastguard Worker    static_libs: [
424*d57664e9SAndroid Build Coastguard Worker        "libziparchive_for_incfs",
425*d57664e9SAndroid Build Coastguard Worker    ],
426*d57664e9SAndroid Build Coastguard Worker
427*d57664e9SAndroid Build Coastguard Worker    target: {
428*d57664e9SAndroid Build Coastguard Worker        android: {
429*d57664e9SAndroid Build Coastguard Worker            srcs: [ // sources that depend on android only libraries
430*d57664e9SAndroid Build Coastguard Worker                "jni/android_graphics_TextureLayer.cpp",
431*d57664e9SAndroid Build Coastguard Worker                "jni/GIFMovie.cpp",
432*d57664e9SAndroid Build Coastguard Worker                "jni/GraphicsStatsService.cpp",
433*d57664e9SAndroid Build Coastguard Worker                "jni/Movie.cpp",
434*d57664e9SAndroid Build Coastguard Worker                "jni/MovieImpl.cpp",
435*d57664e9SAndroid Build Coastguard Worker                "jni/pdf/PdfDocument.cpp",
436*d57664e9SAndroid Build Coastguard Worker                "jni/pdf/PdfEditor.cpp",
437*d57664e9SAndroid Build Coastguard Worker                "jni/pdf/PdfUtils.cpp",
438*d57664e9SAndroid Build Coastguard Worker            ],
439*d57664e9SAndroid Build Coastguard Worker            shared_libs: [
440*d57664e9SAndroid Build Coastguard Worker                "libandroidfw",
441*d57664e9SAndroid Build Coastguard Worker                "libbinder",
442*d57664e9SAndroid Build Coastguard Worker                "libbinder_ndk",
443*d57664e9SAndroid Build Coastguard Worker                "libmediandk",
444*d57664e9SAndroid Build Coastguard Worker                "libnativedisplay",
445*d57664e9SAndroid Build Coastguard Worker                "libnativewindow",
446*d57664e9SAndroid Build Coastguard Worker                "libpdfium",
447*d57664e9SAndroid Build Coastguard Worker            ],
448*d57664e9SAndroid Build Coastguard Worker            static_libs: [
449*d57664e9SAndroid Build Coastguard Worker                "libgif",
450*d57664e9SAndroid Build Coastguard Worker                "libnativehelper_lazy",
451*d57664e9SAndroid Build Coastguard Worker                "libstatslog_hwui",
452*d57664e9SAndroid Build Coastguard Worker                "libstatspull_lazy",
453*d57664e9SAndroid Build Coastguard Worker                "libstatssocket_lazy",
454*d57664e9SAndroid Build Coastguard Worker            ],
455*d57664e9SAndroid Build Coastguard Worker        },
456*d57664e9SAndroid Build Coastguard Worker        linux: {
457*d57664e9SAndroid Build Coastguard Worker            srcs: ["platform/linux/utils/SharedLib.cpp"],
458*d57664e9SAndroid Build Coastguard Worker        },
459*d57664e9SAndroid Build Coastguard Worker        darwin: {
460*d57664e9SAndroid Build Coastguard Worker            srcs: ["platform/darwin/utils/SharedLib.cpp"],
461*d57664e9SAndroid Build Coastguard Worker        },
462*d57664e9SAndroid Build Coastguard Worker        host: {
463*d57664e9SAndroid Build Coastguard Worker            cflags: [
464*d57664e9SAndroid Build Coastguard Worker                "-Wno-unused-const-variable",
465*d57664e9SAndroid Build Coastguard Worker                "-Wno-unused-function",
466*d57664e9SAndroid Build Coastguard Worker            ],
467*d57664e9SAndroid Build Coastguard Worker            static_libs: [
468*d57664e9SAndroid Build Coastguard Worker                "libandroidfw",
469*d57664e9SAndroid Build Coastguard Worker                "libnativehelper_jvm",
470*d57664e9SAndroid Build Coastguard Worker            ],
471*d57664e9SAndroid Build Coastguard Worker        },
472*d57664e9SAndroid Build Coastguard Worker    },
473*d57664e9SAndroid Build Coastguard Worker}
474*d57664e9SAndroid Build Coastguard Worker
475*d57664e9SAndroid Build Coastguard Workercc_library_static {
476*d57664e9SAndroid Build Coastguard Worker    name: "libstatslog_hwui",
477*d57664e9SAndroid Build Coastguard Worker    generated_sources: ["statslog_hwui.cpp"],
478*d57664e9SAndroid Build Coastguard Worker    generated_headers: ["statslog_hwui.h"],
479*d57664e9SAndroid Build Coastguard Worker    export_generated_headers: ["statslog_hwui.h"],
480*d57664e9SAndroid Build Coastguard Worker    static_libs: [
481*d57664e9SAndroid Build Coastguard Worker        "libstatssocket_lazy",
482*d57664e9SAndroid Build Coastguard Worker        "libstatspull_lazy",
483*d57664e9SAndroid Build Coastguard Worker    ],
484*d57664e9SAndroid Build Coastguard Worker}
485*d57664e9SAndroid Build Coastguard Worker
486*d57664e9SAndroid Build Coastguard Workergenrule {
487*d57664e9SAndroid Build Coastguard Worker    name: "statslog_hwui.h",
488*d57664e9SAndroid Build Coastguard Worker    tools: ["stats-log-api-gen"],
489*d57664e9SAndroid Build Coastguard Worker    cmd: "$(location stats-log-api-gen) --header $(genDir)/statslog_hwui.h --module hwui" +
490*d57664e9SAndroid Build Coastguard Worker        " --namespace android,uirenderer,stats",
491*d57664e9SAndroid Build Coastguard Worker    out: [
492*d57664e9SAndroid Build Coastguard Worker        "statslog_hwui.h",
493*d57664e9SAndroid Build Coastguard Worker    ],
494*d57664e9SAndroid Build Coastguard Worker}
495*d57664e9SAndroid Build Coastguard Worker
496*d57664e9SAndroid Build Coastguard Workergenrule {
497*d57664e9SAndroid Build Coastguard Worker    name: "statslog_hwui.cpp",
498*d57664e9SAndroid Build Coastguard Worker    tools: ["stats-log-api-gen"],
499*d57664e9SAndroid Build Coastguard Worker    cmd: "$(location stats-log-api-gen) --cpp $(genDir)/statslog_hwui.cpp --module hwui" +
500*d57664e9SAndroid Build Coastguard Worker        " --namespace android,uirenderer,stats --importHeader statslog_hwui.h",
501*d57664e9SAndroid Build Coastguard Worker    out: [
502*d57664e9SAndroid Build Coastguard Worker        "statslog_hwui.cpp",
503*d57664e9SAndroid Build Coastguard Worker    ],
504*d57664e9SAndroid Build Coastguard Worker}
505*d57664e9SAndroid Build Coastguard Worker
506*d57664e9SAndroid Build Coastguard Workergenrule {
507*d57664e9SAndroid Build Coastguard Worker    name: "statslog-hwui-java-gen",
508*d57664e9SAndroid Build Coastguard Worker    tools: ["stats-log-api-gen"],
509*d57664e9SAndroid Build Coastguard Worker    cmd: "$(location stats-log-api-gen) --java $(out) --module hwui --javaPackage com.android.os.coregraphics --javaClass HwuiStatsLog",
510*d57664e9SAndroid Build Coastguard Worker    out: ["com/android/os/coregraphics/HwuiStatsLog.java"],
511*d57664e9SAndroid Build Coastguard Worker}
512*d57664e9SAndroid Build Coastguard Worker
513*d57664e9SAndroid Build Coastguard Worker// ------------------------
514*d57664e9SAndroid Build Coastguard Worker// library
515*d57664e9SAndroid Build Coastguard Worker// ------------------------
516*d57664e9SAndroid Build Coastguard Worker
517*d57664e9SAndroid Build Coastguard Workercc_library_headers {
518*d57664e9SAndroid Build Coastguard Worker    name: "libhwui_internal_headers",
519*d57664e9SAndroid Build Coastguard Worker
520*d57664e9SAndroid Build Coastguard Worker    host_supported: true,
521*d57664e9SAndroid Build Coastguard Worker    export_include_dirs: [
522*d57664e9SAndroid Build Coastguard Worker        ".",
523*d57664e9SAndroid Build Coastguard Worker    ],
524*d57664e9SAndroid Build Coastguard Worker    header_libs: ["android_graphics_jni_headers"],
525*d57664e9SAndroid Build Coastguard Worker    export_header_lib_headers: ["android_graphics_jni_headers"],
526*d57664e9SAndroid Build Coastguard Worker    target: {
527*d57664e9SAndroid Build Coastguard Worker        android: {
528*d57664e9SAndroid Build Coastguard Worker            export_include_dirs: ["platform/android"],
529*d57664e9SAndroid Build Coastguard Worker        },
530*d57664e9SAndroid Build Coastguard Worker        host: {
531*d57664e9SAndroid Build Coastguard Worker            export_include_dirs: ["platform/host"],
532*d57664e9SAndroid Build Coastguard Worker        },
533*d57664e9SAndroid Build Coastguard Worker        windows: {
534*d57664e9SAndroid Build Coastguard Worker            enabled: true,
535*d57664e9SAndroid Build Coastguard Worker        },
536*d57664e9SAndroid Build Coastguard Worker    },
537*d57664e9SAndroid Build Coastguard Worker}
538*d57664e9SAndroid Build Coastguard Worker
539*d57664e9SAndroid Build Coastguard Workercc_defaults {
540*d57664e9SAndroid Build Coastguard Worker    name: "libhwui_defaults",
541*d57664e9SAndroid Build Coastguard Worker    defaults: ["hwui_defaults"],
542*d57664e9SAndroid Build Coastguard Worker
543*d57664e9SAndroid Build Coastguard Worker    whole_static_libs: ["libskia"],
544*d57664e9SAndroid Build Coastguard Worker
545*d57664e9SAndroid Build Coastguard Worker    srcs: [
546*d57664e9SAndroid Build Coastguard Worker        "canvas/CanvasFrontend.cpp",
547*d57664e9SAndroid Build Coastguard Worker        "canvas/CanvasOpBuffer.cpp",
548*d57664e9SAndroid Build Coastguard Worker        "canvas/CanvasOpRasterizer.cpp",
549*d57664e9SAndroid Build Coastguard Worker        "effects/StretchEffect.cpp",
550*d57664e9SAndroid Build Coastguard Worker        "effects/GainmapRenderer.cpp",
551*d57664e9SAndroid Build Coastguard Worker        "pipeline/skia/BackdropFilterDrawable.cpp",
552*d57664e9SAndroid Build Coastguard Worker        "pipeline/skia/HolePunch.cpp",
553*d57664e9SAndroid Build Coastguard Worker        "pipeline/skia/SkiaCpuPipeline.cpp",
554*d57664e9SAndroid Build Coastguard Worker        "pipeline/skia/SkiaDisplayList.cpp",
555*d57664e9SAndroid Build Coastguard Worker        "pipeline/skia/SkiaPipeline.cpp",
556*d57664e9SAndroid Build Coastguard Worker        "pipeline/skia/SkiaRecordingCanvas.cpp",
557*d57664e9SAndroid Build Coastguard Worker        "pipeline/skia/StretchMask.cpp",
558*d57664e9SAndroid Build Coastguard Worker        "pipeline/skia/RenderNodeDrawable.cpp",
559*d57664e9SAndroid Build Coastguard Worker        "pipeline/skia/ReorderBarrierDrawables.cpp",
560*d57664e9SAndroid Build Coastguard Worker        "pipeline/skia/TransformCanvas.cpp",
561*d57664e9SAndroid Build Coastguard Worker        "renderstate/RenderState.cpp",
562*d57664e9SAndroid Build Coastguard Worker        "renderthread/CanvasContext.cpp",
563*d57664e9SAndroid Build Coastguard Worker        "renderthread/DrawFrameTask.cpp",
564*d57664e9SAndroid Build Coastguard Worker        "renderthread/Frame.cpp",
565*d57664e9SAndroid Build Coastguard Worker        "renderthread/RenderEffectCapabilityQuery.cpp",
566*d57664e9SAndroid Build Coastguard Worker        "renderthread/RenderProxy.cpp",
567*d57664e9SAndroid Build Coastguard Worker        "renderthread/RenderTask.cpp",
568*d57664e9SAndroid Build Coastguard Worker        "renderthread/TimeLord.cpp",
569*d57664e9SAndroid Build Coastguard Worker        "hwui/AnimatedImageDrawable.cpp",
570*d57664e9SAndroid Build Coastguard Worker        "hwui/AnimatedImageThread.cpp",
571*d57664e9SAndroid Build Coastguard Worker        "hwui/Bitmap.cpp",
572*d57664e9SAndroid Build Coastguard Worker        "hwui/BlurDrawLooper.cpp",
573*d57664e9SAndroid Build Coastguard Worker        "hwui/Canvas.cpp",
574*d57664e9SAndroid Build Coastguard Worker        "hwui/ImageDecoder.cpp",
575*d57664e9SAndroid Build Coastguard Worker        "hwui/MinikinSkia.cpp",
576*d57664e9SAndroid Build Coastguard Worker        "hwui/MinikinUtils.cpp",
577*d57664e9SAndroid Build Coastguard Worker        "hwui/PaintImpl.cpp",
578*d57664e9SAndroid Build Coastguard Worker        "hwui/Typeface.cpp",
579*d57664e9SAndroid Build Coastguard Worker        "thread/CommonPool.cpp",
580*d57664e9SAndroid Build Coastguard Worker        "utils/Blur.cpp",
581*d57664e9SAndroid Build Coastguard Worker        "utils/Color.cpp",
582*d57664e9SAndroid Build Coastguard Worker        "utils/LinearAllocator.cpp",
583*d57664e9SAndroid Build Coastguard Worker        "utils/StringUtils.cpp",
584*d57664e9SAndroid Build Coastguard Worker        "utils/StatsUtils.cpp",
585*d57664e9SAndroid Build Coastguard Worker        "utils/TypefaceUtils.cpp",
586*d57664e9SAndroid Build Coastguard Worker        "utils/VectorDrawableUtils.cpp",
587*d57664e9SAndroid Build Coastguard Worker        "AnimationContext.cpp",
588*d57664e9SAndroid Build Coastguard Worker        "Animator.cpp",
589*d57664e9SAndroid Build Coastguard Worker        "AnimatorManager.cpp",
590*d57664e9SAndroid Build Coastguard Worker        "CanvasTransform.cpp",
591*d57664e9SAndroid Build Coastguard Worker        "DamageAccumulator.cpp",
592*d57664e9SAndroid Build Coastguard Worker        "DeviceInfo.cpp",
593*d57664e9SAndroid Build Coastguard Worker        "FrameInfo.cpp",
594*d57664e9SAndroid Build Coastguard Worker        "FrameInfoVisualizer.cpp",
595*d57664e9SAndroid Build Coastguard Worker        "FrameMetricsReporter.cpp",
596*d57664e9SAndroid Build Coastguard Worker        "Gainmap.cpp",
597*d57664e9SAndroid Build Coastguard Worker        "HWUIProperties.sysprop",
598*d57664e9SAndroid Build Coastguard Worker        "Interpolator.cpp",
599*d57664e9SAndroid Build Coastguard Worker        "JankTracker.cpp",
600*d57664e9SAndroid Build Coastguard Worker        "Layer.cpp",
601*d57664e9SAndroid Build Coastguard Worker        "LayerUpdateQueue.cpp",
602*d57664e9SAndroid Build Coastguard Worker        "LightingInfo.cpp",
603*d57664e9SAndroid Build Coastguard Worker        "Matrix.cpp",
604*d57664e9SAndroid Build Coastguard Worker        "Mesh.cpp",
605*d57664e9SAndroid Build Coastguard Worker        "MemoryPolicy.cpp",
606*d57664e9SAndroid Build Coastguard Worker        "PathParser.cpp",
607*d57664e9SAndroid Build Coastguard Worker        "ProfileData.cpp",
608*d57664e9SAndroid Build Coastguard Worker        "Properties.cpp",
609*d57664e9SAndroid Build Coastguard Worker        "PropertyValuesAnimatorSet.cpp",
610*d57664e9SAndroid Build Coastguard Worker        "PropertyValuesHolder.cpp",
611*d57664e9SAndroid Build Coastguard Worker        "RecordingCanvas.cpp",
612*d57664e9SAndroid Build Coastguard Worker        "RenderNode.cpp",
613*d57664e9SAndroid Build Coastguard Worker        "RenderProperties.cpp",
614*d57664e9SAndroid Build Coastguard Worker        "RootRenderNode.cpp",
615*d57664e9SAndroid Build Coastguard Worker        "SkiaCanvas.cpp",
616*d57664e9SAndroid Build Coastguard Worker        "SkiaInterpolator.cpp",
617*d57664e9SAndroid Build Coastguard Worker        "Tonemapper.cpp",
618*d57664e9SAndroid Build Coastguard Worker        "TreeInfo.cpp",
619*d57664e9SAndroid Build Coastguard Worker        "VectorDrawable.cpp",
620*d57664e9SAndroid Build Coastguard Worker    ],
621*d57664e9SAndroid Build Coastguard Worker
622*d57664e9SAndroid Build Coastguard Worker    proto: {
623*d57664e9SAndroid Build Coastguard Worker        export_proto_headers: true,
624*d57664e9SAndroid Build Coastguard Worker    },
625*d57664e9SAndroid Build Coastguard Worker
626*d57664e9SAndroid Build Coastguard Worker    header_libs: ["libandroid_headers_private"],
627*d57664e9SAndroid Build Coastguard Worker
628*d57664e9SAndroid Build Coastguard Worker    target: {
629*d57664e9SAndroid Build Coastguard Worker        android: {
630*d57664e9SAndroid Build Coastguard Worker            header_libs: ["libtonemap_headers"],
631*d57664e9SAndroid Build Coastguard Worker
632*d57664e9SAndroid Build Coastguard Worker            local_include_dirs: ["platform/android"],
633*d57664e9SAndroid Build Coastguard Worker
634*d57664e9SAndroid Build Coastguard Worker            srcs: [
635*d57664e9SAndroid Build Coastguard Worker                "pipeline/skia/ATraceMemoryDump.cpp",
636*d57664e9SAndroid Build Coastguard Worker                "pipeline/skia/GLFunctorDrawable.cpp",
637*d57664e9SAndroid Build Coastguard Worker                "pipeline/skia/LayerDrawable.cpp",
638*d57664e9SAndroid Build Coastguard Worker                "pipeline/skia/ShaderCache.cpp",
639*d57664e9SAndroid Build Coastguard Worker                "pipeline/skia/SkiaGpuPipeline.cpp",
640*d57664e9SAndroid Build Coastguard Worker                "pipeline/skia/SkiaMemoryTracer.cpp",
641*d57664e9SAndroid Build Coastguard Worker                "pipeline/skia/SkiaOpenGLPipeline.cpp",
642*d57664e9SAndroid Build Coastguard Worker                "pipeline/skia/SkiaProfileRenderer.cpp",
643*d57664e9SAndroid Build Coastguard Worker                "pipeline/skia/SkiaVulkanPipeline.cpp",
644*d57664e9SAndroid Build Coastguard Worker                "pipeline/skia/VkFunctorDrawable.cpp",
645*d57664e9SAndroid Build Coastguard Worker                "pipeline/skia/VkInteropFunctorDrawable.cpp",
646*d57664e9SAndroid Build Coastguard Worker                "renderthread/CacheManager.cpp",
647*d57664e9SAndroid Build Coastguard Worker                "renderthread/EglManager.cpp",
648*d57664e9SAndroid Build Coastguard Worker                "renderthread/ReliableSurface.cpp",
649*d57664e9SAndroid Build Coastguard Worker                "renderthread/VulkanManager.cpp",
650*d57664e9SAndroid Build Coastguard Worker                "renderthread/VulkanSurface.cpp",
651*d57664e9SAndroid Build Coastguard Worker                "renderthread/RenderThread.cpp",
652*d57664e9SAndroid Build Coastguard Worker                "renderthread/HintSessionWrapper.cpp",
653*d57664e9SAndroid Build Coastguard Worker                "service/GraphicsStatsService.cpp",
654*d57664e9SAndroid Build Coastguard Worker                "utils/GLUtils.cpp",
655*d57664e9SAndroid Build Coastguard Worker                "utils/NdkUtils.cpp",
656*d57664e9SAndroid Build Coastguard Worker                "AutoBackendTextureRelease.cpp",
657*d57664e9SAndroid Build Coastguard Worker                "DeferredLayerUpdater.cpp",
658*d57664e9SAndroid Build Coastguard Worker                "HardwareBitmapUploader.cpp",
659*d57664e9SAndroid Build Coastguard Worker                "ProfileDataContainer.cpp",
660*d57664e9SAndroid Build Coastguard Worker                "Readback.cpp",
661*d57664e9SAndroid Build Coastguard Worker                "WebViewFunctorManager.cpp",
662*d57664e9SAndroid Build Coastguard Worker                "protos/graphicsstats.proto",
663*d57664e9SAndroid Build Coastguard Worker            ],
664*d57664e9SAndroid Build Coastguard Worker
665*d57664e9SAndroid Build Coastguard Worker            // Allow implicit fallthroughs in HardwareBitmapUploader.cpp until they are fixed.
666*d57664e9SAndroid Build Coastguard Worker            cflags: ["-Wno-implicit-fallthrough"],
667*d57664e9SAndroid Build Coastguard Worker        },
668*d57664e9SAndroid Build Coastguard Worker        host: {
669*d57664e9SAndroid Build Coastguard Worker            header_libs: [
670*d57664e9SAndroid Build Coastguard Worker                "libnativebase_headers",
671*d57664e9SAndroid Build Coastguard Worker                "libnativedisplay_headers",
672*d57664e9SAndroid Build Coastguard Worker            ],
673*d57664e9SAndroid Build Coastguard Worker
674*d57664e9SAndroid Build Coastguard Worker            local_include_dirs: ["platform/host"],
675*d57664e9SAndroid Build Coastguard Worker
676*d57664e9SAndroid Build Coastguard Worker            srcs: [
677*d57664e9SAndroid Build Coastguard Worker                "platform/host/renderthread/CacheManager.cpp",
678*d57664e9SAndroid Build Coastguard Worker                "platform/host/renderthread/HintSessionWrapper.cpp",
679*d57664e9SAndroid Build Coastguard Worker                "platform/host/renderthread/ReliableSurface.cpp",
680*d57664e9SAndroid Build Coastguard Worker                "platform/host/renderthread/RenderThread.cpp",
681*d57664e9SAndroid Build Coastguard Worker                "platform/host/ProfileDataContainer.cpp",
682*d57664e9SAndroid Build Coastguard Worker                "platform/host/Readback.cpp",
683*d57664e9SAndroid Build Coastguard Worker                "platform/host/WebViewFunctorManager.cpp",
684*d57664e9SAndroid Build Coastguard Worker            ],
685*d57664e9SAndroid Build Coastguard Worker
686*d57664e9SAndroid Build Coastguard Worker            cflags: [
687*d57664e9SAndroid Build Coastguard Worker                "-DHWUI_NULL_GPU",
688*d57664e9SAndroid Build Coastguard Worker                "-DNULL_GPU_MAX_TEXTURE_SIZE=4096",
689*d57664e9SAndroid Build Coastguard Worker                "-Wno-unused-private-field",
690*d57664e9SAndroid Build Coastguard Worker            ],
691*d57664e9SAndroid Build Coastguard Worker        },
692*d57664e9SAndroid Build Coastguard Worker    },
693*d57664e9SAndroid Build Coastguard Worker}
694*d57664e9SAndroid Build Coastguard Worker
695*d57664e9SAndroid Build Coastguard Workercc_library {
696*d57664e9SAndroid Build Coastguard Worker    name: "libhwui",
697*d57664e9SAndroid Build Coastguard Worker    host_supported: true,
698*d57664e9SAndroid Build Coastguard Worker    defaults: [
699*d57664e9SAndroid Build Coastguard Worker        "libhwui_defaults",
700*d57664e9SAndroid Build Coastguard Worker        "android_graphics_apex",
701*d57664e9SAndroid Build Coastguard Worker        "android_graphics_jni",
702*d57664e9SAndroid Build Coastguard Worker        "linker_hugepage_aligned",
703*d57664e9SAndroid Build Coastguard Worker    ],
704*d57664e9SAndroid Build Coastguard Worker    export_header_lib_headers: ["android_graphics_apex_headers"],
705*d57664e9SAndroid Build Coastguard Worker    target: {
706*d57664e9SAndroid Build Coastguard Worker        android: {
707*d57664e9SAndroid Build Coastguard Worker            version_script: "libhwui.map.txt",
708*d57664e9SAndroid Build Coastguard Worker        },
709*d57664e9SAndroid Build Coastguard Worker    },
710*d57664e9SAndroid Build Coastguard Worker    afdo: true,
711*d57664e9SAndroid Build Coastguard Worker}
712*d57664e9SAndroid Build Coastguard Worker
713*d57664e9SAndroid Build Coastguard Workercc_library_static {
714*d57664e9SAndroid Build Coastguard Worker    name: "libhwui_static",
715*d57664e9SAndroid Build Coastguard Worker    defaults: [
716*d57664e9SAndroid Build Coastguard Worker        "libhwui_defaults",
717*d57664e9SAndroid Build Coastguard Worker    ],
718*d57664e9SAndroid Build Coastguard Worker}
719*d57664e9SAndroid Build Coastguard Worker
720*d57664e9SAndroid Build Coastguard Workercc_defaults {
721*d57664e9SAndroid Build Coastguard Worker    name: "hwui_test_defaults",
722*d57664e9SAndroid Build Coastguard Worker    defaults: ["hwui_defaults"],
723*d57664e9SAndroid Build Coastguard Worker    test_suites: ["general-tests"],
724*d57664e9SAndroid Build Coastguard Worker    header_libs: ["libandroid_headers_private"],
725*d57664e9SAndroid Build Coastguard Worker    target: {
726*d57664e9SAndroid Build Coastguard Worker        android: {
727*d57664e9SAndroid Build Coastguard Worker            local_include_dirs: ["platform/android"],
728*d57664e9SAndroid Build Coastguard Worker            shared_libs: [
729*d57664e9SAndroid Build Coastguard Worker                "libgui",
730*d57664e9SAndroid Build Coastguard Worker                "libui",
731*d57664e9SAndroid Build Coastguard Worker            ],
732*d57664e9SAndroid Build Coastguard Worker        },
733*d57664e9SAndroid Build Coastguard Worker    },
734*d57664e9SAndroid Build Coastguard Worker    srcs: [
735*d57664e9SAndroid Build Coastguard Worker        "tests/common/scenes/*.cpp",
736*d57664e9SAndroid Build Coastguard Worker        "tests/common/LeakChecker.cpp",
737*d57664e9SAndroid Build Coastguard Worker        "tests/common/TestListViewSceneBase.cpp",
738*d57664e9SAndroid Build Coastguard Worker        "tests/common/TestContext.cpp",
739*d57664e9SAndroid Build Coastguard Worker        "tests/common/TestScene.cpp",
740*d57664e9SAndroid Build Coastguard Worker        "tests/common/TestUtils.cpp",
741*d57664e9SAndroid Build Coastguard Worker    ],
742*d57664e9SAndroid Build Coastguard Worker}
743*d57664e9SAndroid Build Coastguard Worker
744*d57664e9SAndroid Build Coastguard Worker// ------------------------
745*d57664e9SAndroid Build Coastguard Worker// unit tests
746*d57664e9SAndroid Build Coastguard Worker// ------------------------
747*d57664e9SAndroid Build Coastguard Worker
748*d57664e9SAndroid Build Coastguard Workercc_test {
749*d57664e9SAndroid Build Coastguard Worker    name: "hwui_unit_tests",
750*d57664e9SAndroid Build Coastguard Worker    test_config: "tests/unit/AndroidTest.xml",
751*d57664e9SAndroid Build Coastguard Worker    defaults: [
752*d57664e9SAndroid Build Coastguard Worker        "hwui_test_defaults",
753*d57664e9SAndroid Build Coastguard Worker        "android_graphics_apex",
754*d57664e9SAndroid Build Coastguard Worker        "android_graphics_jni",
755*d57664e9SAndroid Build Coastguard Worker    ],
756*d57664e9SAndroid Build Coastguard Worker
757*d57664e9SAndroid Build Coastguard Worker    static_libs: [
758*d57664e9SAndroid Build Coastguard Worker        "libflagtest",
759*d57664e9SAndroid Build Coastguard Worker        "libgmock",
760*d57664e9SAndroid Build Coastguard Worker        "libhwui_static",
761*d57664e9SAndroid Build Coastguard Worker    ],
762*d57664e9SAndroid Build Coastguard Worker    shared_libs: [
763*d57664e9SAndroid Build Coastguard Worker        "libmemunreachable",
764*d57664e9SAndroid Build Coastguard Worker    ],
765*d57664e9SAndroid Build Coastguard Worker    srcs: [
766*d57664e9SAndroid Build Coastguard Worker        "tests/unit/main.cpp",
767*d57664e9SAndroid Build Coastguard Worker        "tests/unit/ABitmapTests.cpp",
768*d57664e9SAndroid Build Coastguard Worker        "tests/unit/AutoBackendTextureReleaseTests.cpp",
769*d57664e9SAndroid Build Coastguard Worker        "tests/unit/CacheManagerTests.cpp",
770*d57664e9SAndroid Build Coastguard Worker        "tests/unit/CanvasContextTests.cpp",
771*d57664e9SAndroid Build Coastguard Worker        "tests/unit/CanvasOpTests.cpp",
772*d57664e9SAndroid Build Coastguard Worker        "tests/unit/CanvasFrontendTests.cpp",
773*d57664e9SAndroid Build Coastguard Worker        "tests/unit/CommonPoolTests.cpp",
774*d57664e9SAndroid Build Coastguard Worker        "tests/unit/DamageAccumulatorTests.cpp",
775*d57664e9SAndroid Build Coastguard Worker        "tests/unit/DeferredLayerUpdaterTests.cpp",
776*d57664e9SAndroid Build Coastguard Worker        "tests/unit/EglManagerTests.cpp",
777*d57664e9SAndroid Build Coastguard Worker        "tests/unit/FatVectorTests.cpp",
778*d57664e9SAndroid Build Coastguard Worker        "tests/unit/GraphicsStatsServiceTests.cpp",
779*d57664e9SAndroid Build Coastguard Worker        "tests/unit/HintSessionWrapperTests.cpp",
780*d57664e9SAndroid Build Coastguard Worker        "tests/unit/JankTrackerTests.cpp",
781*d57664e9SAndroid Build Coastguard Worker        "tests/unit/FrameMetricsReporterTests.cpp",
782*d57664e9SAndroid Build Coastguard Worker        "tests/unit/LayerUpdateQueueTests.cpp",
783*d57664e9SAndroid Build Coastguard Worker        "tests/unit/LinearAllocatorTests.cpp",
784*d57664e9SAndroid Build Coastguard Worker        "tests/unit/MatrixTests.cpp",
785*d57664e9SAndroid Build Coastguard Worker        "tests/unit/OpBufferTests.cpp",
786*d57664e9SAndroid Build Coastguard Worker        "tests/unit/PathInterpolatorTests.cpp",
787*d57664e9SAndroid Build Coastguard Worker        "tests/unit/RenderEffectCapabilityQueryTests.cpp",
788*d57664e9SAndroid Build Coastguard Worker        "tests/unit/RenderNodeDrawableTests.cpp",
789*d57664e9SAndroid Build Coastguard Worker        "tests/unit/RenderNodeTests.cpp",
790*d57664e9SAndroid Build Coastguard Worker        "tests/unit/RenderPropertiesTests.cpp",
791*d57664e9SAndroid Build Coastguard Worker        "tests/unit/RenderThreadTests.cpp",
792*d57664e9SAndroid Build Coastguard Worker        "tests/unit/ShaderCacheTests.cpp",
793*d57664e9SAndroid Build Coastguard Worker        "tests/unit/SkiaBehaviorTests.cpp",
794*d57664e9SAndroid Build Coastguard Worker        "tests/unit/SkiaDisplayListTests.cpp",
795*d57664e9SAndroid Build Coastguard Worker        "tests/unit/SkiaPipelineTests.cpp",
796*d57664e9SAndroid Build Coastguard Worker        "tests/unit/SkiaRenderPropertiesTests.cpp",
797*d57664e9SAndroid Build Coastguard Worker        "tests/unit/SkiaCanvasTests.cpp",
798*d57664e9SAndroid Build Coastguard Worker        "tests/unit/StretchEffectTests.cpp",
799*d57664e9SAndroid Build Coastguard Worker        "tests/unit/StringUtilsTests.cpp",
800*d57664e9SAndroid Build Coastguard Worker        "tests/unit/TestUtilsTests.cpp",
801*d57664e9SAndroid Build Coastguard Worker        "tests/unit/ThreadBaseTests.cpp",
802*d57664e9SAndroid Build Coastguard Worker        "tests/unit/TypefaceTests.cpp",
803*d57664e9SAndroid Build Coastguard Worker        "tests/unit/UnderlineTest.cpp",
804*d57664e9SAndroid Build Coastguard Worker        "tests/unit/VectorDrawableTests.cpp",
805*d57664e9SAndroid Build Coastguard Worker        "tests/unit/WebViewFunctorManagerTests.cpp",
806*d57664e9SAndroid Build Coastguard Worker    ],
807*d57664e9SAndroid Build Coastguard Worker    data: [
808*d57664e9SAndroid Build Coastguard Worker        ":hwuimicro",
809*d57664e9SAndroid Build Coastguard Worker    ],
810*d57664e9SAndroid Build Coastguard Worker}
811*d57664e9SAndroid Build Coastguard Worker
812*d57664e9SAndroid Build Coastguard Worker// ------------------------
813*d57664e9SAndroid Build Coastguard Worker// Macro-bench app
814*d57664e9SAndroid Build Coastguard Worker// ------------------------
815*d57664e9SAndroid Build Coastguard Worker
816*d57664e9SAndroid Build Coastguard Workercc_benchmark {
817*d57664e9SAndroid Build Coastguard Worker    name: "hwuimacro",
818*d57664e9SAndroid Build Coastguard Worker    test_config: "tests/macrobench/AndroidTest.xml",
819*d57664e9SAndroid Build Coastguard Worker    defaults: ["hwui_test_defaults"],
820*d57664e9SAndroid Build Coastguard Worker
821*d57664e9SAndroid Build Coastguard Worker    static_libs: ["libhwui"],
822*d57664e9SAndroid Build Coastguard Worker    shared_libs: [
823*d57664e9SAndroid Build Coastguard Worker        "libmemunreachable",
824*d57664e9SAndroid Build Coastguard Worker    ],
825*d57664e9SAndroid Build Coastguard Worker
826*d57664e9SAndroid Build Coastguard Worker    srcs: [
827*d57664e9SAndroid Build Coastguard Worker        "tests/macrobench/TestSceneRunner.cpp",
828*d57664e9SAndroid Build Coastguard Worker        "tests/macrobench/main.cpp",
829*d57664e9SAndroid Build Coastguard Worker    ],
830*d57664e9SAndroid Build Coastguard Worker}
831*d57664e9SAndroid Build Coastguard Worker
832*d57664e9SAndroid Build Coastguard Worker// ------------------------
833*d57664e9SAndroid Build Coastguard Worker// Micro-bench app
834*d57664e9SAndroid Build Coastguard Worker// ---------------------
835*d57664e9SAndroid Build Coastguard Worker
836*d57664e9SAndroid Build Coastguard Workercc_benchmark {
837*d57664e9SAndroid Build Coastguard Worker    name: "hwuimicro",
838*d57664e9SAndroid Build Coastguard Worker    test_config: "tests/microbench/AndroidTest.xml",
839*d57664e9SAndroid Build Coastguard Worker    defaults: ["hwui_test_defaults"],
840*d57664e9SAndroid Build Coastguard Worker
841*d57664e9SAndroid Build Coastguard Worker    static_libs: ["libhwui_static"],
842*d57664e9SAndroid Build Coastguard Worker    shared_libs: [
843*d57664e9SAndroid Build Coastguard Worker        "libmemunreachable",
844*d57664e9SAndroid Build Coastguard Worker    ],
845*d57664e9SAndroid Build Coastguard Worker
846*d57664e9SAndroid Build Coastguard Worker    srcs: [
847*d57664e9SAndroid Build Coastguard Worker        "tests/microbench/main.cpp",
848*d57664e9SAndroid Build Coastguard Worker        "tests/microbench/CanvasOpBench.cpp",
849*d57664e9SAndroid Build Coastguard Worker        "tests/microbench/DisplayListCanvasBench.cpp",
850*d57664e9SAndroid Build Coastguard Worker        "tests/microbench/LinearAllocatorBench.cpp",
851*d57664e9SAndroid Build Coastguard Worker        "tests/microbench/PathParserBench.cpp",
852*d57664e9SAndroid Build Coastguard Worker        "tests/microbench/RenderNodeBench.cpp",
853*d57664e9SAndroid Build Coastguard Worker    ],
854*d57664e9SAndroid Build Coastguard Worker}
855