[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-changelog] [xen-unstable] stubdom/ioemu link farm creation fixes
# HG changeset patch # User Keir Fraser <keir.fraser@xxxxxxxxxx> # Date 1221565466 -3600 # Node ID f03b0cc33576e4fe3ff6adfd0853addf676c105e # Parent 087b8b29b6b20165062697305c6651ca2acb7b5b stubdom/ioemu link farm creation fixes Replace the stubdom/ioemu link farm creation in stubdom/Makefile, with code which arranges that: * No symlinks are made for output files - in particular, any symlinks for .d files would be written through by the compiler and cause damage to the original tree and other strange behaviours * All subdirectories are made as local subdirectories rather than links * Any interrupted or half-completed creation of the link farm leaves the directory in a state where the link farming will be restarted * We use make's inherent ability to test for the existence of files rather than using [ -f ... ] at the start of the rule's commands * The list of files to be excluded from the link farm can be easily updated etc. This should fix some problems particularly with parallel builds, or by-hand builds where directories are entered in other than the usual order. Signed-off-by: Ian Jackson <ian.jackson@xxxxxxxxxxxxx> --- stubdom/Makefile | 37 ++++++++++++++++++++----------------- 1 files changed, 20 insertions(+), 17 deletions(-) diff -r 087b8b29b6b2 -r f03b0cc33576 stubdom/Makefile --- a/stubdom/Makefile Tue Sep 16 11:26:19 2008 +0100 +++ b/stubdom/Makefile Tue Sep 16 12:44:26 2008 +0100 @@ -165,7 +165,26 @@ lwip-$(XEN_TARGET_ARCH): lwip-$(LWIP_VER $(XEN_ROOT)/tools/ioemu-dir: make -C $(XEN_ROOT)/tools ioemu-dir-find -mk-headers-$(XEN_TARGET_ARCH): $(XEN_ROOT)/tools/ioemu-dir +ioemu/linkfarm.stamp: $(XEN_ROOT)/tools/ioemu-dir + mkdir -p ioemu +ifeq ($(CONFIG_QEMU),ioemu) + [ -h ioemu/Makefile ] || ( cd ioemu && \ + ln -sf ../$(XEN_ROOT)/tools/ioemu/* .) +else + set -e; \ + $(absolutify_xen_root); \ + cd ioemu; \ + src="$$XEN_ROOT/tools/ioemu-dir"; export src; \ + (cd $$src && find * -type d -print) | xargs mkdir -p; \ + (cd $$src && find * ! -type l -type f $(addprefix ! -name , \ + '*.[oda1]' 'config-*' config.mak qemu-dm qemu-img-xen \ + '*.html' '*.pod' \ + )) | \ + while read f; do rm -f "$$f"; ln -s "$$src/$$f" "$$f"; done +endif + touch ioemu/linkfarm.stamp + +mk-headers-$(XEN_TARGET_ARCH): ioemu/linkfarm.stamp mkdir -p include/xen && \ ln -sf $(addprefix ../../,$(wildcard $(XEN_ROOT)/xen/include/public/*.h)) include/xen && \ ln -sf $(addprefix ../../$(XEN_ROOT)/xen/include/public/,arch-ia64 arch-x86 hvm io xsm) include/xen && \ @@ -184,22 +203,6 @@ mk-headers-$(XEN_TARGET_ARCH): $(XEN_ROO ln -sf ../$(XEN_ROOT)/tools/libxc/$(XEN_TARGET_ARCH)/*.c . && \ ln -sf ../$(XEN_ROOT)/tools/libxc/$(XEN_TARGET_ARCH)/*.h . && \ ln -sf ../$(XEN_ROOT)/tools/libxc/$(XEN_TARGET_ARCH)/Makefile . ) - mkdir -p ioemu -ifeq ($(CONFIG_QEMU),ioemu) - [ -h ioemu/Makefile ] || ( cd ioemu && \ - ln -sf ../$(XEN_ROOT)/tools/ioemu/* .) -else - [ -h ioemu/Makefile ] || ( cd ioemu && \ - ln -sf ../$(XEN_ROOT)/tools/ioemu-dir/* . && \ - rm -fr i386-dm && \ - rm -fr i386-stubdom && \ - mkdir i386-dm && \ - mkdir i386-stubdom && \ - ln -sf $(CONFIG_QEMU)/i386-dm/* i386-dm/ && \ - ln -sf $(CONFIG_QEMU)/i386-stubdom/* i386-stubdom/ ) -endif - [ ! -h ioemu/config-host.h ] || rm -f ioemu/config-host.h - [ ! -h ioemu/config-host.mak ] || rm -f ioemu/config-host.mak $(MAKE) -C $(MINI_OS) links touch mk-headers-$(XEN_TARGET_ARCH) _______________________________________________ Xen-changelog mailing list Xen-changelog@xxxxxxxxxxxxxxxxxxx http://lists.xensource.com/xen-changelog
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |