mirror of
https://github.com/xen-project/xen.git
synced 2026-10-28 02:01:24 +01:00
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:
1 parent
cae8e26272
commit
0b000a2ce8
2 files changed
+17
-9
No files matched your search
@@ -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
@@ -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
|
||||
|
||||