WARNING - OLD ARCHIVES

This is an archived copy of the Xen.org mailing list, which we have preserved to ensure that existing links to archives are not broken. The live archive, which contains the latest emails, can be found at http://lists.xen.org/
   
 
 
Xen 
 
Home Products Support Community News
 
   
 

xen-devel

[Xen-devel] [PATCH v4 3/4] Clone and build upstream Qemu by default

Signed-off-by: Stefano Stabellini <stefano.stabellini@xxxxxxxxxxxxx>

diff -r b17ff49b17d1 .hgignore
--- a/.hgignore Thu Sep 15 11:38:01 2011 +0000
+++ b/.hgignore Thu Sep 15 14:24:05 2011 +0000
@@ -293,6 +293,8 @@
 ^tools/xm-test/tests/.*\.test$
 ^tools/qemu-xen-traditional-dir-remote
 ^tools/qemu-xen-traditional-dir$
+^tools/qemu-xen-dir-remote
+^tools/qemu-xen-dir$
 ^tools/ocaml/.*/.*\.annot$
 ^tools/ocaml/.*/.*\.cmx?a$
 ^tools/ocaml/.*/META$
diff -r b17ff49b17d1 Config.mk
--- a/Config.mk Thu Sep 15 11:38:01 2011 +0000
+++ b/Config.mk Thu Sep 15 14:24:05 2011 +0000
@@ -192,6 +192,14 @@ else
 QEMU_REMOTE=git://xenbits.xensource.com/qemu-xen-unstable.git
 endif
 
+# Only available through the git protocol at the moment
+ifeq ($(GIT_HTTP),y)
+QEMU_UPSTREAM_URL ?= 
http://xenbits.xensource.com/git-http/qemu-upstream-unstable.git
+else
+QEMU_UPSTREAM_URL ?= git://xenbits.xensource.com/qemu-upstream-unstable.git
+endif
+QEMU_UPSTREAM_TAG ?= 6dd84c71dff047f9e492d67e7c99928d09202760
+
 # 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 ?= `pwd`/$(XEN_ROOT)/../qemu-xen.git
diff -r b17ff49b17d1 Makefile
--- a/Makefile  Thu Sep 15 11:38:01 2011 +0000
+++ b/Makefile  Thu Sep 15 14:24:05 2011 +0000
@@ -70,7 +70,7 @@ install-tools:
        $(MAKE) -C tools install
 
 ifeq ($(CONFIG_IOEMU),y)
-install-tools: tools/qemu-xen-traditional-dir
+install-tools: tools/qemu-xen-traditional-dir tools/qemu-xen-dir
 endif
 
 .PHONY: install-kernels
@@ -91,6 +91,9 @@ tools/qemu-xen-traditional-dir:
 tools/qemu-xen-traditional-dir-force-update:
        $(MAKE) -C tools qemu-xen-traditional-dir-force-update
 
+tools/qemu-xen-dir:
+       $(MAKE) -C tools qemu-xen-dir-find
+
 .PHONY: install-docs
 install-docs:
        sh ./docs/check_pkgs && $(MAKE) -C docs install || true
diff -r b17ff49b17d1 tools/Makefile
--- a/tools/Makefile    Thu Sep 15 11:38:01 2011 +0000
+++ b/tools/Makefile    Thu Sep 15 14:24:05 2011 +0000
@@ -31,6 +31,7 @@ SUBDIRS-$(LIBXENAPI_BINDINGS) += libxen
 # do not recurse in to a dir we are about to delete
 ifneq "$(MAKECMDGOALS)" "distclean"
 SUBDIRS-$(CONFIG_IOEMU) += qemu-xen-traditional-dir
+SUBDIRS-$(CONFIG_IOEMU) += qemu-xen-dir
 endif
 
 SUBDIRS-y += xenpmd
@@ -71,6 +72,7 @@ clean: subdirs-clean
 .PHONY: distclean
 distclean: subdirs-distclean
        rm -rf qemu-xen-traditional-dir qemu-xen-traditional-dir-remote
+       rm -rf qemu-xen-dir qemu-xen-dir-remote
 
 ifneq ($(XEN_COMPILE_ARCH),$(XEN_TARGET_ARCH))
 IOEMU_CONFIGURE_CROSS ?= --cpu=$(XEN_TARGET_ARCH) \
@@ -95,6 +97,24 @@ qemu-xen-traditional-dir-find:
                cd qemu-xen-traditional-dir; \
                $(QEMU_ROOT)/xen-setup $(IOEMU_CONFIGURE_CROSS)
 
+qemu-xen-dir-find:
+       if test -d $(QEMU_UPSTREAM_URL) ; then \
+               ln -sf $(QEMU_UPSTREAM_URL) qemu-xen-dir; \
+       else \
+               $(XEN_ROOT)/scripts/git-checkout.sh $(QEMU_UPSTREAM_URL) 
$(QEMU_UPSTREAM_TAG) qemu-xen-dir ; \
+       fi
+       cd qemu-xen-dir; \
+       ./configure --enable-xen --target-list=i386-softmmu \
+               --source-path=$$ROOT \
+               --extra-cflags="-I$(XEN_ROOT)/tools/include \
+               -I$(XEN_ROOT)/tools/libxc \
+               -I$(XEN_ROOT)/tools/xenstore" \
+               --extra-ldflags="-L$(XEN_ROOT)/tools/libxc \
+               -L$(XEN_ROOT)/tools/libxenstore" \
+               --bindir=/usr/lib/xen/bin \
+               --disable-kvm \
+               $(IOEMU_CONFIGURE_CROSS)
+
 .PHONY: qemu-xen-traditional-dir-force-update
 qemu-xen-traditional-dir-force-update:
        set -ex; \
@@ -112,6 +132,14 @@ subdir-clean-qemu-xen-traditional-dir:
                $(MAKE) -C qemu-xen-traditional-dir clean; \
        fi
 
+subdir-all-qemu-xen-dir subdir-install-qemu-xen-dir: qemu-xen-dir-find
+
+subdir-clean-qemu-xen-dir:
+       set -e; if test -d qemu-xen-dir/.; then \
+               $(buildmakevars2shellvars); \
+               $(MAKE) -C qemu-xen-dir clean; \
+       fi
+
 subdir-clean-debugger/gdbsx subdir-distclean-debugger/gdbsx: .phony
        $(MAKE) -C debugger/gdbsx clean
 

_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel