From: Sam Ravnborg Date: Sun, 14 Oct 2007 20:26:53 +0000 (+0200) Subject: kbuild: check for wrong use of CFLAGS X-Git-Tag: v2.6.24-rc1~830^2~5 X-Git-Url: https://err.no/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=0c53c8e6eb456cde30f2305421c605713856abc8;p=linux-2.6 kbuild: check for wrong use of CFLAGS External modules have in a few cases modifed gcc option by modifying CFLAGS. This has never been documented and was a bad practice. With the check to use KBUILD_CFLAGS it will no longer work so we better error out and tell what was wrong as a service to the external module users. This check can be overruled if KBUILD_NOPEDANTIC is set to something. Addid this possibility may allow older external module to build without any code modifications but potentially only loosing some un-important gcc options. Signed-off-by: Sam Ravnborg --- diff --git a/scripts/Makefile.build b/scripts/Makefile.build index 8ef1d61ec2..d32b40048f 100644 --- a/scripts/Makefile.build +++ b/scripts/Makefile.build @@ -28,10 +28,20 @@ EXTRA_LDFLAGS := include scripts/Kbuild.include +# For backward compatibility check that these variables does not change +save-cflags := $(CFLAGS) + # The filename Kbuild has precedence over Makefile kbuild-dir := $(if $(filter /%,$(src)),$(src),$(srctree)/$(src)) -include $(if $(wildcard $(kbuild-dir)/Kbuild), $(kbuild-dir)/Kbuild, $(kbuild-dir)/Makefile) - +kbuild-file := $(if $(wildcard $(kbuild-dir)/Kbuild),$(kbuild-dir)/Kbuild,$(kbuild-dir)/Makefile) +include $(kbuild-file) + +# If the save-* variables changed error out +ifeq ($(KBUILD_NOPEDANTIC),) + ifneq ("$(save-cflags)","$(CFLAGS)") + $(error CFLAGS was changed in "$(kbuild-file)". Fix it to use EXTRA_CFLAGS) + endif +endif include scripts/Makefile.lib ifdef host-progs