diff options
author | Ying Wang <wangying@google.com> | 2013-09-24 15:56:11 -0700 |
---|---|---|
committer | Doug Zongker <dougz@google.com> | 2013-09-25 12:30:59 -0700 |
commit | 2408479cf9cf9cfe87e464e9b5d2f36143818d37 (patch) | |
tree | b087e729ea49ce90f0a8cbd16ac79f34a21c5854 /core/dynamic_binary.mk | |
parent | d21a641fb4c27fdba21b72116a4e5e722a7acf6f (diff) | |
download | build-2408479cf9cf9cfe87e464e9b5d2f36143818d37.zip build-2408479cf9cf9cfe87e464e9b5d2f36143818d37.tar.gz build-2408479cf9cf9cfe87e464e9b5d2f36143818d37.tar.bz2 |
Allow module to specify LOCAL_INSTALLED_MODULE_STEM
With this change, you can install a shared library with module name foo
as bar.so to the system.img with:
LOCAL_INSTALLED_MODULE_STEM := bar.so
Note that we in general still disallow a static/shared library to
specify LOCAL_MODULE_STEM or LOCAL_BUILT_MODULE_STEM, because the build
system uses LOCAL_MODULE to compute build time dependencies, such as
export_includes, the -l linker flag etc.
Also, if you use LOCAL_INSTALLED_MODULE_STEM to change the installed
file name and if any other module links against this library, you may
run into runtime error: the library name baked in to the binary is not
the same as file name in the system image.
Change-Id: I55b571c8139c3bda07a4a0e50cea0f20d8d6c168
Diffstat (limited to 'core/dynamic_binary.mk')
-rw-r--r-- | core/dynamic_binary.mk | 15 |
1 files changed, 10 insertions, 5 deletions
diff --git a/core/dynamic_binary.mk b/core/dynamic_binary.mk index 6ede57f..7778477 100644 --- a/core/dynamic_binary.mk +++ b/core/dynamic_binary.mk @@ -26,12 +26,17 @@ endif # TODO: This duplicates logic from base_rules.mk because we need to # know its results before base_rules.mk is included. # Consolidate the duplicates. -LOCAL_MODULE_STEM := $(strip $(LOCAL_MODULE_STEM)) -ifeq ($(LOCAL_MODULE_STEM),) +ifndef LOCAL_MODULE_STEM LOCAL_MODULE_STEM := $(LOCAL_MODULE) endif -LOCAL_INSTALLED_MODULE_STEM := $(LOCAL_MODULE_STEM)$(LOCAL_MODULE_SUFFIX) -LOCAL_BUILT_MODULE_STEM := $(LOCAL_INSTALLED_MODULE_STEM) + +ifndef LOCAL_BUILT_MODULE_STEM + LOCAL_BUILT_MODULE_STEM := $(LOCAL_MODULE_STEM)$(LOCAL_MODULE_SUFFIX) +endif + +ifndef LOCAL_INSTALLED_MODULE_STEM + LOCAL_INSTALLED_MODULE_STEM := $(LOCAL_MODULE_STEM)$(LOCAL_MODULE_SUFFIX) +endif # base_rules.make defines $(intermediates), but we need its value # before we include base_rules. Make a guess, and verify that @@ -90,7 +95,7 @@ endif ## Store a copy with symbols for symbolic debugging ########################################################### symbolic_input := $(compress_output) -symbolic_output := $(LOCAL_UNSTRIPPED_PATH)/$(LOCAL_BUILT_MODULE_STEM) +symbolic_output := $(LOCAL_UNSTRIPPED_PATH)/$(LOCAL_INSTALLED_MODULE_STEM) $(symbolic_output) : $(symbolic_input) | $(ACP) @echo "target Symbolic: $(PRIVATE_MODULE) ($@)" $(copy-file-to-target) |