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