forked from openkylin/platform_build
Add 32 / 64 bit abi lists to system properties.
Introduce ro.product.cpu.abilist32 / abilist64, which are comma separated lists of the 32 and 64 bit ABIs that the device supports. These properties are used by the zygote and system server to determine what ABI an app should be started with. This changes move abilist related make steps out of envsetup.mk and into config.mk because they depend on variables set by core/combo/***. Additionally, config.mk performs a few additional cleanups of these variables (like stripping them) after the inclusion of envsetup.mk so this seems like a better place to put them. bug: 13647418 Change-Id: I3db39bdd761220c5b4966f651892fb592396f9a1
This commit is contained in:
parent
260942fa82
commit
7303ebda84
|
@ -214,6 +214,9 @@ $(call add-clean-step, rm -rf $(PRODUCT_OUT)/system/build.prop)
|
|||
# Rename persist.sys.dalvik.vm.lib to allow new default
|
||||
$(call add-clean-step, rm -rf $(PRODUCT_OUT)/system/build.prop)
|
||||
|
||||
# Add ro.product.cpu.abilist{32,64} to build.prop.
|
||||
$(call add-clean-step, rm -rf $(PRODUCT_OUT)/system/build.prop)
|
||||
|
||||
# ************************************************
|
||||
# NEWER CLEAN STEPS MUST BE AT THE END OF THE LIST
|
||||
# ************************************************
|
||||
|
|
|
@ -192,6 +192,8 @@ $(INSTALLED_BUILD_PROP_TARGET): $(BUILDINFO_SH) $(INTERNAL_BUILD_ID_MAKEFILE) $(
|
|||
BUILD_FINGERPRINT="$(BUILD_FINGERPRINT)" \
|
||||
TARGET_BOARD_PLATFORM="$(TARGET_BOARD_PLATFORM)" \
|
||||
TARGET_CPU_ABI_LIST="$(TARGET_CPU_ABI_LIST)" \
|
||||
TARGET_CPU_ABI_LIST_32_BIT="$(TARGET_CPU_ABI_LIST_32_BIT)" \
|
||||
TARGET_CPU_ABI_LIST_64_BIT="$(TARGET_CPU_ABI_LIST_64_BIT)" \
|
||||
TARGET_CPU_ABI="$(TARGET_CPU_ABI)" \
|
||||
TARGET_CPU_ABI2="$(TARGET_CPU_ABI2)" \
|
||||
TARGET_AAPT_CHARACTERISTICS="$(TARGET_AAPT_CHARACTERISTICS)" \
|
||||
|
|
|
@ -231,6 +231,44 @@ combo_2nd_arch_prefix := $(TARGET_2ND_ARCH_VAR_PREFIX)
|
|||
include $(BUILD_SYSTEM)/combo/select.mk
|
||||
endif
|
||||
|
||||
# "ro.product.cpu.abilist" is a comma separated list of ABIs (in order
|
||||
# of preference) that the target supports. If a TARGET_CPU_ABI_LIST
|
||||
# is specified by the board configuration, we use that. If not, we
|
||||
# build a list out of the TARGET_CPU_ABIs specified by the config.
|
||||
ifeq (,$(TARGET_CPU_ABI_LIST))
|
||||
TARGET_CPU_ABI_LIST := $(TARGET_CPU_ABI) $(TARGET_CPU_ABI2) $(TARGET_2ND_CPU_ABI) $(TARGET_2ND_CPU_ABI2)
|
||||
endif
|
||||
|
||||
# "ro.product.cpu.abilist32" and "ro.product.cpu.abilist64" are
|
||||
# comma separated lists of the 32 and 64 bit ABIs (in order of
|
||||
# preference) that the target supports. If TARGET_CPU_ABI_LIST_{32,64}_BIT
|
||||
# are defined by the board config, we use them. Else, we construct
|
||||
# these lists based on whether TARGET_IS_64_BIT is set.
|
||||
#
|
||||
# Note that this assumes that the 2ND_CPU_ABI for a 64 bit target
|
||||
# is always 32 bits. If this isn't the case, these variables should
|
||||
# be overriden in the boarc configuration.
|
||||
ifeq (,$(TARGET_CPU_ABI_LIST_64_BIT))
|
||||
ifeq (true,$(TARGET_IS_64_BIT))
|
||||
TARGET_CPU_ABI_LIST_64_BIT := $(TARGET_CPU_ABI) $(TARGET_CPU_ABI2)
|
||||
endif
|
||||
endif
|
||||
|
||||
ifeq (,$(TARGET_CPU_ABI_LIST_32_BIT))
|
||||
ifneq (true,$(TARGET_IS_64_BIT))
|
||||
TARGET_CPU_ABI_LIST_32_BIT := $(TARGET_CPU_ABI) $(TARGET_CPU_ABI2)
|
||||
else
|
||||
# For a 64 bit target, assume that the 2ND_CPU_ABI
|
||||
# is a 32 bit ABI.
|
||||
TARGET_CPU_ABI_LIST_32_BIT := $(TARGET_2ND_CPU_ABI) $(TARGET_2ND_CPU_ABI2)
|
||||
endif
|
||||
endif
|
||||
|
||||
# Strip whitespace from the ABI list string.
|
||||
TARGET_CPU_ABI_LIST := $(subst $(space),$(comma),$(strip $(TARGET_CPU_ABI_LIST)))
|
||||
TARGET_CPU_ABI_LIST_32_BIT := $(subst $(space),$(comma),$(strip $(TARGET_CPU_ABI_LIST_32_BIT)))
|
||||
TARGET_CPU_ABI_LIST_64_BIT := $(subst $(space),$(comma),$(strip $(TARGET_CPU_ABI_LIST_64_BIT)))
|
||||
|
||||
# Compute TARGET_TOOLCHAIN_ROOT from TARGET_TOOLS_PREFIX
|
||||
# if only TARGET_TOOLS_PREFIX is passed to the make command.
|
||||
ifndef TARGET_TOOLCHAIN_ROOT
|
||||
|
|
|
@ -143,28 +143,6 @@ endif
|
|||
TARGET_DEVICE_DIR := $(patsubst %/,%,$(dir $(board_config_mk)))
|
||||
board_config_mk :=
|
||||
|
||||
# "ro.product.cpu.abilist" is a comma separated list of ABIs (in order
|
||||
# of preference) that the target supports. If a TARGET_CPU_ABI_LIST
|
||||
# is specified by the board configuration, we use that. If not, we
|
||||
# build a list out of the TARGET_CPU_ABIs specified by the config.
|
||||
ifeq (,$(TARGET_CPU_ABI_LIST))
|
||||
TARGET_CPU_ABI_LIST := $(TARGET_CPU_ABI)
|
||||
ifneq (,$(TARGET_CPU_ABI2))
|
||||
TARGET_CPU_ABI_LIST += ,$(TARGET_CPU_ABI2)
|
||||
endif
|
||||
ifneq (,$(TARGET_2ND_CPU_ABI))
|
||||
TARGET_CPU_ABI_LIST += ,$(TARGET_2ND_CPU_ABI)
|
||||
endif
|
||||
ifneq (,$(TARGET_2ND_CPU_ABI2))
|
||||
TARGET_CPU_ABI_LIST += ,$(TARGET_2ND_CPU_ABI2)
|
||||
endif
|
||||
|
||||
# Strip whitespace from the ABI list string.
|
||||
empty :=
|
||||
space := $(empty) $(empty)
|
||||
TARGET_CPU_ABI_LIST := $(subst $(space),,$(TARGET_CPU_ABI_LIST))
|
||||
endif
|
||||
|
||||
# ---------------------------------------------------------------
|
||||
# Set up configuration for target machine.
|
||||
# The following must be set:
|
||||
|
|
|
@ -30,6 +30,8 @@ if [ -n "$TARGET_CPU_ABI2" ] ; then
|
|||
echo "ro.product.cpu.abi2=$TARGET_CPU_ABI2"
|
||||
fi
|
||||
echo "ro.product.cpu.abilist=$TARGET_CPU_ABI_LIST"
|
||||
echo "ro.product.cpu.abilist32=$TARGET_CPU_ABI_LIST_32_BIT"
|
||||
echo "ro.product.cpu.abilist64=$TARGET_CPU_ABI_LIST_64_BIT"
|
||||
|
||||
echo "ro.product.manufacturer=$PRODUCT_MANUFACTURER"
|
||||
if [ -n "$PRODUCT_DEFAULT_LANGUAGE" ] ; then
|
||||
|
|
Loading…
Reference in New Issue