From ba9636d47fdc91c4caca6c9e0ad618956ddbb98b Mon Sep 17 00:00:00 2001 From: Ying Wang Date: Fri, 12 Jul 2013 22:05:14 -0700 Subject: [PATCH] Establish the built module dependencies on prebuilt shared library This is needed because the linker command line uses -rpath-link with built module path ($(*_OUT_INTERMEDIATE_LIBRARIES)) to search for indirect dependency libraries. Change-Id: I21d537c7c697dfb18df25d3d2bb7bffe2f9d370f (cherry picked from commit ada8f296570e0bda93b433a7aa86ad138dd1705e) --- core/prebuilt.mk | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/core/prebuilt.mk b/core/prebuilt.mk index 6e088327c0..f5732d1b08 100644 --- a/core/prebuilt.mk +++ b/core/prebuilt.mk @@ -84,6 +84,14 @@ endif # prebuilt_module_is_a_library ifdef LOCAL_INSTALLED_MODULE ifdef LOCAL_SHARED_LIBRARIES $(my_prefix)DEPENDENCIES_ON_SHARED_LIBRARIES += $(LOCAL_MODULE):$(LOCAL_INSTALLED_MODULE):$(subst $(space),$(comma),$(LOCAL_SHARED_LIBRARIES)) + +# We also need the LOCAL_BUILT_MODULE dependency, +# since we use -rpath-link which points to the built module's path. +built_shared_libraries := \ + $(addprefix $($(my_prefix)OUT_INTERMEDIATE_LIBRARIES)/, \ + $(addsuffix $(so_suffix), \ + $(LOCAL_SHARED_LIBRARIES))) +$(LOCAL_BUILT_MODULE) : $(built_shared_libraries) endif endif