]>
Commit | Line | Data |
---|---|---|
1 | .\" Copyright (c) 1991, 1992, 1993 Free Software Foundation \-*-Text-*- | |
2 | .\" See section COPYING for conditions for redistribution | |
3 | .TH cpp 1 "30apr1993" "GNU Tools" "GNU Tools" | |
4 | .SH NAME | |
5 | cccp, cpp \- The GNU C-Compatible Compiler Preprocessor. | |
6 | .SH SYNOPSIS | |
7 | .hy 0 | |
8 | .na | |
9 | .TP | |
10 | .B cccp | |
11 | .RB "[\|" \-$ "\|]" | |
12 | .RB "[\|" \-A \c | |
13 | .I predicate\c | |
14 | .RB [ (\c | |
15 | .I value\c | |
16 | .BR ) ]\|] | |
17 | .RB "[\|" \-C "\|]" | |
18 | .RB "[\|" \-D \c | |
19 | .I name\c | |
20 | .RB [ =\c | |
21 | .I definition\c | |
22 | \&]\|] | |
23 | .RB "[\|" \-dD "\|]" | |
24 | .RB "[\|" \-dM "\|]" | |
25 | .RB "[\|" "\-I\ "\c | |
26 | .I directory\c | |
27 | \&\|] | |
28 | .RB "[\|" \-H "\|]" | |
29 | .RB "[\|" \-I\- "\|]" | |
30 | .RB "[\|" "\-imacros\ "\c | |
31 | .I file\c | |
32 | \&\|] | |
33 | .RB "[\|" "\-include\ "\c | |
34 | .I file\c | |
35 | \&\|] | |
36 | .RB "[\|" "\-idirafter\ "\c | |
37 | .I dir\c | |
38 | \&\|] | |
39 | .RB "[\|" "\-iprefix\ "\c | |
40 | .I prefix\c | |
41 | \&\|] | |
42 | .RB "[\|" "\-iwithprefix\ "\c | |
43 | .I dir\c | |
44 | \&\|] | |
45 | .RB "[\|" \-lang\-c "\|]" | |
46 | .RB "[\|" \-lang\-c++ "\|]" | |
47 | .RB "[\|" \-lang\-objc "\|]" | |
48 | .RB "[\|" \-lang\-objc++ "\|]" | |
49 | .RB "[\|" \-lint "\|]" | |
50 | .RB "[\|" \-M\ [ \-MG "\|]]" | |
51 | .RB "[\|" \-MM\ [ \-MG "\|]]" | |
52 | .RB "[\|" \-MD\ \c | |
53 | .I file\ \c | |
54 | \&\|] | |
55 | .RB "[\|" \-MMD\ \c | |
56 | .I file\ \c | |
57 | \&\|] | |
58 | .RB "[\|" \-nostdinc "\|]" | |
59 | .RB "[\|" \-nostdinc++ "\|]" | |
60 | .RB "[\|" \-P "\|]" | |
61 | .RB "[\|" \-pedantic "\|]" | |
62 | .RB "[\|" \-pedantic\-errors "\|]" | |
63 | .RB "[\|" \-traditional "\|]" | |
64 | .RB "[\|" \-trigraphs "\|]" | |
65 | .RB "[\|" \-U \c | |
66 | .I name\c | |
67 | \&\|] | |
68 | .RB "[\|" \-undef "\|]" | |
69 | .RB "[\|" \-Wtrigraphs "\|]" | |
70 | .RB "[\|" \-Wcomment "\|]" | |
71 | .RB "[\|" \-Wall "\|]" | |
72 | .RB "[\|" \-Wtraditional "\|]" | |
73 | .br | |
74 | .RB "[\|" \c | |
75 | .I infile\c | |
76 | .RB | \- "\|]" | |
77 | .RB "[\|" \c | |
78 | .I outfile\c | |
79 | .RB | \- "\|]" | |
80 | .ad b | |
81 | .hy 1 | |
82 | .SH DESCRIPTION | |
83 | The C preprocessor is a \c | |
84 | .I macro processor\c | |
85 | \& that is used automatically by | |
86 | the C compiler to transform your program before actual compilation. It is | |
87 | called a macro processor because it allows you to define \c | |
88 | .I macros\c | |
89 | \&, | |
90 | which are brief abbreviations for longer constructs. | |
91 | ||
92 | The C preprocessor provides four separate facilities that you can use as | |
93 | you see fit: | |
94 | .TP | |
95 | \(bu | |
96 | Inclusion of header files. These are files of declarations that can be | |
97 | substituted into your program. | |
98 | .TP | |
99 | \(bu | |
100 | Macro expansion. You can define \c | |
101 | .I macros\c | |
102 | \&, which are abbreviations | |
103 | for arbitrary fragments of C code, and then the C preprocessor will | |
104 | replace the macros with their definitions throughout the program. | |
105 | .TP | |
106 | \(bu | |
107 | Conditional compilation. Using special preprocessing directives, you | |
108 | can include or exclude parts of the program according to various | |
109 | conditions. | |
110 | .TP | |
111 | \(bu | |
112 | Line control. If you use a program to combine or rearrange source files into | |
113 | an intermediate file which is then compiled, you can use line control | |
114 | to inform the compiler of where each source line originally came from. | |
115 | .PP | |
116 | C preprocessors vary in some details. For a full explanation of the | |
117 | GNU C preprocessor, see the | |
118 | .B info | |
119 | file `\|\c | |
120 | .B cpp.info\c | |
121 | \&\|', or the manual | |
122 | .I The C Preprocessor\c | |
123 | \&. Both of these are built from the same documentation source file, `\|\c | |
124 | .B cpp.texinfo\c | |
125 | \&\|'. The GNU C | |
126 | preprocessor provides a superset of the features of ANSI Standard C. | |
127 | ||
128 | ANSI Standard C requires the rejection of many harmless constructs commonly | |
129 | used by today's C programs. Such incompatibility would be inconvenient for | |
130 | users, so the GNU C preprocessor is configured to accept these constructs | |
131 | by default. Strictly speaking, to get ANSI Standard C, you must use the | |
132 | options `\|\c | |
133 | .B \-trigraphs\c | |
134 | \&\|', `\|\c | |
135 | .B \-undef\c | |
136 | \&\|' and `\|\c | |
137 | .B \-pedantic\c | |
138 | \&\|', but in | |
139 | practice the consequences of having strict ANSI Standard C make it | |
140 | undesirable to do this. | |
141 | ||
142 | Most often when you use the C preprocessor you will not have to invoke it | |
143 | explicitly: the C compiler will do so automatically. However, the | |
144 | preprocessor is sometimes useful individually. | |
145 | ||
146 | When you call the preprocessor individually, either name | |
147 | (\c | |
148 | .B cpp\c | |
149 | \& or \c | |
150 | .B cccp\c | |
151 | \&) will do\(em\&they are completely synonymous. | |
152 | ||
153 | The C preprocessor expects two file names as arguments, \c | |
154 | .I infile\c | |
155 | \& and | |
156 | \c | |
157 | .I outfile\c | |
158 | \&. The preprocessor reads \c | |
159 | .I infile\c | |
160 | \& together with any other | |
161 | files it specifies with `\|\c | |
162 | .B #include\c | |
163 | \&\|'. All the output generated by the | |
164 | combined input files is written in \c | |
165 | .I outfile\c | |
166 | \&. | |
167 | ||
168 | Either \c | |
169 | .I infile\c | |
170 | \& or \c | |
171 | .I outfile\c | |
172 | \& may be `\|\c | |
173 | .B \-\c | |
174 | \&\|', which as \c | |
175 | .I infile\c | |
176 | \& | |
177 | means to read from standard input and as \c | |
178 | .I outfile\c | |
179 | \& means to write to | |
180 | standard output. Also, if \c | |
181 | .I outfile\c | |
182 | \& or both file names are omitted, | |
183 | the standard output and standard input are used for the omitted file names. | |
184 | .SH OPTIONS | |
185 | Here is a table of command options accepted by the C preprocessor. | |
186 | These options can also be given when compiling a C program; they are | |
187 | passed along automatically to the preprocessor when it is invoked by | |
188 | the compiler. | |
189 | .TP | |
190 | .B \-P | |
191 | Inhibit generation of `\|\c | |
192 | .B #\c | |
193 | \&\|'-lines with line-number information in | |
194 | the output from the preprocessor. This might be | |
195 | useful when running the preprocessor on something that is not C code | |
196 | and will be sent to a program which might be confused by the | |
197 | `\|\c | |
198 | .B #\c | |
199 | \&\|'-lines. | |
200 | .TP | |
201 | .B \-C | |
202 | Do not discard comments: pass them through to the output file. | |
203 | Comments appearing in arguments of a macro call will be copied to the | |
204 | output before the expansion of the macro call. | |
205 | .TP | |
206 | .B \-traditional | |
207 | Try to imitate the behavior of old-fashioned C, as opposed to ANSI C. | |
208 | .TP | |
209 | .B \-trigraphs | |
210 | Process ANSI standard trigraph sequences. These are three-character | |
211 | sequences, all starting with `\|\c | |
212 | .B ??\c | |
213 | \&\|', that are defined by ANSI C to | |
214 | stand for single characters. For example, `\|\c | |
215 | .B ??/\c | |
216 | \&\|' stands for | |
217 | `\|\c | |
218 | .BR "\e" "\|'," | |
219 | so `\|\c | |
220 | .B '??/n'\c | |
221 | \&\|' is a character constant for a newline. | |
222 | Strictly speaking, the GNU C preprocessor does not support all | |
223 | programs in ANSI Standard C unless `\|\c | |
224 | .B \-trigraphs\c | |
225 | \&\|' is used, but if | |
226 | you ever notice the difference it will be with relief. | |
227 | ||
228 | You don't want to know any more about trigraphs. | |
229 | .TP | |
230 | .B \-pedantic | |
231 | Issue warnings required by the ANSI C standard in certain cases such | |
232 | as when text other than a comment follows `\|\c | |
233 | .B #else\c | |
234 | \&\|' or `\|\c | |
235 | .B #endif\c | |
236 | \&\|'. | |
237 | .TP | |
238 | .B \-pedantic\-errors | |
239 | Like `\|\c | |
240 | .B \-pedantic\c | |
241 | \&\|', except that errors are produced rather than | |
242 | warnings. | |
243 | .TP | |
244 | .B \-Wtrigraphs | |
245 | Warn if any trigraphs are encountered (assuming they are enabled). | |
246 | .TP | |
247 | .B \-Wcomment | |
248 | .TP | |
249 | .B \-Wcomments | |
250 | Warn whenever a comment-start sequence `\|\c | |
251 | .B /*\c | |
252 | \&\|' appears in a comment. | |
253 | (Both forms have the same effect). | |
254 | .TP | |
255 | .B \-Wall | |
256 | Requests both `\|\c | |
257 | .B \-Wtrigraphs\c | |
258 | \&\|' and `\|\c | |
259 | .B \-Wcomment\c | |
260 | \&\|' (but not | |
261 | `\|\c | |
262 | .B \-Wtraditional\c | |
263 | \&\|'). | |
264 | .TP | |
265 | .B \-Wtraditional | |
266 | Warn about certain constructs that behave differently in traditional and | |
267 | ANSI C. | |
268 | .TP | |
269 | .BI "\-I " directory\c | |
270 | \& | |
271 | Add the directory \c | |
272 | .I directory\c | |
273 | \& to the end of the list of | |
274 | directories to be searched for header files. | |
275 | This can be used to override a system header file, substituting your | |
276 | own version, since these directories are searched before the system | |
277 | header file directories. If you use more than one `\|\c | |
278 | .B \-I\c | |
279 | \&\|' option, | |
280 | the directories are scanned in left-to-right order; the standard | |
281 | system directories come after. | |
282 | .TP | |
283 | .B \-I\- | |
284 | Any directories specified with `\|\c | |
285 | .B \-I\c | |
286 | \&\|' options before the `\|\c | |
287 | .B \-I\-\c | |
288 | \&\|' | |
289 | option are searched only for the case of `\|\c | |
290 | .B #include "\c | |
291 | .I file\c | |
292 | \&"\c | |
293 | \&\|'; | |
294 | they are not searched for `\|\c | |
295 | .B #include <\c | |
296 | .I file\c | |
297 | \&>\c | |
298 | \&\|'. | |
299 | ||
300 | If additional directories are specified with `\|\c | |
301 | .B \-I\c | |
302 | \&\|' options after | |
303 | the `\|\c | |
304 | .B \-I\-\c | |
305 | \&\|', these directories are searched for all `\|\c | |
306 | .B #include\c | |
307 | \&\|' | |
308 | directives. | |
309 | ||
310 | In addition, the `\|\c | |
311 | .B \-I\-\c | |
312 | \&\|' option inhibits the use of the current | |
313 | directory as the first search directory for `\|\c | |
314 | .B #include "\c | |
315 | .I file\c | |
316 | \&"\c | |
317 | \&\|'. | |
318 | Therefore, the current directory is searched only if it is requested | |
319 | explicitly with `\|\c | |
320 | .B \-I.\c | |
321 | \&\|'. Specifying both `\|\c | |
322 | .B \-I\-\c | |
323 | \&\|' and `\|\c | |
324 | .B \-I.\c | |
325 | \&\|' | |
326 | allows you to control precisely which directories are searched before | |
327 | the current one and which are searched after. | |
328 | .TP | |
329 | .B \-nostdinc | |
330 | Do not search the standard system directories for header files. | |
331 | Only the directories you have specified with `\|\c | |
332 | .B \-I\c | |
333 | \&\|' options | |
334 | (and the current directory, if appropriate) are searched. | |
335 | .TP | |
336 | .B \-nostdinc++ | |
337 | Do not search for header files in the C++ specific standard | |
338 | directories, but do still search the other standard directories. | |
339 | (This option is used when building libg++.) | |
340 | .TP | |
341 | .BI "\-D " "name"\c | |
342 | \& | |
343 | Predefine \c | |
344 | .I name\c | |
345 | \& as a macro, with definition `\|\c | |
346 | .B 1\c | |
347 | \&\|'. | |
348 | .TP | |
349 | .BI "\-D " "name" = definition | |
350 | \& | |
351 | Predefine \c | |
352 | .I name\c | |
353 | \& as a macro, with definition \c | |
354 | .I definition\c | |
355 | \&. | |
356 | There are no restrictions on the contents of \c | |
357 | .I definition\c | |
358 | \&, but if | |
359 | you are invoking the preprocessor from a shell or shell-like program | |
360 | you may need to use the shell's quoting syntax to protect characters | |
361 | such as spaces that have a meaning in the shell syntax. If you use more than | |
362 | one `\|\c | |
363 | .B \-D\c | |
364 | \&\|' for the same | |
365 | .I name\c | |
366 | \&, the rightmost definition takes effect. | |
367 | .TP | |
368 | .BI "\-U " "name"\c | |
369 | \& | |
370 | Do not predefine \c | |
371 | .I name\c | |
372 | \&. If both `\|\c | |
373 | .B \-U\c | |
374 | \&\|' and `\|\c | |
375 | .B \-D\c | |
376 | \&\|' are | |
377 | specified for one name, the `\|\c | |
378 | .B \-U\c | |
379 | \&\|' beats the `\|\c | |
380 | .B \-D\c | |
381 | \&\|' and the name | |
382 | is not predefined. | |
383 | .TP | |
384 | .B \-undef | |
385 | Do not predefine any nonstandard macros. | |
386 | .TP | |
387 | .BI "\-A " "name(" value ) | |
388 | Assert (in the same way as the \c | |
389 | .B #assert\c | |
390 | \& directive) | |
391 | the predicate \c | |
392 | .I name\c | |
393 | \& with tokenlist \c | |
394 | .I value\c | |
395 | \&. Remember to escape or quote the parentheses on | |
396 | shell command lines. | |
397 | ||
398 | You can use `\|\c | |
399 | .B \-A-\c | |
400 | \&\|' to disable all predefined assertions; it also | |
401 | undefines all predefined macros. | |
402 | .TP | |
403 | .B \-dM | |
404 | Instead of outputting the result of preprocessing, output a list of | |
405 | `\|\c | |
406 | .B #define\c | |
407 | \&\|' directives for all the macros defined during the | |
408 | execution of the preprocessor, including predefined macros. This gives | |
409 | you a way of finding out what is predefined in your version of the | |
410 | preprocessor; assuming you have no file `\|\c | |
411 | .B foo.h\c | |
412 | \&\|', the command | |
413 | .sp | |
414 | .br | |
415 | touch\ foo.h;\ cpp\ \-dM\ foo.h | |
416 | .br | |
417 | .sp | |
418 | will show the values of any predefined macros. | |
419 | .TP | |
420 | .B \-dD | |
421 | Like `\|\c | |
422 | .B \-dM\c | |
423 | \&\|' except in two respects: it does \c | |
424 | .I not\c | |
425 | \& include the | |
426 | predefined macros, and it outputs \c | |
427 | .I both\c | |
428 | \& the `\|\c | |
429 | .B #define\c | |
430 | \&\|' | |
431 | directives and the result of preprocessing. Both kinds of output go to | |
432 | the standard output file. | |
433 | .PP | |
434 | .TP | |
435 | .BR \-M\ [ \-MG ] | |
436 | Instead of outputting the result of preprocessing, output a rule | |
437 | suitable for \c | |
438 | .B make\c | |
439 | \& describing the dependencies of the main | |
440 | source file. The preprocessor outputs one \c | |
441 | .B make\c | |
442 | \& rule containing | |
443 | the object file name for that source file, a colon, and the names of | |
444 | all the included files. If there are many included files then the | |
445 | rule is split into several lines using `\|\c | |
446 | .B \\\\\c | |
447 | \&\|'-newline. | |
448 | ||
449 | `\|\c | |
450 | .B \-MG\c | |
451 | \&\|' says to treat missing header files as generated files and assume \c | |
452 | they live in the same directory as the source file. It must be specified \c | |
453 | in addition to `\|\c | |
454 | .B \-M\c | |
455 | \&\|'. | |
456 | ||
457 | This feature is used in automatic updating of makefiles. | |
458 | .TP | |
459 | .BR \-MM\ [ \-MG ] | |
460 | Like `\|\c | |
461 | .B \-M\c | |
462 | \&\|' but mention only the files included with `\|\c | |
463 | .B #include | |
464 | "\c | |
465 | .I file\c | |
466 | \&"\c | |
467 | \&\|'. System header files included with `\|\c | |
468 | .B #include | |
469 | <\c | |
470 | .I file\c | |
471 | \&>\c | |
472 | \&\|' are omitted. | |
473 | .TP | |
474 | .BI \-MD\ file | |
475 | Like `\|\c | |
476 | .B \-M\c | |
477 | \&\|' but the dependency information is written to `\|\c | |
478 | .I file\c | |
479 | \&\|'. This is in addition to compiling the file as | |
480 | specified\(em\&`\|\c | |
481 | .B \-MD\c | |
482 | \&\|' does not inhibit ordinary compilation the way | |
483 | `\|\c | |
484 | .B \-M\c | |
485 | \&\|' does. | |
486 | ||
487 | When invoking gcc, do not specify the `\|\c | |
488 | .I file\c | |
489 | \&\|' argument. Gcc will create file names made by replacing `\|\c | |
490 | .B .c\c | |
491 | \&\|' with `\|\c | |
492 | .B .d\c | |
493 | \&\|' at the end of the input file names. | |
494 | ||
495 | In Mach, you can use the utility \c | |
496 | .B md\c | |
497 | \& to merge multiple files | |
498 | into a single dependency file suitable for using with the `\|\c | |
499 | .B make\c | |
500 | \&\|' | |
501 | command. | |
502 | .TP | |
503 | .BI \-MMD\ file | |
504 | Like `\|\c | |
505 | .B \-MD\c | |
506 | \&\|' except mention only user header files, not system | |
507 | header files. | |
508 | .TP | |
509 | .B \-H | |
510 | Print the name of each header file used, in addition to other normal | |
511 | activities. | |
512 | .TP | |
513 | .BI "\-imacros " "file"\c | |
514 | \& | |
515 | Process \c | |
516 | .I file\c | |
517 | \& as input, discarding the resulting output, before | |
518 | processing the regular input file. Because the output generated from | |
519 | \c | |
520 | .I file\c | |
521 | \& is discarded, the only effect of `\|\c | |
522 | .B \-imacros \c | |
523 | .I file\c | |
524 | \&\c | |
525 | \&\|' is to | |
526 | make the macros defined in \c | |
527 | .I file\c | |
528 | \& available for use in the main | |
529 | input. The preprocessor evaluates any `\|\c | |
530 | .B \-D\c | |
531 | \&\|' and `\|\c | |
532 | .B \-U\c | |
533 | \&\|' options | |
534 | on the command line before processing `\|\c | |
535 | .B \-imacros \c | |
536 | .I file\c | |
537 | \&\|' \c | |
538 | \&. | |
539 | .TP | |
540 | .BI "\-include " "file" | |
541 | Process | |
542 | .I file | |
543 | as input, and include all the resulting output, | |
544 | before processing the regular input file. | |
545 | .TP | |
546 | .BI "-idirafter " "dir"\c | |
547 | \& | |
548 | Add the directory \c | |
549 | .I dir\c | |
550 | \& to the second include path. The directories | |
551 | on the second include path are searched when a header file is not found | |
552 | in any of the directories in the main include path (the one that | |
553 | `\|\c | |
554 | .B \-I\c | |
555 | \&\|' adds to). | |
556 | .TP | |
557 | .BI "-iprefix " "prefix"\c | |
558 | \& | |
559 | Specify \c | |
560 | .I prefix\c | |
561 | \& as the prefix for subsequent `\|\c | |
562 | .B \-iwithprefix\c | |
563 | \&\|' | |
564 | options. | |
565 | .TP | |
566 | .BI "-iwithprefix " "dir"\c | |
567 | \& | |
568 | Add a directory to the second include path. The directory's name is | |
569 | made by concatenating \c | |
570 | .I prefix\c | |
571 | \& and \c | |
572 | .I dir\c | |
573 | \&, where \c | |
574 | .I prefix\c | |
575 | \& | |
576 | was specified previously with `\|\c | |
577 | .B \-iprefix\c | |
578 | \&\|'. | |
579 | .TP | |
580 | .B \-lang-c | |
581 | .TP | |
582 | .B \-lang-c++ | |
583 | .TP | |
584 | .B \-lang-objc | |
585 | .TP | |
586 | .B \-lang-objc++ | |
587 | Specify the source language. `\|\c | |
588 | .B \-lang-c++\c | |
589 | \&\|' makes the preprocessor | |
590 | handle C++ comment syntax, and includes extra default include | |
591 | directories for C++, and `\|\c | |
592 | .B \-lang-objc\c | |
593 | \&\|' enables the Objective C | |
594 | `\|\c | |
595 | .B #import\c | |
596 | \&\|' directive. `\|\c | |
597 | .B \-lang-c\c | |
598 | \&\|' explicitly turns off both of | |
599 | these extensions, and `\|\c | |
600 | .B \-lang-objc++\c | |
601 | \&\|' enables both. | |
602 | ||
603 | These options are generated by the compiler driver \c | |
604 | .B gcc\c | |
605 | \&, but not | |
606 | passed from the `\|\c | |
607 | .B gcc\c | |
608 | \&\|' command line. | |
609 | .TP | |
610 | .B \-lint | |
611 | Look for commands to the program checker \c | |
612 | .B lint\c | |
613 | \& embedded in | |
614 | comments, and emit them preceded by `\|\c | |
615 | .B #pragma lint\c | |
616 | \&\|'. For example, | |
617 | the comment `\|\c | |
618 | .B /* NOTREACHED */\c | |
619 | \&\|' becomes `\|\c | |
620 | .B #pragma lint | |
621 | NOTREACHED\c | |
622 | \&\|'. | |
623 | ||
624 | This option is available only when you call \c | |
625 | .B cpp\c | |
626 | \& directly; | |
627 | \c | |
628 | .B gcc\c | |
629 | \& will not pass it from its command line. | |
630 | .TP | |
631 | .B \-$ | |
632 | Forbid the use of `\|\c | |
633 | .B $\c | |
634 | \&\|' in identifiers. This was formerly required for strict conformance | |
635 | to the C Standard before the standard was corrected. \c | |
636 | ||
637 | This option is available only when you call \c | |
638 | .B cpp\c | |
639 | \& directly; | |
640 | .B gcc\c | |
641 | \& will not pass it from its command line. | |
642 | .SH "SEE ALSO" | |
643 | .RB "`\|" Cpp "\|'" | |
644 | entry in | |
645 | .B info\c | |
646 | \&; | |
647 | .I The C Preprocessor\c | |
648 | , Richard M. Stallman. | |
649 | .br | |
650 | .BR gcc "(" 1 ");" | |
651 | .RB "`\|" Gcc "\|'" | |
652 | entry in | |
653 | .B info\c | |
654 | \&; | |
655 | .I | |
656 | Using and Porting GNU CC (for version 2.0)\c | |
657 | , Richard M. Stallman. | |
658 | .SH COPYING | |
659 | Copyright (c) 1991, 1992, 1993 Free Software Foundation, Inc. | |
660 | .PP | |
661 | Permission is granted to make and distribute verbatim copies of | |
662 | this manual provided the copyright notice and this permission notice | |
663 | are preserved on all copies. | |
664 | .PP | |
665 | Permission is granted to copy and distribute modified versions of this | |
666 | manual under the conditions for verbatim copying, provided that the | |
667 | entire resulting derived work is distributed under the terms of a | |
668 | permission notice identical to this one. | |
669 | .PP | |
670 | Permission is granted to copy and distribute translations of this | |
671 | manual into another language, under the above conditions for modified | |
672 | versions, except that this permission notice may be included in | |
673 | translations approved by the Free Software Foundation instead of in | |
674 | the original English. |