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)
53 lines
1.1 KiB
Text
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",
|
|
],
|
|
}
|