Always check ELF files for `check-elf-files`

With this commit, the build system always checks ELF files when
`check-elf-files` is one of the make goals regardless
`PRODUCT_CHECK_ELF_FILES` is specified or not.

This commit also adds `BUILD_BROKEN_PREBUILT_ELF_FILES` for targets that
haven't been cleared.

If this commit breaks your target (usually breaks the targets running
`make checkbuild`), you may triage the breakage by adding the following
setting to your `BoardConfig.mk`:

    BUILD_BROKEN_PREBUILT_ELF_FILES := true

Bug: 141176116
Test: lunch aosp_crosshatch-userdebug && make check-elf-files
Change-Id: Ibe65c977a4ab3d40ba35892ed177eca62c837c35
This commit is contained in:
Logan Chien 2019-09-17 09:45:09 -07:00
parent 9f2e68009d
commit 2a88075617
2 changed files with 10 additions and 3 deletions

View File

@ -86,6 +86,7 @@ _board_strip_readonly_list += $(_dynamic_partitions_var_list)
_build_broken_var_list := \
BUILD_BROKEN_DUP_RULES \
BUILD_BROKEN_PREBUILT_ELF_FILES \
BUILD_BROKEN_USES_NETWORK \
_build_broken_var_list += \

View File

@ -38,12 +38,18 @@ $(check_elf_files_stamp): $(my_prebuilt_src_file) $(my_check_elf_file_shared_lib
$<
$(hide) touch $@
ifneq ($(PRODUCT_CHECK_ELF_FILES)$(CHECK_ELF_FILES),)
ifneq ($(strip $(LOCAL_CHECK_ELF_FILES)),false)
ifneq ($(strip $(BUILD_BROKEN_PREBUILT_ELF_FILES)),true)
# TODO(b/141176116): Remove the PRODUCT_CHECK_ELF_FILES condition below and
# cover `make droid` targets after everything goes well with `make checkbuild`
# targets.
ifneq ($(PRODUCT_CHECK_ELF_FILES)$(CHECK_ELF_FILES),)
$(LOCAL_BUILT_MODULE): $(check_elf_files_stamp)
check-elf-files: $(check_elf_files_stamp)
endif # LOCAL_CHECK_ELF_FILES
endif # PRODUCT_CHECK_ELF_FILES or CHECK_ELF_FILES
check-elf-files: $(check_elf_files_stamp)
endif # BUILD_BROKEN_PREBUILT_ELF_FILES
endif # LOCAL_CHECK_ELF_FILES
endif # SHARED_LIBRARIES, EXECUTABLES, NATIVE_TESTS
endif # !LOCAL_IS_HOST_MODULE