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-changelog

[Xen-changelog] [qemu-xen-unstable] qemu-xen: build adjustments to suppo

To: xen-changelog@xxxxxxxxxxxxxxxxxxx
Subject: [Xen-changelog] [qemu-xen-unstable] qemu-xen: build adjustments to support out-of-tree builds
From: Ian Jackson <Ian.Jackson@xxxxxxxxxxxxx>
Date: Tue, 23 Nov 2010 08:50:04 -0800
Delivery-date: Tue, 23 Nov 2010 08:50:15 -0800
Envelope-to: www-data@xxxxxxxxxxxxxxxxxxx
List-help: <mailto:xen-changelog-request@lists.xensource.com?subject=help>
List-id: BK change log <xen-changelog.lists.xensource.com>
List-post: <mailto:xen-changelog@lists.xensource.com>
List-subscribe: <http://lists.xensource.com/mailman/listinfo/xen-changelog>, <mailto:xen-changelog-request@lists.xensource.com?subject=subscribe>
List-unsubscribe: <http://lists.xensource.com/mailman/listinfo/xen-changelog>, <mailto:xen-changelog-request@lists.xensource.com?subject=unsubscribe>
Reply-to: xen-devel@xxxxxxxxxxxxxxxxxxx
Sender: xen-changelog-bounces@xxxxxxxxxxxxxxxxxxx
commit ad78ccc35617610bc43112788d28a05878fac91f
Author: Ian Jackson <ian.jackson@xxxxxxxxxxxxx>
Date:   Tue Nov 23 16:40:08 2010 +0000

    qemu-xen: build adjustments to support out-of-tree builds
    
    QEMU by itself can be built outside of its source directory. With the
    qemu repository being separate from the hypervisor/tools one it seems
    to make sense to make use of this feature, but doing so requires a
    couple of adjustments to the Xen changes to it. Basically, if
    CONFIG_QEMU is found to indicate an existing directory, this directory
    will be used rather than cloning the git repo into the build tree.
    
    [ This is the qemu-xen half. -iwj ]
    
    Signed-off-by: Jan Beulich <jbeulich@xxxxxxxxxx>
---
 Makefile.target              |    9 +++++----
 i386-dm/hooks.mak            |    2 +-
 i386-dm/hookstarget.mak      |    2 +-
 i386-stubdom/hooks.mak       |    2 +-
 i386-stubdom/hookslib.mak    |    1 +
 i386-stubdom/hookstarget.mak |    1 +
 xen-config-host.mak          |    6 +++---
 xen-config.mak               |    1 +
 xen-hooks.mak                |    2 +-
 xen-setup                    |   12 ++++++------
 xen-setup-stubdom            |   18 +++++++++---------
 11 files changed, 30 insertions(+), 26 deletions(-)

diff --git a/Makefile.target b/Makefile.target
index cce537b..19bb0fd 100644
--- a/Makefile.target
+++ b/Makefile.target
@@ -23,7 +23,7 @@ endif
 ifeq ($(TARGET_ARCH), sparc64)
 TARGET_BASE_ARCH:=sparc
 endif
-TARGET_PATH=$(SRC_PATH)/target-$(TARGET_BASE_ARCH)
+TARGET_PATH?=$(SRC_PATH)/target-$(TARGET_BASE_ARCH)
 VPATH=$(SRC_PATH):$(TARGET_PATH):$(SRC_PATH)/hw
 CPPFLAGS=-I. -I.. -I$(TARGET_PATH) -I$(SRC_PATH) -MMD -MT $@ -MP -DNEED_CPU_H
 #CFLAGS+=-Werror
@@ -210,8 +210,8 @@ endif
 
 # libqemu
 
--include hookslib.mak
--include hookstarget.mak
+include $(QEMU_ROOT)/$(TARGET_DIRS)/hookslib.mak
+include $(QEMU_ROOT)/$(TARGET_DIRS)/hookstarget.mak
 
 libqemu.a: $(LIBOBJS)
 
@@ -730,7 +730,8 @@ LDFLAGS+=-p
 main.o: CFLAGS+=-p
 endif
 
--include hooks.mak
+include $(QEMU_ROOT)/$(TARGET_DIRS)/hooks.mak
+
 all: $(PROGS)
 
 $(QEMU_PROG): LIBS += $(SDL_LIBS) $(COCOA_LIBS) $(CURSES_LIBS) $(BRLAPI_LIBS) 
$(VDE_LIBS)
diff --git a/i386-dm/hooks.mak b/i386-dm/hooks.mak
index 01a17da..6fc9e5d 100644
--- a/i386-dm/hooks.mak
+++ b/i386-dm/hooks.mak
@@ -3,4 +3,4 @@ CPPFLAGS += -DHAS_AUDIO
 endif
 QEMU_PROG=qemu-dm
 
