[Xen-devel] [XEN PATCH] build: detect compiler upgrade to rerun kconfig

Anthony PERARD posted 1 patch 4 years, 1 month ago
Patches applied successfully (tree, apply log)
git fetch https://github.com/patchew-project/xen tags/patchew/20200326135621.687685-1-anthony.perard@citrix.com
Maintainers: Jan Beulich <jbeulich@suse.com>, Julien Grall <julien@xen.org>, Andrew Cooper <andrew.cooper3@citrix.com>, Stefano Stabellini <sstabellini@kernel.org>, Ian Jackson <ian.jackson@eu.citrix.com>, Wei Liu <wl@xen.org>, George Dunlap <george.dunlap@citrix.com>
xen/Kconfig  | 2 ++
xen/Makefile | 4 ++++
2 files changed, 6 insertions(+)
[Xen-devel] [XEN PATCH] build: detect compiler upgrade to rerun kconfig
Posted by Anthony PERARD 4 years, 1 month ago
This simple comment allows to detect when $(CC) changes version.
Kconfig will be rerun in this case. (Rerun is forced by
include/config.auto.cmd which detects changes of CC_VERSION_TEXT
value).

Signed-off-by: Anthony PERARD <anthony.perard@citrix.com>
---
 xen/Kconfig  | 2 ++
 xen/Makefile | 4 ++++
 2 files changed, 6 insertions(+)

diff --git a/xen/Kconfig b/xen/Kconfig
index 073042f46730..4ffa2f90a267 100644
--- a/xen/Kconfig
+++ b/xen/Kconfig
@@ -4,6 +4,8 @@
 #
 mainmenu "Xen/$(SRCARCH) $(XEN_FULLVERSION) Configuration"
 
+comment "Compiler: $(CC_VERSION_TEXT)"
+
 source "scripts/Kconfig.include"
 
 config BROKEN
diff --git a/xen/Makefile b/xen/Makefile
index e5f7b1ae13bc..6dadb3afc119 100644
--- a/xen/Makefile
+++ b/xen/Makefile
@@ -277,6 +277,10 @@ $(foreach base,arch/x86/mm/guest_walk_% \
                arch/x86/mm/shadow/guest_%, \
     $(foreach ext,o i s,$(call build-intermediate,$(base).$(ext))))
 
+# CC_VERSION_TEXT is referenced from Kconfig (so it needs export),
+# and from include/config/auto.conf.cmd to detect the compiler upgrade.
+export CC_VERSION_TEXT := $(shell $(CC) --version 2>/dev/null | head -n 1)
+
 kconfig := oldconfig config menuconfig defconfig allyesconfig allnoconfig \
 	nconfig xconfig gconfig savedefconfig listnewconfig olddefconfig \
 	randconfig $(notdir $(wildcard arch/$(SRCARCH)/configs/*_defconfig))
-- 
Anthony PERARD


Re: [Xen-devel] [XEN PATCH] build: detect compiler upgrade to rerun kconfig
Posted by Andrew Cooper 4 years, 1 month ago
On 26/03/2020 13:56, Anthony PERARD wrote:
> This simple comment allows to detect when $(CC) changes version.
> Kconfig will be rerun in this case. (Rerun is forced by
> include/config.auto.cmd which detects changes of CC_VERSION_TEXT
> value).
>
> Signed-off-by: Anthony PERARD <anthony.perard@citrix.com>

I'd suggest s/upgrade/change/ in the subject.  When developing with two
different compilers, one half of the transitions will be a downgrade.

Acked-by: Andrew Cooper <andrew.cooper3@citrix.com>

Re: [Xen-devel] [XEN PATCH] build: detect compiler upgrade to rerun kconfig
Posted by Anthony PERARD 4 years, 1 month ago
On Thu, Mar 26, 2020 at 02:02:43PM +0000, Andrew Cooper wrote:
> On 26/03/2020 13:56, Anthony PERARD wrote:
> > This simple comment allows to detect when $(CC) changes version.
> > Kconfig will be rerun in this case. (Rerun is forced by
> > include/config.auto.cmd which detects changes of CC_VERSION_TEXT

:-(, there's a typo here, the path should read
"include/config/auto.conf.cmd".

> > value).
> >
> > Signed-off-by: Anthony PERARD <anthony.perard@citrix.com>
> 
> I'd suggest s/upgrade/change/ in the subject.  When developing with two
> different compilers, one half of the transitions will be a downgrade.

Change of $(CC) is already been taken care of ;-). "upgrade" is what
Linux choose to call it but "change" might be ok too.

> Acked-by: Andrew Cooper <andrew.cooper3@citrix.com>

Thanks,

-- 
Anthony PERARD

Re: [Xen-devel] [XEN PATCH] build: detect compiler upgrade to rerun kconfig
Posted by Jan Beulich 4 years, 1 month ago
On 26.03.2020 14:56, Anthony PERARD wrote:
> This simple comment allows to detect when $(CC) changes version.
> Kconfig will be rerun in this case. (Rerun is forced by
> include/config.auto.cmd which detects changes of CC_VERSION_TEXT
> value).
> 
> Signed-off-by: Anthony PERARD <anthony.perard@citrix.com>

Well, as said on the other thread, while this is a step forward,
it doesn't cover all relevant cases.

Jan