summaryrefslogtreecommitdiffstats
path: root/c/build-tools/install-if-change.in
diff options
context:
space:
mode:
authorJoel Sherrill <joel.sherrill@OARcorp.com>1999-07-23 20:01:41 +0000
committerJoel Sherrill <joel.sherrill@OARcorp.com>1999-07-23 20:01:41 +0000
commitb0ac03f4ddb8a1643313f4f9c04fa6aac9378192 (patch)
treec728f532ed1b269d475dfe829a8e1e088d5b84e8 /c/build-tools/install-if-change.in
parente5dafccb098bb405c37ae134639885a53ae89d8e (diff)
downloadrtems-b0ac03f4ddb8a1643313f4f9c04fa6aac9378192.tar.bz2
Moved to top level directory per patch rtems-rc-19990709-0.diff.gz
from Ralf Corsepius <corsepiu@faw.uni-ulm.de>.
Diffstat (limited to '')
-rw-r--r--c/build-tools/install-if-change.in142
1 files changed, 0 insertions, 142 deletions
diff --git a/c/build-tools/install-if-change.in b/c/build-tools/install-if-change.in
deleted file mode 100644
index b2f3cb04bb..0000000000
--- a/c/build-tools/install-if-change.in
+++ /dev/null
@@ -1,142 +0,0 @@
-#!@KSH@ -p
-#
-# Either bash or ksh will be ok for this; requires (( )) arithmetic
-# (-p above just says to not parse $ENV file; makes it faster for
-# those of us who set $ENV)
-#
-# install files if they have changed by running 'cmp', then 'install'
-# as necessary.
-#
-# Optionally, can append a suffix before last existing suffix (if any)
-#
-# NOTE
-# We avoid using typical install(1M) programs since they have
-# large variability across systems and we also need to support ou
-# -V option.
-# So we just copy and chmod by hand.
-#
-# $Id$
-#
-
-progname=`basename $0`
-#progname=${0##*/} # fast basename hack for ksh, bash
-
-USAGE=\
-"usage: $progname [ -vmV ] file [ file ... ] dest-directory-or-file
- -v -- verbose
- -V suffix -- suffix to append to targets (before any . suffix)
- eg: -V _g would change 'foo' to 'foo_g' and
- 'libfoo.a' to 'libfoo_g.a'
- -m mode -- mode for new file(s)"
-
-fatal() {
- if [ "$1" ]
- then
- echo $* >&2
- fi
- echo "$USAGE" 1>&2
- exit 1
-}
-
-#
-# process the options
-#
-
-verbose=""
-suffix=""
-mode=""
-
-while getopts vm:V: OPT
-do
- case "$OPT" in
- v)
- verbose="yes";;
- V)
- eval suffix=$OPTARG;;
- m)
- mode="$OPTARG";;
- *)
- fatal
- esac
-done
-
-shiftcount=`expr $OPTIND - 1`
-shift $shiftcount
-
-args=$*
-
-#
-# Separate source file(s) from dest directory or file
-#
-
-files=""
-dest=""
-for d in $args
-do
- files="$files $dest"
- dest=$d
-done
-
-if [ ! "$files" ] || [ ! "$dest" ]
-then
- fatal "missing files or invalid destination"
-fi
-
-#
-# Process the arguments
-#
-
-targets=""
-for f in $files
-do
- # leaf=`basename $f`
- leaf=${f##*/} # fast basename hack for ksh, bash
-
- target=$dest
- if [ -d $dest ]
- then
- # if we were given a suffix, then add it as appropriate
- if [ "$suffix" ]
- then
- case $f in
- *.*)
- # leaf=`echo $leaf |
- # /bin/sed "s/\([~\.]*\)\.\(.*\)$/\1$suffix.\2/"`
- # ksh,bash hack for above sed script
- leaf=${leaf%%.*}$suffix.${leaf#*.}
-
- [ "$verbose" = "yes" ] &&
- echo "$progname: $f will be installed as $leaf"
- ;;
- *)
- leaf=$leaf$suffix;;
- esac
- fi
- target=$target/$leaf
- fi
-
- [ ! -r $f ] && fatal "can not read $f"
-
- if cmp -s $f $target
- then
- [ "$verbose" = "yes" ] && echo "'$f' not newer than '$target'"
- else
- [ "$verbose" = "yes" ] && echo "rm -f $target"
- rm -f $target
- echo "cp -p $f $target"
- cp -p $f $target || exit 1
- targets="$targets $target" # keep list for chmod below
- fi
-done
-
-if [ "$mode" -a "$targets" ]
-then
- [ "$verbose" = "yes" ] && echo "chmod $mode $targets"
- chmod $mode $targets
-fi
-
-exit 0
-
-# Local Variables: ***
-# mode:ksh ***
-# End: ***