Quick Search:

View

Revision:
Expand:  
Changeset: MAIN:plunky:20110605085442

Diff

Diff from 1.19 to:

Annotations

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

Annotated File View

plunky
1.19
1 .\"     $Id: cc.1,v 1.19 2011/06/05 08:54:42 plunky Exp $
reed
1.8
2 .\"
ragge
1.1
3 .\" Copyright (c) 2007 Jeremy C. Reed <reed@reedmedia.net>
reed
1.12
4 .\"
5 .\" Permission to use, copy, modify, and/or distribute this software for any
6 .\" purpose with or without fee is hereby granted, provided that the above
ragge
1.1
7 .\" copyright notice and this permission notice appear in all copies.
reed
1.12
8 .\"
9 .\" THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR AND CONTRIBUTORS DISCLAIM
10 .\" ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED
11 .\" WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL AUTHOR AND
12 .\" CONTRIBUTORS BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL
13 .\" DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR
14 .\" PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS
15 .\" ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF
ragge
1.1
16 .\" THIS SOFTWARE.
17 .\"
18 .Dd September 14, 2007
reed
1.12
19 .Dt CC 1
ragge
1.1
20 .Os
21 .Sh NAME
22 .Nm cc
23 .Nd front-end to the C compiler
24 .Sh SYNOPSIS
25 .Nm
reed
1.12
26 .Op Fl cEgkLMPOStvXx
ragge
1.2
27 .Op Fl fPIC
reed
1.7
28 .Op Fl fpic
gmcgarry
1.11
29 .Op Fl m Ns Ar option
reed
1.7
30 .Op Fl nostartfiles
ragge
1.2
31 .Op Fl nostdinc
32 .Op Fl nostdlib
33 .Op Fl pg
34 .Op Fl pthread
35 .Op Fl static
reed
1.7
36 .Op Fl B Ar prefix
37 .Op Fl D Ar macro[=value]
38 .Op Fl d Ar option
39 .Op Fl I Ar directory
40 .Op Fl include Ar path
41 .Op Fl isystem Ar path
42 .Op Fl o Ar outfile
ragge
1.2
43 .Op Fl Wl Ar flags
reed
1.7
44 .Op Ar
ragge
1.1
45 .Sh DESCRIPTION
46 The
47 .Nm
ragge
1.3
48 utility provides a front-end to the
reed
1.12
49 .Dq portable C compiler .
ragge
1.1
50 Multiple files may be given on the command line.
51 Unrecognized options are all sent directly to
52 .Xr ld 1 .
53 .Pp
54 .\" Brief description of its syntax:
55 Filenames that end with
reed
1.8
56 .Sy \&.c
ragge
1.1
57 are passed via
reed
1.16
58 .Xr cpp 1
59 \(->
60 .Xr ccom 1
61 \(->
62 .Xr as 1
63 \(->
ragge
1.1
64 .Xr ld 1 .
65 .Pp
66 Filenames that end with
reed
1.8
67 .Sy \&.i
ragge
1.4
68 are passed via
reed
1.16
69 .Xr ccom 1
70 \(->
71 .Xr as 1
72 \(->
ragge
1.4
73 .Xr ld 1 .
74 .Pp
75 Filenames that end with
reed
1.8
76 .Sy \&.s
ragge
1.1
77 are passed via
reed
1.16
78 .Xr as 1
79 \(->
ragge
1.1
80 .Xr ld 1 .
81 .Pp
82 Filenames that end with
ragge
1.14
83 .Sy \&.S
84 are passed via
reed
1.16
85 .Xr cpp 1
86 \(->
87 .Xr as 1
88 \(->
ragge
1.14
89 .Xr ld 1 .
90 .Pp
91 Filenames that end with
reed
1.8
92 .Sy \&.o
ragge
1.1
93 are passed directly to
94 .Xr ld 1 .
95 .Pp
96 .\"
97 The options are as follows:
98 .Bl -tag -width Ds
99 .It Fl B Ar prefix
100 Define alternate prefix path for
101 .Xr cpp 1 ,
102 .Xr ccom 1 ,
103 .Xr as 1 ,
104 or
105 .Xr ld 1
106 executables.
107 .\" TODO: provide an example of -B
reed
1.6
108 .It Fl C
109 Passed to the
110 .Xr cpp 1
111 preprocessor to not discard comments.
ragge
1.1
112 .It Fl c
113 Only compile or assemble and then stop.
114 Do not link.
ragge
1.4
115 The resulting object output is saved
116 as a filename with a
reed
1.10
117 .Dq \&.o
ragge
1.4
118 suffix unless
119 .Fl o
120 option is used.
ragge
1.1
121 Note: cannot be combined with
122 .Fl o
123 if multiple files are given.
reed
1.7
124 .It Fl D Ar macro[=value]
125 Passed to the
126 .Xr cpp 1
127 preprocessor to define
128 .Ar macro .
ragge
1.3
129 .It Fl d Ar option
130 Passed to the
131 .Xr as 1
132 assembler.
133 .\" TODO: what is as -dfoo for?
ragge
1.1
134 .It Fl E
135 Stop after preprocessing with
136 .Xr cpp 1 .
137 Do not compile, assemble, or link.
reed
1.6
138 Output is sent to standard output unless the
139 .Fl o
140 option is used.
reed
1.7
141 .It Fl fPIC
142 Generate PIC code.
143 .\" TODO: document about avoiding machine-specific maximum size?
ragge
1.4
144 .It Fl fpic
145 Tells C compiler to generate PIC code
146 and tells assembler that PIC code has been generated.
147 .\" TODO: document difference between PIC and pic
ragge
1.1
148 .\" other -f GCC compatibility flags are ignored for now
149 .It Fl g
150 Send
151 .Fl g
152 flag to
153 .Xr ccom 1
154 to create debug output.
ragge
1.17
155 Debug information output can be disabled with
156 .Fl g0 .
reed
1.7
157 .It Fl I Ar path
158 Passed to the
159 .Xr cpp 1
160 preprocessor to add header search directory to override system defaults.
reed
1.6
161 .It Fl include Ar file
162 Tells the
reed
1.12
163 .Xr cpp 1
reed
1.6
164 preprocessor to include the
165 .Ar file
166 during preprocessing.
ragge
1.1
167 .It Fl isystem Ar path
reed
1.6
168 Defines
169 .Ar path
170 as a system header directory for the
171 .Xr cpp 1
172 preprocessor.
ragge
1.1
173 .It Fl k
ragge
1.4
174 Generate PIC code.
175 See
176 .Fl fpic
177 option.
ragge
1.1
178 .It Fl L
reed
1.12
179 TODO
ragge
1.1
180 .It Fl M
181 Pass
182 .Fl M
183 flag to
184 .Xr cpp 1
185 to generate dependencies for
186 .Xr make 1 .
gmcgarry
1.13
187 .It Fl m Ns options
gmcgarry
1.11
188 Target-dependent option.
gmcgarry
1.13
189 .Bl -tag -width PowerPC
190 .It ARM
reed
1.16
191 \-mlittle-endian \-mbig-endian \-mfpe=fpa \-mfpe=vpf \-msoft-float \-march=armv1 \-march=armv2 \-march=armv2a \-march=armv3 \-march=armv4 \-march=armv4t \-march=armv4tej \-march=armv5 \-march=armv6 \-march=armv6t2 \-march=armv6kz \-march=armv6k \-march=armv7
gmcgarry
1.13
192 .It HPPA
193 .It i386
194 .It MIPS
reed
1.16
195 \-mlittle-endian \-mbig-endian \-mhard-float \-msoft-float
gmcgarry
1.13
196 .It PDP-10
197 .It PowerPC
198 .It Sparc64
199 .It VAX
200 .El
reed
1.7
201 .It Fl nostartfiles
reed
1.12
202 Do not link with the system startup files (crt0.c, etc.)
ragge
1.1
203 .It Fl nostdinc
reed
1.12
204 Do not use the system include paths (/usr/include, etc.)
ragge
1.1
205 .It Fl nostdlib
gmcgarry
1.11
206 Do not link with the system C library (libc).
ragge
1.1
207 .\" implies -nostartfiles ??
208 .It Fl O
ragge
1.3
209 Enable optimizations.
210 Currently passes
ragge
1.17
211 .Fl xdeljumps ,
212 .Fl xtemps
reed
1.6
213 and
ragge
1.17
214 .Fl xinline
ragge
1.3
215 to
216 .Xr ccom 1 .
ragge
1.17
217 Optimisations can be disabled using
218 .Fl O0 .
reed
1.7
219 .It Fl o Ar outfile
220 Save result to
221 .Ar outfile .
222 .It Fl P
reed
1.12
223 TODO
224 .\" TODO: what is this?
reed
1.7
225 .\" TODO: Looks like it does cpp only, but I couldn't get it to work for me.
226 .It Fl pg
gmcgarry
1.13
227 Enable profiling on the generated executable.
ragge
1.1
228 .It Fl pthread
229 Defines
230 .Sy _PTHREADS
231 preprocessor directive for
232 .Xr cpp 1 .
233 Uses
reed
1.16
234 .Sy \-lpthread
reed
1.12
235 for the
236 .Xr ld 1
237 linker.
ragge
1.1
238 .It Fl S
239 Stop after compilation by
240 .Xr ccom 1 .
241 Do not assemble and do not link.
ragge
1.3
242 The resulting assembler-language output is saved
ragge
1.4
243 as a filename with a
reed
1.10
244 .Dq \&.s
ragge
1.4
245 suffix unless the
246 .Fl o
247 option is used.
ragge
1.1
248 Note: cannot be combined with
249 .Fl o
250 if multiple files are given.
reed
1.7
251 .It Fl static
252 Do not use dynamic linkage.
253 By default, it will link using the dynamic linker options
254 and/or shared objects for the platform.
ragge
1.14
255 .It Fl shared
ragge
1.18
256 Create a shared object of the result.  Tells the linker not to
ragge
1.14
257 generate an executable.
ragge
1.1
258 .It Fl t
259 Passes
260 .Fl t
261 to
262 .Xr cpp 1
263 for traditional C preprocessor syntax.
ragge
1.3
264 .It Fl U Ar macro
reed
1.12
265 Passes to the
ragge
1.3
266 .Xr cpp 1
267 preprocessor to remove the initial macro definition.
ragge
1.1
268 .It Fl v
269 Outputs the version of
270 .Nm
reed
1.12
271 and shows what commands will be run with their command line arguments.
ragge
1.1
272 .It Fl Wl Ar flags
reed
1.12
273 Options for the linker.
ragge
1.1
274 .\" what is ignored? llist?
reed
1.7
275 .It Fl X
stefan
1.9
276 Don't remove temporary files on exit.
reed
1.7
277 .It Fl x
ragge
1.14
278 May be used to give separate optimization flags to ccom, see
279 .Fl O
280 for options.
281 .It Fl x Ar c
282 Gcc compatibility option; specify that the language in use is
283 .Ar c .
ragge
1.1
284 .El
reed
1.12
285 .Ss Predefined Macros
ragge
1.2
286 A few
287 macros are predefined by
288 .Nm
reed
1.8
289 when sent to
ragge
1.2
290 .Xr cpp 1 .
291 .Bl -diag
292 .\" TODO:
293 .\" .It __ASSEMBLER__
294 .\" Defined if suffix is .S -- why not with .s? what does this mean?
295 .It __PCC__
296 Set to the major version of
297 .Xr pcc 1 .
298 These macros can be used to select code based on
299 .Xr pcc 1
300 compatibility.
reed
1.12
301 See the
ragge
1.2
302 .Fl v
303 option.
304 .It __PCC_MINOR__
305 Set to the minor version.
306 .It __PCC_MINORMINOR__
reed
1.16
307 Set to the minor-minor version \(em the number after the minor version.
ragge
1.2
308 .It _PTHREADS
309 Defined when
310 .Fl pthread
311 switch is used.
312 .El
ragge
1.3
313 .Pp
ragge
1.4
314 Also system- and/or machine-dependent macros may also be predefined;
315 for example:
316 .Dv __NetBSD__ ,
317 .Dv __ELF__ ,
ragge
1.3
318 and
319 .Dv __i386__ .
ragge
1.1
320 .Sh SEE ALSO
321 .Xr as 1 ,
322 .Xr ccom 1 ,
ragge
1.2
323 .Xr cpp 1 ,
324 .Xr ld 1
ragge
1.1
325 .Sh HISTORY
326 The
327 .Nm
reed
1.12
328 command comes from the original Portable C Compiler by S. C. Johnson,
329 written in the late 70's.
ragge
1.1
330 .Pp
331 This product includes software developed or owned by Caldera
332 International, Inc.
FishEye: Open Source License registered to PCC.
Atlassian FishEye, CVS analysis. (Version:1.6.3 Build:build-336 2008-11-04) - Administration - Page generated 2014-12-26 10:21 +0100