platform_system_core/libcutils/Android.bp
Kiyoung Kim ad8cf52c4c Remove VNDK definition(s)
As of VNDK deprecation, any libraries that defines vndk is no longer
valid anymore. This change removes all VNDK definition(s) from modules
which was VNDK. Any former VNDK-SP libraries will be marked as double-loadable,
so it can keep be able to be referenced by LLNDK libraries.

Bug: 328994089
Test: AOSP CF build succeeded
Change-Id: I1662f16e5e446bb28167b0bb278cd63997267d2a
2024-03-15 08:19:44 +00:00

332 lines
7.6 KiB
Text

package {
default_applicable_licenses: ["system_core_libcutils_license"],
}
license {
name: "system_core_libcutils_license",
visibility: [":__subpackages__"],
license_kinds: [
"SPDX-license-identifier-Apache-2.0",
"SPDX-license-identifier-BSD",
"SPDX-license-identifier-MIT", // strlcpy.c
],
license_text: [
"NOTICE",
],
}
filegroup {
name: "android_filesystem_config_header",
srcs: ["include/private/android_filesystem_config.h"],
}
cc_defaults {
name: "libcutils_defaults",
cflags: [
"-Wno-exit-time-destructors",
],
product_available: true,
ramdisk_available: true,
recovery_available: true,
vendor_available: true,
vendor_ramdisk_available: true,
host_supported: true,
native_bridge_supported: true,
apex_available: [
"//apex_available:platform",
"//apex_available:anyapex",
],
min_sdk_version: "29",
}
cc_library_headers {
name: "libcutils_headers",
defaults: ["libcutils_defaults"],
export_include_dirs: ["include"],
target: {
vendor: {
override_export_include_dirs: ["include_outside_system"],
},
product: {
override_export_include_dirs: ["include_outside_system"],
},
linux_bionic: {
enabled: true,
},
windows: {
enabled: true,
},
},
}
// Socket specific parts of libcutils that are safe to statically link into an APEX.
cc_library {
name: "libcutils_sockets",
defaults: ["libcutils_defaults"],
export_include_dirs: ["include"],
shared_libs: ["liblog"],
srcs: ["sockets.cpp"],
target: {
linux_bionic: {
enabled: true,
},
not_windows: {
srcs: [
"socket_inaddr_any_server_unix.cpp",
"socket_local_client_unix.cpp",
"socket_local_server_unix.cpp",
"socket_network_client_unix.cpp",
"sockets_unix.cpp",
],
},
// "not_windows" means "non-Windows host".
android: {
srcs: [
"android_get_control_file.cpp",
"socket_inaddr_any_server_unix.cpp",
"socket_local_client_unix.cpp",
"socket_local_server_unix.cpp",
"socket_network_client_unix.cpp",
"sockets_unix.cpp",
],
static_libs: ["libbase"],
},
windows: {
host_ldlibs: ["-lws2_32"],
srcs: [
"socket_inaddr_any_server_windows.cpp",
"socket_network_client_windows.cpp",
"sockets_windows.cpp",
],
enabled: true,
cflags: [
"-D_GNU_SOURCE",
],
},
},
}
// some files must not be compiled when building against Mingw
// they correspond to features not used by our host development tools
// which are also hard or even impossible to port to native Win32
libcutils_nonwindows_sources = [
"fs.cpp",
"hashmap.cpp",
"multiuser.cpp",
"str_parms.cpp",
]
cc_library {
name: "libcutils",
defaults: ["libcutils_defaults"],
double_loadable: true,
srcs: [
"config_utils.cpp",
"iosched_policy.cpp",
"load_file.cpp",
"native_handle.cpp",
"properties.cpp",
"record_stream.cpp",
"strlcpy.c",
],
target: {
linux_bionic: {
enabled: true,
static_libs: [
"libasync_safe",
],
},
linux: {
srcs: [
"canned_fs_config.cpp",
"fs_config.cpp",
],
},
not_windows: {
srcs: libcutils_nonwindows_sources + [
"ashmem-host.cpp",
"trace-host.cpp",
],
},
windows: {
host_ldlibs: ["-lws2_32"],
srcs: [
"trace-host.cpp",
],
enabled: true,
cflags: [
"-D_GNU_SOURCE",
],
},
android: {
sanitize: {
misc_undefined: ["integer"],
},
static_libs: [
"libasync_safe",
],
srcs: libcutils_nonwindows_sources + [
"android_reboot.cpp",
"ashmem-dev.cpp",
"klog.cpp",
"partition_utils.cpp",
"qtaguid.cpp",
"trace-dev.cpp",
"uevent.cpp",
],
},
// qtaguid.cpp loads libnetd_client.so with dlopen(). Since
// the interface of libnetd_client.so may vary between AOSP
// releases, exclude qtaguid.cpp from the VNDK-SP variant.
vendor: {
exclude_srcs: [
"qtaguid.cpp",
],
header_abi_checker: {
enabled: true,
ref_dump_dirs: ["abi-dumps"],
},
},
product: {
exclude_srcs: [
"qtaguid.cpp",
],
header_abi_checker: {
enabled: true,
ref_dump_dirs: ["abi-dumps"],
},
},
},
whole_static_libs: ["libcutils_sockets"],
shared_libs: [
"liblog",
"libbase",
],
header_libs: [
"libbase_headers",
"libcutils_headers",
"libprocessgroup_headers",
],
export_header_lib_headers: [
"libcutils_headers",
"libprocessgroup_headers",
],
local_include_dirs: ["include"],
cflags: [
"-Werror",
"-Wall",
"-Wextra",
],
}
cc_defaults {
name: "libcutils_test_default",
srcs: [
"native_handle_test.cpp",
"properties_test.cpp",
"sockets_test.cpp",
],
target: {
android: {
srcs: [
"android_get_control_file_test.cpp",
"android_get_control_socket_test.cpp",
"ashmem_test.cpp",
"fs_config_test.cpp",
"multiuser_test.cpp",
"sched_policy_test.cpp",
"str_parms_test.cpp",
"trace-dev_test.cpp",
],
},
not_windows: {
srcs: [
"str_parms_test.cpp",
],
},
},
cflags: [
"-Wall",
"-Wextra",
"-Werror",
],
}
always_static_test_libraries = [
"libjsoncpp",
]
test_libraries = [
"libcutils",
"liblog",
"libbase",
"libprocessgroup",
"libcgrouprc",
]
cc_test {
name: "libcutils_test",
test_suites: ["device-tests"],
defaults: ["libcutils_test_default"],
host_supported: true,
shared_libs: test_libraries,
static_libs: always_static_test_libraries,
require_root: true,
}
cc_defaults {
name: "libcutils_test_static_defaults",
defaults: ["libcutils_test_default"],
static_libs: [
"libc",
"libcgrouprc_format",
] + test_libraries + always_static_test_libraries,
stl: "libc++_static",
require_root: true,
target: {
android: {
static_executable: true,
},
windows: {
host_ldlibs: ["-lws2_32"],
enabled: true,
},
},
}
cc_test {
name: "libcutils_test_static",
test_suites: ["device-tests"],
defaults: ["libcutils_test_static_defaults"],
}
cc_test {
name: "KernelLibcutilsTest",
test_suites: [
"general-tests",
"vts",
],
defaults: ["libcutils_test_static_defaults"],
test_config: "KernelLibcutilsTest.xml",
}