Extend the CPU ABI specification mechanism.

Add a (read only) system property that is a comma
separated list of ABIs supported by the device in order
of preference. For example, typical arm-v8 device might
define:

ro.cpu.abilist = arm64-v8a,armeabi-v7a,armeabi

For most purposes, a single flattened list like the above is
probably more useful than the parallel system of variables
TARGET_CPU_ABI{2} / TARGET_2ND_ARCH_CPU_ABI{2} that we use
in the build system.

Change-Id: If9102669ad9f5f8fd89a8bcc5bf88cca1acadc3c
This commit is contained in:
Narayan Kamath
2014-03-26 17:33:55 +00:00
parent fa97fe67d3
commit 1a43b375b4
3 changed files with 30 additions and 0 deletions

View File

@@ -143,6 +143,28 @@ 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: