android_system_core/libprocessgroup/Android.bp
Vic Yang d167cb2958 Static link libjsoncpp in libprocessgroup
The majority of libjsoncpp use is due to libprocessgroup.  Static
linking reduces relocations required at runtime as well as compacts the
pages dirtied by relocations.  On a 32-bit system, where this matters
the most, this reduces 8KB of dirty pages per libprocessgroup load.
Overall, the dirty page reduction on 32-bit cuttlefish is ~500KB.

Bug: 132275636
Test: Boot on cuttlefish.  Calculate total amount of dirty memory used
      for libprocessgroup and libjsoncpp.
Change-Id: I1135bb45a3764f96a4a3a47c98fbcdee3913c988
(cherry picked from commit b562e68503)
2019-05-08 20:29:44 -07:00

53 lines
1.1 KiB
Text

cc_library_headers {
name: "libprocessgroup_headers",
vendor_available: true,
recovery_available: true,
host_supported: true,
export_include_dirs: ["include"],
target: {
linux_bionic: {
enabled: true,
},
windows: {
enabled: true,
},
},
}
cc_library {
srcs: [
"cgroup_map.cpp",
"processgroup.cpp",
"sched_policy.cpp",
"task_profiles.cpp",
],
name: "libprocessgroup",
host_supported: true,
recovery_available: true,
vendor_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",
],
cflags: [
"-Wall",
"-Werror",
"-Wexit-time-destructors",
],
}