Quick Search:

View

Revision:
Expand:  
Changeset: MAIN:reed:20071231153548

Diff

Diff from 1.8 to:

Annotations

Annotate by Age | Author | Mixed | None
/fisheye/browse/pcc/pcc/cc/cpp/cpp.1

Annotated File View

reed
1.8
1 .\"     $Id: cpp.1,v 1.8 2007/12/31 15:35:48 reed Exp $
ragge
1.4
2 .\"     $NetBSD$
3 .\"     $OpenBSD$
4 ."\
ragge
1.1
5 .\" Copyright (c) 2007 Jeremy C. Reed <reed@reedmedia.net>
6 .\" 
7 .\" Permission to use, copy, modify, and/or distribute this software for any 
8 .\" purpose with or without fee is hereby granted, provided that the above 
9 .\" copyright notice and this permission notice appear in all copies.
10 .\" 
11 .\" THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR AND CONTRIBUTORS DISCLAIM 
12 .\" ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED 
13 .\" WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL AUTHOR AND 
14 .\" CONTRIBUTORS BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL 
15 .\" DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR 
16 .\" PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS 
17 .\" ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF 
18 .\" THIS SOFTWARE.
19 .\"
20 .Dd September 17, 2007
21 .Dt cpp 1
22 .Os
23 .Sh NAME
24 .Nm cpp
25 .Nd C preprocessor
26 .Sh SYNOPSIS
27 .Nm
28 .\" TODO also document -Dvar and below without spaces?
reed
1.7
29 .Op Fl CdMtVv
reed
1.6
30 .Op Fl D Ar macro[=value]
ragge
1.1
31 .Op Fl I Ar path
reed
1.6
32 .Op Fl i Ar file
ragge
1.1
33 .Op Fl S Ar path
reed
1.6
34 .Op Fl U Ar macro
ragge
1.1
35 .Op Ar infile | -
36 .Op Ar outfile
37 .Pp
38 .Sh DESCRIPTION
39 The
40 .Nm
41 utility is a macro preprocessor used by the
42 .Xr pcc 1
43 compiler.
ragge
1.4
44 It is used to include header files,
ragge
1.1
45 expand macro definitions,
46 and perform conditional compilation.
47 .Pp
48 The 
49 .Ar infile
50 input file is optional.
51 If not provided or the file name is
52 .Qq -
53 (dash),
54 .Nm
55 reads its initial file from standard input.
56 The
57 .Ar outfile
58 output file is also optional.
59 It writes by default to standard output.
60 .Pp
61 .\" TODO: document MAXARG  250 args to a macro, limited by char value
62 .\" TODO: Include order:
63 .\" For "..." files, first search "current" dir, then as <...> files.
64 .\" For <...> files, first search -I directories, then system directories.
65 .\"
66 The options are as follows:
67 .Bl -tag -width Ds
68 .It Fl C
69 Do not discard comments.
reed
1.6
70 .It Fl D Ar macro[=value]
71 Fake a definition at the beginning by using
72 .Do #define
73 .Ar macro=value Dc .
74 If
75 .Ar value
76 is not set on command-line, then defines as 1.
77 .\" TODO: show example
ragge
1.1
78 .It Fl dM
ragge
1.4
79 Print list of
80 .Dq #define
81 statements to standard output for all defined macros other than
82 builtin macros (see below).
83 The normal results of preprocessing are not outputted.
ragge
1.1
84 .\" TODO this doesn't show predefined macros
85 .\" other -d options are ignored
reed
1.6
86 .It Fl I Ar path
ragge
1.1
87 Add
reed
1.6
88 .Ar path
reed
1.5
89 to the list of directories containing needed header files.
ragge
1.4
90 This may be used to override system include directories
91 (see
92 .Fl S
93 option).
ragge
1.1
94 .Fl I
95 may be specified multiple times.
reed
1.6
96 .It Fl i Ar file
97 Include a file at the beginning by using
98 .Do #include
99 .Ar file Dc .
100 .\" Note: I did not use the .In macro above
ragge
1.1
101 .It Fl M
102 Generate dependencies for
103 .Xr make 1 .
104 .\" TODO: explain and show example?
reed
1.6
105 .It Fl S Ar path
ragge
1.1
106 Add
reed
1.6
107 .Ar path
ragge
1.2
108 to the list of system directories containing needed header files.
ragge
1.1
109 .Fl S
110 may be specified multiple times.
ragge
1.4
111 Note:
112 .Nm
113 does not have a default include directory defined.
ragge
1.1
114 .\" TODO: explain difference between -I and -S
ragge
1.2
115 .\" The directories listed by -I are searched first?
ragge
1.1
116 .It Fl t
117 Traditional cpp syntax.
118 Do not define the
119 .Dv __TIME__ ,
ragge
1.4
120 .Dv __DATE__ ,
reed
1.8
121 .Dv __STDC__ ,
ragge
1.1
122 and
reed
1.8
123 .Dv __STDC_VERSION__ ,
ragge
1.1
124 macros.
125 .\"
126 .It Fl U Ar macro
127 Undefine a macro at the beginning by using
128 .Do #undef
129 .Ar macro Dc .
130 .It Fl v
reed
1.5
131 Display version.
132 .It Fl V
ragge
1.1
133 Verbose debugging output.
reed
1.5
134 .Fl V
ragge
1.1
135 can be repeated for further details.
reed
1.5
136 .\" -V only available if cpp source built with CPP_DEBUG, which is the default.
ragge
1.1
137 .It Fl ?
138 Show command line usage for
139 .Nm .
140 .El
ragge
1.4
141 .Sh Builtin Macros
142 A few macros are interpreted inside the
143 .Nm cpp
144 program:
ragge
1.1
145 .Bl -diag
146 .It __DATE__
147 Expands to the date in abbreviated month, day, and year format from
148 .Xr ctime 3
149 in quotes.
150 .\" TODO: is that ctime(3) format output change according to locale?
151 .It __FILE__
152 Expands to the name of the current input file in quotes.
ragge
1.4
153 When read from standard input, it expands to
ragge
1.1
154 .Qq Ao stdin Ac .
155 .It __LINE__
156 Expands to the line number of the current line containing the macro.
157 .It __STDC__
158 Expands to the constant 1.
reed
1.8
159 This means the compiler conforms to ISO Standard C,
160 ISO/IEC 9899:1990
161 .Po also known as
162 .Do C90 Dc Pc .
163 .It __STDC_VERSION__
164 Expands to
165 .Dq 199901L
166 which indicates it supports ISO/IEC 9899:1999 standard
167 .Po commonly referred to as
168 .Do C99 Dc Pc .
ragge
1.1
169 .It __TIME__
170 Expands to the time in hour, minutes, and seconds from
171 .Xr ctime 3
172 in quotes.
173 .El
174 .Pp
175 Also see the
ragge
1.4
176 .Fl t
177 option.
ragge
1.1
178 .Sh EXIT STATUS
179 The
180 .Nm
181 utility exits with one of the following values:
182 .Bl -tag -width Ds
183 .It 0
184 Successfully finished.
185 .It 1
186 An error occurred.
187 .El
188 .Sh SEE ALSO
189 .Xr as 1 ,
190 .Xr ccom 1 ,
191 .Xr pcc 1
192 .\"
193 .Sh HISTORY
194 The
195 .Nm
196 command comes from the original Portable C Compiler by S. C.
197 Johnson, written in the late 70's.
198 The code originates from the V6 preprocessor with some additions
199 from V7 cpp and ansi/c99 support.
200 .Pp
201 A lot of the PCC code was rewritten by Anders Magnusson.
202 .Pp
203 This product includes software developed or owned by Caldera
204 International, Inc.
FishEye: Open Source License registered to PCC.
Your maintenance has expired. You can renew your license at http://www.atlassian.com/fisheye/renew
Atlassian FishEye, CVS analysis. (Version:1.6.3 Build:build-336 2008-11-04) - Administration - Page generated 2014-09-16 06:56 +0200