Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

kbuild: support W=c and W=e shorthands for Kconfig

KCONFIG_WARN_UNKNOWN_SYMBOLS=1 and KCONFIG_WERROR=1 are descriptive
and suitable in scripting, but typing them from the command line can
be tedious.

Associate them with KBUILD_EXTRA_WARN (and the W= shorthand).

Support a new letter 'c' to enable extra checks in Kconfig. You can
still manage compiler warnings (W=1) and Kconfig warnings (W=c)
independently.

Reuse the letter 'e' to turn Kconfig warnings into errors.

As usual, you can combine multiple letters in KCONFIG_EXTRA_WARN.

$ KCONFIG_WARN_UNKNOWN_SYMBOLS=1 KCONFIG_WERROR=1 make defconfig

can be shortened to:

$ KBUILD_EXTRA_WARN=ce make defconfig

or, even shorter:

$ make W=ce defconfig

Signed-off-by: Masahiro Yamada <masahiroy@kernel.org>
Reviewed-by: Nathan Chancellor <nathan@kernel.org>

+18 -9
+10
Makefile
··· 155 155 156 156 export KBUILD_EXTMOD 157 157 158 + # backward compatibility 159 + KBUILD_EXTRA_WARN ?= $(KBUILD_ENABLE_EXTRA_GCC_CHECKS) 160 + 161 + ifeq ("$(origin W)", "command line") 162 + KBUILD_EXTRA_WARN := $(W) 163 + endif 164 + 165 + export KBUILD_EXTRA_WARN 166 + 158 167 # Kbuild will save output files in the current working directory. 159 168 # This does not need to match to the root of the kernel source tree. 160 169 # ··· 1668 1659 @echo ' 1: warnings which may be relevant and do not occur too often' 1669 1660 @echo ' 2: warnings which occur quite often but may still be relevant' 1670 1661 @echo ' 3: more obscure warnings, can most likely be ignored' 1662 + @echo ' c: extra checks in the configuration stage (Kconfig)' 1671 1663 @echo ' e: warnings are being treated as errors' 1672 1664 @echo ' Multiple levels can be combined with W=12 or W=123' 1673 1665 @$(if $(dtstree), \
-9
scripts/Makefile.extrawarn
··· 80 80 # Warn if there is an enum types mismatch 81 81 KBUILD_CFLAGS += $(call cc-option,-Wenum-conversion) 82 82 83 - # backward compatibility 84 - KBUILD_EXTRA_WARN ?= $(KBUILD_ENABLE_EXTRA_GCC_CHECKS) 85 - 86 - ifeq ("$(origin W)", "command line") 87 - KBUILD_EXTRA_WARN := $(W) 88 - endif 89 - 90 - export KBUILD_EXTRA_WARN 91 - 92 83 # 93 84 # W=1 - warnings which may be relevant and do not occur too often 94 85 #
+8
scripts/kconfig/Makefile
··· 27 27 endif 28 28 KCONFIG_DEFCONFIG_LIST += arch/$(SRCARCH)/configs/$(KBUILD_DEFCONFIG) 29 29 30 + ifneq ($(findstring c, $(KBUILD_EXTRA_WARN)),) 31 + export KCONFIG_WARN_UNKNOWN_SYMBOLS=1 32 + endif 33 + 34 + ifneq ($(findstring e, $(KBUILD_EXTRA_WARN)),) 35 + export KCONFIG_WERROR=1 36 + endif 37 + 30 38 # We need this, in case the user has it in its environment 31 39 unexport CONFIG_ 32 40