xref: /aosp_15_r20/frameworks/native/libs/nativewindow/Android.bp (revision 38e8c45f13ce32b0dcecb25141ffecaf386fa17f)
1*38e8c45fSAndroid Build Coastguard Worker// Copyright (C) 2017 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: [
17*38e8c45fSAndroid Build Coastguard Worker        "frameworks_native_libs_nativewindow_license",
18*38e8c45fSAndroid Build Coastguard Worker    ],
19*38e8c45fSAndroid Build Coastguard Worker    default_team: "trendy_team_android_core_graphics_stack",
20*38e8c45fSAndroid Build Coastguard Worker}
21*38e8c45fSAndroid Build Coastguard Worker
22*38e8c45fSAndroid Build Coastguard Worker// Added automatically by a large-scale-change
23*38e8c45fSAndroid Build Coastguard Worker// See: http://go/android-license-faq
24*38e8c45fSAndroid Build Coastguard Workerlicense {
25*38e8c45fSAndroid Build Coastguard Worker    name: "frameworks_native_libs_nativewindow_license",
26*38e8c45fSAndroid Build Coastguard Worker    visibility: [":__subpackages__"],
27*38e8c45fSAndroid Build Coastguard Worker    license_kinds: [
28*38e8c45fSAndroid Build Coastguard Worker        "SPDX-license-identifier-Apache-2.0",
29*38e8c45fSAndroid Build Coastguard Worker    ],
30*38e8c45fSAndroid Build Coastguard Worker    license_text: [
31*38e8c45fSAndroid Build Coastguard Worker        "NOTICE",
32*38e8c45fSAndroid Build Coastguard Worker    ],
33*38e8c45fSAndroid Build Coastguard Worker}
34*38e8c45fSAndroid Build Coastguard Worker
35*38e8c45fSAndroid Build Coastguard Workerndk_headers {
36*38e8c45fSAndroid Build Coastguard Worker    name: "libnativewindow_ndk_headers",
37*38e8c45fSAndroid Build Coastguard Worker    from: "include/android",
38*38e8c45fSAndroid Build Coastguard Worker    to: "android",
39*38e8c45fSAndroid Build Coastguard Worker    srcs: ["include/android/*.h"],
40*38e8c45fSAndroid Build Coastguard Worker    license: "NOTICE",
41*38e8c45fSAndroid Build Coastguard Worker}
42*38e8c45fSAndroid Build Coastguard Worker
43*38e8c45fSAndroid Build Coastguard Worker// TODO(b/118715870): cleanup header files
44*38e8c45fSAndroid Build Coastguard Workercc_library_headers {
45*38e8c45fSAndroid Build Coastguard Worker    name: "libnativewindow_headers",
46*38e8c45fSAndroid Build Coastguard Worker    export_include_dirs: ["include"],
47*38e8c45fSAndroid Build Coastguard Worker    vendor_available: true,
48*38e8c45fSAndroid Build Coastguard Worker    // TODO(b/153609531): remove when no longer needed.
49*38e8c45fSAndroid Build Coastguard Worker    native_bridge_supported: true,
50*38e8c45fSAndroid Build Coastguard Worker    min_sdk_version: "29",
51*38e8c45fSAndroid Build Coastguard Worker    apex_available: [
52*38e8c45fSAndroid Build Coastguard Worker        "//apex_available:platform",
53*38e8c45fSAndroid Build Coastguard Worker        "com.android.media.swcodec",
54*38e8c45fSAndroid Build Coastguard Worker        "test_com.android.media.swcodec",
55*38e8c45fSAndroid Build Coastguard Worker    ],
56*38e8c45fSAndroid Build Coastguard Worker    host_supported: true,
57*38e8c45fSAndroid Build Coastguard Worker    target: {
58*38e8c45fSAndroid Build Coastguard Worker        windows: {
59*38e8c45fSAndroid Build Coastguard Worker            enabled: true,
60*38e8c45fSAndroid Build Coastguard Worker        },
61*38e8c45fSAndroid Build Coastguard Worker    },
62*38e8c45fSAndroid Build Coastguard Worker}
63*38e8c45fSAndroid Build Coastguard Worker
64*38e8c45fSAndroid Build Coastguard Workerndk_library {
65*38e8c45fSAndroid Build Coastguard Worker    name: "libnativewindow",
66*38e8c45fSAndroid Build Coastguard Worker    symbol_file: "libnativewindow.map.txt",
67*38e8c45fSAndroid Build Coastguard Worker
68*38e8c45fSAndroid Build Coastguard Worker    // Android O
69*38e8c45fSAndroid Build Coastguard Worker    first_version: "26",
70*38e8c45fSAndroid Build Coastguard Worker}
71*38e8c45fSAndroid Build Coastguard Worker
72*38e8c45fSAndroid Build Coastguard Workercc_library {
73*38e8c45fSAndroid Build Coastguard Worker    name: "libnativewindow",
74*38e8c45fSAndroid Build Coastguard Worker    llndk: {
75*38e8c45fSAndroid Build Coastguard Worker        symbol_file: "libnativewindow.map.txt",
76*38e8c45fSAndroid Build Coastguard Worker        unversioned: true,
77*38e8c45fSAndroid Build Coastguard Worker        override_export_include_dirs: [
78*38e8c45fSAndroid Build Coastguard Worker            "include",
79*38e8c45fSAndroid Build Coastguard Worker        ],
80*38e8c45fSAndroid Build Coastguard Worker        export_llndk_headers: [
81*38e8c45fSAndroid Build Coastguard Worker            "libarect_headers",
82*38e8c45fSAndroid Build Coastguard Worker        ],
83*38e8c45fSAndroid Build Coastguard Worker    },
84*38e8c45fSAndroid Build Coastguard Worker    export_include_dirs: [
85*38e8c45fSAndroid Build Coastguard Worker        "include",
86*38e8c45fSAndroid Build Coastguard Worker        "include-private",
87*38e8c45fSAndroid Build Coastguard Worker    ],
88*38e8c45fSAndroid Build Coastguard Worker
89*38e8c45fSAndroid Build Coastguard Worker    cflags: [
90*38e8c45fSAndroid Build Coastguard Worker        "-Wall",
91*38e8c45fSAndroid Build Coastguard Worker        "-Werror",
92*38e8c45fSAndroid Build Coastguard Worker        "-Wno-enum-compare",
93*38e8c45fSAndroid Build Coastguard Worker        "-Wno-unused-function",
94*38e8c45fSAndroid Build Coastguard Worker    ],
95*38e8c45fSAndroid Build Coastguard Worker
96*38e8c45fSAndroid Build Coastguard Worker    version_script: "libnativewindow.map.txt",
97*38e8c45fSAndroid Build Coastguard Worker
98*38e8c45fSAndroid Build Coastguard Worker    srcs: [
99*38e8c45fSAndroid Build Coastguard Worker        "AHardwareBuffer.cpp",
100*38e8c45fSAndroid Build Coastguard Worker        "ANativeWindow.cpp",
101*38e8c45fSAndroid Build Coastguard Worker    ],
102*38e8c45fSAndroid Build Coastguard Worker
103*38e8c45fSAndroid Build Coastguard Worker    shared_libs: [
104*38e8c45fSAndroid Build Coastguard Worker        "libcutils",
105*38e8c45fSAndroid Build Coastguard Worker        "liblog",
106*38e8c45fSAndroid Build Coastguard Worker        "libutils",
107*38e8c45fSAndroid Build Coastguard Worker        "libui",
108*38e8c45fSAndroid Build Coastguard Worker        "libbinder",
109*38e8c45fSAndroid Build Coastguard Worker        "libbinder_ndk",
110*38e8c45fSAndroid Build Coastguard Worker        "[email protected]",
111*38e8c45fSAndroid Build Coastguard Worker    ],
112*38e8c45fSAndroid Build Coastguard Worker
113*38e8c45fSAndroid Build Coastguard Worker    static_libs: [
114*38e8c45fSAndroid Build Coastguard Worker        "libarect",
115*38e8c45fSAndroid Build Coastguard Worker        "libgrallocusage",
116*38e8c45fSAndroid Build Coastguard Worker        "libgui_aidl_static",
117*38e8c45fSAndroid Build Coastguard Worker    ],
118*38e8c45fSAndroid Build Coastguard Worker
119*38e8c45fSAndroid Build Coastguard Worker    header_libs: [
120*38e8c45fSAndroid Build Coastguard Worker        "libgui_headers",
121*38e8c45fSAndroid Build Coastguard Worker        "libarect_headers",
122*38e8c45fSAndroid Build Coastguard Worker        "libnativebase_headers",
123*38e8c45fSAndroid Build Coastguard Worker        "libnativewindow_headers",
124*38e8c45fSAndroid Build Coastguard Worker    ],
125*38e8c45fSAndroid Build Coastguard Worker
126*38e8c45fSAndroid Build Coastguard Worker    // headers we include in our public headers
127*38e8c45fSAndroid Build Coastguard Worker    export_header_lib_headers: [
128*38e8c45fSAndroid Build Coastguard Worker        "libarect_headers",
129*38e8c45fSAndroid Build Coastguard Worker        "libnativebase_headers",
130*38e8c45fSAndroid Build Coastguard Worker    ],
131*38e8c45fSAndroid Build Coastguard Worker
132*38e8c45fSAndroid Build Coastguard Worker    stubs: {
133*38e8c45fSAndroid Build Coastguard Worker        symbol_file: "libnativewindow.map.txt",
134*38e8c45fSAndroid Build Coastguard Worker        versions: ["29"],
135*38e8c45fSAndroid Build Coastguard Worker    },
136*38e8c45fSAndroid Build Coastguard Worker}
137*38e8c45fSAndroid Build Coastguard Worker
138*38e8c45fSAndroid Build Coastguard Workersubdirs = ["tests"]
139