platform_system_core/libprocessgroup/Android.bp
2024-05-23 00:38:19 +00:00

119 lines
2.7 KiB
Text

package {
default_applicable_licenses: ["Android-Apache-2.0"],
}
soong_config_module_type {
name: "libprocessgroup_flag_aware_cc_defaults",
module_type: "cc_defaults",
config_namespace: "ANDROID",
bool_variables: [
"memcg_v2_force_enabled",
"cgroup_v2_sys_app_isolation",
],
properties: [
"cflags",
],
}
libprocessgroup_flag_aware_cc_defaults {
name: "libprocessgroup_build_flags_cc",
cpp_std: "gnu++20",
soong_config_variables: {
memcg_v2_force_enabled: {
cflags: [
"-DMEMCG_V2_FORCE_ENABLED=true",
],
},
cgroup_v2_sys_app_isolation: {
cflags: [
"-DCGROUP_V2_SYS_APP_ISOLATION=true",
],
},
},
}
cc_library_headers {
name: "libprocessgroup_headers",
vendor_available: true,
product_available: true,
ramdisk_available: true,
vendor_ramdisk_available: true,
recovery_available: true,
host_supported: true,
native_bridge_supported: true,
export_include_dirs: ["include"],
target: {
linux_bionic: {
enabled: true,
},
windows: {
enabled: true,
},
},
apex_available: [
"//apex_available:platform",
"//apex_available:anyapex",
],
min_sdk_version: "29",
}
cc_library {
srcs: [
"cgroup_map.cpp",
"processgroup.cpp",
"sched_policy.cpp",
"task_profiles.cpp",
],
name: "libprocessgroup",
host_supported: true,
native_bridge_supported: true,
ramdisk_available: true,
vendor_ramdisk_available: true,
recovery_available: true,
vendor_available: true,
product_available: true,
double_loadable: true,
shared_libs: [
"libbase",
"libcgrouprc",
],
static_libs: [
"libjsoncpp",
],
// for cutils/android_filesystem_config.h
header_libs: [
"libcutils_headers",
"libprocessgroup_headers",
],
export_include_dirs: ["include"],
export_header_lib_headers: [
"libprocessgroup_headers",
],
defaults: ["libprocessgroup_build_flags_cc"],
apex_available: [
"//apex_available:platform",
"//apex_available:anyapex",
],
min_sdk_version: "29",
}
cc_test {
name: "task_profiles_test",
host_supported: true,
defaults: ["libprocessgroup_build_flags_cc"],
srcs: [
"task_profiles_test.cpp",
],
header_libs: [
"libcutils_headers",
"libprocessgroup_headers",
],
shared_libs: [
"libbase",
"libcgrouprc",
"libprocessgroup",
],
static_libs: [
"libgmock",
],
}