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, vndk: { enabled: true, support_system_process: 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", ], }