[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[xen staging] build: make sure build fails when running kconfig fails



commit d34e5fa2e8db19f23081f46a3e710bb122130691
Author:     Jan Beulich <jbeulich@xxxxxxxx>
AuthorDate: Thu Feb 22 11:52:47 2024 +0100
Commit:     Jan Beulich <jbeulich@xxxxxxxx>
CommitDate: Thu Feb 22 11:52:47 2024 +0100

    build: make sure build fails when running kconfig fails
    
    Because of using "-include", failure to (re)build auto.conf (with
    auto.conf.cmd produced as a secondary target) won't stop make from
    continuing the build. Arrange for it being possible to drop the - from
    Rules.mk, requiring that the include be skipped for tools-only targets.
    Note that relying on the inclusion in those cases wouldn't be correct
    anyway, as it might be a stale file (yet to be rebuilt) which would be
    included, while during initial build, the file would be absent
    altogether.
    
    Fixes: 8d4c17a90b0a ("xen/build: silence make warnings about missing 
auto.conf*")
    Reported-by: Roger Pau Monné <roger.pau@xxxxxxxxxx>
    Signed-off-by: Jan Beulich <jbeulich@xxxxxxxx>
    Reviewed-by: Anthony PERARD <anthony.perard@xxxxxxxxxx>
---
 xen/Makefile | 1 +
 xen/Rules.mk | 4 +++-
 2 files changed, 4 insertions(+), 1 deletion(-)

diff --git a/xen/Makefile b/xen/Makefile
index 767e47d6c7..b6c39fc6ae 100644
--- a/xen/Makefile
+++ b/xen/Makefile
@@ -375,6 +375,7 @@ $(KCONFIG_CONFIG): tools_fixdep
 # This exploits the 'multi-target pattern rule' trick.
 # 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
 
 ifeq ($(CONFIG_DEBUG),y)
diff --git a/xen/Rules.mk b/xen/Rules.mk
index 8af3dd7277..d759cccee3 100644
--- a/xen/Rules.mk
+++ b/xen/Rules.mk
@@ -15,7 +15,9 @@ srcdir := $(srctree)/$(src)
 PHONY := __build
 __build:
 
--include $(objtree)/include/config/auto.conf
+ifneq ($(firstword $(subst /, ,$(obj))),tools)
+include $(objtree)/include/config/auto.conf
+endif
 
 include $(XEN_ROOT)/Config.mk
 include $(srctree)/scripts/Kbuild.include
--
generated by git-patchbot for /home/xen/git/xen.git#staging



 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.