From 0d1f54e2e1de8c21d59491fc6eebca3dacd5a6a5 Mon Sep 17 00:00:00 2001 From: Colin Cross Date: Tue, 12 Nov 2019 15:53:04 -0800 Subject: [PATCH] Forbid -Weverything Use of -Weverything blocks build system changes and toolchain updates on new warnings. Forbid it in the build system. Developers can experiment with -Weverything on their module by adding it to their Android.mk file and building with m ANDROID_TEMPORARILY_ALLOW_WEVERYTHING=true Fixes: 143713277 Test: manual Change-Id: Ifca9ad45301b0d51f18b5ae85cfb9e5b89fbef3f --- core/binary.mk | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/core/binary.mk b/core/binary.mk index 51259b21a2..8392fc068f 100644 --- a/core/binary.mk +++ b/core/binary.mk @@ -1441,10 +1441,10 @@ endif # Check if -Werror or -Wno-error is used in C compiler flags. # Header libraries do not need cflags. +my_all_cflags := $(my_cflags) $(my_cppflags) $(my_cflags_no_override) ifneq (HEADER_LIBRARIES,$(LOCAL_MODULE_CLASS)) # Prebuilt modules do not need cflags. ifeq (,$(LOCAL_PREBUILT_MODULE_FILE)) - my_all_cflags := $(my_cflags) $(my_cppflags) $(my_cflags_no_override) # Issue warning if -Wno-error is used. ifneq (,$(filter -Wno-error,$(my_all_cflags))) $(eval MODULES_USING_WNO_ERROR := $(MODULES_USING_WNO_ERROR) $(LOCAL_MODULE_MAKEFILE):$(LOCAL_MODULE)) @@ -1463,6 +1463,13 @@ ifneq (HEADER_LIBRARIES,$(LOCAL_MODULE_CLASS)) endif endif +ifneq (,$(filter -Weverything,$(my_all_cflags))) + ifeq (,$(ANDROID_TEMPORARILY_ALLOW_WEVERYTHING)) + $(call pretty-error, -Weverything is not allowed in Android.mk files.\ + Build with `m ANDROID_TEMPORARILY_ALLOW_WEVERYTHING=true` to experiment locally with -Weverything.) + endif +endif + # Disable clang-tidy if it is not found. ifeq ($(PATH_TO_CLANG_TIDY),) my_tidy_enabled := false