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

[Xen-devel] [PATCH 2/9] 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 <ian.campbell@xxxxxxxxxx>
---
 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 5e2c6d8..ef41c2a 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 079646c..6e2f758 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 4f5e688..d6eba44 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 8cea724..cc853fa 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 8b0d7f4..b7737ab 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 2ae5a34..3d7f222 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 8461d0f..3d0f8f0 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 42a70fc..4f66564 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
       )
-- 
1.7.2.5


_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel


 


Rackspace

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