Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 133fcb25 authored by Anton Hansson's avatar Anton Hansson
Browse files

Warn when defining a 32-bit product on a 64-bit device.

Building a 32-bit-app-only product on a 64-bit capable device is likely
to be unintentional. Print a warning if this is done implicitly,
e.g. via forgetting to define the TARGET_SUPPORTS_64_BIT_APPS variable.

Also change existing references to only treat 'true' as a positive
value, rather than all non-empty ones.

Bug: 110918674
Test: lunched 64-bit-device product that does and doesn't set this var
Change-Id: I021157c94ec3ac1c690547c8992768e58c89c287
parent 88a60636
Loading
Loading
Loading
Loading
+9 −1
Original line number Diff line number Diff line
@@ -368,10 +368,18 @@ TARGET_PREFER_32_BIT_APPS := true
TARGET_PREFER_32_BIT_EXECUTABLES := true
endif

ifeq (,$(TARGET_SUPPORTS_32_BIT_APPS)$(TARGET_SUPPORTS_64_BIT_APPS))
ifeq (,$(filter true,$(TARGET_SUPPORTS_32_BIT_APPS) $(TARGET_SUPPORTS_64_BIT_APPS)))
  TARGET_SUPPORTS_32_BIT_APPS := true
endif

# Sanity check to warn about likely cryptic errors later in the build.
ifeq ($(TARGET_IS_64_BIT),true)
  ifeq (,$(filter true false,$(TARGET_SUPPORTS_64_BIT_APPS)))
    $(warning Building a 32-bit-app-only product on a 64-bit device. \
      If this is intentional, set TARGET_SUPPORTS_64_BIT_APPS := false)
  endif
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
+3 −1
Original line number Diff line number Diff line
@@ -8,7 +8,9 @@ my_prefix := TARGET_
include $(BUILD_SYSTEM)/multilib.mk

ifeq ($(TARGET_TRANSLATE_2ND_ARCH),true)
  ifneq ($(TARGET_SUPPORTS_64_BIT_APPS)|$(my_module_multilib),|64)
  ifeq ($(TARGET_SUPPORTS_64_BIT_APPS),true)
    my_module_multilib := first
  else ifneq ($(my_module_multilib),64)
    my_module_multilib := first
  endif
endif