-# Sanitize.in for devo.
-# $Id$
+########################
#
+# H H EEEEEE Y Y !!
+# H H E Y Y !!
+# H H E Y Y !!
+# H H E Y !!
+# HHHHHH EEEEE Y !!
+# H H E Y !!
+# H H E Y !!
+# H H E Y
+# H H EEEEEE Y !!
+#
+# YO! READ ME!!!!!!!!!
+# If you're about to add a file or directory which isn't checked out as part
+# of every module in devo (e.g., if "cvs co gas+utils" won't get it, or if
+# "cvs co gcc" won't get it), then don't, Don't, DON'T add it to the regular
+# things-to-keep or things-to-lose sections. Instead, add it to the setting
+# of keep_these_too or lose_these_too before those variables are rescanned
+# to check for the existence of the items listed in them.
+#
+# Otherwise, somebody will check out some package that doesn't include your
+# new file, and will get warnings from Sanitize when everything is really
+# okay. You don't want to get people in the habit of ignoring complaints from
+# Sanitize, do you? No, I didn't think so.
+#
+# If you do add a file to the regular things-to-keep section, don't forget
+# to add the corresponding entry to the devo-support entry (or whatever) in
+# the modules file.
+#
+########################
-# Each directory to survive it's way into a release will need a file
+# .Sanitize for devo.
+
+# Each directory to survive its way into a release will need a file
# like this one called "./.Sanitize". All keyword lines must exist,
# and must exist in the order specified by this file. Each directory
# in the tree will be processed, top down, in the following order.
# The lines between the "Do-first:" line and the "Things-to-keep:"
# line are executed as a /bin/sh shell script before anything else is
-# done in this
+# done in this directory.
Do-first:
-echo Sanitizing `pwd`...
+keep_these_too="${keep_these_too} .cvsignore CYGNUS autoconf
+ apache bash
+ bfd binutils byacc cvs deja-gnu dejagnu diff dosrel dvips emacs emacs19
+ examples expect fileutils findutils flex
+ gas gawk gcc gdb gdbm gdbtest glob gprof grep grez groff guile gzip
+ include inet install.sh ispell
+ ld less libg++ libgcc libgloss libiberty libio librx libstdc++
+ m4 make mmalloc move-if-change newlib ncurses opcodes
+ pagas patch perl prms
+ rcs readline sed send-pr shellutils sim tar textutils time
+ texinfo tgas utils uudecode wdiff xiberty
+ configure.bat makeall.bat setup.com makefile.vms winsup
+ mpw-README mpw-configure mpw-config.in mpw-build.in mpw-install"
+
+lose_these_too="${lose_these_too} testsuite"
+
+cygnus_files="release release-info build-all.mk test-build.mk COPYING.NEWLIB"
+
+if ( echo $* | grep keep\-cygnus > /dev/null) ; then
+ keep_these_too="${keep_these_too} ${cygnus_files}"
+else
+ lose_these_too="${lose_these_too} ${cygnus_files}"
+fi
+
+gdbtk_files="tcl tk"
+
+if ( echo $* | grep lose\-gdbtk > /dev/null) ; then
+ lose_these_too="${lose_these_too} ${gdbtk_files}"
+ if [ -n "${verbose}" ] ; then
+ echo Deleting ${gdbtk_files}
+ fi
+else
+ keep_these_too="${keep_these_too} ${gdbtk_files}"
+ if [ -n "${verbose}" ] ; then
+ echo Keeping ${gdbtk_files}
+ fi
+fi
+
+# This is for newlib net releases.
+newlib_file="COPYING.NEWLIB"
+
+if (echo $* | grep keep\-newlib > /dev/null) ; then
+ if (echo $* | grep -v keep\-cygnus > /dev/null) ; then
+ keep_these_too="${keep_these_too} ${newlib_file}"
+ lose_these_too="`echo ${lose_these_too} | sed -e s/${newlib_file}//`"
+ fi
+else
+ true; # Let keep-cygnus handle it.
+fi
+
+# IDK releases don't include files which only matter to CDK.
+inet_files="COPYING.LIB config config-ml.in etc symlink-tree"
+
+if (echo $* | grep keep\-inet > /dev/null); then
+ lose_these_too="${lose_these_too} ${inet_files}"
+else
+ keep_these_too="${keep_these_too} ${inet_files}"
+fi
+
+
+# This top-level directory is special. We often check out only subsets
+# of this directory, and complaining about directories or files we didn't
+# check out just gets obnoxious.
+
+list="`(for i in ${keep_these_too}; do echo $i ; done) | sort -u`"
+keep_these_too=
+
+for file in $list ; do
+ if [ -r $file ] || [ -d $file ] ; then
+ keep_these_too="${keep_these_too} $file"
+ fi
+done
+
+list="`(for i in ${lose_these_too}; do echo $i ; done) | sort -u` "
+lose_these_too=
+
+for file in $list ; do
+ if [ -r $file ] || [ -d $file ] ; then
+ lose_these_too="${lose_these_too} $file"
+ fi
+done
# All files listed between the "Things-to-keep:" line and the
-# "Files-to-sed:" line will be kept. All other files will be removed.
+# "Do-last:" line will be kept. All other files will be removed.
# Directories listed in this section will have their own Sanitize
# called. Directories not listed will be removed in their entirety
# with rm -rf.
Things-to-keep:
-INSTALL
+COPYING
+ChangeLog
Makefile.in
-README.configure
-bison
-bfd
-binutils
-config
+README
+config.guess
+config.sub
configure
configure.in
-gas
-gcc
-gdb
-gnulib
-include
-ld
-libiberty
-libg++
-readline
-texinfo
+
+Things-to-lose:
+
+# The lines between the "Do-last:" line and the end of the file
+# are executed as a /bin/sh shell script after everything else is
+# done.
Do-last:
-echo Done in `pwd`.
+# Don't try to clean directories here, as the 'mv' command will fail.
+# Also, grep fails on NFS mounted directories.
-#
-#
-# $Log$
-# Revision 1.6 1991/07/31 05:15:37 gnu
-# Add texinfo
-#
-# Revision 1.5 1991/07/25 16:11:27 tiemann
-# Don't eliminate libg++. Jimmy Hoffa disappeared before libg++ was
-# even conceived.
-#
-# Revision 1.4 1991/07/24 22:25:50 steve
-# *** empty log message ***
-#
-# Revision 1.3 1991/05/23 22:21:19 rich
-# added bfd, binutils, ld, gdb, gcc.
-#
-# Revision 1.2 1991/05/23 21:15:10 rich
-# Added bfd.
-#
-# Revision 1.1 1991/05/23 17:32:34 rich
-# Initial revision
-#
-# Revision 1.1 1991/05/23 17:18:12 rich
-# Initial revision
-#
-#
-#
+if ( echo $* | egrep verbose > /dev/null ) ; then
+ verbose=true
+else
+ verbose=
+fi
+
+# Remove "sanitize-Sanitize" lines.
+if [ -n "${verbose}" ] ; then
+ echo Cleaning unconditional sanitizations out of Makefile.in...
+fi
+cp Makefile.in new
+sed '/start\-sanitize\-Sanitize/,/end-\sanitize\-Sanitize/d' < Makefile.in > new
+if [ -n "${safe}" -a ! -f .Recover/Makefile.in ] ; then
+ mv Makefile.in .Recover
+fi
+mv new Makefile.in
+
+if [ -n "${verbose}" ] ; then
+ echo Thawing away the \"chill\"...
+fi
+
+if ( echo $* | grep keep\-chill > /dev/null ) ; then
+ for i in * ; do
+ if test ! -d $i && (grep sanitize-chill $i > /dev/null) ; then
+ if [ -n "${verbose}" ] ; then
+ echo Keeping chill stuff in $i
+ fi
+ fi
+ done
+else
+ for i in * ; do
+ if test ! -d $i && (grep sanitize-chill $i > /dev/null) ; then
+ if [ -n "${verbose}" ] ; then
+ echo Thawing the \"chill\" out of $i...
+ fi
+ cp $i new
+ sed '/start\-sanitize\-chill/,/end-\sanitize\-chill/d' < $i > new
+ if [ -n "${safe}" -a ! -f .Recover/$i ] ; then
+ if [ -n "${verbose}" ] ; then
+ echo Caching $i in .Recover...
+ fi
+ mv $i .Recover
+ fi
+ mv new $i
+ fi
+ done
+fi
+
+if [ -n "${verbose}" ] ; then
+ echo Processing \"arc\"...
+fi
+
+arc_files="config.sub configure.in config-ml.in"
+
+if ( echo $* | grep keep\-arc > /dev/null ) ; then
+ for i in $arc_files ; do
+ if test ! -d $i && (grep sanitize-arc $i > /dev/null) ; then
+ if [ -n "${verbose}" ] ; then
+ echo Keeping arc stuff in $i
+ fi
+ fi
+ done
+else
+ for i in * ; do
+ if test ! -d $i && (grep sanitize-arc $i > /dev/null) ; then
+ if [ -n "${verbose}" ] ; then
+ echo Removing traces of \"arc\" from $i...
+ fi
+ cp $i new
+ sed '/start\-sanitize\-arc/,/end-\sanitize\-arc/d' < $i > new
+ if [ -n "${safe}" -a ! -f .Recover/$i ] ; then
+ if [ -n "${verbose}" ] ; then
+ echo Caching $i in .Recover...
+ fi
+ mv $i .Recover
+ fi
+ mv new $i
+ fi
+ done
+fi
+
+if [ -n "${verbose}" ] ; then
+ echo Processing \"d30v\"...
+fi
+
+d30v_files="ChangeLog config.sub configure.in"
+
+if ( echo $* | grep keep\-d30v > /dev/null ) ; then
+ for i in $d30v_files ; do
+ if test ! -d $i && (grep sanitize-d30v $i > /dev/null) ; then
+ if [ -n "${verbose}" ] ; then
+ echo Keeping d30v stuff in $i
+ fi
+ fi
+ done
+else
+ for i in * ; do
+ if test ! -d $i && (grep sanitize-d30v $i > /dev/null) ; then
+ if [ -n "${verbose}" ] ; then
+ echo Removing traces of \"d30v\" from $i...
+ fi
+ cp $i new
+ sed '/start\-sanitize\-d30v/,/end-\sanitize\-d30v/d' < $i > new
+ if [ -n "${safe}" -a ! -f .Recover/$i ] ; then
+ if [ -n "${verbose}" ] ; then
+ echo Caching $i in .Recover...
+ fi
+ mv $i .Recover
+ fi
+ mv new $i
+ fi
+ done
+fi
+
+if [ -n "${verbose}" ] ; then
+ echo Processing \"m32r\"...
+fi
+
+m32r_files="config.sub configure.in ChangeLog"
+
+if ( echo $* | grep keep\-m32r > /dev/null ) ; then
+ for i in $m32r_files ; do
+ if test ! -d $i && (grep sanitize-m32r $i > /dev/null) ; then
+ if [ -n "${verbose}" ] ; then
+ echo Keeping m32r stuff in $i
+ fi
+ fi
+ done
+else
+ for i in * ; do
+ if test ! -d $i && (grep sanitize-m32r $i > /dev/null) ; then
+ if [ -n "${verbose}" ] ; then
+ echo Removing traces of \"m32r\" from $i...
+ fi
+ cp $i new
+ sed '/start\-sanitize\-m32r/,/end-\sanitize\-m32r/d' < $i > new
+ if [ -n "${safe}" -a ! -f .Recover/$i ] ; then
+ if [ -n "${verbose}" ] ; then
+ echo Caching $i in .Recover...
+ fi
+ mv $i .Recover
+ fi
+ mv new $i
+ fi
+ done
+fi
+
+v850_files="ChangeLog config.sub configure.in"
+
+if ( echo $* | grep keep\-v850 > /dev/null ) ; then
+ for i in $v850_files ; do
+ if test ! -d $i && (grep sanitize-v850 $i > /dev/null) ; then
+ if [ -n "${verbose}" ] ; then
+ echo Keeping v850 stuff in $i
+ fi
+ fi
+ done
+else
+ for i in * ; do
+ if test ! -d $i && (grep sanitize-v850 $i > /dev/null) ; then
+ if [ -n "${verbose}" ] ; then
+ echo Removing traces of \"v850\" from $i...
+ fi
+ cp $i new
+ sed '/start\-sanitize\-v850/,/end-\sanitize\-v850/d' < $i > new
+ if [ -n "${safe}" -a ! -f .Recover/$i ] ; then
+ if [ -n "${verbose}" ] ; then
+ echo Caching $i in .Recover...
+ fi
+ mv $i .Recover
+ fi
+ mv new $i
+ fi
+ done
+fi
+
+r5900_files="ChangeLog config.sub configure.in"
+
+if ( echo $* | grep keep\-r5900 > /dev/null ) ; then
+ for i in $r5900_files ; do
+ if test ! -d $i && (grep sanitize-r5900 $i > /dev/null) ; then
+ if [ -n "${verbose}" ] ; then
+ echo Keeping r5900 stuff in $i
+ fi
+ fi
+ done
+else
+ for i in * ; do
+ if test ! -d $i && (grep sanitize-r5900 $i > /dev/null) ; then
+ if [ -n "${verbose}" ] ; then
+ echo Removing traces of \"r5900\" from $i...
+ fi
+ cp $i new
+ sed '/start\-sanitize\-r5900/,/end-\sanitize\-r5900/d' < $i > new
+ if [ -n "${safe}" -a ! -f .Recover/$i ] ; then
+ if [ -n "${verbose}" ] ; then
+ echo Caching $i in .Recover...
+ fi
+ mv $i .Recover
+ fi
+ mv new $i
+ fi
+ done
+fi
+
+tic80_files="ChangeLog config.sub configure.in"
+
+if ( echo $* | grep keep\-tic80 > /dev/null ) ; then
+ for i in $tic80_files ; do
+ if test ! -d $i && (grep sanitize-tic80 $i > /dev/null) ; then
+ if [ -n "${verbose}" ] ; then
+ echo Keeping tic80 stuff in $i
+ fi
+ fi
+ done
+else
+ for i in * ; do
+ if test ! -d $i && (grep sanitize-tic80 $i > /dev/null) ; then
+ if [ -n "${verbose}" ] ; then
+ echo Removing traces of \"tic80\" from $i...
+ fi
+ cp $i new
+ sed '/start\-sanitize\-tic80/,/end-\sanitize\-tic80/d' < $i > new
+ if [ -n "${safe}" -a ! -f .Recover/$i ] ; then
+ if [ -n "${verbose}" ] ; then
+ echo Caching $i in .Recover...
+ fi
+ mv $i .Recover
+ fi
+ mv new $i
+ fi
+ done
+fi
+
+if ( echo $* | grep lose\-gdbtk > /dev/null ) ; then
+ echo Catering to RMS by removing traces of \"gdbtk\"...
+ if [ -n "${verbose}" ] ; then
+ echo Removing traces of \"gdbtk\" from Makefile.in...
+ fi
+ cp Makefile.in new
+ sed -e '/GDBTK_SUPPORT_DIRS=/d' -e 's/ $(GDBTK_SUPPORT_DIRS)//' < Makefile.in > new
+ if [ -n "${safe}" -a ! -f .Recover/Makefile.in ] ; then
+ if [ -n "${verbose}" ] ; then
+ echo Caching Makefile.in in .Recover...
+ fi
+ mv Makefile.in .Recover
+ fi
+ mv new Makefile.in
+fi
+
+if ( echo $* | grep keep\-gm > /dev/null ) ; then
+ for i in * ; do
+ if test ! -d $i && (grep sanitize-gm $i > /dev/null) ; then
+ if [ -n "${verbose}" ] ; then
+ echo Keeping gm stuff in $i
+ fi
+ fi
+ done
+else
+ for i in * ; do
+ if test ! -d $i && (grep sanitize-gm $i > /dev/null) ; then
+ if [ -n "${verbose}" ] ; then
+ echo Removing traces of \"gm\" from $i...
+ fi
+ cp $i new
+ sed '/start\-sanitize\-gm/,/end-\sanitize\-gm/d' < $i > new
+ if [ -n "${safe}" -a ! -f .Recover/$i ] ; then
+ if [ -n "${verbose}" ] ; then
+ echo Caching $i in .Recover...
+ fi
+ mv $i .Recover
+ fi
+ mv new $i
+ fi
+ done
+fi
+
+# Do this check LAST!
+for i in * ; do
+ if test ! -d $i && (grep sanitize $i > /dev/null) ; then
+ echo '***' Some mentions of Sanitize are still left in $i! 1>&2
+ exit 1
+ fi
+done
-# End of file.
+# eof