xen: rework checkpolicy detection when using "randconfig"

This patch allows to easily add more override which depends on the
environment.

Also, move the check out of Config.mk and into xen/ build system.
Nothing in tools/ is using that information as it's done by
./configure.

We named the new file ".allconfig.tmp" as ".*.tmp" are already ignored
via .gitignore.

Signed-off-by: Anthony PERARD <anthony.perard@citrix.com>
Reviewed-by: Luca Fancellu <luca.fancellu@arm.com>
Reviewed-by: Jan Beulich <jbeulich@suse.com>
This commit is contained in:
Anthony PERARD authored and Jan Beulich committed 2021-09-29 11:58:15 +02:00
1 parent cae8e26272
commit 0b000a2ce8
2 files changed
+17 -9

No files matched your search

-6
View File
@@ -137,12 +137,6 @@ export XEN_HAS_BUILD_ID=y
build_id_linker := --build-id=sha1
endif
ifndef XEN_HAS_CHECKPOLICY
CHECKPOLICY ?= checkpolicy
XEN_HAS_CHECKPOLICY := $(shell $(CHECKPOLICY) -h 2>&1 | grep -q xen && echo y || echo n)
export XEN_HAS_CHECKPOLICY
endif
define buildmakevars2shellvars
export PREFIX="$(prefix)"; \
export XEN_SCRIPT_DIR="$(XEN_SCRIPT_DIR)"; \
+17 -3
View File
@@ -17,6 +17,8 @@ export XEN_BUILD_HOST ?= $(shell hostname)
PYTHON_INTERPRETER := $(word 1,$(shell which python3 python python2 2>/dev/null) python)
export PYTHON ?= $(PYTHON_INTERPRETER)
export CHECKPOLICY ?= checkpolicy
export BASEDIR := $(CURDIR)
export XEN_ROOT := $(BASEDIR)/..
@@ -178,6 +180,8 @@ CFLAGS += $(CLANG_FLAGS)
export CLANG_FLAGS
endif
export XEN_HAS_CHECKPOLICY := $(call success,$(CHECKPOLICY) -h 2>&1 | grep -q xen)
export root-make-done := y
endif # root-make-done
@@ -189,14 +193,24 @@ ifeq ($(config-build),y)
# *config targets only - make sure prerequisites are updated, and descend
# in tools/kconfig to make the *config target
# Create a file for KCONFIG_ALLCONFIG which depends on the environment.
# This will be use by kconfig targets allyesconfig/allmodconfig/allnoconfig/randconfig
filechk_kconfig_allconfig = \
$(if $(findstring n,$(XEN_HAS_CHECKPOLICY)), echo 'CONFIG_XSM_FLASK_POLICY=n';) \
$(if $(KCONFIG_ALLCONFIG), cat $(KCONFIG_ALLCONFIG);) \
:
.allconfig.tmp: FORCE
set -e; { $(call filechk_kconfig_allconfig); } > $@
config: FORCE
$(MAKE) $(kconfig) $@
# Config.mk tries to include .config file, don't try to remake it
%/.config: ;
%config: FORCE
$(MAKE) $(kconfig) $@
%config: .allconfig.tmp FORCE
$(MAKE) $(kconfig) KCONFIG_ALLCONFIG=$< $@
else # !config-build
@@ -368,7 +382,7 @@ _clean: delete-unfresh-files
-o -name "*.gcno" -o -name ".*.cmd" -o -name "lib.a" \) -exec rm -f {} \;
rm -f include/asm $(TARGET) $(TARGET).gz $(TARGET).efi $(TARGET).efi.map $(TARGET)-syms $(TARGET)-syms.map *~ core
rm -f asm-offsets.s include/asm-*/asm-offsets.h
rm -f .banner
rm -f .banner .allconfig.tmp
.PHONY: _distclean
_distclean: clean
Reference in new issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.