add support for LOCAL_MODULE_STEM_32 and LOCAL_MODULE_STEM_64
Some executables will need to be built for both 32-bit and 64-bit. For linker/linker64, debuggerd/debuggerd64, and a few more, they will be installed in the same path (/system/bin), but with different filenames. Allow the module to specify LOCAL_MODULE_STEM_32 and LOCAL_MODULE_STEM_64 to name the two versions. Change-Id: I573e8678c7332245a064f31246be0a05f0a9e25f
This commit is contained in:
@@ -167,17 +167,7 @@ generated_sources_dir := $(call local-generated-sources-dir)
|
|||||||
###########################################################
|
###########################################################
|
||||||
# Pick a name for the intermediate and final targets
|
# Pick a name for the intermediate and final targets
|
||||||
###########################################################
|
###########################################################
|
||||||
ifndef LOCAL_MODULE_STEM
|
include $(BUILD_SYSTEM)/configure_module_stem.mk
|
||||||
LOCAL_MODULE_STEM := $(LOCAL_MODULE)
|
|
||||||
endif
|
|
||||||
|
|
||||||
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
|
# OVERRIDE_BUILT_MODULE_PATH is only allowed to be used by the
|
||||||
# internal SHARED_LIBRARIES build files.
|
# internal SHARED_LIBRARIES build files.
|
||||||
|
@@ -199,6 +199,8 @@ LOCAL_C_INCLUDES_32:=
|
|||||||
LOCAL_C_INCLUDES_64:=
|
LOCAL_C_INCLUDES_64:=
|
||||||
LOCAL_MODULE_PATH_32:=
|
LOCAL_MODULE_PATH_32:=
|
||||||
LOCAL_MODULE_PATH_64:=
|
LOCAL_MODULE_PATH_64:=
|
||||||
|
LOCAL_MODULE_STEM_32:=
|
||||||
|
LOCAL_MODULE_STEM_64:=
|
||||||
|
|
||||||
# Trim MAKEFILE_LIST so that $(call my-dir) doesn't need to
|
# Trim MAKEFILE_LIST so that $(call my-dir) doesn't need to
|
||||||
# iterate over thousands of entries every time.
|
# iterate over thousands of entries every time.
|
||||||
|
16
core/configure_module_stem.mk
Normal file
16
core/configure_module_stem.mk
Normal file
@@ -0,0 +1,16 @@
|
|||||||
|
my_multilib_stem := $(LOCAL_MODULE_STEM_$(if $($(LOCAL_2ND_ARCH_VAR_PREFIX)TARGET_IS_64_BIT),64,32))
|
||||||
|
ifdef my_multilib_stem
|
||||||
|
LOCAL_MODULE_STEM := $(my_multilib_stem)
|
||||||
|
endif
|
||||||
|
|
||||||
|
ifndef LOCAL_MODULE_STEM
|
||||||
|
LOCAL_MODULE_STEM := $(LOCAL_MODULE)
|
||||||
|
endif
|
||||||
|
|
||||||
|
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
|
@@ -13,20 +13,9 @@ $(error This file should not be used to build host binaries. Included by (or ne
|
|||||||
endif
|
endif
|
||||||
|
|
||||||
# The name of the target file, without any path prepended.
|
# The name of the target file, without any path prepended.
|
||||||
# TODO: This duplicates logic from base_rules.mk because we need to
|
# This duplicates logic from base_rules.mk because we need to
|
||||||
# know its results before base_rules.mk is included.
|
# know its results before base_rules.mk is included.
|
||||||
# Consolidate the duplicates.
|
include $(BUILD_SYSTEM)/configure_module_stem.mk
|
||||||
ifndef LOCAL_MODULE_STEM
|
|
||||||
LOCAL_MODULE_STEM := $(LOCAL_MODULE)
|
|
||||||
endif
|
|
||||||
|
|
||||||
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
|
# base_rules.make defines $(intermediates), but we need its value
|
||||||
# before we include base_rules. Make a guess, and verify that
|
# before we include base_rules. Make a guess, and verify that
|
||||||
|
@@ -16,7 +16,7 @@ endif
|
|||||||
ifneq ($(strip $(OVERRIDE_BUILT_MODULE_PATH)),)
|
ifneq ($(strip $(OVERRIDE_BUILT_MODULE_PATH)),)
|
||||||
$(error $(LOCAL_PATH): Illegal use of OVERRIDE_BUILT_MODULE_PATH)
|
$(error $(LOCAL_PATH): Illegal use of OVERRIDE_BUILT_MODULE_PATH)
|
||||||
endif
|
endif
|
||||||
ifneq ($(strip $(LOCAL_MODULE_STEM)$(LOCAL_BUILT_MODULE_STEM)),)
|
ifneq ($(strip $(LOCAL_MODULE_STEM)$(LOCAL_BUILT_MODULE_STEM)$(LOCAL_MODULE_STEM_32)$(LOCAL_MODULE_STEM_64)),)
|
||||||
$(error $(LOCAL_PATH): Cannot set module stem for a library)
|
$(error $(LOCAL_PATH): Cannot set module stem for a library)
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user