From 66d21d4a30ae1ebdac766055c8890865f26cc3dc Mon Sep 17 00:00:00 2001 From: Dan Willemsen Date: Mon, 27 Jan 2020 19:26:02 -0800 Subject: [PATCH] Mark (BUILD_|LOCAL_)COPY_HEADERS as [more] deprecated We've considered these deprecated for a while, and have reduced where they may be used, but let's actually throw warnings and call them out specifically now. Bug: 130719878 Test: lunch aosp_arm; m nothing [see no warnings] Test: lunch aosp_crosshatch; m nothing [see LOCAL_COPY_HEADERS warnings] Test: lunch aosp_taimen; m nothing [see BUILD_COPY_HEADERS warnings] Change-Id: I8c12012366d84667de0d223bbde38d8b90419e36 --- Changes.md | 10 ++++++++++ Deprecation.md | 1 + core/board_config.mk | 6 +++++- core/deprecation.mk | 2 +- core/host_shared_library.mk | 5 ++++- core/host_static_library.mk | 5 ++++- core/shared_library.mk | 5 ++++- core/static_library.mk | 5 ++++- 8 files changed, 33 insertions(+), 6 deletions(-) diff --git a/Changes.md b/Changes.md index 70e338cee..2720a0f40 100644 --- a/Changes.md +++ b/Changes.md @@ -1,5 +1,14 @@ # Build System Changes for Android.mk Writers +## COPY_HEADERS usage now produces warnings {#copy_headers} + +We've considered `BUILD_COPY_HEADERS`/`LOCAL_COPY_HEADERS` to be deprecated for +a long time, and the places where it's been able to be used have shrinked over +the last several releases. Equivalent functionality is not available in Soong. + +See the [build/soong/docs/best_practices.md#headers] for more information about +how best to handle headers in Android. + ## `m4` is not available on `$PATH` There is a prebuilt of it available in prebuilts/build-tools, and a make @@ -553,6 +562,7 @@ version. [build/soong/Changes.md]: https://android.googlesource.com/platform/build/soong/+/master/Changes.md +[build/soong/docs/best_practices.md#headers]: https://android.googlesource.com/platform/build/soong/+/master/docs/best_practices.md#headers [external/fonttools/Lib/fontTools/Android.bp]: https://android.googlesource.com/platform/external/fonttools/+/master/Lib/fontTools/Android.bp [frameworks/base/Android.bp]: https://android.googlesource.com/platform/frameworks/base/+/master/Android.bp [frameworks/base/data/fonts/Android.mk]: https://android.googlesource.com/platform/frameworks/base/+/master/data/fonts/Android.mk diff --git a/Deprecation.md b/Deprecation.md index 9e9b22c15..7046a7478 100644 --- a/Deprecation.md +++ b/Deprecation.md @@ -16,6 +16,7 @@ have any problems converting, please contact us via: | -------------------------------- | --------- | | `BUILD_AUX_EXECUTABLE` | Error | | `BUILD_AUX_STATIC_LIBRARY` | Error | +| `BUILD_COPY_HEADERS` | Warning | | `BUILD_HOST_FUZZ_TEST` | Error | | `BUILD_HOST_NATIVE_TEST` | Error | | `BUILD_HOST_SHARED_LIBRARY` | Warning | diff --git a/core/board_config.mk b/core/board_config.mk index f5c8ea54a..63d7e0757 100644 --- a/core/board_config.mk +++ b/core/board_config.mk @@ -621,11 +621,15 @@ endif ########################################### # Handle BUILD_BROKEN_USES_BUILD_* -$(foreach m,$(DEFAULT_WARNING_BUILD_MODULE_TYPES),\ +$(foreach m,$(filter-out BUILD_COPY_HEADERS,$(DEFAULT_WARNING_BUILD_MODULE_TYPES)),\ $(if $(filter false,$(BUILD_BROKEN_USES_$(m))),\ $(KATI_obsolete_var $(m),Please convert to Soong),\ $(KATI_deprecated_var $(m),Please convert to Soong))) +$(if $(filter false,$(BUILD_BROKEN_USES_BUILD_COPY_HEADERS)),\ + $(KATI_obsolete_var BUILD_COPY_HEADERS,See $(CHANGES_URL)#copy_headers),\ + $(KATI_deprecated_var BUILD_COPY_HEADERS,See $(CHANGES_URL)#copy_headers)) + $(foreach m,$(DEFAULT_ERROR_BUILD_MODULE_TYPES),\ $(if $(filter true,$(BUILD_BROKEN_USES_$(m))),\ $(KATI_deprecated_var $(m),Please convert to Soong),\ diff --git a/core/deprecation.mk b/core/deprecation.mk index fd71f48c6..dac7e4bca 100644 --- a/core/deprecation.mk +++ b/core/deprecation.mk @@ -1,6 +1,5 @@ # These module types can still be used without warnings or errors. AVAILABLE_BUILD_MODULE_TYPES :=$= \ - BUILD_COPY_HEADERS \ BUILD_EXECUTABLE \ BUILD_FUZZ_TEST \ BUILD_HEADER_LIBRARY \ @@ -26,6 +25,7 @@ AVAILABLE_BUILD_MODULE_TYPES :=$= \ # relevant BUILD_BROKEN_USES_BUILD_* variables, then these would move to # DEFAULT_ERROR_BUILD_MODULE_TYPES. DEFAULT_WARNING_BUILD_MODULE_TYPES :=$= \ + BUILD_COPY_HEADERS \ BUILD_HOST_SHARED_LIBRARY \ BUILD_HOST_STATIC_LIBRARY \ diff --git a/core/host_shared_library.mk b/core/host_shared_library.mk index 81236d1a2..c22af97a2 100644 --- a/core/host_shared_library.mk +++ b/core/host_shared_library.mk @@ -37,4 +37,7 @@ my_module_arch_supported := ########################################################### ## Copy headers to the install tree ########################################################### -include $(BUILD_COPY_HEADERS) +ifdef LOCAL_COPY_HEADERS +$(call pretty-warning,LOCAL_COPY_HEADERS is deprecated. See $(CHANGES_URL)#copy_headers) +include $(BUILD_SYSTEM)/copy_headers.mk +endif diff --git a/core/host_static_library.mk b/core/host_static_library.mk index 469da2946..3dbd14496 100644 --- a/core/host_static_library.mk +++ b/core/host_static_library.mk @@ -37,4 +37,7 @@ my_module_arch_supported := ########################################################### ## Copy headers to the install tree ########################################################### -include $(BUILD_COPY_HEADERS) +ifdef LOCAL_COPY_HEADERS +$(call pretty-warning,LOCAL_COPY_HEADERS is deprecated. See $(CHANGES_URL)#copy_headers) +include $(BUILD_SYSTEM)/copy_headers.mk +endif diff --git a/core/shared_library.mk b/core/shared_library.mk index 984f05f8a..ca17151c4 100644 --- a/core/shared_library.mk +++ b/core/shared_library.mk @@ -56,4 +56,7 @@ my_module_arch_supported := ########################################################### ## Copy headers to the install tree ########################################################### -include $(BUILD_COPY_HEADERS) +ifdef LOCAL_COPY_HEADERS +$(call pretty-warning,LOCAL_COPY_HEADERS is deprecated. See $(CHANGES_URL)#copy_headers) +include $(BUILD_SYSTEM)/copy_headers.mk +endif diff --git a/core/static_library.mk b/core/static_library.mk index 1b056ec8a..78908cf37 100644 --- a/core/static_library.mk +++ b/core/static_library.mk @@ -41,4 +41,7 @@ my_module_arch_supported := ########################################################### ## Copy headers to the install tree ########################################################### -include $(BUILD_COPY_HEADERS) +ifdef LOCAL_COPY_HEADERS +$(call pretty-warning,LOCAL_COPY_HEADERS is deprecated. See $(CHANGES_URL)#copy_headers) +include $(BUILD_SYSTEM)/copy_headers.mk +endif