# HG changeset patch
# User Keir Fraser <keir.fraser@xxxxxxxxxx>
# Date 1215078253 -3600
# Node ID 20215b87d0f3587ed5e928c31b1df2596b15ae79
# Parent 52a388ec09f852ffd7e42a71593c63f21a7b9fad
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@xxxxxxxxxxxxx>
---
.hgignore | 2 ++
Config.mk | 8 ++++++++
config/StdGNU.mk | 3 +++
tools/Makefile | 29 +++++++++++++++++++++++++++++
4 files changed, 42 insertions(+)
diff -r 52a388ec09f8 -r 20215b87d0f3 .hgignore
--- a/.hgignore Thu Jul 03 10:27:12 2008 +0100
+++ b/.hgignore Thu Jul 03 10:44:13 2008 +0100
@@ -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$
diff -r 52a388ec09f8 -r 20215b87d0f3 Config.mk
--- a/Config.mk Thu Jul 03 10:27:12 2008 +0100
+++ b/Config.mk Thu Jul 03 10:44:13 2008 +0100
@@ -78,6 +78,14 @@ FLASK_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 -r 52a388ec09f8 -r 20215b87d0f3 config/StdGNU.mk
--- a/config/StdGNU.mk Thu Jul 03 10:27:12 2008 +0100
+++ b/config/StdGNU.mk Thu Jul 03 10:44:13 2008 +0100
@@ -12,6 +12,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
diff -r 52a388ec09f8 -r 20215b87d0f3 tools/Makefile
--- a/tools/Makefile Thu Jul 03 10:27:12 2008 +0100
+++ b/tools/Makefile Thu Jul 03 10:44:13 2008 +0100
@@ -22,7 +22,12 @@ SUBDIRS-y += blktap
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-clean-ioemu:
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
_______________________________________________
Xen-changelog mailing list
Xen-changelog@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-changelog
|