Add a "testbuild" target to the Makefile to test building a set of pre-defined configurations.
Configurations tested are stored under arch/<arch>/testbuild in form of configuration files. All configurations found there are built in a local directory. Signed-off-by: Juergen Gross <jgr...@suse.com> --- Makefile | 10 ++++++++++ arch/x86/arch.mk | 2 ++ arch/x86/testbuild/all-no | 18 ++++++++++++++++++ arch/x86/testbuild/all-yes | 19 +++++++++++++++++++ arch/x86/testbuild/balloon | 2 ++ arch/x86/testbuild/newxen | 1 + arch/x86/testbuild/newxen-yes | 20 ++++++++++++++++++++ arch/x86/testbuild/std | 0 8 files changed, 72 insertions(+) create mode 100644 arch/x86/testbuild/all-no create mode 100644 arch/x86/testbuild/all-yes create mode 100644 arch/x86/testbuild/balloon create mode 100644 arch/x86/testbuild/newxen create mode 100644 arch/x86/testbuild/newxen-yes create mode 100644 arch/x86/testbuild/std diff --git a/Makefile b/Makefile index 8e8e56e..81b936f 100644 --- a/Makefile +++ b/Makefile @@ -178,6 +178,16 @@ clean: arch_clean $(RM) $(OBJ_DIR)/lwip.a $(LWO) rm -f tags TAGS +.PHONY: testbuild +TEST_CONFIGS := $(wildcard $(CURDIR)/$(TARGET_ARCH_DIR)/testbuild/*) +testbuild: + for arch in $(MINIOS_TARGET_ARCHS); do \ + for conf in $(TEST_CONFIGS); do \ + $(MAKE) clean; \ + MINIOS_TARGET_ARCH=$$arch MINIOS_CONFIG=$$conf $(MAKE) || exit 1; \ + done; \ + done + $(MAKE) clean define all_sources ( find . -name '*.[chS]' -print ) diff --git a/arch/x86/arch.mk b/arch/x86/arch.mk index 673a19d..c87885f 100644 --- a/arch/x86/arch.mk +++ b/arch/x86/arch.mk @@ -3,6 +3,8 @@ # (including x86_32, x86_32y and x86_64). # +MINIOS_TARGET_ARCHS := x86_32 x86_64 + ifeq ($(MINIOS_TARGET_ARCH),x86_32) ARCH_CFLAGS := -m32 -march=i686 ARCH_LDFLAGS := -m elf_i386 diff --git a/arch/x86/testbuild/all-no b/arch/x86/testbuild/all-no new file mode 100644 index 0000000..78720c3 --- /dev/null +++ b/arch/x86/testbuild/all-no @@ -0,0 +1,18 @@ +CONFIG_PARAVIRT = n +CONFIG_START_NETWORK = n +CONFIG_SPARSE_BSS = n +CONFIG_QEMU_XS_ARGS = n +CONFIG_TEST = n +CONFIG_PCIFRONT = n +CONFIG_BLKFRONT = n +CONFIG_TPMFRONT = n +CONFIG_TPM_TIS = n +CONFIG_TPMBACK = n +CONFIG_NETFRONT = n +CONFIG_FBFRONT = n +CONFIG_KBDFRONT = n +CONFIG_CONSFRONT = n +CONFIG_XENBUS = n +CONFIG_XC = n +CONFIG_LWIP = n +CONFIG_BALLOON = n diff --git a/arch/x86/testbuild/all-yes b/arch/x86/testbuild/all-yes new file mode 100644 index 0000000..303c56b --- /dev/null +++ b/arch/x86/testbuild/all-yes @@ -0,0 +1,19 @@ +CONFIG_PARAVIRT = y +CONFIG_START_NETWORK = y +CONFIG_SPARSE_BSS = y +CONFIG_QEMU_XS_ARGS = y +CONFIG_TEST = y +CONFIG_PCIFRONT = y +CONFIG_BLKFRONT = y +CONFIG_TPMFRONT = y +CONFIG_TPM_TIS = y +CONFIG_TPMBACK = y +CONFIG_NETFRONT = y +CONFIG_FBFRONT = y +CONFIG_KBDFRONT = y +CONFIG_CONSFRONT = y +CONFIG_XENBUS = y +CONFIG_XC = y +# LWIP is special: it needs support from outside +CONFIG_LWIP = n +CONFIG_BALLOON = y diff --git a/arch/x86/testbuild/balloon b/arch/x86/testbuild/balloon new file mode 100644 index 0000000..6fa5eef --- /dev/null +++ b/arch/x86/testbuild/balloon @@ -0,0 +1,2 @@ +CONFIG_PARAVIRT = n +CONFIG_BALLOON = y diff --git a/arch/x86/testbuild/newxen b/arch/x86/testbuild/newxen new file mode 100644 index 0000000..b412924 --- /dev/null +++ b/arch/x86/testbuild/newxen @@ -0,0 +1 @@ +XEN_INTERFACE_VERSION=__XEN_LATEST_INTERFACE_VERSION__ diff --git a/arch/x86/testbuild/newxen-yes b/arch/x86/testbuild/newxen-yes new file mode 100644 index 0000000..907a8a0 --- /dev/null +++ b/arch/x86/testbuild/newxen-yes @@ -0,0 +1,20 @@ +CONFIG_PARAVIRT = y +CONFIG_START_NETWORK = y +CONFIG_SPARSE_BSS = y +CONFIG_QEMU_XS_ARGS = y +CONFIG_TEST = y +CONFIG_PCIFRONT = y +CONFIG_BLKFRONT = y +CONFIG_TPMFRONT = y +CONFIG_TPM_TIS = y +CONFIG_TPMBACK = y +CONFIG_NETFRONT = y +CONFIG_FBFRONT = y +CONFIG_KBDFRONT = y +CONFIG_CONSFRONT = y +CONFIG_XENBUS = y +CONFIG_XC = y +# LWIP is special: it needs support from outside +CONFIG_LWIP = n +CONFIG_BALLOON = y +XEN_INTERFACE_VERSION=__XEN_LATEST_INTERFACE_VERSION__ diff --git a/arch/x86/testbuild/std b/arch/x86/testbuild/std new file mode 100644 index 0000000..e69de29 -- 2.6.6 _______________________________________________ Xen-devel mailing list Xen-devel@lists.xen.org https://lists.xen.org/xen-devel