Commit | Line | Data |
---|---|---|
83110c7a MB |
1 | Line Description |
2 | ======= ======================================================================= | |
3 | ||
9a94a89a | 4 | ?MAKE: The ?MAKE: line records dependencies |
83110c7a | 5 | |
9a94a89a | 6 | ?MAKE:symbol list: dependency list [+optional] |
83110c7a MB |
7 | |
8 | This is the first dependency line. The first "symbol list" | |
9 | should list all the symbols built by this unit (i.e. whose | |
10 | value is computed by the shell section of the unit). Symbols | |
11 | should be space separated. If a defined symbol is for internal | |
12 | use only and should not appear in the generated "config.sh" | |
13 | file, then it should be preceded by a '+' (not to be confused | |
14 | with optional dependencies defined hereafter). | |
15 | The second part of the list (after the middle ':') is the unit | |
16 | dependency. It should list all the needed special units, as | |
17 | well as all the symbols used by the shell implementation. If | |
18 | a symbol is nedded but its configuration value is not critical, | |
19 | it can be preceded by a '+', in which case it is called a | |
20 | conditional dependency: its corresponding unit will be loaded | |
21 | if, and only if, that symbol is otherwise really wanted; | |
22 | otherwise the default value will be used. | |
23 | ||
9a94a89a | 24 | ?MAKE: <tab> command |
83110c7a MB |
25 | |
26 | There can be one or more command lines following the initial | |
27 | dependency lines. Those commands will be executed when the | |
28 | unit is wanted to load them into "Configure". | |
29 | Note that the leading <tab> character is required before the | |
30 | "command". | |
31 | ||
9a94a89a MB |
32 | ?INIT: Initializations printed verbatim |
33 | ||
34 | ?LINT: Hints for metalint | |
35 | ||
36 | set Listed variables are set | |
37 | ?LINT:set d_getservprotos | |
38 | describe Listed shell variables are described | |
39 | ?LINT:describe awk ar bash bison byacc cat chgrp chmod chown | |
40 | create Listed created files in regular units | |
41 | ?LINT:create mips | |
42 | known Listed C variables are described | |
43 | ?LINT:known StGiFy | |
44 | change Shell variable ok to be changed | |
45 | ?LINT:change CONFIG_H | |
46 | extern Variables known to be externally defined | |
47 | ?LINT:extern CONFIG_H | |
48 | usefile Files marked as being used | |
49 | ?LINT:usefile foobar | |
50 | use Variables declared as used by unit | |
51 | ?LINT:use PERL_CONFIG_SH | |
52 | define Listed variables are defined | |
53 | ?LINT:define fieldn | |
54 | empty Empty unit file | |
55 | ?LINT:empty | |
56 | unclosed Unclosed here-documents | |
57 | ?LINT:unclosed EOT | |
58 | nothere Not a here-document name | |
59 | nocomment OK if leading unit ': comment' missing | |
60 | ?LINT:nocomment | |
61 | ||
62 | ?RCS: RCS comments are ignored | |
83110c7a | 63 | |
9a94a89a | 64 | To be used for RCS comments, at the top of the unit. |
83110c7a | 65 | |
9a94a89a | 66 | ?C: C symbols |
83110c7a | 67 | |
9a94a89a MB |
68 | Comments for #defines |
69 | ||
70 | ?D: Default value for conditional symbols | |
71 | ||
72 | ?D:osname='' | |
73 | ||
74 | ?E: Example of usage | |
75 | ||
76 | ?F: Produced files | |
77 | ||
78 | Defines what files are created by this module | |
79 | ||
80 | Files produced in the UU directory and which are identified by the | |
81 | convention ./filename. Files !filename are not produced, i.e. they are | |
82 | temporary or externally provided. | |
83 | ||
84 | ?F:cppstdin !testcpp.out !testcpp.c | |
83110c7a | 85 | |
9a94a89a MB |
86 | ?H: Process the config.h lines |
87 | ||
88 | Defines the part to be included in the generated config_h.SH | |
89 | ||
90 | To get #ifdefs in config_h.SH, you'll need strange constructs like | |
91 | ||
92 | ?H:?%<:@if USE_SITECUSTOMIZE | |
93 | ?H:?%<:#ifndef USE_SITECUSTOMIZE | |
94 | ?H:?%<:#$usesitecustomize USE_SITECUSTOMIZE /**/ | |
95 | ?H:?%<:#endif | |
96 | ?H:?%<:@end | |
97 | ||
98 | ?I: Added includes | |
99 | ||
100 | ?L: Added libraries | |
101 | ||
102 | ?M: Process the confmagic.h lines | |
103 | ||
104 | ?O: Unit obsolescence | |
105 | ||
106 | ?P: Location of PD implementation file | |
107 | ||
108 | ?S: Shell variables | |
109 | ||
110 | ?S:symbol_name (obsolete symbol list)]: | |
83110c7a MB |
111 | |
112 | Introduces a shell symbol. This first line names the symbol, | |
113 | optionally followed by a list enclosed between parenthesis and | |
114 | giving the obsolete equivalent. Those obsolete symbols will be | |
115 | remapped to the new "symbol_name" if the -o option is given to | |
116 | "metaconfig". | |
117 | ||
9a94a89a | 118 | ?S: <tab> any text, for "Porting/Glossary" |
83110c7a MB |
119 | |
120 | Basically a comment describing the shell symbol, which will be | |
121 | extracted by "makegloss" into the Glossary file. | |
122 | ||
9a94a89a | 123 | ?S:. |
83110c7a MB |
124 | |
125 | Closes the shell symbol comment. | |
126 | ||
9a94a89a MB |
127 | ?T: Shell temporaries used |
128 | ||
129 | What variables are used as temporary variables | |
83110c7a | 130 | |
9a94a89a | 131 | ?V: Visible symbols like 'rp', 'dflt' |
83110c7a MB |
132 | |
133 | ?V:fieldn | |
134 | ||
9a94a89a | 135 | ?W: Wanted value for interpreter |
83110c7a | 136 | |
9a94a89a | 137 | ?X: User comment is ignored |
83110c7a MB |
138 | |
139 | General purpose comments. May appear anywhere in the unit but must be | |
140 | left justfied. For RCS comments, please use the ?RCS: comment form. | |
141 | ||
9a94a89a | 142 | ?Y: User-defined layout preference |
83110c7a MB |
143 | |
144 | Declare a layout directive for this unit. That directive may be one | |
145 | of the strings "top", "default" or "bottom" (case does not matter, | |
146 | recommended style is to spell them out uppercased). If omitted, | |
147 | "default" is assumed. | |
148 | ||
149 | This directive is only required if you wish to force a unit at the | |
150 | top or the bottom of the generated "Configure" script, as unit | |
151 | dependencies permit it. Important questions may thus be forced | |
152 | at the beginning. Within the same layout class, units are sorted | |
153 | alphabetically with two special cases for d_* and i_* units, forced | |
154 | respectively at the top and bottom of their classes (but these | |
155 | should belong to the default class). | |
156 | ||
157 | It you force at the top a unit whose dependencies require all the | |
158 | other unit to precede it, you achieve nothing interesting. Therefore, | |
159 | that directive should really be used to increase the priority of | |
160 | some interactive units that do not depend on many other user-visible | |
161 | symbols, like path-related questions. | |
162 | ||
163 | ?Y:TOP | |
164 | ||
165 | lines can be made conditional (see Config_sh.U) | |
166 | ||
167 | @if d_portable | |
168 | : | |
169 | : | |
170 | @end |