diff --git a/core/base_rules.mk b/core/base_rules.mk index cec7792474..f497ddf197 100644 --- a/core/base_rules.mk +++ b/core/base_rules.mk @@ -981,6 +981,9 @@ ALL_MODULES.$(my_register_name).SHARED_LIBS := \ ALL_MODULES.$(my_register_name).SYSTEM_SHARED_LIBS := \ $(ALL_MODULES.$(my_register_name).SYSTEM_SHARED_LIBS) $(LOCAL_SYSTEM_SHARED_LIBRARIES) +ALL_MODULES.$(my_register_name).LOCAL_RUNTIME_LIBRARIES := \ + $(ALL_MODULES.$(my_register_name).LOCAL_RUNTIME_LIBRARIES) $(LOCAL_RUNTIME_LIBRARIES) + ifdef LOCAL_TEST_DATA # Export the list of targets that are handled as data inputs and required # by tests at runtime. The LOCAL_TEST_DATA format is generated from below diff --git a/core/clear_vars.mk b/core/clear_vars.mk index 5807ebe5cc..7152934235 100644 --- a/core/clear_vars.mk +++ b/core/clear_vars.mk @@ -265,6 +265,7 @@ LOCAL_RESOURCE_DIR:= LOCAL_RLIB_LIBRARIES:= LOCAL_RMTYPEDEFS:= LOCAL_ROTATION_MIN_SDK_VERSION:= +LOCAL_RUNTIME_LIBRARIES:= LOCAL_RRO_THEME:= LOCAL_RTTI_FLAG:= LOCAL_SANITIZE:= @@ -359,6 +360,7 @@ LOCAL_LDFLAGS_$(TARGET_ARCH):= LOCAL_PACK_MODULE_RELOCATIONS_$(TARGET_ARCH):= LOCAL_PREBUILT_JNI_LIBS_$(TARGET_ARCH):= LOCAL_REQUIRED_MODULES_$(TARGET_ARCH):= +LOCAL_RUNTIME_LIBRARIES_$(TARGET_ARCH):= LOCAL_SHARED_LIBRARIES_$(TARGET_ARCH):= LOCAL_SOONG_JNI_LIBS_$(TARGET_ARCH):= LOCAL_SOONG_JNI_LIBS_SYMBOLS:= @@ -383,6 +385,7 @@ LOCAL_LDFLAGS_$(TARGET_2ND_ARCH):= LOCAL_PACK_MODULE_RELOCATIONS_$(TARGET_2ND_ARCH):= LOCAL_PREBUILT_JNI_LIBS_$(TARGET_2ND_ARCH):= LOCAL_REQUIRED_MODULES_$(TARGET_2ND_ARCH):= +LOCAL_RUNTIME_LIBRARIES_$(TARGET_2ND_ARCH):= LOCAL_SHARED_LIBRARIES_$(TARGET_2ND_ARCH):= LOCAL_SOONG_JNI_LIBS_$(TARGET_2ND_ARCH):= LOCAL_SRC_FILES_EXCLUDE_$(TARGET_2ND_ARCH):= @@ -404,6 +407,7 @@ LOCAL_GENERATED_SOURCES_$(HOST_ARCH):= LOCAL_HEADER_LIBRARIES_$(HOST_ARCH):= LOCAL_LDFLAGS_$(HOST_ARCH):= LOCAL_REQUIRED_MODULES_$(HOST_ARCH):= +LOCAL_RUNTIME_LIBRARIES_$(HOST_ARCH):= LOCAL_SHARED_LIBRARIES_$(HOST_ARCH):= LOCAL_SRC_FILES_EXCLUDE_$(HOST_ARCH):= LOCAL_SRC_FILES_$(HOST_ARCH):= @@ -423,6 +427,7 @@ LOCAL_GENERATED_SOURCES_$(HOST_2ND_ARCH):= LOCAL_HEADER_LIBRARIES_$(HOST_2ND_ARCH):= LOCAL_LDFLAGS_$(HOST_2ND_ARCH):= LOCAL_REQUIRED_MODULES_$(HOST_2ND_ARCH):= +LOCAL_RUNTIME_LIBRARIES_$(HOST_2ND_ARCH):= LOCAL_SHARED_LIBRARIES_$(HOST_2ND_ARCH):= LOCAL_SRC_FILES_EXCLUDE_$(HOST_2ND_ARCH):= LOCAL_SRC_FILES_$(HOST_2ND_ARCH):= @@ -439,6 +444,7 @@ LOCAL_HEADER_LIBRARIES_$(HOST_OS):= LOCAL_LDFLAGS_$(HOST_OS):= LOCAL_LDLIBS_$(HOST_OS):= LOCAL_REQUIRED_MODULES_$(HOST_OS):= +LOCAL_RUNTIME_LIBRARIES_$(HOST_OS):= LOCAL_SHARED_LIBRARIES_$(HOST_OS):= LOCAL_SRC_FILES_$(HOST_OS):= LOCAL_STATIC_LIBRARIES_$(HOST_OS):= @@ -480,6 +486,8 @@ LOCAL_MODULE_STEM_32:= LOCAL_MODULE_STEM_64:= LOCAL_MODULE_SYMLINKS_32:= LOCAL_MODULE_SYMLINKS_64:= +LOCAL_RUNTIME_LIBRARIES_32:= +LOCAL_RUNTIME_LIBRARIES_64:= LOCAL_SHARED_LIBRARIES_32:= LOCAL_SHARED_LIBRARIES_64:= LOCAL_SRC_FILES_32:= diff --git a/core/tasks/module-info.mk b/core/tasks/module-info.mk index aeeb403484..9acf6e8bcd 100644 --- a/core/tasks/module-info.mk +++ b/core/tasks/module-info.mk @@ -1,4 +1,5 @@ # Print a list of the modules that could be built +# Currently runtime_dependencies only include the runtime libs information for cc binaries. MODULE_INFO_JSON := $(PRODUCT_OUT)/module-info.json @@ -24,6 +25,7 @@ $(MODULE_INFO_JSON): '"test_mainline_modules": [$(foreach w,$(sort $(ALL_MODULES.$(m).TEST_MAINLINE_MODULES)),"$(w)", )], ' \ '"is_unit_test": "$(ALL_MODULES.$(m).IS_UNIT_TEST)", ' \ '"data": [$(foreach w,$(sort $(ALL_MODULES.$(m).TEST_DATA)),"$(w)", )], ' \ + '"runtime_dependencies": [$(foreach w,$(sort $(ALL_MODULES.$(m).LOCAL_RUNTIME_LIBRARIES)),"$(w)", )], ' \ '},\n' \ ) | sed -e 's/, *\]/]/g' -e 's/, *\}/ }/g' -e '$$s/,$$//' >> $@ $(hide) echo '}' >> $@