Files
frameworks_base/native/android/Android.bp
Bart Van Assche b66923ab2d Switch to C++20
Prepare for using std::array<> and std::span<> in headers included from
this library. Remove the AFont constructors to prevent that the build
fails as follows:

frameworks/base/native/android/system_fonts.cpp:265:35: error: no matching member function for call to 'insert'
                            fonts.insert(
                            ~~~~~~^~~~~~

Removing these constructors is necessary because of the following rule:
"An aggregate is one of the following types [...] class type (struct or
union) that has [...] no user-declared or inherited constructors (since
C++20)". Source:
https://en.cppreference.com/w/cpp/language/aggregate_initialization.

Bug:  260725458
Change-Id: I384d05f5d3e471f8f58294119d04eb8ab16697ba
Signed-off-by: Bart Van Assche <bvanassche@google.com>
2022-11-29 09:42:48 -08:00

178 lines
4.2 KiB
Plaintext

// Copyright (C) 2016 The Android Open Source Project
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
// The headers module is in frameworks/native/Android.bp.
package {
// See: http://go/android-license-faq
// A large-scale-change added 'default_applicable_licenses' to import
// all of the 'license_kinds' from "frameworks_base_license"
// to get the below license kinds:
// SPDX-license-identifier-Apache-2.0
default_applicable_licenses: ["frameworks_base_license"],
}
ndk_library {
name: "libandroid",
symbol_file: "libandroid.map.txt",
first_version: "9",
unversioned_until: "current",
export_header_libs: [
"libandroid_headers",
],
}
cc_defaults {
name: "libandroid_defaults",
cpp_std: "gnu++20",
cflags: [
"-Wall",
"-Werror",
"-Wextra",
"-Wunused",
"-Wunreachable-code",
],
}
cc_library_shared {
name: "libandroid",
defaults: ["libandroid_defaults"],
srcs: [
"activity_manager.cpp",
"asset_manager.cpp",
"choreographer.cpp",
"configuration.cpp",
"hardware_buffer_jni.cpp",
"input.cpp",
"looper.cpp",
"native_activity.cpp",
"native_window_jni.cpp",
"net.c",
"obb.cpp",
"permission_manager.cpp",
"performance_hint.cpp",
"sensor.cpp",
"sharedmem.cpp",
"storage_manager.cpp",
"surface_control.cpp",
"surface_texture.cpp",
"system_fonts.cpp",
"trace.cpp",
"thermal.cpp",
],
shared_libs: [
"liblog",
"libhidlbase",
"libcutils",
"libandroidfw",
"libinput",
"libutils",
"libbinder",
"libui",
"libgui",
"libharfbuzz_ng", // Only for including hb.h via minikin
"libsensor",
"libactivitymanager_aidl",
"libandroid_runtime",
"libminikin",
"libnetd_client",
"libhwui",
"libxml2",
"libEGL",
"libGLESv2",
"libpowermanager",
"android.hardware.configstore@1.0",
"android.hardware.configstore-utils",
"libnativedisplay",
],
static_libs: [
"libstorage",
"libarect",
],
header_libs: [
"libhwui_internal_headers",
"libandroid_headers_private",
],
whole_static_libs: ["libnativewindow"],
export_static_lib_headers: ["libarect"],
include_dirs: ["bionic/libc/dns/include"],
local_include_dirs: ["include_platform"],
export_include_dirs: ["include_platform"],
version_script: "libandroid.map.txt",
stubs: {
symbol_file: "libandroid.map.txt",
versions: [
"29",
"31",
],
},
}
// Network library.
cc_library_shared {
name: "libandroid_net",
defaults: ["libandroid_defaults"],
llndk: {
symbol_file: "libandroid_net.map.txt",
unversioned: true,
override_export_include_dirs: ["include"],
},
srcs: ["net.c"],
shared_libs: ["libnetd_client"],
include_dirs: ["bionic/libc/dns/include"],
}
// Aidl library for platform compat.
cc_library_shared {
name: "lib-platform-compat-native-api",
cflags: [
"-Wall",
"-Werror",
"-Wno-missing-field-initializers",
"-Wno-unused-variable",
"-Wunused-parameter",
],
shared_libs: [
"libbinder",
"libutils",
],
aidl: {
local_include_dirs: ["aidl"],
export_aidl_headers: true,
},
srcs: [
":platform-compat-native-aidl",
],
export_include_dirs: ["aidl"],
}
filegroup {
name: "platform-compat-native-aidl",
srcs: [
"aidl/com/android/internal/compat/IPlatformCompatNative.aidl",
],
path: "aidl",
}