xref: /aosp_15_r20/frameworks/base/native/android/Android.bp (revision d57664e9bc4670b3ecf6748a746a57c557b6bc9e)
1*d57664e9SAndroid Build Coastguard Worker// Copyright (C) 2016 The Android Open Source Project
2*d57664e9SAndroid Build Coastguard Worker//
3*d57664e9SAndroid Build Coastguard Worker// Licensed under the Apache License, Version 2.0 (the "License");
4*d57664e9SAndroid Build Coastguard Worker// you may not use this file except in compliance with the License.
5*d57664e9SAndroid Build Coastguard Worker// You may obtain a copy of the License at
6*d57664e9SAndroid Build Coastguard Worker//
7*d57664e9SAndroid Build Coastguard Worker//      http://www.apache.org/licenses/LICENSE-2.0
8*d57664e9SAndroid Build Coastguard Worker//
9*d57664e9SAndroid Build Coastguard Worker// Unless required by applicable law or agreed to in writing, software
10*d57664e9SAndroid Build Coastguard Worker// distributed under the License is distributed on an "AS IS" BASIS,
11*d57664e9SAndroid Build Coastguard Worker// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12*d57664e9SAndroid Build Coastguard Worker// See the License for the specific language governing permissions and
13*d57664e9SAndroid Build Coastguard Worker// limitations under the License.
14*d57664e9SAndroid Build Coastguard Worker
15*d57664e9SAndroid Build Coastguard Worker// The headers module is in frameworks/native/Android.bp.
16*d57664e9SAndroid Build Coastguard Workerpackage {
17*d57664e9SAndroid Build Coastguard Worker    // See: http://go/android-license-faq
18*d57664e9SAndroid Build Coastguard Worker    // A large-scale-change added 'default_applicable_licenses' to import
19*d57664e9SAndroid Build Coastguard Worker    // all of the 'license_kinds' from "frameworks_base_license"
20*d57664e9SAndroid Build Coastguard Worker    // to get the below license kinds:
21*d57664e9SAndroid Build Coastguard Worker    //   SPDX-license-identifier-Apache-2.0
22*d57664e9SAndroid Build Coastguard Worker    default_applicable_licenses: ["frameworks_base_license"],
23*d57664e9SAndroid Build Coastguard Worker}
24*d57664e9SAndroid Build Coastguard Worker
25*d57664e9SAndroid Build Coastguard Workerndk_library {
26*d57664e9SAndroid Build Coastguard Worker    name: "libandroid",
27*d57664e9SAndroid Build Coastguard Worker    symbol_file: "libandroid.map.txt",
28*d57664e9SAndroid Build Coastguard Worker    first_version: "9",
29*d57664e9SAndroid Build Coastguard Worker    unversioned_until: "current",
30*d57664e9SAndroid Build Coastguard Worker}
31*d57664e9SAndroid Build Coastguard Worker
32*d57664e9SAndroid Build Coastguard Workercc_defaults {
33*d57664e9SAndroid Build Coastguard Worker    name: "libandroid_defaults",
34*d57664e9SAndroid Build Coastguard Worker    cpp_std: "gnu++20",
35*d57664e9SAndroid Build Coastguard Worker    cflags: [
36*d57664e9SAndroid Build Coastguard Worker        "-Wall",
37*d57664e9SAndroid Build Coastguard Worker        "-Werror",
38*d57664e9SAndroid Build Coastguard Worker        "-Wextra",
39*d57664e9SAndroid Build Coastguard Worker        "-Wunused",
40*d57664e9SAndroid Build Coastguard Worker        "-Wunreachable-code",
41*d57664e9SAndroid Build Coastguard Worker        "-Wthread-safety",
42*d57664e9SAndroid Build Coastguard Worker    ],
43*d57664e9SAndroid Build Coastguard Worker}
44*d57664e9SAndroid Build Coastguard Worker
45*d57664e9SAndroid Build Coastguard Workercc_library_shared {
46*d57664e9SAndroid Build Coastguard Worker    name: "libandroid",
47*d57664e9SAndroid Build Coastguard Worker    defaults: [
48*d57664e9SAndroid Build Coastguard Worker        "libandroid_defaults",
49*d57664e9SAndroid Build Coastguard Worker        "android.hardware.power-ndk_shared",
50*d57664e9SAndroid Build Coastguard Worker    ],
51*d57664e9SAndroid Build Coastguard Worker
52*d57664e9SAndroid Build Coastguard Worker    srcs: [
53*d57664e9SAndroid Build Coastguard Worker        "activity_manager.cpp",
54*d57664e9SAndroid Build Coastguard Worker        "asset_manager.cpp",
55*d57664e9SAndroid Build Coastguard Worker        "surface_control_input_receiver.cpp",
56*d57664e9SAndroid Build Coastguard Worker        "choreographer.cpp",
57*d57664e9SAndroid Build Coastguard Worker        "configuration.cpp",
58*d57664e9SAndroid Build Coastguard Worker        "display_luts.cpp",
59*d57664e9SAndroid Build Coastguard Worker        "dynamic_instrumentation_manager.cpp",
60*d57664e9SAndroid Build Coastguard Worker        "hardware_buffer_jni.cpp",
61*d57664e9SAndroid Build Coastguard Worker        "input.cpp",
62*d57664e9SAndroid Build Coastguard Worker        "input_transfer_token.cpp",
63*d57664e9SAndroid Build Coastguard Worker        "looper.cpp",
64*d57664e9SAndroid Build Coastguard Worker        "native_activity.cpp",
65*d57664e9SAndroid Build Coastguard Worker        "native_window_jni.cpp",
66*d57664e9SAndroid Build Coastguard Worker        "net.c",
67*d57664e9SAndroid Build Coastguard Worker        "obb.cpp",
68*d57664e9SAndroid Build Coastguard Worker        "permission_manager.cpp",
69*d57664e9SAndroid Build Coastguard Worker        "performance_hint.cpp",
70*d57664e9SAndroid Build Coastguard Worker        "sensor.cpp",
71*d57664e9SAndroid Build Coastguard Worker        "sharedmem.cpp",
72*d57664e9SAndroid Build Coastguard Worker        "storage_manager.cpp",
73*d57664e9SAndroid Build Coastguard Worker        "surface_control.cpp",
74*d57664e9SAndroid Build Coastguard Worker        "surface_texture.cpp",
75*d57664e9SAndroid Build Coastguard Worker        "system_fonts.cpp",
76*d57664e9SAndroid Build Coastguard Worker        "system_health.cpp",
77*d57664e9SAndroid Build Coastguard Worker        "trace.cpp",
78*d57664e9SAndroid Build Coastguard Worker        "thermal.cpp",
79*d57664e9SAndroid Build Coastguard Worker    ],
80*d57664e9SAndroid Build Coastguard Worker
81*d57664e9SAndroid Build Coastguard Worker    shared_libs: [
82*d57664e9SAndroid Build Coastguard Worker        "liblog",
83*d57664e9SAndroid Build Coastguard Worker        "libhidlbase",
84*d57664e9SAndroid Build Coastguard Worker        "libcutils",
85*d57664e9SAndroid Build Coastguard Worker        "libandroidfw",
86*d57664e9SAndroid Build Coastguard Worker        "libinput",
87*d57664e9SAndroid Build Coastguard Worker        "libutils",
88*d57664e9SAndroid Build Coastguard Worker        "libbinder",
89*d57664e9SAndroid Build Coastguard Worker        "libbinder_ndk",
90*d57664e9SAndroid Build Coastguard Worker        "libui",
91*d57664e9SAndroid Build Coastguard Worker        "libgui",
92*d57664e9SAndroid Build Coastguard Worker        "libharfbuzz_ng", // Only for including hb.h via minikin
93*d57664e9SAndroid Build Coastguard Worker        "libsensor",
94*d57664e9SAndroid Build Coastguard Worker        "libactivitymanager_aidl",
95*d57664e9SAndroid Build Coastguard Worker        "libandroid_runtime",
96*d57664e9SAndroid Build Coastguard Worker        "libminikin",
97*d57664e9SAndroid Build Coastguard Worker        "libnetd_client",
98*d57664e9SAndroid Build Coastguard Worker        "libhwui",
99*d57664e9SAndroid Build Coastguard Worker        "libxml2",
100*d57664e9SAndroid Build Coastguard Worker        "libEGL",
101*d57664e9SAndroid Build Coastguard Worker        "libGLESv2",
102*d57664e9SAndroid Build Coastguard Worker        "libpowermanager",
103*d57664e9SAndroid Build Coastguard Worker        "[email protected]",
104*d57664e9SAndroid Build Coastguard Worker        "android.hardware.configstore-utils",
105*d57664e9SAndroid Build Coastguard Worker        "android.os.flags-aconfig-cc",
106*d57664e9SAndroid Build Coastguard Worker        "dynamic_instrumentation_manager_aidl-cpp",
107*d57664e9SAndroid Build Coastguard Worker        "libnativedisplay",
108*d57664e9SAndroid Build Coastguard Worker        "libfmq",
109*d57664e9SAndroid Build Coastguard Worker    ],
110*d57664e9SAndroid Build Coastguard Worker
111*d57664e9SAndroid Build Coastguard Worker    static_libs: [
112*d57664e9SAndroid Build Coastguard Worker        "libstorage",
113*d57664e9SAndroid Build Coastguard Worker        "libarect",
114*d57664e9SAndroid Build Coastguard Worker    ],
115*d57664e9SAndroid Build Coastguard Worker
116*d57664e9SAndroid Build Coastguard Worker    header_libs: [
117*d57664e9SAndroid Build Coastguard Worker        "libhwui_internal_headers",
118*d57664e9SAndroid Build Coastguard Worker        "libandroid_headers_private",
119*d57664e9SAndroid Build Coastguard Worker    ],
120*d57664e9SAndroid Build Coastguard Worker
121*d57664e9SAndroid Build Coastguard Worker    whole_static_libs: ["libnativewindow"],
122*d57664e9SAndroid Build Coastguard Worker
123*d57664e9SAndroid Build Coastguard Worker    export_static_lib_headers: ["libarect"],
124*d57664e9SAndroid Build Coastguard Worker
125*d57664e9SAndroid Build Coastguard Worker    include_dirs: ["bionic/libc/dns/include"],
126*d57664e9SAndroid Build Coastguard Worker
127*d57664e9SAndroid Build Coastguard Worker    local_include_dirs: ["include_platform"],
128*d57664e9SAndroid Build Coastguard Worker
129*d57664e9SAndroid Build Coastguard Worker    export_include_dirs: ["include_platform"],
130*d57664e9SAndroid Build Coastguard Worker
131*d57664e9SAndroid Build Coastguard Worker    version_script: "libandroid.map.txt",
132*d57664e9SAndroid Build Coastguard Worker    stubs: {
133*d57664e9SAndroid Build Coastguard Worker        symbol_file: "libandroid.map.txt",
134*d57664e9SAndroid Build Coastguard Worker        versions: [
135*d57664e9SAndroid Build Coastguard Worker            "29",
136*d57664e9SAndroid Build Coastguard Worker            "31",
137*d57664e9SAndroid Build Coastguard Worker        ],
138*d57664e9SAndroid Build Coastguard Worker    },
139*d57664e9SAndroid Build Coastguard Worker}
140*d57664e9SAndroid Build Coastguard Worker
141*d57664e9SAndroid Build Coastguard Worker// Network library.
142*d57664e9SAndroid Build Coastguard Workercc_library_shared {
143*d57664e9SAndroid Build Coastguard Worker    name: "libandroid_net",
144*d57664e9SAndroid Build Coastguard Worker    defaults: ["libandroid_defaults"],
145*d57664e9SAndroid Build Coastguard Worker    llndk: {
146*d57664e9SAndroid Build Coastguard Worker        symbol_file: "libandroid_net.map.txt",
147*d57664e9SAndroid Build Coastguard Worker        unversioned: true,
148*d57664e9SAndroid Build Coastguard Worker        override_export_include_dirs: ["include"],
149*d57664e9SAndroid Build Coastguard Worker    },
150*d57664e9SAndroid Build Coastguard Worker    srcs: ["net.c"],
151*d57664e9SAndroid Build Coastguard Worker
152*d57664e9SAndroid Build Coastguard Worker    shared_libs: ["libnetd_client"],
153*d57664e9SAndroid Build Coastguard Worker
154*d57664e9SAndroid Build Coastguard Worker    include_dirs: ["bionic/libc/dns/include"],
155*d57664e9SAndroid Build Coastguard Worker}
156*d57664e9SAndroid Build Coastguard Worker
157*d57664e9SAndroid Build Coastguard Worker// Aidl library for platform compat.
158*d57664e9SAndroid Build Coastguard Workercc_library_shared {
159*d57664e9SAndroid Build Coastguard Worker    name: "lib-platform-compat-native-api",
160*d57664e9SAndroid Build Coastguard Worker    cflags: [
161*d57664e9SAndroid Build Coastguard Worker        "-Wall",
162*d57664e9SAndroid Build Coastguard Worker        "-Werror",
163*d57664e9SAndroid Build Coastguard Worker        "-Wno-missing-field-initializers",
164*d57664e9SAndroid Build Coastguard Worker        "-Wno-unused-variable",
165*d57664e9SAndroid Build Coastguard Worker        "-Wunused-parameter",
166*d57664e9SAndroid Build Coastguard Worker    ],
167*d57664e9SAndroid Build Coastguard Worker    shared_libs: [
168*d57664e9SAndroid Build Coastguard Worker        "libbinder",
169*d57664e9SAndroid Build Coastguard Worker        "libutils",
170*d57664e9SAndroid Build Coastguard Worker    ],
171*d57664e9SAndroid Build Coastguard Worker    aidl: {
172*d57664e9SAndroid Build Coastguard Worker        local_include_dirs: ["aidl"],
173*d57664e9SAndroid Build Coastguard Worker        export_aidl_headers: true,
174*d57664e9SAndroid Build Coastguard Worker    },
175*d57664e9SAndroid Build Coastguard Worker    srcs: [
176*d57664e9SAndroid Build Coastguard Worker        ":platform-compat-native-aidl",
177*d57664e9SAndroid Build Coastguard Worker    ],
178*d57664e9SAndroid Build Coastguard Worker    export_include_dirs: ["aidl"],
179*d57664e9SAndroid Build Coastguard Worker}
180*d57664e9SAndroid Build Coastguard Worker
181*d57664e9SAndroid Build Coastguard Workerfilegroup {
182*d57664e9SAndroid Build Coastguard Worker    name: "platform-compat-native-aidl",
183*d57664e9SAndroid Build Coastguard Worker    srcs: [
184*d57664e9SAndroid Build Coastguard Worker        "aidl/com/android/internal/compat/IPlatformCompatNative.aidl",
185*d57664e9SAndroid Build Coastguard Worker    ],
186*d57664e9SAndroid Build Coastguard Worker    path: "aidl",
187*d57664e9SAndroid Build Coastguard Worker}
188