Merging from VMS port. Doc to follow..
[external/binutils.git] / DOC.Sanitize
1
2
3                        The Sanitization Process
4
5
6 Usage:
7
8 To sanitize a directory or subtree, foo:
9
10 cd foo ; /usr/unsupported/bin/Sanitize
11
12 and you should be left with source code free of any distribution
13 restrictions.
14
15
16 Configuration:
17
18 Each directory to be kept in a release should have a .Sanitize file in
19 cvs.  See devo/.Sanitize for a more or less self describing template.
20
21 The default action is to remove all files and directories not
22 explicitly listed in the .Sanitize file as being "Things-to-keep:".
23 Directories that are kept will have Sanitize called on their own
24 .Sanitize files.
25
26 For other than default action, there are three hooks.
27
28 The "Do-first:" section of .Sanitize should be a shell script
29 fragment.  It will be sourced by the Sanitize shell script after
30 verifying that the .Sanitize file looks reasonable but before taking
31 any other action.  The arguments to Sanitize are passed to this
32 fragment so that you can take conditional action.  For an example of
33 it's use, see devo/gcc/config/.Sanitize.
34
35 If the "Do-first:" section sets the local shell variable
36 "keep_these_too", the files and/or directories listed there will be
37 kept in addition to any files listed in "Things-to-keep:".  For an
38 example of it's use, see devo/gcc/config/.Sanitize.
39
40 The "Do-last:" section of .Sanitize should be a shell script fragment.
41 It will be sourced by Sanitize after all other action is taken for
42 this directory.  This section is intended to be used to strip code out
43 of source files.  For an example of grep'ing out specific lines, see
44 devo/include/.Sanitize.  For an example of sed'ing out sections of
45 code, see devo/gas/config/.Sanitize.
46
47 Command line options are extremely free form.  The Sanitize script
48 itself only knows about keep-cvs.  All arguments to Sanitize are
49 passed to the "Do-first:" and "Do-last:" fragments.  Feel free to add
50 new options as you see fit so long as you list them here.
51
52 Defined options:
53
54 keep-cvs        avoids removing CVS.adm directories.  This option is
55                 actually recognized and handled by the Sanitize shell
56                 script.
57
58 keep-v9         avoids removing the v9 stuff.
59 keep-life       avoids removing the life stuff.
60 keep-cri        avoids removing the cray research inc changes to emacs.
61 for-intel       builds a distribution in the style that Intel likes.
62 for-fsf         builds a distribution in the style that the FSF likes.
63
64 test            instead of removing dirty files, cache them away in a
65                 .Recover directory
66 recover         intended to undo the effects of a "Sanitize test".