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 v3 1/4] Move the ioemu-dir-find shell script to an ex

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

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

diff --git a/.hgignore b/.hgignore
--- a/.hgignore
+++ b/.hgignore
@@ -291,7 +291,7 @@
 ^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-remote
 ^tools/ioemu-dir$
 ^tools/ocaml/.*/.*\.annot$
 ^tools/ocaml/.*/.*\.cmx?a$
diff --git a/scripts/git-checkout.sh b/scripts/git-checkout.sh
new file mode 100755
--- /dev/null
+++ b/scripts/git-checkout.sh
@@ -0,0 +1,46 @@
+#!/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
+# is this qemu-xen-traditional?
+if test -f $ROOT/xen-setup; then
+       $ROOT/xen-setup $IOEMU_CONFIGURE_CROSS
+# is this qemu-xen?
+elif test -f $ROOT/configure; then
+       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
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)/scripts/git-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

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