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

[Xen-changelog] [xen-unstable] $(XEN_ROOT) absolutification fixes for ioemu-remote (incl stubdom)



# HG changeset patch
# User Keir Fraser <keir.fraser@xxxxxxxxxx>
# Date 1221221736 -3600
# Node ID e827c54462d3ba44ee3d4ca60bbc970c240551da
# Parent  982e6fce0e4796f53fe80891b3b0352d7b214ce4
$(XEN_ROOT) absolutification fixes for ioemu-remote (incl stubdom)

 * Move code for generating an absolute version of XEN_ROOT
   into a common make variable set in Config.mk
 * Use this common code when invoking make -C ioemu-dir clean
   from tools/, which avoids a problem where `make clean' fails
   because qemu's (ioemu-remote's) build system wants to run
   `make clean' in `tests' but XEN_ROOT is a confection involving
   ../'s.
 * Use this common code in stubdom/Makefile, instead of $(abspath...)
   as the latter is a relatively new feature in GNU make and is not
   available in all the places that we want to be able to build
   (cf c/s 17997:3f23e01d31985899dbd1660b166f229f1ee74292)

Signed-off-by: Ian Jackson <ian.jackson@xxxxxxxxxxxxx>
---
 Config.mk        |   16 ++++++++++++++++
 stubdom/Makefile |    5 +++--
 tools/Makefile   |    9 +++------
 3 files changed, 22 insertions(+), 8 deletions(-)

diff -r 982e6fce0e47 -r e827c54462d3 Config.mk
--- a/Config.mk Fri Sep 12 11:43:47 2008 +0100
+++ b/Config.mk Fri Sep 12 13:15:36 2008 +0100
@@ -54,6 +54,22 @@ define cc-ver-check-closure
     endif
 endef
 
+define absolutify_xen_root
+    case "$(XEN_ROOT)" in                                          \
+    /*) XEN_ROOT=$(XEN_ROOT) ;;                                    \
+    *)  xen_root_lhs=`pwd`;                                        \
+        xen_root_rhs=$(XEN_ROOT)/;                                 \
+        while [ "x$${xen_root_rhs#../}" != "x$$xen_root_rhs" ]; do \
+            xen_root_rhs="$${xen_root_rhs#../}";                   \
+            xen_root_rhs="$${xen_root_rhs#/}";                     \
+            xen_root_rhs="$${xen_root_rhs#/}";                     \
+            xen_root_lhs="$${xen_root_lhs%/*}";                    \
+        done;                                                      \
+        XEN_ROOT="$$xen_root_lhs/$$xen_root_rhs" ;;                \
+    esac;                                                          \
+    export XEN_ROOT
+endef
+
 ifeq ($(debug),y)
 CFLAGS += -g
 endif
diff -r 982e6fce0e47 -r e827c54462d3 stubdom/Makefile
--- a/stubdom/Makefile  Fri Sep 12 11:43:47 2008 +0100
+++ b/stubdom/Makefile  Fri Sep 12 13:15:36 2008 +0100
@@ -232,8 +232,9 @@ ifeq ($(CONFIG_QEMU),ioemu)
        CPPFLAGS="$(TARGET_CPPFLAGS)" $(MAKE) -C ioemu 
LWIPDIR=$(CURDIR)/lwip-$(XEN_TARGET_ARCH) TOOLS=
 else
        [ -f ioemu/config-host.mak ] || \
-         ( cd ioemu ; \
-          CONFIG_STUBDOM=yes XEN_ROOT=$(abspath $(XEN_ROOT)) 
XEN_TARGET_ARCH=$(XEN_TARGET_ARCH) CFLAGS="$(TARGET_CFLAGS)" sh ./xen-setup 
--cc=$(CC) --disable-gcc-check $(IOEMU_OPTIONS))
+         ( $(absolutify_xen_root); \
+           cd ioemu ; \
+          CONFIG_STUBDOM=yes XEN_TARGET_ARCH=$(XEN_TARGET_ARCH) 
CFLAGS="$(TARGET_CFLAGS)" sh ./xen-setup --cc=$(CC) --disable-gcc-check 
$(IOEMU_OPTIONS))
        CPPFLAGS= TARGET_CPPFLAGS="$(TARGET_CPPFLAGS)" $(MAKE) -C ioemu 
LWIPDIR=$(CURDIR)/lwip-$(XEN_TARGET_ARCH) TOOLS= CONFIG_STUBDOM=yes
 endif
 
diff -r 982e6fce0e47 -r e827c54462d3 tools/Makefile
--- a/tools/Makefile    Fri Sep 12 11:43:47 2008 +0100
+++ b/tools/Makefile    Fri Sep 12 13:15:36 2008 +0100
@@ -93,17 +93,14 @@ ioemu-dir-find:
                ln -sf ioemu-remote ioemu-dir; \
        fi
        set -e; \
-               case "$(XEN_ROOT)" in \
-               /*)     XEN_ROOT=$(XEN_ROOT) ;; \
-               *)      XEN_ROOT=`pwd`/$(XEN_ROOT) ;; \
-               esac; \
-               export XEN_ROOT; \
+               $(absolutify_xen_root); \
                cd ioemu-dir; \
                ./xen-setup $(IOEMU_CONFIGURE_CROSS)
 
 subdir-all-ioemu-dir subdir-install-ioemu-dir: ioemu-dir-find
 
 subdir-clean-ioemu-dir:
-       if test -d ioemu-dir/.; then \
+       set -e; if test -d ioemu-dir/.; then \
+               $(absolutify_xen_root); \
                $(MAKE) -C ioemu-dir clean; \
        fi

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


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.