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

[Xen-devel] [PATCH v2 1/4] Move the ioemu-dir-find shell script to an external file



Add support for configuring upstream qemu and rename ioemu-remote
ioemu-dir-remote.

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

diff --git a/tools/Makefile b/tools/Makefile
--- a/tools/Makefile
+++ b/tools/Makefile
@@ -70,7 +70,7 @@ clean: subdirs-clean
 
 .PHONY: distclean
 distclean: subdirs-distclean
-       rm -rf ioemu-dir ioemu-remote
+       rm -rf ioemu-dir ioemu-dir-remote
 
 ifneq ($(XEN_COMPILE_ARCH),$(XEN_TARGET_ARCH))
 IOEMU_CONFIGURE_CROSS ?= --cpu=$(XEN_TARGET_ARCH) \
@@ -78,41 +78,14 @@ IOEMU_CONFIGURE_CROSS ?= --cpu=$(XEN_TAR
                         --interp-prefix=$(CROSS_SYS_ROOT)
 endif
 
-QEMU_ROOT := $(shell if [ -d "$(CONFIG_QEMU)" ]; then echo "$(CONFIG_QEMU)"; 
else echo .; fi)
-ifneq ($(QEMU_ROOT),.)
-export QEMU_ROOT
-endif
-
 ioemu-dir-find:
-       set -ex; \
-       if test -d $(CONFIG_QEMU); then \
-               mkdir -p 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; \
-                       if [ "$(QEMU_TAG)" ]; then                      \
-                               cd ioemu-remote.tmp;                    \
-                               $(GIT) branch -D dummy >/dev/null 2>&1 ||:; \
-                               $(GIT) checkout -b dummy $(QEMU_TAG);   \
-                               cd ..;                                  \
-                       fi;                                             \
-                       mv ioemu-remote.tmp ioemu-remote; \
-               fi; \
-               rm -f ioemu-dir; \
-               ln -sf ioemu-remote ioemu-dir; \
-       fi
-       set -e; \
-               $(buildmakevars2shellvars); \
-               cd ioemu-dir; \
-               $(QEMU_ROOT)/xen-setup $(IOEMU_CONFIGURE_CROSS)
-
+       $(XEN_ROOT)/tools/qemu-checkout.sh $(CONFIG_QEMU) $(QEMU_TAG) ioemu-dir
+       
 .PHONY: ioemu-dir-force-update
 ioemu-dir-force-update:
        set -ex; \
        if [ "$(QEMU_TAG)" ]; then \
-               cd ioemu-remote; \
+               cd ioemu-dir-remote; \
                $(GIT) fetch origin; \
                $(GIT) reset --hard $(QEMU_TAG); \
        fi
diff --git a/tools/qemu-checkout.sh b/tools/qemu-checkout.sh
new file mode 100755
--- /dev/null
+++ b/tools/qemu-checkout.sh
@@ -0,0 +1,44 @@
+#!/bin/bash
+
+TREE=$1
+TAG=$2
+DIR=$3
+
+
+if test -d $TREE; then
+       mkdir -p $DIR
+       ROOT=$TREE
+else
+       if test \! -d $DIR-remote; then
+               rm -rf $DIR-remote $DIR-remote.tmp;
+               mkdir $DIR-remote.tmp; rmdir $DIR-remote.tmp;
+               git clone $TREE $DIR-remote.tmp;
+               if test "$TAG" ; then
+                       cd $DIR-remote.tmp
+                       git branch -D dummy >/dev/null 2>&1 ||:
+                       git checkout -b dummy $TAG
+                       cd ..
+               fi
+               mv $DIR-remote.tmp $DIR-remote
+       fi
+       rm -f $DIR
+       ln -sf $DIR-remote $DIR
+       ROOT=.
+fi
+
+set -e
+cd $DIR
+if test -f $ROOT/xen-setup; then
+       $ROOT/xen-setup $IOEMU_CONFIGURE_CROSS
+else
+       cd $ROOT
+       ./configure --enable-xen --target-list=i386-softmmu \
+               --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
+fi

_______________________________________________
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®.