1package {
2    default_applicable_licenses: ["Android-Apache-2.0"],
3}
4
5cc_defaults {
6    name: "libprocessgroup_defaults",
7    cpp_std: "gnu++20",
8    cflags: [
9        "-Wall",
10        "-Werror",
11        "-Wexit-time-destructors",
12        "-Wno-unused-parameter",
13    ],
14}
15
16cc_library_headers {
17    name: "libprocessgroup_headers",
18    vendor_available: true,
19    product_available: true,
20    ramdisk_available: true,
21    vendor_ramdisk_available: true,
22    recovery_available: true,
23    host_supported: true,
24    native_bridge_supported: true,
25    export_include_dirs: ["include"],
26    target: {
27        linux_bionic: {
28            enabled: true,
29        },
30        windows: {
31            enabled: true,
32        },
33    },
34    apex_available: [
35        "//apex_available:platform",
36        "//apex_available:anyapex",
37    ],
38    min_sdk_version: "29",
39}
40
41cc_library {
42    srcs: [
43        "cgroup_map.cpp",
44        "processgroup.cpp",
45        "sched_policy.cpp",
46        "task_profiles.cpp",
47    ],
48    name: "libprocessgroup",
49    host_supported: true,
50    native_bridge_supported: true,
51    ramdisk_available: true,
52    vendor_ramdisk_available: true,
53    recovery_available: true,
54    vendor_available: true,
55    product_available: true,
56    vndk: {
57        enabled: true,
58        support_system_process: true,
59    },
60    shared_libs: [
61        "libbase",
62        "libcgrouprc",
63    ],
64    static_libs: [
65        "libjsoncpp",
66    ],
67    // for cutils/android_filesystem_config.h
68    header_libs: [
69        "libcutils_headers",
70        "libprocessgroup_headers",
71    ],
72    export_include_dirs: ["include"],
73    export_header_lib_headers: [
74        "libprocessgroup_headers",
75    ],
76    defaults: ["libprocessgroup_defaults"],
77    apex_available: [
78        "//apex_available:platform",
79        "//apex_available:anyapex",
80    ],
81    min_sdk_version: "29",
82}
83
84cc_test {
85    name: "task_profiles_test",
86    host_supported: true,
87    defaults: ["libprocessgroup_defaults"],
88    srcs: [
89        "task_profiles_test.cpp",
90    ],
91    header_libs: [
92        "libcutils_headers",
93        "libprocessgroup_headers",
94    ],
95    shared_libs: [
96        "libbase",
97        "libcgrouprc",
98        "libprocessgroup",
99    ],
100    static_libs: [
101        "libgmock",
102    ],
103}
104