Add a more useful comment.
[platform/upstream/binutils.git] / .Sanitize
1 ########################
2 #
3 #        H    H  EEEEEE Y     Y  !!
4 #        H    H  E       Y   Y   !!
5 #        H    H  E        Y Y    !!
6 #        H    H  E         Y     !!
7 #        HHHHHH  EEEEE     Y     !!
8 #        H    H  E         Y     !!
9 #        H    H  E         Y     !!
10 #        H    H  E         Y
11 #        H    H  EEEEEE    Y     !!
12 #
13 # YO!  READ ME!!!!!!!!!
14 # If you're about to add a file or directory which isn't checked out as part
15 # of every module in devo (e.g., if "cvs co gas+utils" won't get it, or if
16 # "cvs co gcc" won't get it), then don't, Don't, DON'T add it to the regular
17 # things-to-keep or things-to-lose sections.  Instead, add it to the setting
18 # of keep_these_too or lose_these_too before those variables are rescanned
19 # to check for the existence of the items listed in them.
20 #
21 # Otherwise, somebody will check out some package that doesn't include your
22 # new file, and will get warnings from Sanitize when everything is really
23 # okay.  You don't want to get people in the habit of ignoring complaints from
24 # Sanitize, do you?  No, I didn't think so.
25 #
26 # If you do add a file to the regular things-to-keep section, don't forget
27 # to add the corresponding entry to the devo-support entry (or whatever) in
28 # the modules file.
29 #
30 ########################
31
32 # .Sanitize for devo.
33
34 # Each directory to survive its way into a release will need a file
35 # like this one called "./.Sanitize".  All keyword lines must exist,
36 # and must exist in the order specified by this file.  Each directory
37 # in the tree will be processed, top down, in the following order.
38
39 # Hash started lines like this one are comments and will be deleted
40 # before anything else is done.  Blank lines will also be squashed
41 # out.
42
43 # The lines between the "Do-first:" line and the "Things-to-keep:"
44 # line are executed as a /bin/sh shell script before anything else is
45 # done in this directory.
46
47 Do-first:
48
49 keep_these_too="${keep_these_too} .cvsignore CYGNUS autoconf
50         bfd binutils byacc cvs deja-gnu dejagnu diff dosrel dvips emacs emacs19
51         examples expect fileutils flex gas gcc gdb gdbm gdbtest glob gprof grep
52         groff include install.sh ispell ld libg++ libgcc libgloss libiberty
53         libio librx libstdc++ m4 make mmalloc move-if-change newlib opcodes
54         pagas patch prms rcs readline sed send-pr shellutils sim tcl textutils
55         tk texinfo tgas utils uudecode wdiff xiberty
56         configure.bat makeall.bat
57         mpw-README mpw-configure mpw-config.in mpw-build.in"
58
59 lose_these_too="${lose_these_too} testsuite"
60
61 cygnus_files="release release-info build-all.mk test-build.mk COPYING.NEWLIB"
62
63 if ( echo $* | grep keep\-cygnus > /dev/null) ; then
64         keep_these_too="${keep_these_too} ${cygnus_files}"
65 else
66         lose_these_too="${lose_these_too} ${cygnus_files}"
67 fi
68
69 gdbtk_files="tcl tk"
70
71 if ( echo $* | grep lose\-gdbtk > /dev/null) ; then
72         lose_these_too="${lose_these_too} ${gdbtk_files}"
73         if [ -n "${verbose}" ] ; then
74                 echo Deleting ${gdbtk_files}
75         fi
76 else
77         keep_these_too="${keep_these_too} ${gdbtk_files}"
78         if [ -n "${verbose}" ] ; then
79                 echo Keeping ${gdbtk_files}
80         fi
81 fi
82
83 # This is for newlib net releases.
84 newlib_files="COPYING.NEWLIB"
85
86 if ( echo $* | grep keep\-newlib > /dev/null) ; then
87         keep_these_too="${keep_these_too} ${newlib_files}"
88 else
89         lose_these_too="${lose_these_too} ${newlib_files}"
90 fi
91
92 # This top-level directory is special.  We often check out only subsets
93 # of this directory, and complaining about directories or files we didn't
94 # check out just gets obnoxious.
95
96 list="`(for i in ${keep_these_too}; do echo $i ; done) | sort -u`"
97 keep_these_too=
98
99 for file in $list ; do
100         if [ -r $file ] || [ -d $file ] ; then
101                 keep_these_too="${keep_these_too} $file"
102         fi
103 done
104
105 list="`(for i in ${lose_these_too}; do echo $i ; done) | sort -u` "
106 lose_these_too=
107
108 for file in $list ; do
109         if [ -r $file ] || [ -d $file ] ; then
110                 lose_these_too="${lose_these_too} $file"
111         fi
112 done
113
114 # All files listed between the "Things-to-keep:" line and the
115 # "Do-last:" line will be kept.  All other files will be removed.
116 # Directories listed in this section will have their own Sanitize
117 # called.  Directories not listed will be removed in their entirety
118 # with rm -rf.
119
120 # ??? It is debatable whether cfg-*.in belongs in Things-to-keep or
121 # keep_these_too.  If someone feels strongly about it, please move them.
122
123 Things-to-keep:
124
125 COPYING
126 COPYING.LIB
127 ChangeLog
128 Makefile.in
129 README
130 config
131 cfg-ml-com.in
132 cfg-ml-pos.in
133 config.guess
134 config.sub
135 configure
136 configure.in
137 etc
138
139 Things-to-lose:
140
141 # The lines between the "Do-last:" line and the end of the file
142 # are executed as a /bin/sh shell script after everything else is
143 # done.
144
145 Do-last:
146
147 # Don't try to clean directories here, as the 'mv' command will fail.
148 # Also, grep fails on NFS mounted directories.
149
150 if ( echo $* | egrep verbose > /dev/null ) ; then
151         verbose=true
152 else
153         verbose=
154 fi
155
156 # Remove "sanitize-Sanitize" lines.
157 if [ -n "${verbose}" ] ; then
158         echo Cleaning unconditional sanitizations out of Makefile.in...
159 fi
160 cp Makefile.in new
161 sed '/start\-sanitize\-Sanitize/,/end-\sanitize\-Sanitize/d' < Makefile.in > new
162 if [ -n "${safe}" -a ! -f .Recover/Makefile.in ] ; then
163         mv Makefile.in .Recover
164 fi
165 mv new Makefile.in
166
167 if [ -n "${verbose}" ] ; then
168         echo Thawing away the \"chill\"...
169 fi
170
171 if ( echo $* | grep keep\-chill > /dev/null ) ; then
172         for i in * ; do
173                 if test ! -d $i && (grep sanitize-chill $i > /dev/null) ; then
174                         if [ -n "${verbose}" ] ; then
175                                 echo Keeping chill stuff in $i
176                         fi
177                 fi
178         done
179 else
180         for i in * ; do
181                 if test ! -d $i && (grep sanitize-chill $i > /dev/null) ; then
182                         if [ -n "${verbose}" ] ; then
183                                 echo Thawing the \"chill\" out of $i...
184                         fi
185                         cp $i new
186                         sed '/start\-sanitize\-chill/,/end-\sanitize\-chill/d' < $i > new
187                         if [ -n "${safe}" -a ! -f .Recover/$i ] ; then
188                                 if [ -n "${verbose}" ] ; then
189                                         echo Caching $i in .Recover...
190                                 fi
191                                 mv $i .Recover
192                         fi
193                         mv new $i
194                 fi
195         done
196 fi
197
198 if [ -n "${verbose}" ] ; then
199         echo Processing \"arc\"...
200 fi
201
202 arc_files="config.sub configure.in cfg-ml-com.in"
203
204 if ( echo $* | grep keep\-arc > /dev/null ) ; then
205         for i in $arc_files ; do
206                 if test ! -d $i && (grep sanitize-arc $i > /dev/null) ; then
207                         if [ -n "${verbose}" ] ; then
208                                 echo Keeping arc stuff in $i
209                         fi
210                 fi
211         done
212 else
213         for i in * ; do
214                 if test ! -d $i && (grep sanitize-arc $i > /dev/null) ; then
215                         if [ -n "${verbose}" ] ; then
216                                 echo Removing traces of \"arc\" from $i...
217                         fi
218                         cp $i new
219                         sed '/start\-sanitize\-arc/,/end-\sanitize\-arc/d' < $i > new
220                         if [ -n "${safe}" -a ! -f .Recover/$i ] ; then
221                                 if [ -n "${verbose}" ] ; then
222                                         echo Caching $i in .Recover...
223                                 fi
224                                 mv $i .Recover
225                         fi
226                         mv new $i
227                 fi
228         done
229 fi
230
231 psion_files="config.sub configure.in"
232
233 if ( echo $* | grep keep\-psion > /dev/null ) ; then
234         for i in $psion_files; do
235                 if test ! -d $i && (grep sanitize-psion $i > /dev/null) ; then
236                         if [ -n "${verbose}" ] ; then
237                                 echo Keeping psion stuff in $i
238                         fi
239                 fi
240         done
241 else
242         for i in * ; do
243                 if test ! -d $i && (grep sanitize-psion $i > /dev/null) ; then
244                         if [ -n "${verbose}" ] ; then
245                                 echo Removing traces of \"psion\" from $i...
246                         fi
247                         cp $i new
248                         sed '/start\-sanitize\-psion/,/end-\sanitize\-psion/d' < $i > new
249                         if [ -n "${safe}" -a ! -f .Recover/$i ] ; then
250                                 if [ -n "${verbose}" ] ; then
251                                         echo Caching $i in .Recover...
252                                 fi
253                                 mv $i .Recover
254                         fi
255                         mv new $i
256                 fi
257         done
258 fi
259
260 rce_files="config.sub"
261
262 if ( echo $* | grep keep\-rce > /dev/null ) ; then
263         for i in $rce_files ; do
264                 if test ! -d $i && (grep sanitize-rce $i > /dev/null) ; then
265                         if [ -n "${verbose}" ] ; then
266                                 echo Keeping rce stuff in $i
267                         fi
268                 fi
269         done
270 else
271         for i in $rce_files ; do
272                 if test ! -d $i && (grep sanitize-rce $i > /dev/null) ; then
273                         if [ -n "${verbose}" ] ; then
274                                 echo Removing traces of \"rce\" from $i...
275                         fi
276                         cp $i new
277                         sed '/start\-sanitize\-rce/,/end-\sanitize\-rce/d' < $i > new
278                         if [ -n "${safe}" -a ! -f .Recover/$i ] ; then
279                                 if [ -n "${verbose}" ] ; then
280                                         echo Caching $i in .Recover...
281                                 fi
282                                 mv $i .Recover
283                         fi
284                         mv new $i
285                 fi
286         done
287 fi
288
289 for i in * ; do
290         if test ! -d $i && (grep sanitize $i > /dev/null) ; then
291                 echo '***' Some mentions of Sanitize are still left in $i! 1>&2
292         fi
293 done
294
295 # eof