Add native bridge abis to corresponding abilists
This uses TARGET_NATIVE_BRIDGE_*_ABI variable to automatically generate abi lists. Sample properties for x86+arm: ro.product.cpu.abilist=x86,armeabi-v7a,armeabi ro.product.cpu.abilist32=x86,armeabi-v7a,armeabi ro.product.cpu.abilist64= Sample properties for x86_64+arm64: ro.product.cpu.abilist=x86_64,x86,arm64-v8a,armeabi-v7a,armeabi ro.product.cpu.abilist32=x86,armeabi-v7a,armeabi ro.product.cpu.abilist64=x86_64,arm64-v8a Bug: http://b/77159578 Bug: http://b/28684022 Test: make cf_x86_64_phone, deploys, check adb shell getprop | grep abi Change-Id: I42a73f5c627b9d9f44e31cc5ad84238e1050f52a
This commit is contained in:
parent
98efd8290e
commit
28fbe7f9e9
1 changed files with 18 additions and 2 deletions
|
@ -193,20 +193,29 @@ endif
|
|||
# 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 board configuration.
|
||||
#
|
||||
# Similarly, TARGET_NATIVE_BRIDGE_2ND_ABI for a 64 bit target is always
|
||||
# 32 bits. Note that all CPU_ABIs are preferred over all NATIVE_BRIDGE_ABIs.
|
||||
_target_native_bridge_abi_list_32_bit :=
|
||||
_target_native_bridge_abi_list_64_bit :=
|
||||
|
||||
ifeq (,$(TARGET_CPU_ABI_LIST_64_BIT))
|
||||
ifeq (true|true,$(TARGET_IS_64_BIT)|$(TARGET_SUPPORTS_64_BIT_APPS))
|
||||
TARGET_CPU_ABI_LIST_64_BIT := $(TARGET_CPU_ABI) $(TARGET_CPU_ABI2)
|
||||
_target_native_bridge_abi_list_64_bit := $(TARGET_NATIVE_BRIDGE_ABI)
|
||||
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)
|
||||
_target_native_bridge_abi_list_32_bit := $(TARGET_NATIVE_BRIDGE_ABI)
|
||||
else
|
||||
ifeq (true,$(TARGET_SUPPORTS_32_BIT_APPS))
|
||||
# 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)
|
||||
_target_native_bridge_abi_list_32_bit := $(TARGET_NATIVE_BRIDGE_2ND_ABI)
|
||||
endif
|
||||
endif
|
||||
endif
|
||||
|
@ -215,14 +224,21 @@ endif
|
|||
# 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.
|
||||
# Add NATIVE_BRIDGE_ABIs at the end to keep order of preference.
|
||||
ifeq (,$(TARGET_CPU_ABI_LIST))
|
||||
ifeq ($(TARGET_IS_64_BIT)|$(TARGET_PREFER_32_BIT_APPS),true|true)
|
||||
TARGET_CPU_ABI_LIST := $(TARGET_CPU_ABI_LIST_32_BIT) $(TARGET_CPU_ABI_LIST_64_BIT)
|
||||
TARGET_CPU_ABI_LIST := $(TARGET_CPU_ABI_LIST_32_BIT) $(TARGET_CPU_ABI_LIST_64_BIT) \
|
||||
$(_target_native_bridge_abi_list_32_bit) $(_target_native_bridge_abi_list_64_bit)
|
||||
else
|
||||
TARGET_CPU_ABI_LIST := $(TARGET_CPU_ABI_LIST_64_BIT) $(TARGET_CPU_ABI_LIST_32_BIT)
|
||||
TARGET_CPU_ABI_LIST := $(TARGET_CPU_ABI_LIST_64_BIT) $(TARGET_CPU_ABI_LIST_32_BIT) \
|
||||
$(_target_native_bridge_abi_list_64_bit) $(_target_native_bridge_abi_list_32_bit)
|
||||
endif
|
||||
endif
|
||||
|
||||
# Add NATIVE_BRIDGE_ABIs at the end of 32 and 64 bit CPU_ABIs to keep order of preference.
|
||||
TARGET_CPU_ABI_LIST_32_BIT += $(_target_native_bridge_abi_list_32_bit)
|
||||
TARGET_CPU_ABI_LIST_64_BIT += $(_target_native_bridge_abi_list_64_bit)
|
||||
|
||||
# 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)))
|
||||
|
|
Loading…
Reference in a new issue