Allow setting some build_broken out of boardconfig
Some build broken flags are for cross-cutting features rather than board-specific. In order to support these without requiring broad changes across many board configs, these can be set in a buildspec.mk files. Test: set build_broken flags in environment, get expected fail Test: set build_broken flags in buildspec, get expected success Change-Id: I8a74c30575f6bf40e46281ca5f37f3cfed526ec5
This commit is contained in:
@@ -10,8 +10,9 @@ If you need to extend the build system via a plugin, please reach out to the
|
|||||||
build team via email android-building@googlegroups.com (external) for any
|
build team via email android-building@googlegroups.com (external) for any
|
||||||
questions, or see [go/soong](http://go/soong) (internal).
|
questions, or see [go/soong](http://go/soong) (internal).
|
||||||
|
|
||||||
To omit the validation, `BUILD_BROKEN_PLUGIN_VALIDATION` expects a list of
|
To omit the validation, `BUILD_BROKEN_PLUGIN_VALIDATION` expects a
|
||||||
plugins to omit from the validation.
|
space-separated list of plugins to omit from the validation. This must be set
|
||||||
|
within a product configuration .mk file, board config .mk file, or buildspec.mk.
|
||||||
|
|
||||||
## Python 2 to 3 migration
|
## Python 2 to 3 migration
|
||||||
|
|
||||||
|
@@ -171,7 +171,6 @@ _board_strip_list += ODM_MANIFEST_SKUS
|
|||||||
|
|
||||||
|
|
||||||
_build_broken_var_list := \
|
_build_broken_var_list := \
|
||||||
BUILD_BROKEN_PLUGIN_VALIDATION \
|
|
||||||
BUILD_BROKEN_CLANG_PROPERTY \
|
BUILD_BROKEN_CLANG_PROPERTY \
|
||||||
BUILD_BROKEN_CLANG_ASFLAGS \
|
BUILD_BROKEN_CLANG_ASFLAGS \
|
||||||
BUILD_BROKEN_CLANG_CFLAGS \
|
BUILD_BROKEN_CLANG_CFLAGS \
|
||||||
@@ -186,7 +185,6 @@ _build_broken_var_list := \
|
|||||||
BUILD_BROKEN_PREBUILT_ELF_FILES \
|
BUILD_BROKEN_PREBUILT_ELF_FILES \
|
||||||
BUILD_BROKEN_TREBLE_SYSPROP_NEVERALLOW \
|
BUILD_BROKEN_TREBLE_SYSPROP_NEVERALLOW \
|
||||||
BUILD_BROKEN_USES_NETWORK \
|
BUILD_BROKEN_USES_NETWORK \
|
||||||
BUILD_BROKEN_USES_SOONG_PYTHON2_MODULES \
|
|
||||||
BUILD_BROKEN_VENDOR_PROPERTY_NAMESPACE \
|
BUILD_BROKEN_VENDOR_PROPERTY_NAMESPACE \
|
||||||
BUILD_BROKEN_VINTF_PRODUCT_COPY_FILES \
|
BUILD_BROKEN_VINTF_PRODUCT_COPY_FILES \
|
||||||
|
|
||||||
|
@@ -342,6 +342,23 @@ else
|
|||||||
JAVA_TMPDIR_ARG :=
|
JAVA_TMPDIR_ARG :=
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
# These build broken variables are intended to be set in a buildspec file,
|
||||||
|
# while other build broken flags are expected to be set in a board config.
|
||||||
|
# These are build broken variables that are expected to apply across board
|
||||||
|
# configs, generally for cross-cutting features.
|
||||||
|
|
||||||
|
# Build broken variables that should be treated as booleans
|
||||||
|
_build_broken_bool_vars := \
|
||||||
|
BUILD_BROKEN_USES_SOONG_PYTHON2_MODULES \
|
||||||
|
|
||||||
|
# Build broken variables that should be treated as lists
|
||||||
|
_build_broken_list_vars := \
|
||||||
|
BUILD_BROKEN_PLUGIN_VALIDATION \
|
||||||
|
|
||||||
|
_build_broken_var_names := $(_build_broken_bool_vars)
|
||||||
|
_build_broken_var_names += $(_build_broken_list_vars)
|
||||||
|
$(foreach v,$(_build_broken_var_names),$(eval $(v) :=))
|
||||||
|
|
||||||
# ###############################################################
|
# ###############################################################
|
||||||
# Include sub-configuration files
|
# Include sub-configuration files
|
||||||
# ###############################################################
|
# ###############################################################
|
||||||
@@ -371,6 +388,13 @@ endif
|
|||||||
# are specific to the user's build configuration.
|
# are specific to the user's build configuration.
|
||||||
include $(BUILD_SYSTEM)/envsetup.mk
|
include $(BUILD_SYSTEM)/envsetup.mk
|
||||||
|
|
||||||
|
|
||||||
|
$(foreach var,$(_build_broken_bool_vars), \
|
||||||
|
$(if $(filter-out true false,$($(var))), \
|
||||||
|
$(error Valid values of $(var) are "true", "false", and "". Not "$($(var))")))
|
||||||
|
|
||||||
|
.KATI_READONLY := $(_build_broken_var_names)
|
||||||
|
|
||||||
# Returns true if it is a low memory device, otherwise it returns false.
|
# Returns true if it is a low memory device, otherwise it returns false.
|
||||||
define is-low-mem-device
|
define is-low-mem-device
|
||||||
$(if $(findstring ro.config.low_ram=true,$(PRODUCT_PROPERTY_OVERRIDES)),true,\
|
$(if $(findstring ro.config.low_ram=true,$(PRODUCT_PROPERTY_OVERRIDES)),true,\
|
||||||
|
Reference in New Issue
Block a user