[RFC XEN PATCH] build: Require explicit .config update

Anthony PERARD posted 1 patch 1 month, 1 week ago
Patches applied successfully (tree, apply log)
git fetch https://gitlab.com/xen-project/patchew/xen tags/patchew/20250917214519.64323-2-anthony@xenproject.org
xen/Makefile | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
[RFC XEN PATCH] build: Require explicit .config update
Posted by Anthony PERARD 1 month, 1 week ago
From: Anthony PERARD <anthony.perard@vates.tech>

It is sometime unwelcome for the config of the hypervisor to change.

Make output will be something like that:
  tools/kconfig/conf  --syncconfig Kconfig

  *** The configuration requires explicit update.

  make[2]: *** [/xen.git/xen/tools/kconfig/Makefile:73: syncconfig] Error 1
    GEN     Makefile
  /xen.git/xen/Rules.mk:19: include/config/auto.conf: No such file or directory
  make[2]: *** No rule to make target 'include/config/auto.conf'.  Stop.
  make[1]: *** [/xen.git/xen/Makefile:620: xen] Error 2
  make: *** [/xen.git/xen/Makefile:179: __sub-make] Error 2

This also prevent update when the toolchain change and change CONFIG_*
values like CONFIG_GCC_VERSION.

Proposed-by: during design session
Signed-off-by: Anthony PERARD <anthony.perard@vates.tech>
---

During the design session, the proposal was to compare .config before
and after syncconfig. But maybe KCONFIG_NOSILENTUPDATE is enough?

---
 xen/Makefile | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/xen/Makefile b/xen/Makefile
index 49da79e10f..efeaaa557c 100644
--- a/xen/Makefile
+++ b/xen/Makefile
@@ -379,7 +379,7 @@ $(KCONFIG_CONFIG): tools_fixdep
 # The syncconfig should be executed only once to make all the targets.
 include/config/%.conf include/config/%.conf.cmd: $(KCONFIG_CONFIG)
 	$(Q)rm -f include/config/auto.conf
-	$(Q)$(MAKE) $(build)=tools/kconfig syncconfig
+	$(Q)$(MAKE) $(build)=tools/kconfig syncconfig KCONFIG_NOSILENTUPDATE=1
 
 ifeq ($(CONFIG_DEBUG),y)
 CFLAGS += -O1
-- 
Anthony PERARD
Re: [RFC XEN PATCH] build: Require explicit .config update
Posted by Jan Beulich 1 month, 1 week ago
On 17.09.2025 23:45, Anthony PERARD wrote:
> From: Anthony PERARD <anthony.perard@vates.tech>
> 
> It is sometime unwelcome for the config of the hypervisor to change.
> 
> Make output will be something like that:
>   tools/kconfig/conf  --syncconfig Kconfig
> 
>   *** The configuration requires explicit update.
> 
>   make[2]: *** [/xen.git/xen/tools/kconfig/Makefile:73: syncconfig] Error 1
>     GEN     Makefile
>   /xen.git/xen/Rules.mk:19: include/config/auto.conf: No such file or directory
>   make[2]: *** No rule to make target 'include/config/auto.conf'.  Stop.
>   make[1]: *** [/xen.git/xen/Makefile:620: xen] Error 2
>   make: *** [/xen.git/xen/Makefile:179: __sub-make] Error 2
> 
> This also prevent update when the toolchain change and change CONFIG_*
> values like CONFIG_GCC_VERSION.
> 
> Proposed-by: during design session
> Signed-off-by: Anthony PERARD <anthony.perard@vates.tech>
> ---
> 
> During the design session, the proposal was to compare .config before
> and after syncconfig. But maybe KCONFIG_NOSILENTUPDATE is enough?

Didn't know something like this existed. It's sufficient imo, just that
we don't want to apply this mode unconditionally.

Jan