diff options
author | iap10@labyrinth.cl.cam.ac.uk <iap10@labyrinth.cl.cam.ac.uk> | 2003-12-19 14:43:39 +0000 |
---|---|---|
committer | iap10@labyrinth.cl.cam.ac.uk <iap10@labyrinth.cl.cam.ac.uk> | 2003-12-19 14:43:39 +0000 |
commit | ce423b5dfe323c86c1db29cfe17d1779c4da1829 (patch) | |
tree | de7355038d78c8c5c3e471a55fb13a1829cba3d3 /xenolinux-2.4.23-sparse/mkbuildtree | |
parent | 24e81789606925507a369a624941c7bbab793735 (diff) | |
download | xen-ce423b5dfe323c86c1db29cfe17d1779c4da1829.tar.gz xen-ce423b5dfe323c86c1db29cfe17d1779c4da1829.tar.bz2 xen-ce423b5dfe323c86c1db29cfe17d1779c4da1829.zip |
bitkeeper revision 1.652 (3fe30e9bTUfDAq9tTjwgWtCD2HXzcg)
Oops, forgot to rename xenolinux-2.4.22 to 2.4.23
Diffstat (limited to 'xenolinux-2.4.23-sparse/mkbuildtree')
-rwxr-xr-x | xenolinux-2.4.23-sparse/mkbuildtree | 193 |
1 files changed, 193 insertions, 0 deletions
diff --git a/xenolinux-2.4.23-sparse/mkbuildtree b/xenolinux-2.4.23-sparse/mkbuildtree new file mode 100755 index 0000000000..d9ea5b6510 --- /dev/null +++ b/xenolinux-2.4.23-sparse/mkbuildtree @@ -0,0 +1,193 @@ +#!/bin/sh + +# mkbuildtree <build tree> +# +# Creates symbolic links in <build tree> for the sparse tree +# in the current directory. + +# Script to determine the relative path between two directories. +# Copyright (c) D. J. Hawkey Jr. 2002 +# Fixed for Xen project by K. Fraser in 2003. +abs_to_rel () +{ + local CWD SRCPATH + + if [ "$1" != "/" -a "${1##*[^/]}" = "/" ]; then + SRCPATH=${1%?} + else + SRCPATH=$1 + fi + if [ "$2" != "/" -a "${2##*[^/]}" = "/" ]; then + DESTPATH=${2%?} + else + DESTPATH=$2 + fi + + CWD=$PWD + [ "${1%%[^/]*}" != "/" ] && cd $1 && SRCPATH=$PWD + [ "${2%%[^/]*}" != "/" ] && cd $2 && DESTPATH=$PWD + [ "$CWD" != "$PWD" ] && cd $CWD + + BASEPATH=$SRCPATH + + [ "$SRCPATH" = "$DESTPATH" ] && DESTPATH="." && return + [ "$SRCPATH" = "/" ] && DESTPATH=${DESTPATH#?} && return + + while [ "$BASEPATH/" != "${DESTPATH%${DESTPATH#$BASEPATH/}}" ]; do + BASEPATH=${BASEPATH%/*} + done + + SRCPATH=${SRCPATH#$BASEPATH} + DESTPATH=${DESTPATH#$BASEPATH} + DESTPATH=${DESTPATH#?} + while [ -n "$SRCPATH" ]; do + SRCPATH=${SRCPATH%/*} + DESTPATH="../$DESTPATH" + done + + [ -z "$BASEPATH" ] && BASEPATH="/" + [ "${DESTPATH##*[^/]}" = "/" ] && DESTPATH=${DESTPATH%?} +} + + +[ "$1" == "" ] && { echo "Syntax: $0 <linux tree to xenify>"; exit 1; } + +# Get absolute path to the destination directory +pushd . >/dev/null +cd ${1} +AD=`pwd` +popd >/dev/null + +# Get absolute path to the source directory +AS=`pwd` + +# Get path to source, relative to destination +abs_to_rel ${AD} ${AS} +RS=$DESTPATH + +# Remove old copies of files and directories at the destination +for i in `find . -type f -o -type l` ; do rm -f ${AD}/${i#./} ; done + +# We now work from the destination directory +cd ${AD} + +# Create symlinks of files and directories which exist in the sparse source +${AS}/lndir-rel -silent ${RS} +rm -f mkbuildtree lndir-rel + +## There are a whole bunch of special symlinks, mostly for files +## which are identical in the i386 and xeno-i386 architecture-dependent +## subdirectories. + +# This first symlink is special: it links to shared files in Xen's source tree +rm -rf ${AD}/include/asm-xeno/hypervisor-ifs +mkdir ${AD}/include/asm-xeno/hypervisor-ifs +cd ${AD}/include/asm-xeno/hypervisor-ifs +${AS}/lndir-rel -silent ../../../${RS}/../xen/include/hypervisor-ifs + +# The remainder are the i386 -> xeno-i386 links +cd .. +ln -sf ../asm-i386/a.out.h +ln -sf ../asm-i386/apicdef.h +ln -sf ../asm-i386/apic.h +ln -sf ../asm-i386/atomic.h +ln -sf ../asm-i386/bitops.h +ln -sf ../asm-i386/boot.h +ln -sf ../asm-i386/byteorder.h +ln -sf ../asm-i386/cache.h +ln -sf ../asm-i386/checksum.h +ln -sf ../asm-i386/cpufeature.h +ln -sf ../asm-i386/current.h +ln -sf ../asm-i386/debugreg.h +ln -sf ../asm-i386/delay.h +ln -sf ../asm-i386/div64.h +ln -sf ../asm-i386/dma.h +ln -sf ../asm-i386/elf.h +ln -sf ../asm-i386/errno.h +ln -sf ../asm-i386/fcntl.h +ln -sf ../asm-i386/floppy.h +ln -sf ../asm-i386/hardirq.h +ln -sf ../asm-i386/hdreg.h +ln -sf ../asm-i386/i387.h +ln -sf ../asm-i386/ide.h +ln -sf ../asm-i386/init.h +ln -sf ../asm-i386/io.h +ln -sf ../asm-i386/io_apic.h +ln -sf ../asm-i386/ioctl.h +ln -sf ../asm-i386/ioctls.h +ln -sf ../asm-i386/ipcbuf.h +ln -sf ../asm-i386/ipc.h +ln -sf ../asm-i386/kmap_types.h +ln -sf ../asm-i386/ldt.h +ln -sf ../asm-i386/linux_logo.h +ln -sf ../asm-i386/locks.h +ln -sf ../asm-i386/math_emu.h +ln -sf ../asm-i386/mc146818rtc.h +ln -sf ../asm-i386/mca_dma.h +ln -sf ../asm-i386/mman.h +ln -sf ../asm-i386/mmu.h +ln -sf ../asm-i386/mmx.h +ln -sf ../asm-i386/module.h +ln -sf ../asm-i386/mpspec.h +ln -sf ../asm-i386/msgbuf.h +ln -sf ../asm-i386/mtrr.h +ln -sf ../asm-i386/namei.h +ln -sf ../asm-i386/param.h +ln -sf ../asm-i386/parport.h +ln -sf ../asm-i386/pci.h +ln -sf ../asm-i386/pgtable-3level.h +ln -sf ../asm-i386/poll.h +ln -sf ../asm-i386/posix_types.h +ln -sf ../asm-i386/resource.h +ln -sf ../asm-i386/rwlock.h +ln -sf ../asm-i386/rwsem.h +ln -sf ../asm-i386/scatterlist.h +ln -sf ../asm-i386/semaphore.h +ln -sf ../asm-i386/sembuf.h +ln -sf ../asm-i386/serial.h +ln -sf ../asm-i386/setup.h +ln -sf ../asm-i386/shmbuf.h +ln -sf ../asm-i386/shmparam.h +ln -sf ../asm-i386/sigcontext.h +ln -sf ../asm-i386/siginfo.h +ln -sf ../asm-i386/signal.h +ln -sf ../asm-i386/smplock.h +ln -sf ../asm-i386/socket.h +ln -sf ../asm-i386/sockios.h +ln -sf ../asm-i386/softirq.h +ln -sf ../asm-i386/spinlock.h +ln -sf ../asm-i386/statfs.h +ln -sf ../asm-i386/stat.h +ln -sf ../asm-i386/string-486.h +ln -sf ../asm-i386/string.h +ln -sf ../asm-i386/termbits.h +ln -sf ../asm-i386/termios.h +ln -sf ../asm-i386/timex.h +ln -sf ../asm-i386/tlb.h +ln -sf ../asm-i386/types.h +ln -sf ../asm-i386/uaccess.h +ln -sf ../asm-i386/ucontext.h +ln -sf ../asm-i386/unaligned.h +ln -sf ../asm-i386/unistd.h +ln -sf ../asm-i386/user.h +ln -sf ../asm-i386/xor.h + +cd ../../arch/xeno/kernel +ln -sf ../../i386/kernel/i387.c +ln -sf ../../i386/kernel/init_task.c +ln -sf ../../i386/kernel/ptrace.c +ln -sf ../../i386/kernel/semaphore.c +ln -sf ../../i386/kernel/sys_i386.c +cd ../lib +ln -sf ../../i386/lib/checksum.S +ln -sf ../../i386/lib/dec_and_lock.c +ln -sf ../../i386/lib/getuser.S +ln -sf ../../i386/lib/iodebug.c +ln -sf ../../i386/lib/memcpy.c +ln -sf ../../i386/lib/mmx.c +ln -sf ../../i386/lib/old-checksum.c +ln -sf ../../i386/lib/strstr.c +ln -sf ../../i386/lib/usercopy.c +cd ../mm +ln -sf ../../i386/mm/extable.c +ln -sf ../../i386/mm/pageattr.c |