CONFIG_OVMF := @ovmf@
CONFIG_ROMBIOS := @rombios@
CONFIG_SEABIOS := @seabios@
+CONFIG_XEND := @xend@
#System options
CONFIG_SYSTEM_LIBAIO:= @system_aio@
APPEND_INCLUDES
PREPEND_LIB
PREPEND_INCLUDES
+xend
debug
seabios
rombios
enable_rombios
enable_seabios
enable_debug
+enable_xend
'
ac_precious_vars='build_alias
host_alias
--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
+# 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
+
+
+
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)])
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:
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:
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)
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:
$(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:
from distutils.core import setup, Extension
-import os
+import os, sys
XEN_ROOT = "../.."
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',
'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
)