# .Sanitize for devo/opcodes.

# 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.

# Hash started lines like this one are comments and will be deleted
# before anything else is done.  Blank lines will also be squashed
# out.

# 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 directory.

Do-first:

cygnus_files="cgen.sh cgen-asm.in cgen-dis.in cgen-opc.in"

if ( echo $* | grep keep\-cygnus > /dev/null ) ; then
	keep_these_too="${cygnus_files} ${keep_these_too}"
else
	lose_these_too="${cygnus_files} ${lose_these_too}"
fi

tic80_files="tic80-opc.c tic80-dis.c"

if ( echo $* | grep keep\-tic80 > /dev/null ) ; then
	keep_these_too="${tic80_files} ${keep_these_too}"
else
	lose_these_too="${tic80_files} ${lose_these_too}"
fi

sky_files="dvp-opc.c dvp-dis.c"

if ( echo $* | grep keep\-sky > /dev/null ) ; then
	keep_these_too="${sky_files} ${keep_these_too}"
else
	lose_these_too="${sky_files} ${lose_these_too}"
fi

# All files listed between the "Things-to-keep:" line and the
# "Files-to-sed:" 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:

ChangeLog
Makefile.am
Makefile.in
acconfig.h
acinclude.m4
aclocal.m4
alpha-dis.c
alpha-opc.c
arc-dis.c
arc-opc.c
arm-dis.c
arm-opc.h
a29k-dis.c
cgen-asm.c
cgen-dis.c
cgen-opc.c
config.in
configure
configure.bat
configure.in
d10v-dis.c
d10v-opc.c
d30v-dis.c
d30v-opc.c
dep-in.sed
dis-buf.c
disassemble.c
h8300-dis.c
h8500-dis.c
h8500-opc.h
hppa-dis.c
i386-dis.c
i960-dis.c
m32r-asm.c
m32r-dis.c
m32r-opc.c
m32r-opc.h
m68k-dis.c
m68k-opc.c
m88k-dis.c
makefile.vms
mips-dis.c
mips-opc.c
mips16-opc.c
m10200-dis.c
m10200-opc.c
m10300-dis.c
m10300-opc.c
mpw-config.in
mpw-make.sed
ns32k-dis.c
opintl.h
po
ppc-dis.c
ppc-opc.c
sh-opc.h
sh-dis.c
sparc-dis.c
sparc-opc.c
stamp-h.in
sysdep.h
tic30-dis.c
vax-dis.c
w65-dis.c
w65-opc.h
v850-opc.c
v850-dis.c
z8k-dis.c
z8k-opc.h
z8kgen.c

Things-to-lose:

Do-last:

cygnus_files="ChangeLog Makefile.am Makefile.in configure.in configure"
if ( echo $* | grep keep\-cygnus > /dev/null ) ; then
	for i in $cygnus_files ; do
		if test ! -d $i && (grep sanitize-cygnus $i > /dev/null) ; then
			if [ -n "${verbose}" ] ; then
				echo Keeping cygnus stuff in $i
			fi
		fi
	done
else
	for i in $cygnus_files ; do
		if test ! -d $i && (grep sanitize-cygnus $i > /dev/null) ; then
			if [ -n "${verbose}" ] ; then
				echo Removing traces of \"cygnus\" from $i...
			fi
			cp $i new
			sed '/start\-sanitize\-cygnus/,/end-\sanitize\-cygnus/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

am33_files="ChangeLog m10300-opc.c m10300-dis.c"
if ( echo $* | grep keep\-am33 > /dev/null ) ; then
	for i in $am33_files ; do
		if test ! -d $i && (grep sanitize-am33 $i > /dev/null) ; then
			if [ -n "${verbose}" ] ; then
				echo Keeping am33 stuff in $i
			fi
		fi
	done
else
	for i in $am33_files ; do
		if test ! -d $i && (grep sanitize-am33 $i > /dev/null) ; then
			if [ -n "${verbose}" ] ; then
				echo Removing traces of \"am33\" from $i...
			fi
			cp $i new
			sed '/start\-sanitize\-am33/,/end-\sanitize\-am33/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


