xref: /aosp_15_r20/frameworks/native/libs/ui/Android.bp (revision 38e8c45f13ce32b0dcecb25141ffecaf386fa17f)
1*38e8c45fSAndroid Build Coastguard Worker// Copyright (C) 2010 The Android Open Source Project
2*38e8c45fSAndroid Build Coastguard Worker//
3*38e8c45fSAndroid Build Coastguard Worker// Licensed under the Apache License, Version 2.0 (the "License");
4*38e8c45fSAndroid Build Coastguard Worker// you may not use this file except in compliance with the License.
5*38e8c45fSAndroid Build Coastguard Worker// You may obtain a copy of the License at
6*38e8c45fSAndroid Build Coastguard Worker//
7*38e8c45fSAndroid Build Coastguard Worker//      http://www.apache.org/licenses/LICENSE-2.0
8*38e8c45fSAndroid Build Coastguard Worker//
9*38e8c45fSAndroid Build Coastguard Worker// Unless required by applicable law or agreed to in writing, software
10*38e8c45fSAndroid Build Coastguard Worker// distributed under the License is distributed on an "AS IS" BASIS,
11*38e8c45fSAndroid Build Coastguard Worker// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12*38e8c45fSAndroid Build Coastguard Worker// See the License for the specific language governing permissions and
13*38e8c45fSAndroid Build Coastguard Worker// limitations under the License.
14*38e8c45fSAndroid Build Coastguard Worker
15*38e8c45fSAndroid Build Coastguard Workerpackage {
16*38e8c45fSAndroid Build Coastguard Worker    default_applicable_licenses: ["frameworks_native_libs_ui_license"],
17*38e8c45fSAndroid Build Coastguard Worker    default_team: "trendy_team_android_core_graphics_stack",
18*38e8c45fSAndroid Build Coastguard Worker}
19*38e8c45fSAndroid Build Coastguard Worker
20*38e8c45fSAndroid Build Coastguard Worker// Added automatically by a large-scale-change
21*38e8c45fSAndroid Build Coastguard Worker// See: http://go/android-license-faq
22*38e8c45fSAndroid Build Coastguard Workerlicense {
23*38e8c45fSAndroid Build Coastguard Worker    name: "frameworks_native_libs_ui_license",
24*38e8c45fSAndroid Build Coastguard Worker    visibility: [":__subpackages__"],
25*38e8c45fSAndroid Build Coastguard Worker    license_kinds: [
26*38e8c45fSAndroid Build Coastguard Worker        "SPDX-license-identifier-Apache-2.0",
27*38e8c45fSAndroid Build Coastguard Worker    ],
28*38e8c45fSAndroid Build Coastguard Worker    license_text: [
29*38e8c45fSAndroid Build Coastguard Worker        "NOTICE",
30*38e8c45fSAndroid Build Coastguard Worker    ],
31*38e8c45fSAndroid Build Coastguard Worker}
32*38e8c45fSAndroid Build Coastguard Worker
33*38e8c45fSAndroid Build Coastguard Workercc_library_headers {
34*38e8c45fSAndroid Build Coastguard Worker    name: "libui_fuzzableDataspaces_headers",
35*38e8c45fSAndroid Build Coastguard Worker    export_include_dirs: ["include/ui/fuzzer/"],
36*38e8c45fSAndroid Build Coastguard Worker}
37*38e8c45fSAndroid Build Coastguard Worker
38*38e8c45fSAndroid Build Coastguard Workercc_defaults {
39*38e8c45fSAndroid Build Coastguard Worker    name: "libui-defaults",
40*38e8c45fSAndroid Build Coastguard Worker    cflags: [
41*38e8c45fSAndroid Build Coastguard Worker        "-Wall",
42*38e8c45fSAndroid Build Coastguard Worker        "-Werror",
43*38e8c45fSAndroid Build Coastguard Worker    ],
44*38e8c45fSAndroid Build Coastguard Worker    cppflags: [
45*38e8c45fSAndroid Build Coastguard Worker        "-Wextra",
46*38e8c45fSAndroid Build Coastguard Worker    ],
47*38e8c45fSAndroid Build Coastguard Worker
48*38e8c45fSAndroid Build Coastguard Worker    sanitize: {
49*38e8c45fSAndroid Build Coastguard Worker        integer_overflow: true,
50*38e8c45fSAndroid Build Coastguard Worker        misc_undefined: ["bounds"],
51*38e8c45fSAndroid Build Coastguard Worker    },
52*38e8c45fSAndroid Build Coastguard Worker}
53*38e8c45fSAndroid Build Coastguard Worker
54*38e8c45fSAndroid Build Coastguard Workercc_library_static {
55*38e8c45fSAndroid Build Coastguard Worker    name: "libui-types",
56*38e8c45fSAndroid Build Coastguard Worker    vendor_available: true,
57*38e8c45fSAndroid Build Coastguard Worker    host_supported: true,
58*38e8c45fSAndroid Build Coastguard Worker    target: {
59*38e8c45fSAndroid Build Coastguard Worker        windows: {
60*38e8c45fSAndroid Build Coastguard Worker            enabled: true,
61*38e8c45fSAndroid Build Coastguard Worker        },
62*38e8c45fSAndroid Build Coastguard Worker    },
63*38e8c45fSAndroid Build Coastguard Worker
64*38e8c45fSAndroid Build Coastguard Worker    defaults: [
65*38e8c45fSAndroid Build Coastguard Worker        "libui-defaults",
66*38e8c45fSAndroid Build Coastguard Worker    ],
67*38e8c45fSAndroid Build Coastguard Worker
68*38e8c45fSAndroid Build Coastguard Worker    apex_available: [
69*38e8c45fSAndroid Build Coastguard Worker        "//apex_available:anyapex",
70*38e8c45fSAndroid Build Coastguard Worker        "//apex_available:platform",
71*38e8c45fSAndroid Build Coastguard Worker    ],
72*38e8c45fSAndroid Build Coastguard Worker    min_sdk_version: "apex_inherit",
73*38e8c45fSAndroid Build Coastguard Worker
74*38e8c45fSAndroid Build Coastguard Worker    shared_libs: [
75*38e8c45fSAndroid Build Coastguard Worker        "libbase",
76*38e8c45fSAndroid Build Coastguard Worker        "libutils",
77*38e8c45fSAndroid Build Coastguard Worker    ],
78*38e8c45fSAndroid Build Coastguard Worker
79*38e8c45fSAndroid Build Coastguard Worker    static_libs: [
80*38e8c45fSAndroid Build Coastguard Worker        "libarect",
81*38e8c45fSAndroid Build Coastguard Worker        "libmath",
82*38e8c45fSAndroid Build Coastguard Worker    ],
83*38e8c45fSAndroid Build Coastguard Worker
84*38e8c45fSAndroid Build Coastguard Worker    srcs: [
85*38e8c45fSAndroid Build Coastguard Worker        "ColorSpace.cpp",
86*38e8c45fSAndroid Build Coastguard Worker        "Rect.cpp",
87*38e8c45fSAndroid Build Coastguard Worker        "Region.cpp",
88*38e8c45fSAndroid Build Coastguard Worker        "Transform.cpp",
89*38e8c45fSAndroid Build Coastguard Worker    ],
90*38e8c45fSAndroid Build Coastguard Worker
91*38e8c45fSAndroid Build Coastguard Worker    export_include_dirs: [
92*38e8c45fSAndroid Build Coastguard Worker        "include",
93*38e8c45fSAndroid Build Coastguard Worker        "include_mock",
94*38e8c45fSAndroid Build Coastguard Worker        "include_private",
95*38e8c45fSAndroid Build Coastguard Worker        "include_types",
96*38e8c45fSAndroid Build Coastguard Worker    ],
97*38e8c45fSAndroid Build Coastguard Worker
98*38e8c45fSAndroid Build Coastguard Worker    export_static_lib_headers: [
99*38e8c45fSAndroid Build Coastguard Worker        "libarect",
100*38e8c45fSAndroid Build Coastguard Worker        "libmath",
101*38e8c45fSAndroid Build Coastguard Worker    ],
102*38e8c45fSAndroid Build Coastguard Worker
103*38e8c45fSAndroid Build Coastguard Worker}
104*38e8c45fSAndroid Build Coastguard Worker
105*38e8c45fSAndroid Build Coastguard Workercc_library_shared {
106*38e8c45fSAndroid Build Coastguard Worker    name: "libui",
107*38e8c45fSAndroid Build Coastguard Worker    vendor_available: true,
108*38e8c45fSAndroid Build Coastguard Worker    double_loadable: true,
109*38e8c45fSAndroid Build Coastguard Worker
110*38e8c45fSAndroid Build Coastguard Worker    cflags: [
111*38e8c45fSAndroid Build Coastguard Worker        "-Wall",
112*38e8c45fSAndroid Build Coastguard Worker        "-Werror",
113*38e8c45fSAndroid Build Coastguard Worker    ],
114*38e8c45fSAndroid Build Coastguard Worker    cppflags: [
115*38e8c45fSAndroid Build Coastguard Worker        "-Wextra",
116*38e8c45fSAndroid Build Coastguard Worker    ],
117*38e8c45fSAndroid Build Coastguard Worker
118*38e8c45fSAndroid Build Coastguard Worker    sanitize: {
119*38e8c45fSAndroid Build Coastguard Worker        integer_overflow: true,
120*38e8c45fSAndroid Build Coastguard Worker        misc_undefined: ["bounds"],
121*38e8c45fSAndroid Build Coastguard Worker    },
122*38e8c45fSAndroid Build Coastguard Worker
123*38e8c45fSAndroid Build Coastguard Worker    srcs: [
124*38e8c45fSAndroid Build Coastguard Worker        "DebugUtils.cpp",
125*38e8c45fSAndroid Build Coastguard Worker        "DeviceProductInfo.cpp",
126*38e8c45fSAndroid Build Coastguard Worker        "DisplayIdentification.cpp",
127*38e8c45fSAndroid Build Coastguard Worker        "DynamicDisplayInfo.cpp",
128*38e8c45fSAndroid Build Coastguard Worker        "Fence.cpp",
129*38e8c45fSAndroid Build Coastguard Worker        "FenceTime.cpp",
130*38e8c45fSAndroid Build Coastguard Worker        "FrameStats.cpp",
131*38e8c45fSAndroid Build Coastguard Worker        "Gralloc.cpp",
132*38e8c45fSAndroid Build Coastguard Worker        "Gralloc2.cpp",
133*38e8c45fSAndroid Build Coastguard Worker        "Gralloc3.cpp",
134*38e8c45fSAndroid Build Coastguard Worker        "Gralloc4.cpp",
135*38e8c45fSAndroid Build Coastguard Worker        "Gralloc5.cpp",
136*38e8c45fSAndroid Build Coastguard Worker        "GraphicBuffer.cpp",
137*38e8c45fSAndroid Build Coastguard Worker        "GraphicBufferAllocator.cpp",
138*38e8c45fSAndroid Build Coastguard Worker        "GraphicBufferMapper.cpp",
139*38e8c45fSAndroid Build Coastguard Worker        "PictureProfileHandle.cpp",
140*38e8c45fSAndroid Build Coastguard Worker        "PixelFormat.cpp",
141*38e8c45fSAndroid Build Coastguard Worker        "PublicFormat.cpp",
142*38e8c45fSAndroid Build Coastguard Worker        "StaticAsserts.cpp",
143*38e8c45fSAndroid Build Coastguard Worker    ],
144*38e8c45fSAndroid Build Coastguard Worker
145*38e8c45fSAndroid Build Coastguard Worker    include_dirs: [
146*38e8c45fSAndroid Build Coastguard Worker        "frameworks/native/include",
147*38e8c45fSAndroid Build Coastguard Worker    ],
148*38e8c45fSAndroid Build Coastguard Worker    export_include_dirs: [
149*38e8c45fSAndroid Build Coastguard Worker        "include",
150*38e8c45fSAndroid Build Coastguard Worker        "include_private",
151*38e8c45fSAndroid Build Coastguard Worker    ],
152*38e8c45fSAndroid Build Coastguard Worker
153*38e8c45fSAndroid Build Coastguard Worker    defaults: [
154*38e8c45fSAndroid Build Coastguard Worker        "android.hardware.graphics.allocator-ndk_shared",
155*38e8c45fSAndroid Build Coastguard Worker        "android.hardware.graphics.common-ndk_shared",
156*38e8c45fSAndroid Build Coastguard Worker        "libui-defaults",
157*38e8c45fSAndroid Build Coastguard Worker        // Uncomment the following line to enable VALIDATE_REGIONS traces
158*38e8c45fSAndroid Build Coastguard Worker        //defaults: ["libui-validate-regions-defaults"],
159*38e8c45fSAndroid Build Coastguard Worker    ],
160*38e8c45fSAndroid Build Coastguard Worker
161*38e8c45fSAndroid Build Coastguard Worker    shared_libs: [
162*38e8c45fSAndroid Build Coastguard Worker        "[email protected]",
163*38e8c45fSAndroid Build Coastguard Worker        "[email protected]",
164*38e8c45fSAndroid Build Coastguard Worker        "[email protected]",
165*38e8c45fSAndroid Build Coastguard Worker        "[email protected]",
166*38e8c45fSAndroid Build Coastguard Worker        "[email protected]",
167*38e8c45fSAndroid Build Coastguard Worker        "[email protected]",
168*38e8c45fSAndroid Build Coastguard Worker        "[email protected]",
169*38e8c45fSAndroid Build Coastguard Worker        "[email protected]",
170*38e8c45fSAndroid Build Coastguard Worker        "libbase",
171*38e8c45fSAndroid Build Coastguard Worker        "libbinder_ndk",
172*38e8c45fSAndroid Build Coastguard Worker        "libcutils",
173*38e8c45fSAndroid Build Coastguard Worker        "libgralloctypes",
174*38e8c45fSAndroid Build Coastguard Worker        "libhidlbase",
175*38e8c45fSAndroid Build Coastguard Worker        "libsync",
176*38e8c45fSAndroid Build Coastguard Worker        "libutils",
177*38e8c45fSAndroid Build Coastguard Worker        "liblog",
178*38e8c45fSAndroid Build Coastguard Worker        "libvndksupport",
179*38e8c45fSAndroid Build Coastguard Worker    ],
180*38e8c45fSAndroid Build Coastguard Worker
181*38e8c45fSAndroid Build Coastguard Worker    export_shared_lib_headers: [
182*38e8c45fSAndroid Build Coastguard Worker        "[email protected]",
183*38e8c45fSAndroid Build Coastguard Worker        "[email protected]",
184*38e8c45fSAndroid Build Coastguard Worker        "libgralloctypes",
185*38e8c45fSAndroid Build Coastguard Worker    ],
186*38e8c45fSAndroid Build Coastguard Worker
187*38e8c45fSAndroid Build Coastguard Worker    static_libs: [
188*38e8c45fSAndroid Build Coastguard Worker        "libaidlcommonsupport",
189*38e8c45fSAndroid Build Coastguard Worker        "libarect",
190*38e8c45fSAndroid Build Coastguard Worker        "libgrallocusage",
191*38e8c45fSAndroid Build Coastguard Worker        "libmath",
192*38e8c45fSAndroid Build Coastguard Worker    ],
193*38e8c45fSAndroid Build Coastguard Worker
194*38e8c45fSAndroid Build Coastguard Worker    whole_static_libs: [
195*38e8c45fSAndroid Build Coastguard Worker        "libui-types",
196*38e8c45fSAndroid Build Coastguard Worker    ],
197*38e8c45fSAndroid Build Coastguard Worker
198*38e8c45fSAndroid Build Coastguard Worker    // bufferhub is not used when building libgui for vendors
199*38e8c45fSAndroid Build Coastguard Worker    target: {
200*38e8c45fSAndroid Build Coastguard Worker        vendor: {
201*38e8c45fSAndroid Build Coastguard Worker            cflags: ["-DLIBUI_IN_VNDK"],
202*38e8c45fSAndroid Build Coastguard Worker            exclude_srcs: [
203*38e8c45fSAndroid Build Coastguard Worker            ],
204*38e8c45fSAndroid Build Coastguard Worker            exclude_header_libs: [
205*38e8c45fSAndroid Build Coastguard Worker            ],
206*38e8c45fSAndroid Build Coastguard Worker            exclude_shared_libs: [
207*38e8c45fSAndroid Build Coastguard Worker            ],
208*38e8c45fSAndroid Build Coastguard Worker        },
209*38e8c45fSAndroid Build Coastguard Worker    },
210*38e8c45fSAndroid Build Coastguard Worker
211*38e8c45fSAndroid Build Coastguard Worker    header_libs: [
212*38e8c45fSAndroid Build Coastguard Worker        "libbase_headers",
213*38e8c45fSAndroid Build Coastguard Worker        "libnativebase_headers",
214*38e8c45fSAndroid Build Coastguard Worker        "libnativewindow_headers",
215*38e8c45fSAndroid Build Coastguard Worker        "libhardware_headers",
216*38e8c45fSAndroid Build Coastguard Worker        "libui_headers",
217*38e8c45fSAndroid Build Coastguard Worker        "libimapper_stablec",
218*38e8c45fSAndroid Build Coastguard Worker        "libimapper_providerutils",
219*38e8c45fSAndroid Build Coastguard Worker    ],
220*38e8c45fSAndroid Build Coastguard Worker
221*38e8c45fSAndroid Build Coastguard Worker    export_static_lib_headers: [
222*38e8c45fSAndroid Build Coastguard Worker        "libarect",
223*38e8c45fSAndroid Build Coastguard Worker        "libmath",
224*38e8c45fSAndroid Build Coastguard Worker    ],
225*38e8c45fSAndroid Build Coastguard Worker
226*38e8c45fSAndroid Build Coastguard Worker    export_header_lib_headers: [
227*38e8c45fSAndroid Build Coastguard Worker        "libbase_headers",
228*38e8c45fSAndroid Build Coastguard Worker        "libnativebase_headers",
229*38e8c45fSAndroid Build Coastguard Worker        "libnativewindow_headers",
230*38e8c45fSAndroid Build Coastguard Worker        "libhardware_headers",
231*38e8c45fSAndroid Build Coastguard Worker        "libui_headers",
232*38e8c45fSAndroid Build Coastguard Worker    ],
233*38e8c45fSAndroid Build Coastguard Worker    min_sdk_version: "29",
234*38e8c45fSAndroid Build Coastguard Worker    // TODO(b/214400477) to remove use of GraphicBuffer
235*38e8c45fSAndroid Build Coastguard Worker    apex_available: [
236*38e8c45fSAndroid Build Coastguard Worker        "//apex_available:platform",
237*38e8c45fSAndroid Build Coastguard Worker        "com.android.media.swcodec",
238*38e8c45fSAndroid Build Coastguard Worker        "test_com.android.media.swcodec",
239*38e8c45fSAndroid Build Coastguard Worker    ],
240*38e8c45fSAndroid Build Coastguard Worker
241*38e8c45fSAndroid Build Coastguard Worker    afdo: true,
242*38e8c45fSAndroid Build Coastguard Worker}
243*38e8c45fSAndroid Build Coastguard Worker
244*38e8c45fSAndroid Build Coastguard Workercc_library_headers {
245*38e8c45fSAndroid Build Coastguard Worker    name: "libui_headers",
246*38e8c45fSAndroid Build Coastguard Worker    export_include_dirs: ["include"],
247*38e8c45fSAndroid Build Coastguard Worker    vendor_available: true,
248*38e8c45fSAndroid Build Coastguard Worker    target: {
249*38e8c45fSAndroid Build Coastguard Worker        vendor: {
250*38e8c45fSAndroid Build Coastguard Worker            cflags: ["-DLIBUI_IN_VNDK"],
251*38e8c45fSAndroid Build Coastguard Worker            override_export_include_dirs: ["include_vndk"],
252*38e8c45fSAndroid Build Coastguard Worker        },
253*38e8c45fSAndroid Build Coastguard Worker    },
254*38e8c45fSAndroid Build Coastguard Worker    header_libs: [
255*38e8c45fSAndroid Build Coastguard Worker        "libnativewindow_headers",
256*38e8c45fSAndroid Build Coastguard Worker        "libmath_headers",
257*38e8c45fSAndroid Build Coastguard Worker    ],
258*38e8c45fSAndroid Build Coastguard Worker    export_header_lib_headers: [
259*38e8c45fSAndroid Build Coastguard Worker        "libnativewindow_headers",
260*38e8c45fSAndroid Build Coastguard Worker        "libmath_headers",
261*38e8c45fSAndroid Build Coastguard Worker    ],
262*38e8c45fSAndroid Build Coastguard Worker    min_sdk_version: "29",
263*38e8c45fSAndroid Build Coastguard Worker    apex_available: [
264*38e8c45fSAndroid Build Coastguard Worker        "//apex_available:platform",
265*38e8c45fSAndroid Build Coastguard Worker        "com.android.media.swcodec",
266*38e8c45fSAndroid Build Coastguard Worker        "test_com.android.media.swcodec",
267*38e8c45fSAndroid Build Coastguard Worker    ],
268*38e8c45fSAndroid Build Coastguard Worker}
269*38e8c45fSAndroid Build Coastguard Worker
270*38e8c45fSAndroid Build Coastguard Worker// defaults to enable VALIDATE_REGIONS traces
271*38e8c45fSAndroid Build Coastguard Workercc_defaults {
272*38e8c45fSAndroid Build Coastguard Worker    name: "libui-validate-regions-defaults",
273*38e8c45fSAndroid Build Coastguard Worker    shared_libs: ["libutilscallstack"],
274*38e8c45fSAndroid Build Coastguard Worker    cflags: ["-DVALIDATE_REGIONS"],
275*38e8c45fSAndroid Build Coastguard Worker}
276*38e8c45fSAndroid Build Coastguard Worker
277*38e8c45fSAndroid Build Coastguard Workersubdirs = [
278*38e8c45fSAndroid Build Coastguard Worker    "tests",
279*38e8c45fSAndroid Build Coastguard Worker    "tools",
280*38e8c45fSAndroid Build Coastguard Worker]
281