aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Config.mk6
-rw-r--r--stubdom/Makefile14
-rw-r--r--tools/Makefile17
3 files changed, 21 insertions, 16 deletions
diff --git a/Config.mk b/Config.mk
index 7dc4aa2a93..0188877f00 100644
--- a/Config.mk
+++ b/Config.mk
@@ -185,9 +185,9 @@ endif
# CONFIG_QEMU ?= ../qemu-xen.git
CONFIG_QEMU ?= $(QEMU_REMOTE)
-QEMU_TAG ?= 60766b459c41e429a4b2405124b42512ea362984
-# Fri Nov 19 18:50:43 2010 +0000
-# passthrough: let xen choose the pirq number
+QEMU_TAG ?= ad78ccc35617610bc43112788d28a05878fac91f
+# Tue Nov 23 16:40:08 2010 +0000
+# qemu-xen: build adjustments to support out-of-tree builds
# Optional components
XENSTAT_XENTOP ?= y
diff --git a/stubdom/Makefile b/stubdom/Makefile
index d3af867a23..d1c6b0a5b5 100644
--- a/stubdom/Makefile
+++ b/stubdom/Makefile
@@ -215,6 +215,9 @@ $(OCAML_STAMPFILE): ocaml-$(XEN_TARGET_ARCH)/.dirstamp
.PHONY: $(CROSS_ROOT)
$(CROSS_ROOT): cross-newlib cross-zlib cross-libpci
+QEMU_ROOT := $(shell if [ -d "$(CONFIG_QEMU)" ]; then echo "$(CONFIG_QEMU)"; else echo .; fi)
+
+ifeq ($(QEMU_ROOT),.)
$(XEN_ROOT)/tools/ioemu-dir:
$(CROSS_MAKE) -C $(XEN_ROOT)/tools ioemu-dir-find
@@ -231,6 +234,13 @@ ioemu/linkfarm.stamp: $(XEN_ROOT)/tools/ioemu-dir
)) | \
while read f; do rm -f "$$f"; ln -s "$$src/$$f" "$$f"; done
touch ioemu/linkfarm.stamp
+else
+export QEMU_ROOT
+
+ioemu/linkfarm.stamp:
+ mkdir -p ioemu
+ touch ioemu/linkfarm.stamp
+endif
mk-headers-$(XEN_TARGET_ARCH): ioemu/linkfarm.stamp
mkdir -p include/xen && \
@@ -287,8 +297,8 @@ ioemu: cross-zlib cross-libpci libxc
TARGET_CPPFLAGS="$(TARGET_CPPFLAGS)" \
TARGET_CFLAGS="$(TARGET_CFLAGS)" \
TARGET_LDFLAGS="$(TARGET_LDFLAGS)" \
- ./xen-setup-stubdom )
- $(CROSS_MAKE) -C ioemu
+ $(QEMU_ROOT)/xen-setup-stubdom )
+ $(CROSS_MAKE) -C ioemu -f $(QEMU_ROOT)/Makefile
######
# caml
diff --git a/tools/Makefile b/tools/Makefile
index b5ca635409..9a97324abd 100644
--- a/tools/Makefile
+++ b/tools/Makefile
@@ -81,20 +81,15 @@ IOEMU_CONFIGURE_CROSS ?= --cpu=$(XEN_TARGET_ARCH) \
--interp-prefix=$(CROSS_SYS_ROOT)
endif
-ioemu/config-host.mak:
- cd ioemu && XEN_TARGET_ARCH=$(XEN_TARGET_ARCH) sh configure \
- --prefix=$(PREFIX) $(IOEMU_CONFIGURE_CROSS)
-
-subdir-all-ioemu subdir-install-ioemu: ioemu/config-host.mak
-
-subdir-clean-ioemu:
- $(MAKE) -C ioemu distclean
+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 \
- rm -f ioemu-dir; \
- ln -sf $(CONFIG_QEMU) ioemu-dir; \
+ mkdir -p ioemu-dir; \
else \
if [ ! -d ioemu-remote ]; then \
rm -rf ioemu-remote ioemu-remote.tmp; \
@@ -115,7 +110,7 @@ ioemu-dir-find:
$(absolutify_xen_root); \
$(buildmakevars2shellvars); \
cd ioemu-dir; \
- ./xen-setup $(IOEMU_CONFIGURE_CROSS)
+ $(QEMU_ROOT)/xen-setup $(IOEMU_CONFIGURE_CROSS)
.PHONY: ioemu-dir-force-update
ioemu-dir-force-update: