diff options
author | Tanaka Akira <akr@users.sourceforge.net> | 1999-07-12 17:02:40 +0000 |
---|---|---|
committer | Tanaka Akira <akr@users.sourceforge.net> | 1999-07-12 17:02:40 +0000 |
commit | 1f6786ef7ae24ff858f52c6d4ac2bc23d529c0c1 (patch) | |
tree | 608d6471d477e8d4d9eafa62f521be50c3248f6e /Config/installfns.sh | |
parent | 7c670f1e6a0e154f0b1a2d4b6eed0e71c9404b56 (diff) | |
download | zsh-1f6786ef7ae24ff858f52c6d4ac2bc23d529c0c1.tar.gz zsh-1f6786ef7ae24ff858f52c6d4ac2bc23d529c0c1.tar.xz zsh-1f6786ef7ae24ff858f52c6d4ac2bc23d529c0c1.zip |
zsh-3.1.6-test-1 zsh-3.1.6-test-1
Diffstat (limited to 'Config/installfns.sh')
-rwxr-xr-x | Config/installfns.sh | 48 |
1 files changed, 48 insertions, 0 deletions
diff --git a/Config/installfns.sh b/Config/installfns.sh new file mode 100755 index 000000000..de7a52bce --- /dev/null +++ b/Config/installfns.sh @@ -0,0 +1,48 @@ +#!/bin/sh + +if test -d $fndir.old; then + add_old=1 +fi + +$sdir_top/mkinstalldirs $fndir || exit 1; + +# If the source directory is somewhere else, we need to force +# the shell to expand it in that directory, then strip it off. +install= +for file in $FUNCTIONS_INSTALL; do + if test -f "$sdir/$file"; then + install="$install $file" + else + install="$install `echo $sdir/$file | sed -e \"s%$sdir/%%g\"`" + fi +done + +for file in $install; do + if test -f $sdir/$file; then + if test x$FUNCTIONS_SUBDIRS != x -a x$FUNCTIONS_SUBDIRS != xno; then + subfile="$file" + subdir="`echo $file | sed -e 's%/[^/]*$%%'`" + olddir="$fndir.old/$subdir" + instdir="$fndir/$subdir" + else + subfile="`echo $file | sed -e 's%^.*/%%'`" + olddir="$fndir.old" + instdir="$fndir" + fi + if test -f $fndir/$subfile; then + if cmp $fndir/$subfile $sdir/$file >/dev/null; then :; else + $sdir_top/mkinstalldirs $olddir + mv $fndir/$subfile $olddir + : ${add_old:=1} + fi + fi + $sdir_top/mkinstalldirs $instdir || exit 1 + $INSTALL_DATA $sdir/$file $instdir || exit 1 + fi +done + +if test x$add_old != x1; then + rm -rf $fndir.old +fi + +exit 0 |