Quick Search:

View

Revision:
Expand:  
Changeset: MAIN:ragge:20070926144847

Diff

Diff from 1.4 to:

Annotations

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

Annotated File View

ragge
1.4
1 .\"     $Id: cpp.1,v 1.4 2007/09/26 14:48:51 ragge Exp $
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?
29 .Op Fl Cdt
30 .Op Fl D Ar var=val
31 .Op Fl U Ar var
32 .Op Fl I Ar path
33 .Op Fl S Ar path
34 .Op Ar infile | -
35 .Op Ar outfile
36 .Pp
37 .Sh DESCRIPTION
38 The
39 .Nm
40 utility is a macro preprocessor used by the
41 .Xr pcc 1
42 compiler.
ragge
1.4
43 It is used to include header files,
ragge
1.1
44 expand macro definitions,
45 and perform conditional compilation.
46 .Pp
47 The 
48 .Ar infile
49 input file is optional.
50 If not provided or the file name is
51 .Qq -
52 (dash),
53 .Nm
54 reads its initial file from standard input.
55 The
56 .Ar outfile
57 output file is also optional.
58 It writes by default to standard output.
59 .Pp
60 .\" TODO: document MAXARG  250 args to a macro, limited by char value
61 .\" TODO: Include order:
62 .\" For "..." files, first search "current" dir, then as <...> files.
63 .\" For <...> files, first search -I directories, then system directories.
64 .\"
65 The options are as follows:
66 .Bl -tag -width Ds
67 .It Fl C
68 Do not discard comments.
69 .It Fl dM
ragge
1.4
70 Print list of
71 .Dq #define
72 statements to standard output for all defined macros other than
73 builtin macros (see below).
74 The normal results of preprocessing are not outputted.
ragge
1.1
75 .\" TODO this doesn't show predefined macros
76 .\" other -d options are ignored
77 .It Fl D Ar macro[=value]
78 Fake a definition at the beginning by using
79 .Do #define
ragge
1.2
80 .Ar macro=value Dc .
81 If
ragge
1.4
82 .Ar value
83 is not set on command-line, then defines as 1.
ragge
1.1
84 .\" TODO: show example
85 .It Fl i Ar file
86 Include a file at the beginning by using
87 .Do #include
88 .Ar file Dc .
89 .\" Note: I did not use the .In macro above
90 .It Fl I Ar directory
91 Add
92 .Ar directory
ragge
1.3
93 to the list of system directories containing needed header files.
ragge
1.4
94 This may be used to override system include directories
95 (see
96 .Fl S
97 option).
ragge
1.1
98 .Fl I
99 may be specified multiple times.
100 .It Fl M
101 Generate dependencies for
102 .Xr make 1 .
103 .\" TODO: explain and show example?
104 .It Fl S Ar directory
105 Add
106 .Ar directory
ragge
1.2
107 to the list of system directories containing needed header files.
ragge
1.1
108 .Fl S
109 may be specified multiple times.
ragge
1.4
110 Note:
111 .Nm
112 does not have a default include directory defined.
ragge
1.1
113 .\" TODO: explain difference between -I and -S
ragge
1.2
114 .\" The directories listed by -I are searched first?
ragge
1.1
115 .It Fl t
116 Traditional cpp syntax.
117 Do not define the
118 .Dv __TIME__ ,
ragge
1.4
119 .Dv __DATE__ ,
ragge
1.1
120 and
121 .Dv __STDC__
122 macros.
123 .\"
124 .It Fl U Ar macro
125 Undefine a macro at the beginning by using
126 .Do #undef
127 .Ar macro Dc .
128 .It Fl v
129 Verbose debugging output.
130 .Fl v
131 can be repeated for further details.
132 .\" -v only available if cpp source built with CPP_DEBUG, which is the default.
133 .It Fl ?
134 Show command line usage for
135 .Nm .
136 .El
ragge
1.4
137 .Sh Builtin Macros
138 A few macros are interpreted inside the
139 .Nm cpp
140 program:
ragge
1.1
141 .Bl -diag
142 .It __DATE__
143 Expands to the date in abbreviated month, day, and year format from
144 .Xr ctime 3
145 in quotes.
146 .\" TODO: is that ctime(3) format output change according to locale?
147 .It __FILE__
148 Expands to the name of the current input file in quotes.
ragge
1.4
149 When read from standard input, it expands to
ragge
1.1
150 .Qq Ao stdin Ac .
151 .It __LINE__
152 Expands to the line number of the current line containing the macro.
153 .It __STDC__
154 Expands to the constant 1.
155 This means the compiler conforms to ISO Standard C.
156 .It __TIME__
157 Expands to the time in hour, minutes, and seconds from
158 .Xr ctime 3
159 in quotes.
160 .El
161 .Pp
162 Also see the
ragge
1.4
163 .Fl t
164 option.
ragge
1.1
165 .Sh EXIT STATUS
166 The
167 .Nm
168 utility exits with one of the following values:
169 .Bl -tag -width Ds
170 .It 0
171 Successfully finished.
172 .It 1
173 An error occurred.
174 .El
175 .Sh SEE ALSO
176 .Xr as 1 ,
177 .Xr ccom 1 ,
178 .Xr pcc 1
179 .\"
180 .Sh HISTORY
181 The
182 .Nm
183 command comes from the original Portable C Compiler by S. C.
184 Johnson, written in the late 70's.
185 The code originates from the V6 preprocessor with some additions
186 from V7 cpp and ansi/c99 support.
187 .Pp
188 A lot of the PCC code was rewritten by Anders Magnusson.
189 .Pp
190 This product includes software developed or owned by Caldera
191 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-03 04:14 +0200