debuggers.hg
changeset 17991:20215b87d0f3
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>
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>
author | Keir Fraser <keir.fraser@citrix.com> |
---|---|
date | Thu Jul 03 10:44:13 2008 +0100 (2008-07-03) |
parents | 52a388ec09f8 |
children | 7dee3b001d9f |
files | .hgignore Config.mk config/StdGNU.mk tools/Makefile |
line diff
1.1 --- a/.hgignore Thu Jul 03 10:27:12 2008 +0100 1.2 +++ b/.hgignore Thu Jul 03 10:44:13 2008 +0100 1.3 @@ -248,6 +248,8 @@ 1.4 ^tools/xm-test/lib/XmTestLib/config.py$ 1.5 ^tools/xm-test/lib/XmTestReport/xmtest.py$ 1.6 ^tools/xm-test/tests/.*\.test$ 1.7 +^tools/ioemu-remote 1.8 +^tools/ioemu-dir$ 1.9 ^xen/\.banner.*$ 1.10 ^xen/BLOG$ 1.11 ^xen/System.map$
2.1 --- a/Config.mk Thu Jul 03 10:27:12 2008 +0100 2.2 +++ b/Config.mk Thu Jul 03 10:44:13 2008 +0100 2.3 @@ -78,6 +78,14 @@ XSM_ENABLE ?= n 2.4 FLASK_ENABLE ?= n 2.5 ACM_SECURITY ?= n 2.6 2.7 +QEMU_REMOTE=http://www.chiark.greenend.org.uk/~ijackson/qemu-xen.git 2.8 + 2.9 +# Specify which qemu-dm to use. This may be `ioemu' to use the old 2.10 +# Mercurial in-tree version, or a local directory, or a git URL. 2.11 +CONFIG_QEMU ?= ioemu 2.12 +# CONFIG_QEMU ?= ../qemu-xen.git 2.13 +# CONFIG_QEMU ?= $(QEMU_REMOTE) 2.14 + 2.15 # Optional components 2.16 XENSTAT_XENTOP ?= y 2.17 VTPM_TOOLS ?= n
3.1 --- a/config/StdGNU.mk Thu Jul 03 10:27:12 2008 +0100 3.2 +++ b/config/StdGNU.mk Thu Jul 03 10:44:13 2008 +0100 3.3 @@ -13,6 +13,9 @@ SIZEUTIL = $(CROSS_COMPILE)size 3.4 MSGFMT = msgfmt 3.5 MSGMERGE = msgmerge 3.6 3.7 +# Allow git to be wrappered in the environment 3.8 +GIT ?= git 3.9 + 3.10 INSTALL = install 3.11 INSTALL_DIR = $(INSTALL) -d -m0755 -p 3.12 INSTALL_DATA = $(INSTALL) -m0644 -p
4.1 --- a/tools/Makefile Thu Jul 03 10:27:12 2008 +0100 4.2 +++ b/tools/Makefile Thu Jul 03 10:44:13 2008 +0100 4.3 @@ -22,7 +22,12 @@ SUBDIRS-y += libaio 4.4 SUBDIRS-y += blktap 4.5 SUBDIRS-y += libfsimage 4.6 SUBDIRS-$(LIBXENAPI_BINDINGS) += libxen 4.7 + 4.8 +ifeq (ioemu,$(CONFIG_QEMU)) 4.9 SUBDIRS-$(CONFIG_IOEMU) += ioemu 4.10 +else 4.11 +SUBDIRS-$(CONFIG_IOEMU) += ioemu-dir 4.12 +endif 4.13 4.14 # These don't cross-compile 4.15 ifeq ($(XEN_COMPILE_ARCH),$(XEN_TARGET_ARCH)) 4.16 @@ -62,3 +67,27 @@ subdir-all-ioemu subdir-install-ioemu: i 4.17 subdir-clean-ioemu: 4.18 $(MAKE) -C ioemu distclean 4.19 4.20 +ioemu-dir-find: 4.21 + set -ex; \ 4.22 + if test -d $(CONFIG_QEMU); then \ 4.23 + rm -f ioemu-dir; \ 4.24 + ln -sf $(CONFIG_QEMU) ioemu-dir; \ 4.25 + else \ 4.26 + if [ ! -d ioemu-remote ]; then \ 4.27 + rm -rf ioemu-remote ioemu-remote.tmp; \ 4.28 + mkdir ioemu-remote.tmp; rmdir ioemu-remote.tmp; \ 4.29 + $(GIT) clone $(CONFIG_QEMU) ioemu-remote.tmp; \ 4.30 + mv ioemu-remote.tmp ioemu-remote; \ 4.31 + fi; \ 4.32 + ln -sf ioemu-remote ioemu-dir; \ 4.33 + fi 4.34 + set -e; \ 4.35 + case "$XEN_ROOT" in \ 4.36 + /*) XEN_ROOT=$(XEN_ROOT) ;; \ 4.37 + *) XEN_ROOT=`pwd`/$(XEN_ROOT) ;; \ 4.38 + esac; \ 4.39 + export XEN_ROOT; \ 4.40 + cd ioemu-dir; \ 4.41 + ./xen-setup 4.42 + 4.43 +subdir-all-ioemu-dir subdir-install-ioemu-dir: ioemu-dir-find