From 48d7b3462d4b1fffa0359e179af5abcf8e79c36a Mon Sep 17 00:00:00 2001 From: Devin Moore Date: Mon, 15 May 2023 18:08:30 +0000 Subject: [PATCH] Add static_libs to module-info.json This is helpful for analyzing how often a library is included statically on a device. If a large library is linked statically in many processes in a single device, it may be a good candidate for shared linking instead. This increases the size of module-info.json file on Cuttlefish by ~12.5% from 65MB to 72MB. Test: m Bug: 280829178 Change-Id: I3614d86d799810e1ce845e1097f43f1ec0a412a3 --- core/base_rules.mk | 5 ++++- core/tasks/module-info.mk | 1 + 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/core/base_rules.mk b/core/base_rules.mk index 65e80fb925..c61c653bce 100644 --- a/core/base_rules.mk +++ b/core/base_rules.mk @@ -1005,6 +1005,9 @@ endif ALL_MODULES.$(my_register_name).SHARED_LIBS := \ $(ALL_MODULES.$(my_register_name).SHARED_LIBS) $(LOCAL_SHARED_LIBRARIES) +ALL_MODULES.$(my_register_name).STATIC_LIBS := \ + $(ALL_MODULES.$(my_register_name).STATIC_LIBS) $(LOCAL_STATIC_LIBRARIES) + ALL_MODULES.$(my_register_name).SYSTEM_SHARED_LIBS := \ $(ALL_MODULES.$(my_register_name).SYSTEM_SHARED_LIBS) $(LOCAL_SYSTEM_SHARED_LIBRARIES) @@ -1234,4 +1237,4 @@ include $(BUILD_NOTICE_FILE) ########################################################### ## SBOM generation ########################################################### -include $(BUILD_SBOM_GEN) \ No newline at end of file +include $(BUILD_SBOM_GEN) diff --git a/core/tasks/module-info.mk b/core/tasks/module-info.mk index e83d408577..66ba8f15ce 100644 --- a/core/tasks/module-info.mk +++ b/core/tasks/module-info.mk @@ -18,6 +18,7 @@ $(MODULE_INFO_JSON): '"test_config": [$(foreach w,$(strip $(ALL_MODULES.$(m).TEST_CONFIG) $(ALL_MODULES.$(m).EXTRA_TEST_CONFIGS)),"$(w)", )], ' \ '"dependencies": [$(foreach w,$(sort $(ALL_DEPS.$(m).ALL_DEPS)),"$(w)", )], ' \ '"shared_libs": [$(foreach w,$(sort $(ALL_MODULES.$(m).SHARED_LIBS)),"$(w)", )], ' \ + '"static_libs": [$(foreach w,$(sort $(ALL_MODULES.$(m).STATIC_LIBS)),"$(w)", )], ' \ '"system_shared_libs": [$(foreach w,$(sort $(ALL_MODULES.$(m).SYSTEM_SHARED_LIBS)),"$(w)", )], ' \ '"srcs": [$(foreach w,$(sort $(ALL_MODULES.$(m).SRCS)),"$(w)", )], ' \ '"srcjars": [$(foreach w,$(sort $(ALL_MODULES.$(m).SRCJARS)),"$(w)", )], ' \