summaryrefslogtreecommitdiffstats
path: root/tools/build/rcs-clean.in
diff options
context:
space:
mode:
authorJoel Sherrill <joel.sherrill@OARcorp.com>1998-10-14 20:19:30 +0000
committerJoel Sherrill <joel.sherrill@OARcorp.com>1998-10-14 20:19:30 +0000
commit11cfb6f7f6326e79b4a930716c340b65d76d0683 (patch)
tree407c08b76ce570ebc0c5b218aa914a1449808f20 /tools/build/rcs-clean.in
parent946b3cb0cf91da6753b6a6e0f60b91d84fcdf097 (diff)
downloadrtems-11cfb6f7f6326e79b4a930716c340b65d76d0683.tar.bz2
Patch from Ralf Corsepius <corsepiu@faw.uni-ulm.de>:
1. Rtems contains some perl scripts that use hard-coded paths to /usr/bin/perl or /usr/local/bin/perl I have already fixed these problems by adding some checks to configure.in. While doing this, I also cleaned up some more autoconf related problems for generating shell scripts. This patch might seem a bit scary to you, but I am quite confident it won't break something (I've been testing it for almost a week now, however it might introduce typos for a limited number configurations I don't have access to - But it shouldn't be a problem for you to test them :-). I expect to get this finished tonight, hence you will very likely have the patch when you get up tomorrow. Changes: * Check for PERL and disable all PERL scripts if perl wasn't found. * Generate all KSHELL-scripts with autoconf instead of make-script * Automatic dependency handling for autoconf generated KSHELL or PERL scripts (make/rtems.cfg) Notes: * this patch contains new files and deletes some other files. * The patch is relative to rtems-4.0.0-beta4 with my previous rtems-rc-981014-1.diff patch applied. Testing: I tested it with sh-rtems and posix under linux. Now all targets which are touched by this patch and which are not used while building for sh-rtems and posix still need to be tested. AFAIS, only the sparc/erc32 BSP should be affected by this criterion. And if you like to, you should also consider testing it on a Cygwin32 and a Solaris host for one arbitrary BSP.
Diffstat (limited to 'tools/build/rcs-clean.in')
-rw-r--r--tools/build/rcs-clean.in73
1 files changed, 73 insertions, 0 deletions
diff --git a/tools/build/rcs-clean.in b/tools/build/rcs-clean.in
new file mode 100644
index 0000000000..83fed05128
--- /dev/null
+++ b/tools/build/rcs-clean.in
@@ -0,0 +1,73 @@
+#!@KSH@ -p
+#
+# $Id$
+#
+# Delete all files from the current directory that can be recreated
+# via RCS 'co' commonds
+# Used by 'make clobber'
+#
+
+progname=${0##*/} # fast basename hack for ksh, bash
+
+USAGE=\
+"usage: $progname [ -v ]"
+
+fatal() {
+ if [ "$1" ]
+ then
+ echo $* >&2
+ fi
+ echo "$USAGE" 1>&2
+ exit 1
+}
+
+#
+# process the options
+#
+
+verbose=""
+
+while getopts v OPT
+do
+ case "$OPT" in
+ v)
+ verbose="yes";;
+ *)
+ fatal
+ esac
+done
+
+let $((shiftcount = $OPTIND - 1))
+shift $shiftcount
+
+args=$*
+[ "$args" ] && fatal
+
+[ -d RCS/. ] || exit 0
+
+# there is probably a better way to do this
+
+rcs_files=`echo RCS/*,v | sed -e 's?RCS/??g' -e's/,v//g'`
+
+kills=""
+for f in $rcs_files
+do
+ # build list of all files in RCS/*,v that are *not* locked
+ if [ -f $f ] && [ ! -w $f ] && [ -f RCS/$f,v ]
+ then
+ locked=`rlog -L -R $f`
+ [ "$locked" = "" ] && kills="$kills $f"
+ fi
+done
+
+if [ "$kills" ]
+then
+ [ "$verbose" ] && echo rm -f $kills
+ rm -f $kills
+fi
+
+exit 0
+
+# Local Variables: ***
+# mode:ksh ***
+# End: ***