xref: /aosp_15_r20/frameworks/native/libs/nativewindow/Android.bp (revision 38e8c45f13ce32b0dcecb25141ffecaf386fa17f)
1// Copyright (C) 2017 The Android Open Source Project
2//
3// Licensed under the Apache License, Version 2.0 (the "License");
4// you may not use this file except in compliance with the License.
5// You may obtain a copy of the License at
6//
7//      http://www.apache.org/licenses/LICENSE-2.0
8//
9// Unless required by applicable law or agreed to in writing, software
10// distributed under the License is distributed on an "AS IS" BASIS,
11// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12// See the License for the specific language governing permissions and
13// limitations under the License.
14
15package {
16    default_applicable_licenses: [
17        "frameworks_native_libs_nativewindow_license",
18    ],
19    default_team: "trendy_team_android_core_graphics_stack",
20}
21
22// Added automatically by a large-scale-change
23// See: http://go/android-license-faq
24license {
25    name: "frameworks_native_libs_nativewindow_license",
26    visibility: [":__subpackages__"],
27    license_kinds: [
28        "SPDX-license-identifier-Apache-2.0",
29    ],
30    license_text: [
31        "NOTICE",
32    ],
33}
34
35ndk_headers {
36    name: "libnativewindow_ndk_headers",
37    from: "include/android",
38    to: "android",
39    srcs: ["include/android/*.h"],
40    license: "NOTICE",
41}
42
43// TODO(b/118715870): cleanup header files
44cc_library_headers {
45    name: "libnativewindow_headers",
46    export_include_dirs: ["include"],
47    vendor_available: true,
48    // TODO(b/153609531): remove when no longer needed.
49    native_bridge_supported: true,
50    min_sdk_version: "29",
51    apex_available: [
52        "//apex_available:platform",
53        "com.android.media.swcodec",
54        "test_com.android.media.swcodec",
55    ],
56    host_supported: true,
57    target: {
58        windows: {
59            enabled: true,
60        },
61    },
62}
63
64ndk_library {
65    name: "libnativewindow",
66    symbol_file: "libnativewindow.map.txt",
67
68    // Android O
69    first_version: "26",
70}
71
72cc_library {
73    name: "libnativewindow",
74    llndk: {
75        symbol_file: "libnativewindow.map.txt",
76        unversioned: true,
77        override_export_include_dirs: [
78            "include",
79        ],
80        export_llndk_headers: [
81            "libarect_headers",
82        ],
83    },
84    export_include_dirs: [
85        "include",
86        "include-private",
87    ],
88
89    cflags: [
90        "-Wall",
91        "-Werror",
92        "-Wno-enum-compare",
93        "-Wno-unused-function",
94    ],
95
96    version_script: "libnativewindow.map.txt",
97
98    srcs: [
99        "AHardwareBuffer.cpp",
100        "ANativeWindow.cpp",
101    ],
102
103    shared_libs: [
104        "libcutils",
105        "liblog",
106        "libutils",
107        "libui",
108        "libbinder",
109        "libbinder_ndk",
110        "[email protected]",
111    ],
112
113    static_libs: [
114        "libarect",
115        "libgrallocusage",
116        "libgui_aidl_static",
117    ],
118
119    header_libs: [
120        "libgui_headers",
121        "libarect_headers",
122        "libnativebase_headers",
123        "libnativewindow_headers",
124    ],
125
126    // headers we include in our public headers
127    export_header_lib_headers: [
128        "libarect_headers",
129        "libnativebase_headers",
130    ],
131
132    stubs: {
133        symbol_file: "libnativewindow.map.txt",
134        versions: ["29"],
135    },
136}
137
138subdirs = ["tests"]
139