home *** CD-ROM | disk | FTP | other *** search
- #!/bin/sh
- umask 022
-
- bindir=$NEXT_ROOT/NextDeveloper/Executables/Utilities
- cmd="cp"
- links=""
- quick=""
- symlink=""
- link="$bindir/ln"
- save=0
- unlink=""
-
- while [ 1 ]
- do
- case $1 in
- -s)
- strip="strip"
- shift;;
- -sX)
- echo "BOGUS PDO install option $1"
- strip="strip -x"
- shift;;
- -sx)
- strip="strip -x"
- shift;;
- -sA)
- echo "BOGUS PDO install option $1"
- strip="strip -arch all -A"
- shift;;
- -sS)
- echo "BOGUS PDO install option $1"
- strip="strip -arch all -S"
- shift;;
- -sSd)
- echo "BOGUS PDO install option $1"
- strip="strip -arch all -S -d $2"
- shift
- shift;;
- -sgg)
- echo "BOGUS PDO install option $1"
- strip="strip -arch all -gg"
- shift;;
- -sAn)
- echo "BOGUS PDO install option $1"
- strip="strip -arch all -A -n"
- shift;;
- -r)
- ranlib="ranlib"
- shift;;
- -q)
- quick="quick"
- shift;;
- -c)
- cmd="cp"
- shift;;
- -d)
- cmp="cmp"
- shift;;
- -v)
- vecho="echo"
- shift;;
- -m)
- chmod="$bindir/chmod $2"
- shift
- shift;;
- -o)
- chown="chown -f $2"
- shift
- shift;;
- -g)
- chgrp="chgrp -f $2"
- shift
- shift;;
- -xc)
- cmd="sed"
- # sed on NT appears to be unable to handle []'s
- # comments='/^[ ]*#/d'
- comments='//d'
- shift;;
- -xs)
- cmd="sed"
- # comments='/^[ ]*[#:]/d'
- comments='//d'
- shift;;
- -l)
- links="$links $2"
- shift
- shift;;
- -u)
- unlink="$bindir/rm -f"
- shift;;
- -V)
- stamp="$NEXT_ROOT/NextDeveloper/Executables/vers_string -f"
- link="symlink -r -f"
- shift;;
- # -S)
- -save)
- save=1
- shift;;
- *)
- break;;
- esac
- done
-
- if [ $# -lt 2 ]; then
- echo "install: no destination specified"
- exit 1
- fi
-
- i=0
- argv=""
-
- while [ $# -gt 0 ]
- do
- argv="$argv $1"
- dest=$1
- shift
- i=$(($i+1))
- done
-
-
- if [ $i -gt 2 ]; then
- if [ ! -d $dest ]; then
- echo "usage: install f1 f2 or f1 f2 ... dir"
- exit 1;
- fi
- fi
-
- for j in $argv
- do
- if [ $j = $dest ]; then
- break
- fi;
- if [ ! -f $j ]; then
- echo "install: can't open $j"
- fi;
- if [ -d $dest ]; then
- file=$dest/${j:?t}
- else
- file=$dest
- fi;
- if [ -f $file ]; then
- # This won't work on NT since all files have 0 for the i-number
- # if [ `ls -i $file | awk '{print $1}'` = \
- # `ls -i $j | awk '{print $1}'` ]; then
- # echo "install: can't move $j onto itself"
- # exit 1
- # fi
- fi;
- if [ ! -z $stamp ]; then
- symlink=$file
- file=`$stamp $file`
- fi;
- if [ "$cmd" = "sed" ]; then
- if [ -e $file ]; then
- if [ $save -gt 0 ]; then
- $bindir/rm -f $file.old
- if [ ! ` $bindir/mv $file $file.old ` ]; then exit 1; fi;
- fi;
- fi;
- if [ ! -z "$unlink" ]; then
- $unlink $file
- fi;
- if [ ! -z $vecho ]; then
- echo sed -e '<strip comments>' $j ">$file"
- fi
- $bindir/sed -e '1s;^#\!;&;p' -e '2s;^#(@)PROG;&;p' \
- -e '2s;^#PROG;&;p' -e "$comments" $j >$file
- elif [ ! -z $cmp ]; then
- echo -n CMP $j $file
- `$bindir/cmp -s $j $file`
- if [ $? -eq 0 ]; then
- echo ';'
- else
- if [ -e $file ]; then
- if [ $save -gt 0 ]; then
- $bindir/rm -f $file.old
- `$bindir/mv $file $file.old`
- if [ $? -gt 0 ]; then exit 1; fi;
- fi
- fi
- if [ ! -z "$unlink" ]; then
- $unlink $file
- fi
- echo " THEN" "$cmd "
- `$bindir/$cmd $j $file`
- if [ $? -eq 0 ]; then exit 1; fi;
- fi
- else
- if [ -e $file ]; then
- if [ $save -gt 0 ]; then
- $bindir/rm -f $file.old
- `$bindir/mv $file $file.old`
- if [ $? -gt 0 ]; then exit 1; fi;
- fi
- fi
- if [ ! -z $unlink ]; then
- $unlink $file
- fi
- if [ ! -z $vecho ]; then
- echo $cmd $j $file
- fi
- `$bindir/$cmd $j $file`;
- if [ $? -gt 0 ]; then exit 1; fi;
- fi
-
- if [ ! -z $strip ]; then
- if [ ! -z $vecho ]; then
- echo $strip $file
- fi
- ` $strip $file `
- if [ $? -gt 0 ]; then exit 1; fi;
- fi
- if [ ! -z $ranlib ]; then
- if [ ! -z $vecho ]; then
- echo $ranlib $file
- fi
- ` $ranlib $file `
- if [ $? -gt 0 ]; then exit 1; fi;
- fi
- if [ ! -z "$chmod" ]; then
- if [ ! -z $vecho ]; then
- echo $chmod $file
- fi
- ` $chmod $file `
- if [ $? -gt 0 ]; then exit 1; fi;
- fi
- if [ ! -z $chown ]; then
- if [ ! -z $vecho ]; then
- echo $chown $file
- fi
- ` $chown $file `
- if [ $? -gt 0 ]; then exit 1; fi;
- fi
- if [ ! -z $chgrp ]; then
- if [ ! -z $vecho ]; then
- echo $chgrp $file
- fi
- ` $chgrp $file `
- if [ $? -gt 0 ]; then exit 1; fi;
- fi
-
- done
-
- for i in $symlink $links
- do
- if [ ! -z $vecho]; then
- echo $link $file $i
- fi
- rm -f $i
- ` $link $file $i `
- if [ $? -gt 0 ]; then exit 1; fi;
- done
-
- exit 0
-