summaryrefslogtreecommitdiffstats
path: root/core/base_rules.mk
diff options
context:
space:
mode:
authorYing Wang <wangying@google.com>2013-09-24 15:56:11 -0700
committerDoug Zongker <dougz@google.com>2013-09-25 12:30:59 -0700
commit2408479cf9cf9cfe87e464e9b5d2f36143818d37 (patch)
treeb087e729ea49ce90f0a8cbd16ac79f34a21c5854 /core/base_rules.mk
parentd21a641fb4c27fdba21b72116a4e5e722a7acf6f (diff)
downloadbuild-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/base_rules.mk')
-rw-r--r--core/base_rules.mk13
1 files changed, 7 insertions, 6 deletions
diff --git a/core/base_rules.mk b/core/base_rules.mk
index 9415731..074452b 100644
--- a/core/base_rules.mk
+++ b/core/base_rules.mk
@@ -137,15 +137,16 @@ intermediates.COMMON := $(call local-intermediates-dir,COMMON)
###########################################################
# Pick a name for the intermediate and final targets
###########################################################
-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 := $(strip $(LOCAL_BUILT_MODULE_STEM))
-ifeq ($(LOCAL_BUILT_MODULE_STEM),)
- 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
# OVERRIDE_BUILT_MODULE_PATH is only allowed to be used by the