v850e_files="ChangeLog Makefile.in Makefile.am configure.in configure disassemble.c v850-opc.c v850-dis.c"
if ( echo $* | grep keep\-v850e > /dev/null ) ; then
	for i in $v850e_files ; do
		if test -f $i && (grep sanitize-v850e $i > /dev/null) ; then
			if [ -n "${verbose}" ] ; then
				echo Keeping v850e stuff in $i
			fi
		fi
	done
else
	for i in $v850e_files ; do
		if test -f $i && (grep sanitize-v850e $i > /dev/null) ; then
			if [ -n "${verbose}" ] ; then
				echo Removing traces of \"v850e\" from $i...
			fi
			cp $i new
			sed '/start\-sanitize\-v850e/,/end\-sanitize\-v850e/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 mips-opc.c mips-dis.c Makefile.am Makefile.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 $r5900_files ; 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

vr4320_files="ChangeLog mips-opc.c mips-dis.c"
if ( echo $* | grep keep\-vr4320 > /dev/null ) ; then
	for i in $vr4320_files ; do
		if test ! -d $i && (grep sanitize-vr4320 $i > /dev/null) ; then
			if [ -n "${verbose}" ] ; then
				echo Keeping vr4320 stuff in $i
			fi
		fi
	done
else
	for i in $vr4320_files ; do
		if test ! -d $i && (grep sanitize-vr4320 $i > /dev/null) ; then
			if [ -n "${verbose}" ] ; then
				echo Removing traces of \"vr4320\" from $i...
			fi
			cp $i new
			sed '/start\-sanitize\-vr4320/,/end-\sanitize\-vr4320/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

cygnus_files="ChangeLog mips-opc.c mips-dis.c"
if ( echo $* | grep keep\-cygnus > /dev/null ) ; then
	for i in $cygnus_files ; do
		if test ! -d $i && (grep sanitize-cygnus $i > /dev/null) ; then
			if [ -n "${verbose}" ] ; then
				echo Keeping cygnus stuff in $i
			fi
		fi
	done
else
	for i in $cygnus_files ; do
		if test ! -d $i && (grep sanitize-cygnus $i > /dev/null) ; then
			if [ -n "${verbose}" ] ; then
				echo Removing traces of \"cygnus\" from $i...
			fi
			cp $i new
			sed '/start\-sanitize\-cygnus/,/end-\sanitize\-cygnus/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

tx19_files="ChangeLog mips16-opc.c mips-dis.c"
if ( echo $* | grep keep\-tx19 > /dev/null ) ; then
	for i in $tx19_files ; do
		if test ! -d $i && (grep sanitize-tx19 $i > /dev/null) ; then
			if [ -n "${verbose}" ] ; then
				echo Keeping tx19 stuff in $i
			fi
		fi
	done
else
	for i in $tx19_files ; do
		if test ! -d $i && (grep sanitize-tx19 $i > /dev/null) ; then
			if [ -n "${verbose}" ] ; then
				echo Removing traces of \"tx19\" from $i...
			fi
			cp $i new
			sed '/start\-sanitize\-tx19/,/end-\sanitize\-tx19/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

tx49_files="ChangeLog mips-opc.c mips-dis.c"
if ( echo $* | grep keep\-tx49 > /dev/null ) ; then
	for i in $tx49_files ; do
		if test ! -d $i && (grep sanitize-tx49 $i > /dev/null) ; then
			if [ -n "${verbose}" ] ; then
				echo Keeping tx49 stuff in $i
			fi
		fi
	done
else
	for i in $tx49_files ; do
		if test ! -d $i && (grep sanitize-tx49 $i > /dev/null) ; then
			if [ -n "${verbose}" ] ; then
				echo Removing traces of \"tx49\" from $i...
			fi
			cp $i new
			sed '/start\-sanitize\-tx49/,/end-\sanitize\-tx49/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 Makefile.in Makefile.am configure.in configure disassemble.c"
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 $tic80_files ; 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

