From 03145f0fe42c007834c1ef50d95fe6c4f58a326a Mon Sep 17 00:00:00 2001 From: Ian Campbell Date: Wed, 31 Jul 2013 16:15:50 +0100 Subject: tools: make building xend configurable. xend has been deprecated for 2 releases now. Lets make it possible to not even build it. For now I'm leaving the default of on but I would like to change that before the 4.4 release. Signed-off-by: Ian Campbell Reviewed-by: Andrew Cooper Acked-by: Matt Wilson Acked-by: Ian Jackson --- config/Tools.mk.in | 1 + tools/configure | 26 ++++++++++++++++++++++++++ tools/configure.ac | 1 + tools/examples/Makefile | 33 ++++++++++++++++----------------- tools/hotplug/Linux/Makefile | 5 ++++- tools/hotplug/NetBSD/Makefile | 3 ++- tools/python/Makefile | 10 ++++++++-- tools/python/setup.py | 35 ++++++++++++++++++++++++++--------- 8 files changed, 84 insertions(+), 30 deletions(-) diff --git a/config/Tools.mk.in b/config/Tools.mk.in index 5e2c6d8810..ef41c2a748 100644 --- a/config/Tools.mk.in +++ b/config/Tools.mk.in @@ -52,6 +52,7 @@ CONFIG_LOMOUNT := @lomount@ CONFIG_OVMF := @ovmf@ CONFIG_ROMBIOS := @rombios@ CONFIG_SEABIOS := @seabios@ +CONFIG_XEND := @xend@ #System options CONFIG_SYSTEM_LIBAIO:= @system_aio@ diff --git a/tools/configure b/tools/configure index 079646c7a0..6e2f7582f4 100755 --- a/tools/configure +++ b/tools/configure @@ -654,6 +654,7 @@ APPEND_LIB APPEND_INCLUDES PREPEND_LIB PREPEND_INCLUDES +xend debug seabios rombios @@ -734,6 +735,7 @@ enable_ovmf enable_rombios enable_seabios enable_debug +enable_xend ' ac_precious_vars='build_alias host_alias @@ -1394,6 +1396,7 @@ Optional Features: --disable-rombios Disable ROM BIOS (default is ENABLED) --disable-seabios Disable SeaBIOS (default is ENABLED) --disable-debug Disable debug build of tools (default is ENABLED) + --disable-xend Disable xend toolstack (default is ENABLED) Some influential environment variables: CC C compiler command @@ -3654,6 +3657,29 @@ debug=$ax_cv_debug +# Check whether --enable-xend was given. +if test "${enable_xend+set}" = set; then : + enableval=$enable_xend; +fi + + +if test "x$enable_xend" = "xno"; then : + + ax_cv_xend="n" + +elif test "x$enable_xend" = "xyes"; then : + + ax_cv_xend="y" + +elif test -z $ax_cv_xend; then : + + ax_cv_xend="y" + +fi +xend=$ax_cv_xend + + + diff --git a/tools/configure.ac b/tools/configure.ac index 4f5e688ce2..d6eba44315 100644 --- a/tools/configure.ac +++ b/tools/configure.ac @@ -59,6 +59,7 @@ AX_ARG_DEFAULT_DISABLE([ovmf], [Enable OVMF]) AX_ARG_DEFAULT_ENABLE([rombios], [Disable ROM BIOS]) AX_ARG_DEFAULT_ENABLE([seabios], [Disable SeaBIOS]) AX_ARG_DEFAULT_ENABLE([debug], [Disable debug build of tools]) +AX_ARG_DEFAULT_ENABLE([xend], [Disable xend toolstack]) AC_ARG_VAR([PREPEND_INCLUDES], [List of include folders to prepend to CFLAGS (without -I)]) diff --git a/tools/examples/Makefile b/tools/examples/Makefile index 8cea724e10..cc853fabec 100644 --- a/tools/examples/Makefile +++ b/tools/examples/Makefile @@ -1,31 +1,30 @@ XEN_ROOT = $(CURDIR)/../.. include $(XEN_ROOT)/tools/Rules.mk -# Init scripts. -XEND_INITD = init.d/xend -XENDOMAINS_INITD = init.d/xendomains -XENDOMAINS_SYSCONFIG = init.d/sysconfig.xendomains - # Xen configuration dir and configs to go there. XEN_READMES = README XEN_READMES += README.incompatibilities -XEN_CONFIGS = xend-config.sxp -XEN_CONFIGS += xm-config.xml -XEN_CONFIGS += xmexample1 -XEN_CONFIGS += xmexample2 -XEN_CONFIGS += xmexample3 -XEN_CONFIGS += xmexample.hvm -XEN_CONFIGS += xmexample.hvm-stubdom -XEN_CONFIGS += xmexample.pv-grub -XEN_CONFIGS += xmexample.nbd -XEN_CONFIGS += xmexample.vti + +XEN_CONFIGS-$(CONFIG_XEND) += xend-config.sxp +XEN_CONFIGS-$(CONFIG_XEND) += xm-config.xml +XEN_CONFIGS-$(CONFIG_XEND) += xmexample1 +XEN_CONFIGS-$(CONFIG_XEND) += xmexample2 +XEN_CONFIGS-$(CONFIG_XEND) += xmexample3 +XEN_CONFIGS-$(CONFIG_XEND) += xmexample.hvm +XEN_CONFIGS-$(CONFIG_XEND) += xmexample.hvm-stubdom +XEN_CONFIGS-$(CONFIG_XEND) += xmexample.pv-grub +XEN_CONFIGS-$(CONFIG_XEND) += xmexample.nbd +XEN_CONFIGS-$(CONFIG_XEND) += xmexample.vti +XEN_CONFIGS-$(CONFIG_XEND) += xend-pci-quirks.sxp +XEN_CONFIGS-$(CONFIG_XEND) += xend-pci-permissive.sxp + XEN_CONFIGS += xlexample.hvm XEN_CONFIGS += xlexample.pvlinux -XEN_CONFIGS += xend-pci-quirks.sxp -XEN_CONFIGS += xend-pci-permissive.sxp XEN_CONFIGS += xl.conf XEN_CONFIGS += cpupool +XEN_CONFIGS += $(XEN_CONFIGS-y) + .PHONY: all all: diff --git a/tools/hotplug/Linux/Makefile b/tools/hotplug/Linux/Makefile index 8b0d7f4dda..b7737ab498 100644 --- a/tools/hotplug/Linux/Makefile +++ b/tools/hotplug/Linux/Makefile @@ -28,7 +28,8 @@ XEN_SCRIPT_DATA += xen-hotplug-common.sh xen-network-common.sh vif-common.sh XEN_SCRIPT_DATA += block-common.sh UDEV_RULES_DIR = $(CONFIG_DIR)/udev -UDEV_RULES = xen-backend.rules xend.rules +UDEV_RULES-$(CONFIG_XEND) = xend.rules +UDEV_RULES = xen-backend.rules $(UDEV_RULES-y) .PHONY: all all: @@ -44,7 +45,9 @@ install: all install-initd install-scripts install-udev install-initd: [ -d $(DESTDIR)$(INITD_DIR) ] || $(INSTALL_DIR) $(DESTDIR)$(INITD_DIR) [ -d $(DESTDIR)$(SYSCONFIG_DIR) ] || $(INSTALL_DIR) $(DESTDIR)$(SYSCONFIG_DIR) +ifeq ($(CONFIG_XEND),y) $(INSTALL_PROG) $(XEND_INITD) $(DESTDIR)$(INITD_DIR) +endif $(INSTALL_PROG) $(XENDOMAINS_INITD) $(DESTDIR)$(INITD_DIR) $(INSTALL_DATA) $(XENDOMAINS_SYSCONFIG) $(DESTDIR)$(SYSCONFIG_DIR)/xendomains $(INSTALL_PROG) $(XENCOMMONS_INITD) $(DESTDIR)$(INITD_DIR) diff --git a/tools/hotplug/NetBSD/Makefile b/tools/hotplug/NetBSD/Makefile index 2ae5a34ebc..3d7f2222c9 100644 --- a/tools/hotplug/NetBSD/Makefile +++ b/tools/hotplug/NetBSD/Makefile @@ -8,7 +8,8 @@ XEN_SCRIPTS += vif-bridge XEN_SCRIPTS += vif-ip XEN_SCRIPT_DATA = -XEN_RCD_PROG = rc.d/xencommons rc.d/xend rc.d/xendomains rc.d/xen-watchdog +XEN_RCD_PROG-$(CONFIG_XEND) = rc.d/xend +XEN_RCD_PROG = rc.d/xencommons $(XEN_RCD_PROG-y) rc.d/xendomains rc.d/xen-watchdog .PHONY: all all: diff --git a/tools/python/Makefile b/tools/python/Makefile index 8461d0fe4d..3d0f8f0678 100644 --- a/tools/python/Makefile +++ b/tools/python/Makefile @@ -16,20 +16,26 @@ build: genpath genwrap.py $(XEN_ROOT)/tools/libxl/libxl_types.idl \ $(XEN_ROOT)/tools/libxl/libxl_types.idl \ xen/lowlevel/xl/_pyxl_types.h \ xen/lowlevel/xl/_pyxl_types.c - CC="$(CC)" CFLAGS="$(CFLAGS)" $(PYTHON) setup.py build + CC="$(CC)" CFLAGS="$(CFLAGS)" $(PYTHON) setup.py build --xend=$(CONFIG_XEND) .PHONY: install install: install-dtd CC="$(CC)" CFLAGS="$(CFLAGS)" $(PYTHON) setup.py install \ - $(PYTHON_PREFIX_ARG) --root="$(DESTDIR)" --force + $(PYTHON_PREFIX_ARG) --root="$(DESTDIR)" --force --xend=$(CONFIG_XEND) $(INSTALL_DIR) $(DESTDIR)$(SBINDIR) +ifeq ($(CONFIG_XEND),y) $(INSTALL_PYTHON_PROG) xen/xm/xm $(DESTDIR)$(SBINDIR)/xm $(INSTALL_PYTHON_PROG) xen/xend/xend $(DESTDIR)$(SBINDIR)/xend +endif install-dtd: all +ifeq ($(CONFIG_XEND),y) $(INSTALL_DIR) $(DESTDIR)$(SHAREDIR)/xen $(INSTALL_DATA) xen/xm/create.dtd $(DESTDIR)$(SHAREDIR)/xen +else + : +endif .PHONY: test test: diff --git a/tools/python/setup.py b/tools/python/setup.py index 42a70fc8d3..4f6656427c 100644 --- a/tools/python/setup.py +++ b/tools/python/setup.py @@ -1,6 +1,6 @@ from distutils.core import setup, Extension -import os +import os, sys XEN_ROOT = "../.." @@ -95,11 +95,19 @@ if plat == 'SunOS': if plat == 'Linux': modules.extend([ checkpoint, netlink ]) -setup(name = 'xen', - version = '3.0', - description = 'Xen', - packages = ['xen', - 'xen.lowlevel', +enable_xend = True +new_argv = [] +for arg in sys.argv: + if arg == "--xend=y": + enable_xend = True + elif arg == "--xend=n": + enable_xend = False + else: + new_argv.append(arg) +sys.argv = new_argv + +if enable_xend: + xend_packages = [ 'xen.util', 'xen.util.xsm', 'xen.util.xsm.dummy', @@ -110,14 +118,23 @@ setup(name = 'xen', 'xen.xend.xenstore', 'xen.xm', 'xen.web', - 'xen.sv', - 'xen.xsview', 'xen.remus', 'xen.xend.tests', 'xen.xend.server.tests', 'xen.xend.xenstore.tests', 'xen.xm.tests' - ], + ] +else: + xend_packages = [] + +setup(name = 'xen', + version = '3.0', + description = 'Xen', + packages = ['xen', + 'xen.lowlevel', + 'xen.sv', + 'xen.xsview', + ] + xend_packages, ext_package = "xen.lowlevel", ext_modules = modules ) -- cgit v1.2.3