Quick Search:

View

Revision:
Expand:  
Changeset: MAIN:ragge:20070918202921

Diff

Diff from 1.3 to:

Annotations

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

Annotated File View

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