Quick Search:

View

Revision:
Expand:  
Changeset: MAIN:reed:20071002195900

Diff

Diff from 1.6 to:

Annotations

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

Annotated File View

reed
1.6
1 .\"     $Id: cpp.1,v 1.6 2007/10/02 19:59:00 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.6
29 .Op Fl CdMt
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__ ,
ragge
1.1
121 and
122 .Dv __STDC__
123 macros.
124 .\"
125 .It Fl U Ar macro
126 Undefine a macro at the beginning by using
127 .Do #undef
128 .Ar macro Dc .
129 .It Fl v
reed
1.5
130 Display version.
131 .It Fl V
ragge
1.1
132 Verbose debugging output.
reed
1.5
133 .Fl V
ragge
1.1
134 can be repeated for further details.
reed
1.5
135 .\" -V only available if cpp source built with CPP_DEBUG, which is the default.
ragge
1.1
136 .It Fl ?
137 Show command line usage for
138 .Nm .
139 .El
ragge
1.4
140 .Sh Builtin Macros
141 A few macros are interpreted inside the
142 .Nm cpp
143 program:
ragge
1.1
144 .Bl -diag
145 .It __DATE__
146 Expands to the date in abbreviated month, day, and year format from
147 .Xr ctime 3
148 in quotes.
149 .\" TODO: is that ctime(3) format output change according to locale?
150 .It __FILE__
151 Expands to the name of the current input file in quotes.
ragge
1.4
152 When read from standard input, it expands to
ragge
1.1
153 .Qq Ao stdin Ac .
154 .It __LINE__
155 Expands to the line number of the current line containing the macro.
156 .It __STDC__
157 Expands to the constant 1.
158 This means the compiler conforms to ISO Standard C.
159 .It __TIME__
160 Expands to the time in hour, minutes, and seconds from
161 .Xr ctime 3
162 in quotes.
163 .El
164 .Pp
165 Also see the
ragge
1.4
166 .Fl t
167 option.
ragge
1.1
168 .Sh EXIT STATUS
169 The
170 .Nm
171 utility exits with one of the following values:
172 .Bl -tag -width Ds
173 .It 0
174 Successfully finished.
175 .It 1
176 An error occurred.
177 .El
178 .Sh SEE ALSO
179 .Xr as 1 ,
180 .Xr ccom 1 ,
181 .Xr pcc 1
182 .\"
183 .Sh HISTORY
184 The
185 .Nm
186 command comes from the original Portable C Compiler by S. C.
187 Johnson, written in the late 70's.
188 The code originates from the V6 preprocessor with some additions
189 from V7 cpp and ansi/c99 support.
190 .Pp
191 A lot of the PCC code was rewritten by Anders Magnusson.
192 .Pp
193 This product includes software developed or owned by Caldera
194 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-19 07:51 +0200