Kconfig: Introduce CONFIG_WERROR

Add a new config option under "General setup" to enable the -Werror flag
when building U-Boot. This is useful during development to help catch
mistakes.

This is based on a similar config option added to the Linux kernel by
Linus in 2021 - see Linux commit 3fe617ccafd6 ("Enable '-Werror' by
default for all kernel builds"). The modification of KBUILD_CFLAGS is
done in Makefile.extrawarn, matching where it was moved in the kernel by
Linux commit e88ca24319e4 ("kbuild: consolidate warning flags in
scripts/Makefile.extrawarn").

Signed-off-by: Paul Barker <paul.barker.ct@bp.renesas.com>
This commit is contained in:
Paul Barker 2025-02-28 10:04:33 +00:00 committed by Tom Rini
parent babc6eef2f
commit 9805321dfd
2 changed files with 14 additions and 0 deletions

11
Kconfig
View file

@ -27,6 +27,17 @@ config DEPRECATED
code that relies on deprecated features that will be removed and
the conversion deadline has passed.
config WERROR
bool "Compile U-Boot with warnings as errors"
help
A U-Boot build should not cause any compiler warnings, and this
enables the '-Werror' flag to enforce that rule.
However, if you have a new (or very old) compiler or linker with odd
and unusual warnings, or you have some architecture with problems,
you may need to disable this config option in order to
successfully build U-Boot.
config LOCALVERSION
string "Local version - append to U-Boot release"
help

View file

@ -13,6 +13,9 @@
KBUILD_CFLAGS += $(call cc-disable-warning, packed-not-aligned)
KBUILD_CPPFLAGS-$(CONFIG_WERROR) += -Werror
KBUILD_CPPFLAGS += $(KBUILD_CPPFLAGS-y)
ifeq ("$(origin W)", "command line")
export KBUILD_ENABLE_EXTRA_GCC_CHECKS := $(W)
endif