From 088276d61547773da1840589c708b4202a7cfb10 Mon Sep 17 00:00:00 2001 From: Stefano Stabellini Date: Tue, 13 Sep 2011 10:27:20 +0100 Subject: 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 --- .hgignore | 2 +- scripts/git-checkout.sh | 46 ++++++++++++++++++++++++++++++++++++++++++++++ tools/Makefile | 35 ++++------------------------------- 3 files changed, 51 insertions(+), 32 deletions(-) create mode 100644 scripts/git-checkout.sh diff --git a/.hgignore b/.hgignore index cdb6f36f96..0a07c34139 100644 --- 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 100644 index 0000000000..3f3212662b --- /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 index df6270c352..fb2758217f 100644 --- 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_TARGET_ARCH) \ --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 -- cgit v1.2.3