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

Commit 1a3b1458 authored by Ulya Trafimovich's avatar Ulya Trafimovich
Browse files

Add PRODUCT_BROKEN_VERIFY_USES_LIBRARIES.

If set to true, it disables <uses-library> checks for a product. It is
possible to override with environment variable RELAX_USES_LIBRARY_CHECK
on the command-line.

Per product configuration is needed rather than per board configuration
(such as BUILD_BROKEN_* variables) because of the specifics of
<uses-library> checks: they depend on the product packages list, and
not on the board config.

One example of a product family that needs to disable the checks are
the SDK builds (e.g. sdk_gphone_x86_64), see b/183339664.

Bug: 183339664
Bug: 132357300
Test: treehugger
Change-Id: Ia58559e4e70163da94e9eb7b8a6133e0cbecd459
parent 680a6426
Loading
Loading
Loading
Loading
+0 −11
Original line number Diff line number Diff line
@@ -479,17 +479,6 @@ USE_PREBUILT_SDK_TOOLS_IN_PLACE := true
USE_D8 := true
.KATI_READONLY := USE_D8

# Whether to fail immediately if verify_uses_libraries check fails, or to keep
# going and restrict dexpreopt to not compile any code for the failed module.
#
# The intended use case for this flag is to have a smoother migration path for
# the Java modules that need to add <uses-library> information in their build
# files. The flag allows to quickly silence build errors. This flag should be
# used with caution and only as a temporary measure, as it masks real errors
# and affects performance.
RELAX_USES_LIBRARY_CHECK ?= false
.KATI_READONLY := RELAX_USES_LIBRARY_CHECK

#
# Tools that are prebuilts for TARGET_BUILD_USE_PREBUILT_SDKS
#
+16 −0
Original line number Diff line number Diff line
@@ -20,6 +20,22 @@ endif
# The default value for LOCAL_DEX_PREOPT
DEX_PREOPT_DEFAULT ?= $(ENABLE_PREOPT)

# Whether to fail immediately if verify_uses_libraries check fails, or to keep
# going and restrict dexpreopt to not compile any code for the failed module.
#
# The intended use case for this flag is to have a smoother migration path for
# the Java modules that need to add <uses-library> information in their build
# files. The flag allows to quickly silence build errors. This flag should be
# used with caution and only as a temporary measure, as it masks real errors
# and affects performance.
ifndef RELAX_USES_LIBRARY_CHECK
  RELAX_USES_LIBRARY_CHECK := $(if \
    $(filter true,$(PRODUCT_BROKEN_VERIFY_USES_LIBRARIES)),true,false)
else
  # Let the environment variable override PRODUCT_BROKEN_VERIFY_USES_LIBRARIES.
endif
.KATI_READONLY := RELAX_USES_LIBRARY_CHECK

# The default filter for which files go into the system_other image (if it is
# being used). Note that each pattern p here matches both '/<p>' and /system/<p>'.
# To bundle everything one should set this to '%'.
+3 −0
Original line number Diff line number Diff line
@@ -236,6 +236,9 @@ _product_single_value_vars += PRODUCT_BROKEN_SUBOPTIMAL_ORDER_OF_SYSTEM_SERVER_J
# This is necessary to avoid jars reordering due to makefile inheritance order.
_product_list_vars += PRODUCT_SYSTEM_SERVER_JARS_EXTRA

# Set to true to disable <uses-library> checks for a product.
_product_list_vars += PRODUCT_BROKEN_VERIFY_USES_LIBRARIES

# All of the apps that we force preopt, this overrides WITH_DEXPREOPT.
_product_list_vars += PRODUCT_ALWAYS_PREOPT_EXTRACTED_APK
_product_list_vars += PRODUCT_DEXPREOPT_SPEED_APPS