First stab at Windows resource compiler:
[external/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         apache bash 
51         bfd binutils byacc cvs deja-gnu dejagnu diff dosrel dvips emacs emacs19
52         examples expect fileutils findutils flex
53         gas gawk gcc gdb gdbm gdbtest glob gprof grep grez groff guile gzip
54         include inet install-sh ispell
55         ld less libg++ libgcc libgloss libiberty libio librx libstdc++
56         m4 make mkinstalldirs mmalloc move-if-change newlib ncurses opcodes
57         pagas patch perl prms
58         rcs readline sed send-pr shellutils sim tar textutils time
59         texinfo tgas utils uudecode wdiff xiberty
60         configure.bat makeall.bat setup.com makefile.vms winsup
61         mpw-README mpw-configure mpw-config.in mpw-build.in mpw-install"
62
63 lose_these_too="${lose_these_too} testsuite"
64
65 cygnus_files="release release-info build-all.mk test-build.mk COPYING.NEWLIB"
66
67 if ( echo $* | grep keep\-cygnus > /dev/null) ; then
68         keep_these_too="${keep_these_too} ${cygnus_files}"
69 else
70         lose_these_too="${lose_these_too} ${cygnus_files}"
71 fi
72
73 gdbtk_files="tcl tk"
74
75 if ( echo $* | grep lose\-gdbtk > /dev/null) ; then
76         lose_these_too="${lose_these_too} ${gdbtk_files}"
77         if [ -n "${verbose}" ] ; then
78                 echo Deleting ${gdbtk_files}
79         fi
80 else
81         keep_these_too="${keep_these_too} ${gdbtk_files}"
82         if [ -n "${verbose}" ] ; then
83                 echo Keeping ${gdbtk_files}
84         fi
85 fi
86
87 # This is for newlib net releases.
88 newlib_file="COPYING.NEWLIB"
89
90 if (echo $* | grep keep\-newlib > /dev/null) ; then
91         if (echo $* | grep -v keep\-cygnus > /dev/null) ; then
92                 keep_these_too="${keep_these_too} ${newlib_file}"
93                 lose_these_too="`echo ${lose_these_too} | sed -e s/${newlib_file}//`"
94         fi
95 else
96         true; # Let keep-cygnus handle it.
97 fi
98
99 # IDK releases don't include files which only matter to CDK.
100 inet_files="COPYING.LIB config config-ml.in etc symlink-tree"
101
102 if (echo $* | grep keep\-inet > /dev/null); then
103         lose_these_too="${lose_these_too} ${inet_files}"
104 else
105         keep_these_too="${keep_these_too} ${inet_files}"
106 fi
107
108 ide_files="itcl libide vmake"
109
110 if (echo $* | grep keep\-ide > /dev/null); then
111         lose_these_too="${lose_these_too} ${ide_files}"
112         test -n "$verbose" && echo Keeping ${ide_files}
113 else
114         keep_these_too="${keep_these_too} ${ide_files}"
115 fi
116
117
118 # This top-level directory is special.  We often check out only subsets
119 # of this directory, and complaining about directories or files we didn't
120 # check out just gets obnoxious.
121
122 list="`(for i in ${keep_these_too}; do echo $i ; done) | sort -u`"
123 keep_these_too=
124
125 for file in $list ; do
126         if [ -r $file ] || [ -d $file ] ; then
127                 keep_these_too="${keep_these_too} $file"
128         fi
129 done
130
131 list="`(for i in ${lose_these_too}; do echo $i ; done) | sort -u` "
132 lose_these_too=
133
134 for file in $list ; do
135         if [ -r $file ] || [ -d $file ] ; then
136                 lose_these_too="${lose_these_too} $file"
137         fi
138 done
139
140 # All files listed between the "Things-to-keep:" line and the
141 # "Do-last:" line will be kept.  All other files will be removed.
142 # Directories listed in this section will have their own Sanitize
143 # called.  Directories not listed will be removed in their entirety
144 # with rm -rf.
145
146 Things-to-keep:
147
148 COPYING
149 ChangeLog
150 Makefile.in
151 README
152 config.guess
153 config.sub
154 configure
155 configure.in
156
157 Things-to-lose:
158
159 # The lines between the "Do-last:" line and the end of the file
160 # are executed as a /bin/sh shell script after everything else is
161 # done.
162
163 Do-last:
164
165 # Don't try to clean directories here, as the 'mv' command will fail.
166 # Also, grep fails on NFS mounted directories.
167
168 if ( echo $* | egrep verbose > /dev/null ) ; then
169         verbose=true
170 else
171         verbose=
172 fi
173
174 # Remove "sanitize-Sanitize" lines.
175 if [ -n "${verbose}" ] ; then
176         echo Cleaning unconditional sanitizations out of Makefile.in...
177 fi
178 cp Makefile.in new
179 sed '/start\-sanitize\-Sanitize/,/end-\sanitize\-Sanitize/d' < Makefile.in > new
180 if [ -n "${safe}" -a ! -f .Recover/Makefile.in ] ; then
181         mv Makefile.in .Recover
182 fi
183 mv new Makefile.in
184
185 if [ -n "${verbose}" ] ; then
186         echo Thawing away the \"chill\"...
187 fi
188
189 if ( echo $* | grep keep\-chill > /dev/null ) ; then
190         for i in * ; do
191                 if test ! -d $i && (grep sanitize-chill $i > /dev/null) ; then
192                         if [ -n "${verbose}" ] ; then
193                                 echo Keeping chill stuff in $i
194                         fi
195                 fi
196         done
197 else
198         for i in * ; do
199                 if test ! -d $i && (grep sanitize-chill $i > /dev/null) ; then
200                         if [ -n "${verbose}" ] ; then
201                                 echo Thawing the \"chill\" out of $i...
202                         fi
203                         cp $i new
204                         sed '/start\-sanitize\-chill/,/end-\sanitize\-chill/d' < $i > new
205                         if [ -n "${safe}" -a ! -f .Recover/$i ] ; then
206                                 if [ -n "${verbose}" ] ; then
207                                         echo Caching $i in .Recover...
208                                 fi
209                                 mv $i .Recover
210                         fi
211                         mv new $i
212                 fi
213         done
214 fi
215
216 if [ -n "${verbose}" ] ; then
217         echo Processing \"arc\"...
218 fi
219
220 arc_files="config.sub configure.in config-ml.in"
221
222 if ( echo $* | grep keep\-arc > /dev/null ) ; then
223         for i in $arc_files ; do
224                 if test ! -d $i && (grep sanitize-arc $i > /dev/null) ; then
225                         if [ -n "${verbose}" ] ; then
226                                 echo Keeping arc stuff in $i
227                         fi
228                 fi
229         done
230 else
231         for i in * ; do
232                 if test ! -d $i && (grep sanitize-arc $i > /dev/null) ; then
233                         if [ -n "${verbose}" ] ; then
234                                 echo Removing traces of \"arc\" from $i...
235                         fi
236                         cp $i new
237                         sed '/start\-sanitize\-arc/,/end-\sanitize\-arc/d' < $i > new
238                         if [ -n "${safe}" -a ! -f .Recover/$i ] ; then
239                                 if [ -n "${verbose}" ] ; then
240                                         echo Caching $i in .Recover...
241                                 fi
242                                 mv $i .Recover
243                         fi
244                         mv new $i
245                 fi
246         done
247 fi
248
249 if [ -n "${verbose}" ] ; then
250         echo Processing \"d30v\"...
251 fi
252
253 d30v_files="ChangeLog config.sub configure.in"
254
255 if ( echo $* | grep keep\-d30v > /dev/null ) ; then
256         for i in $d30v_files ; do
257                 if test ! -d $i && (grep sanitize-d30v $i > /dev/null) ; then
258                         if [ -n "${verbose}" ] ; then
259                                 echo Keeping d30v stuff in $i
260                         fi
261                 fi
262         done
263 else
264         for i in * ; do
265                 if test ! -d $i && (grep sanitize-d30v $i > /dev/null) ; then
266                         if [ -n "${verbose}" ] ; then
267                                 echo Removing traces of \"d30v\" from $i...
268                         fi
269                         cp $i new
270                         sed '/start\-sanitize\-d30v/,/end-\sanitize\-d30v/d' < $i > new
271                         if [ -n "${safe}" -a ! -f .Recover/$i ] ; then
272                                 if [ -n "${verbose}" ] ; then
273                                         echo Caching $i in .Recover...
274                                 fi
275                                 mv $i .Recover
276                         fi
277                         mv new $i
278                 fi
279         done
280 fi
281
282 if [ -n "${verbose}" ] ; then
283         echo Processing \"v850\"...
284 fi
285
286 v850_files="ChangeLog config.sub configure.in"
287
288 if ( echo $* | grep keep\-v850 > /dev/null ) ; then
289         for i in $v850_files ; do
290                 if test ! -d $i && (grep sanitize-v850 $i > /dev/null) ; then
291                         if [ -n "${verbose}" ] ; then
292                                 echo Keeping v850 stuff in $i
293                         fi
294                 fi
295         done
296 else
297         for i in * ; do
298                 if test ! -d $i && (grep sanitize-v850 $i > /dev/null) ; then
299                         if [ -n "${verbose}" ] ; then
300                                 echo Removing traces of \"v850\" from $i...
301                         fi
302                         cp $i new
303                         sed '/start\-sanitize\-v850/,/end-\sanitize\-v850/d' < $i > new
304                         if [ -n "${safe}" -a ! -f .Recover/$i ] ; then
305                                 if [ -n "${verbose}" ] ; then
306                                         echo Caching $i in .Recover...
307                                 fi
308                                 mv $i .Recover
309                         fi
310                         mv new $i
311                 fi
312         done
313 fi
314
315 r5900_files="ChangeLog config.sub configure.in"
316
317 if ( echo $* | grep keep\-r5900 > /dev/null ) ; then
318         for i in $r5900_files ; do
319                 if test ! -d $i && (grep sanitize-r5900 $i > /dev/null) ; then
320                         if [ -n "${verbose}" ] ; then
321                                 echo Keeping r5900 stuff in $i
322                         fi
323                 fi
324         done
325 else
326         for i in * ; do
327                 if test ! -d $i && (grep sanitize-r5900 $i > /dev/null) ; then
328                         if [ -n "${verbose}" ] ; then
329                                 echo Removing traces of \"r5900\" from $i...
330                         fi
331                         cp $i new
332                         sed '/start\-sanitize\-r5900/,/end-\sanitize\-r5900/d' < $i > new
333                         if [ -n "${safe}" -a ! -f .Recover/$i ] ; then
334                                 if [ -n "${verbose}" ] ; then
335                                         echo Caching $i in .Recover...
336                                 fi
337                                 mv $i .Recover
338                         fi
339                         mv new $i
340                 fi
341         done
342 fi
343
344 tic80_files="ChangeLog config.sub configure.in"
345
346 if ( echo $* | grep keep\-tic80 > /dev/null ) ; then
347         for i in $tic80_files ; do
348                 if test ! -d $i && (grep sanitize-tic80 $i > /dev/null) ; then
349                         if [ -n "${verbose}" ] ; then
350                                 echo Keeping tic80 stuff in $i
351                         fi
352                 fi
353         done
354 else
355         for i in * ; do
356                 if test ! -d $i && (grep sanitize-tic80 $i > /dev/null) ; then
357                         if [ -n "${verbose}" ] ; then
358                                 echo Removing traces of \"tic80\" from $i...
359                         fi
360                         cp $i new
361                         sed '/start\-sanitize\-tic80/,/end-\sanitize\-tic80/d' < $i > new
362                         if [ -n "${safe}" -a ! -f .Recover/$i ] ; then
363                                 if [ -n "${verbose}" ] ; then
364                                         echo Caching $i in .Recover...
365                                 fi
366                                 mv $i .Recover
367                         fi
368                         mv new $i
369                 fi
370         done
371 fi
372
373 if ( echo $* | grep lose\-gdbtk > /dev/null ) ; then
374         echo Catering to RMS by removing traces of \"gdbtk\"...
375         if [ -n "${verbose}" ] ; then
376                 echo Removing traces of \"gdbtk\" from Makefile.in...
377         fi
378         cp Makefile.in new
379         sed -e '/GDBTK_SUPPORT_DIRS=/d' -e 's/ $(GDBTK_SUPPORT_DIRS)//' < Makefile.in > new
380         if [ -n "${safe}" -a ! -f .Recover/Makefile.in ] ; then
381                 if [ -n "${verbose}" ] ; then
382                         echo Caching Makefile.in in .Recover...
383                 fi
384                 mv Makefile.in .Recover
385         fi
386         mv new Makefile.in
387 fi
388
389 if ( echo $* | grep keep\-gm > /dev/null ) ; then
390         for i in * ; do
391                 if test ! -d $i && (grep sanitize-gm $i > /dev/null) ; then
392                         if [ -n "${verbose}" ] ; then
393                                 echo Keeping gm stuff in $i
394                         fi
395                 fi
396         done
397 else
398         for i in * ; do
399                 if test ! -d $i && (grep sanitize-gm $i > /dev/null) ; then
400                         if [ -n "${verbose}" ] ; then
401                                 echo Removing traces of \"gm\" from $i...
402                         fi
403                         cp $i new
404                         sed '/start\-sanitize\-gm/,/end-\sanitize\-gm/d' < $i > new
405                         if [ -n "${safe}" -a ! -f .Recover/$i ] ; then
406                                 if [ -n "${verbose}" ] ; then
407                                         echo Caching $i in .Recover...
408                                 fi
409                                 mv $i .Recover
410                         fi
411                         mv new $i
412                 fi
413         done
414 fi
415
416 if ( echo $* | grep keep\-ide > /dev/null ) ; then
417         for i in * ; do
418                 if test ! -d $i && (grep sanitize-ide $i > /dev/null) ; then
419                         if [ -n "${verbose}" ] ; then
420                                 echo Keeping ide stuff in $i
421                         fi
422                 fi
423         done
424 else
425         for i in * ; do
426                 if test ! -d $i && (grep sanitize-ide $i > /dev/null) ; then
427                         if [ -n "${verbose}" ] ; then
428                                 echo Removing traces of \"ide\" from $i...
429                         fi
430                         cp $i new
431                         sed '/start\-sanitize\-ide/,/end-\sanitize\-ide/d' < $i > new
432                         if [ -n "${safe}" -a ! -f .Recover/$i ] ; then
433                                 if [ -n "${verbose}" ] ; then
434                                         echo Caching $i in .Recover...
435                                 fi
436                                 mv $i .Recover
437                         fi
438                         mv new $i
439                 fi
440         done
441 fi
442
443 # Do this check LAST!
444 for i in * ; do
445         if test ! -d $i && (grep sanitize $i > /dev/null) ; then
446                 echo '***' Some mentions of Sanitize are still left in $i! 1>&2
447                 exit 1
448         fi
449 done
450
451 # eof