forked from openkylin/platform_build
Ban ELF prebuilts in PRODUCT_COPY_FILES
ELF prebuilts in PRODUCT_COPY_FILES are an build error. Define prebuilt modules and add them to PRODUCT_PACKAGES instead. To triage any build break caused by this change, temporarily opt out this check by setting BUILD_BROKEN_ELF_PREBUILT_PRODUCT_COPY_FILES := true in BoardConfig.mk. Bug: 140560012 Test: build_test & verify that either PRODUCT_COPY_FILES has no ELF \ prebuilt or BUILD_BROKEN_ELF_PREBUILT_PRODUCT_COPY_FILES is true Change-Id: I9dcbe7b68c38fc23dac91fe5751cbc478105656e
This commit is contained in:
parent
0b49c03727
commit
73d3148c5f
13
Changes.md
13
Changes.md
|
@ -1,5 +1,18 @@
|
|||
# Build System Changes for Android.mk Writers
|
||||
|
||||
## ELF prebuilts in PRODUCT_COPY_FILES
|
||||
|
||||
ELF prebuilts in PRODUCT_COPY_FILES that are installed into these paths are an
|
||||
error:
|
||||
|
||||
* `<partition>/bin/*`
|
||||
* `<partition>/lib/*`
|
||||
* `<partition>/lib64/*`
|
||||
|
||||
Define prebuilt modules and add them to PRODUCT_PACKAGES instead.
|
||||
To temporarily relax this check and restore the behavior prior to this change,
|
||||
set `BUILD_BROKEN_ELF_PREBUILT_PRODUCT_COPY_FILES := true` in `BoardConfig.mk`.
|
||||
|
||||
## COPY_HEADERS usage now produces warnings {#copy_headers}
|
||||
|
||||
We've considered `BUILD_COPY_HEADERS`/`LOCAL_COPY_HEADERS` to be deprecated for
|
||||
|
|
|
@ -40,11 +40,9 @@ $(if $(filter true,$(BUILD_BROKEN_VINTF_PRODUCT_COPY_FILES)),, \
|
|||
)
|
||||
endef
|
||||
|
||||
# TODO(b/140560012): Flip BUILD_BROKEN_ELF_PREBUILT_PRODUCT_COPY_FILES to default
|
||||
# false after all problematic devices are tagged.
|
||||
check_elf_prebuilt_product_copy_files :=
|
||||
ifneq (,$(filter false,$(BUILD_BROKEN_ELF_PREBUILT_PRODUCT_COPY_FILES)))
|
||||
check_elf_prebuilt_product_copy_files := true
|
||||
ifneq (,$(filter true,$(BUILD_BROKEN_ELF_PREBUILT_PRODUCT_COPY_FILES)))
|
||||
check_elf_prebuilt_product_copy_files :=
|
||||
endif
|
||||
check_elf_prebuilt_product_copy_files_hint := \
|
||||
found ELF prebuilt in PRODUCT_COPY_FILES, use cc_prebuilt_binary / cc_prebuilt_library_shared instead.
|
||||
|
|
Loading…
Reference in New Issue