-include ../xen-hooks.mak
+include $(QEMU_ROOT)/xen-hooks.mak
diff --git a/i386-dm/hookstarget.mak b/i386-dm/hookstarget.mak
index de2a670..0cce528 100644
--- a/i386-dm/hookstarget.mak
+++ b/i386-dm/hookstarget.mak
@@ -3,4 +3,4 @@ IOEMU_OS=$(shell uname -s)
 install-hook:
        $(INSTALL_DIR) "$(DESTDIR)/$(bindir)"
        $(INSTALL_DIR) "$(DESTDIR)/$(configdir)"
-       $(INSTALL_PROG) qemu-ifup-$(IOEMU_OS) 
"$(DESTDIR)/$(configdir)/qemu-ifup"
+       $(INSTALL_PROG) $(QEMU_ROOT)/i386-dm/qemu-ifup-$(IOEMU_OS) 
"$(DESTDIR)/$(configdir)/qemu-ifup"
diff --git a/i386-stubdom/hooks.mak b/i386-stubdom/hooks.mak
index 8cd761b..2dc1ff7 100644
--- a/i386-stubdom/hooks.mak
+++ b/i386-stubdom/hooks.mak
@@ -1,4 +1,4 @@
-include ../xen-hooks.mak
+include $(QEMU_ROOT)/xen-hooks.mak
 
 OBJS += block-vbd.o
 
diff --git a/i386-stubdom/hookslib.mak b/i386-stubdom/hookslib.mak
new file mode 100644
index 0000000..8497304
--- /dev/null
+++ b/i386-stubdom/hookslib.mak
@@ -0,0 +1 @@
+include $(SRC_PATH)/i386-dm/hookslib.mak
diff --git a/i386-stubdom/hookstarget.mak b/i386-stubdom/hookstarget.mak
new file mode 100644
index 0000000..ac7b965
--- /dev/null
+++ b/i386-stubdom/hookstarget.mak
@@ -0,0 +1 @@
+VPATH=$(SRC_PATH):$(TARGET_PATH):$(SRC_PATH)/i386-dm:$(SRC_PATH)/hw
diff --git a/xen-config-host.mak b/xen-config-host.mak
index b1912e5..aea181f 100644
--- a/xen-config-host.mak
+++ b/xen-config-host.mak
@@ -3,12 +3,12 @@ XEN_ROOT ?= $(QEMU_ROOT)/../xen-unstable.hg
 include $(XEN_ROOT)/tools/Rules.mk
 
 ifdef CONFIG_STUBDOM
-TARGET_DIRS=i386-stubdom
+export TARGET_DIRS=i386-stubdom
 else
-TARGET_DIRS=i386-dm
+export TARGET_DIRS=i386-dm
 endif
 
 SUBDIR_RULES=subdir-$(TARGET_DIRS)
 subdir-$(TARGET_DIRS): libqemu_common.a
 
--include $(QEMU_ROOT)/xen-hooks.mak
+include $(QEMU_ROOT)/xen-hooks.mak
diff --git a/xen-config.mak b/xen-config.mak
index 40984bc..77fef4f 100644
--- a/xen-config.mak
+++ b/xen-config.mak
@@ -4,6 +4,7 @@ XEN_ROOT ?= $(QEMU_ROOT)/../xen-unstable.hg
 include ../config-host.mak
 
 TARGET_ARCH=i386
+TARGET_PATH:=$(SRC_PATH)/$(TARGET_DIRS)
 CONFIG_SOFTMMU=yes
 
 CFLAGS += -I$(QEMU_ROOT)/hw
diff --git a/xen-hooks.mak b/xen-hooks.mak
index 93f4402..291ade2 100644
--- a/xen-hooks.mak
+++ b/xen-hooks.mak
@@ -38,7 +38,7 @@ OBJS += battery_mgmt.o
 
 ifdef CONFIG_STUBDOM
 CPPFLAGS += $(TARGET_CPPFLAGS) -DNEED_CPU_H \
-       -I$(QEMU_ROOT)/i386-dm -I$(QEMU_ROOT)/hw -I$(QEMU_ROOT)/fpu
+       -I$(TARGET_DIRS) -I$(QEMU_ROOT)/i386-dm -I$(QEMU_ROOT)/hw 
-I$(QEMU_ROOT)/fpu
 CONFIG_SDL=
 CONFIG_AUDIO=
 OBJS += xenfbfront.o
diff --git a/xen-setup b/xen-setup
index fde1568..c3af79b 100755
--- a/xen-setup
+++ b/xen-setup
@@ -3,6 +3,8 @@ set -e
 
 # git-clean -x -d && ./xen-setup && make prefix=/usr CMDLINE_CFLAGS='-O0 -g' 
-j4 && make install DESTDIR=`pwd`/dist/ prefix=/usr && rsync -a --stats 
--delete . thule:shadow/qemu-iwj.git/ && rsync -a --stats dist/. root@thule:/
 
+target=i386-dm
+mkdir -p $target
 rm -f $target/Makefile
 rm -f $target/config.mak
 rm -f config-host.mak
