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

[Xen-devel] [PATCH] 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.

I aim to submit a patch to change the default tomorrow.

Ian.

Signed-off-by: Ian Jackson <ian.jackson@xxxxxxxxxxxxx>

diff -r 6cac9c3ee2aa .hgignore
--- a/.hgignore Wed Jul 02 10:56:37 2008 +0100
+++ b/.hgignore Wed Jul 02 16:35:02 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 6cac9c3ee2aa Config.mk
--- a/Config.mk Wed Jul 02 10:56:37 2008 +0100
+++ b/Config.mk Wed Jul 02 18:09:44 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 6cac9c3ee2aa config/StdGNU.mk
--- a/config/StdGNU.mk  Wed Jul 02 10:56:37 2008 +0100
+++ b/config/StdGNU.mk  Wed Jul 02 17:54:18 2008 +0100
@@ -12,6 +12,8 @@ SIZEUTIL   = $(CROSS_COMPILE)size
 
 MSGFMT     = msgfmt
 MSGMERGE   = msgmerge
+
+GIT        ?= git
 
 INSTALL      = install
 INSTALL_DIR  = $(INSTALL) -d -m0755 -p
diff -r 6cac9c3ee2aa tools/Makefile
--- a/tools/Makefile    Wed Jul 02 10:56:37 2008 +0100
+++ b/tools/Makefile    Wed Jul 02 16:35:34 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-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel

 


Rackspace

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