diff options
author | Keir Fraser <keir.fraser@citrix.com> | 2008-07-03 10:44:13 +0100 |
---|---|---|
committer | Keir Fraser <keir.fraser@citrix.com> | 2008-07-03 10:44:13 +0100 |
commit | 554a3a3375a568ba3fc44816ddf8e5568d7944a3 (patch) | |
tree | d748f16618a599abe64b04ba1487d1bc3992d7cb | |
parent | 8e65d32968c334f36093513b7c99ce4fa8e38106 (diff) | |
download | xen-554a3a3375a568ba3fc44816ddf8e5568d7944a3.tar.gz xen-554a3a3375a568ba3fc44816ddf8e5568d7944a3.tar.bz2 xen-554a3a3375a568ba3fc44816ddf8e5568d7944a3.zip |
Support building of out-of-tree merged qemu from git
This provides support for building the new merged qemu from
qemu-xen.git, or from a local checkout.
The default is still to use the in-tree version, because the patchman
infrastructure for testing, and propagation from staging to
xen-unstable, needs a small amount of work to cope with git.
Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com>
-rw-r--r-- | .hgignore | 2 | ||||
-rw-r--r-- | Config.mk | 8 | ||||
-rw-r--r-- | config/StdGNU.mk | 3 | ||||
-rw-r--r-- | tools/Makefile | 29 |
4 files changed, 42 insertions, 0 deletions
@@ -248,6 +248,8 @@ ^tools/xm-test/lib/XmTestLib/config.py$ ^tools/xm-test/lib/XmTestReport/xmtest.py$ ^tools/xm-test/tests/.*\.test$ +^tools/ioemu-remote +^tools/ioemu-dir$ ^xen/\.banner.*$ ^xen/BLOG$ ^xen/System.map$ @@ -78,6 +78,14 @@ XSM_ENABLE ?= n FLASK_ENABLE ?= n ACM_SECURITY ?= n +QEMU_REMOTE=http://www.chiark.greenend.org.uk/~ijackson/qemu-xen.git + +# Specify which qemu-dm to use. This may be `ioemu' to use the old +# Mercurial in-tree version, or a local directory, or a git URL. +CONFIG_QEMU ?= ioemu +# CONFIG_QEMU ?= ../qemu-xen.git +# CONFIG_QEMU ?= $(QEMU_REMOTE) + # Optional components XENSTAT_XENTOP ?= y VTPM_TOOLS ?= n diff --git a/config/StdGNU.mk b/config/StdGNU.mk index c020357654..aaa89a2664 100644 --- a/config/StdGNU.mk +++ b/config/StdGNU.mk @@ -13,6 +13,9 @@ SIZEUTIL = $(CROSS_COMPILE)size MSGFMT = msgfmt MSGMERGE = msgmerge +# Allow git to be wrappered in the environment +GIT ?= git + INSTALL = install INSTALL_DIR = $(INSTALL) -d -m0755 -p INSTALL_DATA = $(INSTALL) -m0644 -p diff --git a/tools/Makefile b/tools/Makefile index ace8a1a46a..4914033997 100644 --- a/tools/Makefile +++ b/tools/Makefile @@ -22,7 +22,12 @@ SUBDIRS-y += libaio SUBDIRS-y += blktap SUBDIRS-y += libfsimage SUBDIRS-$(LIBXENAPI_BINDINGS) += libxen + +ifeq (ioemu,$(CONFIG_QEMU)) SUBDIRS-$(CONFIG_IOEMU) += ioemu +else +SUBDIRS-$(CONFIG_IOEMU) += ioemu-dir +endif # These don't cross-compile ifeq ($(XEN_COMPILE_ARCH),$(XEN_TARGET_ARCH)) @@ -62,3 +67,27 @@ subdir-all-ioemu subdir-install-ioemu: ioemu/config-host.mak subdir-clean-ioemu: $(MAKE) -C ioemu distclean +ioemu-dir-find: + set -ex; \ + if test -d $(CONFIG_QEMU); then \ + rm -f ioemu-dir; \ + ln -sf $(CONFIG_QEMU) ioemu-dir; \ + else \ + if [ ! -d ioemu-remote ]; then \ + rm -rf ioemu-remote ioemu-remote.tmp; \ + mkdir ioemu-remote.tmp; rmdir ioemu-remote.tmp; \ + $(GIT) clone $(CONFIG_QEMU) ioemu-remote.tmp; \ + mv ioemu-remote.tmp ioemu-remote; \ + fi; \ + ln -sf ioemu-remote ioemu-dir; \ + fi + set -e; \ + case "$XEN_ROOT" in \ + /*) XEN_ROOT=$(XEN_ROOT) ;; \ + *) XEN_ROOT=`pwd`/$(XEN_ROOT) ;; \ + esac; \ + export XEN_ROOT; \ + cd ioemu-dir; \ + ./xen-setup + +subdir-all-ioemu-dir subdir-install-ioemu-dir: ioemu-dir-find |