@@ -16,17 +18,15 @@ if test -z "${XEN_SCRIPT_DIR}"; then
        XEN_SCRIPT_DIR="/etc/xen/scripts"
 fi
 
-./configure --disable-gfx-check --disable-curses --disable-slirp "$@" 
--prefix=${PREFIX}
-
-target=i386-dm
+${QEMU_ROOT:-.}/configure --disable-gfx-check --disable-curses --disable-slirp 
"$@" --prefix=${PREFIX}
 
 if [ "x$XEN_ROOT" != x ]; then
        echo "XEN_ROOT=$XEN_ROOT" >>config-host.mak
 fi
 
-ln -sf ../Makefile.target $target/Makefile
-ln -sf ../xen-config.mak $target/config.mak
-cat xen-config-host.mak >>config-host.mak
+ln -sf ${QEMU_ROOT:-..}/Makefile.target $target/Makefile
+ln -sf ${QEMU_ROOT:-..}/xen-config.mak $target/config.mak
+cat ${QEMU_ROOT:-.}/xen-config-host.mak >>config-host.mak
 
 sed -e 's,qemu,xen/qemu,' config-host.h >config-host.h.new
 echo "#define DEFAULT_NETWORK_SCRIPT      \"${XEN_SCRIPT_DIR}/qemu-ifup\"" 
>>config-host.h.new
diff --git a/xen-setup-stubdom b/xen-setup-stubdom
index 94b20a3..4f1b081 100755
--- a/xen-setup-stubdom
+++ b/xen-setup-stubdom
@@ -1,11 +1,11 @@
 #!/bin/sh
 set -e
 
-qemu_version=`head VERSION`
-
-ln -sf ../Makefile.target i386-stubdom/Makefile
+qemu_version=`head ${QEMU_ROOT:-.}/VERSION`
 
 target=i386-stubdom
+mkdir -p $target
+ln -sf ${QEMU_ROOT:-..}/Makefile.target $target/Makefile
 
 #----------
 cat <<END >$target/config.mak.new
@@ -15,6 +15,7 @@ XEN_ROOT ?= \$(QEMU_ROOT)/../xen-unstable.hg
 include ../config-host.mak
 
 TARGET_ARCH=i386
+TARGET_PATH:=\$(SRC_PATH)/\$(TARGET_DIRS)
 CONFIG_SOFTMMU=yes
 
 TARGET_CPPFLAGS += $TARGET_CPPFLAGS -DCONFIG_STUBDOM -D__XEN_TOOLS__
@@ -26,8 +27,7 @@ END
 mv -f $target/config.mak.new $target/config.mak
 #----------
 
-ln -sf ../i386-dm/hookslib.mak $target/
-(cd $target ; ln -sf ../i386-dm/*.[ch] .)
+test ${QEMU_ROOT:-..} != .. || (cd $target ; ln -sf ../i386-dm/*.[ch] .)
 
 #----------
 cat <<END >config-host.h.new
@@ -48,7 +48,7 @@ mv -f config-host.h.new config-host.h
 #----------
 cat <<END >config-host.mak.new
 CONFIG_STUBDOM=yes
-prefix=$(PREFIX)
+prefix=$PREFIX
 bindir=\${prefix}/bin
 mandir=\$(MANDIR)
 datadir=\$(SHAREDIR)/qemu
@@ -70,7 +70,7 @@ CONFIG_GDBSTUB=
 CONFIG_OSS=
 CONFIG_OSS_LIB=
 VERSION=$qemu_version
-SRC_PATH=`pwd`
+SRC_PATH=${QEMU_ROOT:-`pwd`}
 TARGET_DIRS=$target
 BUILD_DOCS=
 CONFIG_AIO=
@@ -90,7 +90,7 @@ cat <<END >>config-host.mak.new
 include \$(XEN_ROOT)/tools/Rules.mk
 SUBDIR_RULES=subdir-\$(TARGET_DIRS)
 subdir-\$(TARGET_DIRS): libqemu_common.a
--include \$(QEMU_ROOT)/xen-hooks.mak
+include \$(QEMU_ROOT)/xen-hooks.mak
 HOST_USB=stub
 
 HOST_LDFLAGS= \$(LDFLAGS) -g -Wl,--warn-common
@@ -101,7 +101,7 @@ LDFLAGS= $TARGET_LDFLAGS
 
 SUBDIR_RULES=subdir-\$(TARGET_DIRS)
 subdir-\$(TARGET_DIRS): libqemu_common.a
--include \$(QEMU_ROOT)/xen-hooks.mak
+include \$(QEMU_ROOT)/xen-hooks.mak
 
 END
 mv -f config-host.mak.new config-host.mak
--
generated by git-patchbot for /home/xen/git/qemu-xen-unstable.git

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

<Prev in Thread] Current Thread [Next in Thread>
  • [Xen-changelog] [qemu-xen-unstable] qemu-xen: build adjustments to support out-of-tree builds, Ian Jackson <=