coldfire_files="ChangeLog m68k-opc.c"
if ( echo $* | grep keep\-coldfire > /dev/null ) ; then
	for i in $coldfire_files ; do
		if test ! -d $i && (grep sanitize-coldfire $i > /dev/null) ; then
			if [ -n "${verbose}" ] ; then
				echo Keeping coldfire stuff in $i
			fi
		fi
	done
else
	for i in $coldfire_files ; do
		if test ! -d $i && (grep sanitize-coldfire $i > /dev/null) ; then
			if [ -n "${verbose}" ] ; then
				echo Removing traces of \"coldfire\" from $i...
			fi
			cp $i new
			sed '/start\-sanitize\-coldfire/,/end-\sanitize\-coldfire/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

sky_files="ChangeLog Makefile.in Makefile.am configure.in configure disassemble.c mips-dis.c"
if ( echo $* | grep keep\-sky > /dev/null ) ; then
	for i in $sky_files ; do
		if test ! -d $i && (grep sanitize-sky $i > /dev/null) ; then
			if [ -n "${verbose}" ] ; then
				echo Keeping sky stuff in $i
			fi
		fi
	done
else
	for i in $sky_files ; do
		if test ! -d $i && (grep sanitize-sky $i > /dev/null) ; then
			if [ -n "${verbose}" ] ; then
				echo Removing traces of \"sky\" from $i...
			fi
			cp $i new
			sed '/start\-sanitize\-sky/,/end-\sanitize\-sky/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

m32rx_files="ChangeLog m32r-opc.c m32r-opc.h m32r-dis.c m32r-asm.c"
if ( echo $* | grep keep\-m32rx > /dev/null ) ; then
	for i in $m32rx_files ; do
		if test -f $i && (grep sanitize-m32rx $i > /dev/null) ; then
			if [ -n "${verbose}" ] ; then
				echo Keeping m32rx stuff in $i
			fi
		fi
	done
else
	for i in $m32rx_files ; do
		if test -f $i && (grep sanitize-m32rx $i > /dev/null) ; then
			if [ -n "${verbose}" ] ; then
				echo Removing traces of \"m32rx\" from $i...
			fi
			cp $i new
			# The PIPE sanitization will be much cleaner with redact.
			sed -e '/start\-sanitize\-m32rx/,/end\-sanitize\-m32rx/d' \
				-e 's/, PIPE_[A-Z]*//g' < $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

for i in *; do
  if test ! -d $i && (grep sanitize $i > /dev/null) ; then
    echo '***' Some mentions of Sanitize are still left in opcodes/$i! 1>&2
  fi
done

for lost in .. $lose_these_too; do
  if test $lost != ..; then
    for i in Makefile.am Makefile.in configure.in configure; do
      if fgrep $lost $i >/dev/null 2>&1; then
        echo '***' File $lost was sanitized out but is still mentioned in opcodes/$i 1>&2
      fi
    done
  fi
done

# This must come after all other sanitizations.  Re-sanitize the .pot
# file.
if [ -n "${verbose}" ]; then
   echo Re-computing files for gettext ...
fi

if [ -n "${safe}" -a ! -f po/.Recover/POTFILES.in ]; then
   if [ -n "${verbose}" ]; then
      echo Caching po/POTFILES.in in .Recover...
   fi
   mv po/POTFILES.in po/.Recover
fi

ls -1 *.[ch] cg*.in 2>/dev/null | sed -e 's,^\./,,' > po/POTFILES.in

if [ -n "${safe}" -a ! -f po/.Recover/opcodes.pot ]; then
   if [ -n "${verbose}" ]; then
      echo Caching po/opcodes.pot in .Recover...
   fi
   mv po/opcodes.pot po/.Recover
fi

# If this fails, Sanitization must fail.
xgettext -C -c -k_ -kN_ -f po/POTFILES.in -o po/opcodes.pot || exit 1

# End of file.