]> CyberLeo.Net >> Repos - FreeBSD/releng/10.0.git/blob - usr.bin/c99/c99.1
- Copy stable/10 (r259064) to releng/10.0 as part of the
[FreeBSD/releng/10.0.git] / usr.bin / c99 / c99.1
1 .\"
2 .\" Copyright (c) 1997 Joerg Wunsch
3 .\"
4 .\" All rights reserved.
5 .\"
6 .\" Redistribution and use in source and binary forms, with or without
7 .\" modification, are permitted provided that the following conditions
8 .\" are met:
9 .\" 1. Redistributions of source code must retain the above copyright
10 .\"    notice, this list of conditions and the following disclaimer.
11 .\" 2. Redistributions in binary form must reproduce the above copyright
12 .\"    notice, this list of conditions and the following disclaimer in the
13 .\"    documentation and/or other materials provided with the distribution.
14 .\"
15 .\" THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY EXPRESS OR
16 .\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
17 .\" OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
18 .\" IN NO EVENT SHALL THE DEVELOPERS BE LIABLE FOR ANY DIRECT, INDIRECT,
19 .\" INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
20 .\" NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
21 .\" DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
22 .\" THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
23 .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
24 .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
25 .\"
26 .\" From FreeBSD: src/usr.bin/c89/c89.1,v 1.11 2007/03/10 07:10:01 ru Exp
27 .\" $FreeBSD$
28 .\"
29 .Dd June 17, 2010
30 .Dt C99 1
31 .Os
32 .Sh NAME
33 .Nm c99
34 .Nd standard C language compiler
35 .Sh SYNOPSIS
36 .Nm
37 .Op Fl cEgs
38 .Oo Fl D Ar name Ns Oo = Ns Ar value Oc Oc ...
39 .Oo Fl I Ar directory Oc ...
40 .Oo Fl L Ar directory Oc ...
41 .Op Fl o Ar outfile
42 .Op Fl O Ar optlevel
43 .Oo Fl U Ar name Oc ...
44 .Ar operand ...
45 .Sh DESCRIPTION
46 This is the name of the C language compiler as required by the
47 .St -p1003.1-2001
48 standard.
49 .Pp
50 The
51 .Nm
52 compiler accepts the following options:
53 .Bl -tag -width indent
54 .It Fl c
55 Suppress the link-edit phase of the compilation, and do not remove any
56 object files that are produced.
57 .It Fl D Ar name Ns Op = Ns Ar value
58 Define name as if by a C-language
59 .Ic #define
60 directive.
61 If no
62 .Dq = Ns Ar value
63 is given, a value of 1 will be used.
64 Note that in order to request a
65 translation as specified by
66 .St -p1003.1-2001 ,
67 you need to define
68 .Dv _POSIX_C_SOURCE=200112L
69 either in the source or using this option.
70 The
71 .Fl D
72 option has lower precedence than the
73 .Fl U
74 option.
75 That is, if
76 .Ar name
77 is used in both a
78 .Fl U
79 and a
80 .Fl D
81 option,
82 .Ar name
83 will be undefined regardless of the order of the options.
84 The
85 .Fl D
86 option may be specified more than once.
87 .It Fl E
88 Copy C-language source files to the standard output, expanding all
89 preprocessor directives; no compilation will be performed.
90 .It Fl g
91 Produce symbolic information in the object or executable files.
92 .It Fl I Ar directory
93 Change the algorithm for searching for headers whose names are not
94 absolute pathnames to look in the directory named by the
95 .Ar directory
96 pathname before looking in the usual places.
97 Thus, headers whose
98 names are enclosed in double-quotes
99 .Pq Qq
100 will be searched for first
101 in the directory of the file with the
102 .Ic #include
103 line, then in
104 directories named in
105 .Fl I
106 options, and last in the usual places.
107 For headers whose names are enclosed in angle brackets
108 .Pq Aq ,
109 the header
110 will be searched for only in directories named in
111 .Fl I
112 options and then in the usual places.
113 Directories named in
114 .Fl I
115 options shall be searched in the order specified.
116 The
117 .Fl I
118 option may be specified more than once.
119 .It Fl L Ar directory
120 Change the algorithm of searching for the libraries named in the
121 .Fl l
122 objects to look in the directory named by the
123 .Ar directory
124 pathname before looking in the usual places.
125 Directories named in
126 .Fl L
127 options will be searched in the order specified.
128 The
129 .Fl L
130 option may be specified more than once.
131 .It Fl o Ar outfile
132 Use the pathname
133 .Ar outfile ,
134 instead of the default
135 .Pa a.out ,
136 for the executable file produced.
137 .It Fl O Ar optlevel
138 If
139 .Ar optlevel
140 is zero, disable all optimizations.
141 Otherwise, enable optimizations at the specified level.
142 .It Fl s
143 Produce object and/or executable files from which symbolic and other
144 information not required for proper execution has been removed
145 (stripped).
146 .It Fl U Ar name
147 Remove any initial definition of
148 .Ar name .
149 The
150 .Fl U
151 option may be specified more than once.
152 .El
153 .Pp
154 An operand is either in the form of a pathname or the form
155 .Fl l
156 library.
157 At least one operand of the pathname form needs to be specified.
158 Supported operands are of the form:
159 .Bl -tag -offset indent -width ".Fl l Ar library"
160 .It Ar file Ns Pa .c
161 A C-language source file to be compiled and optionally linked.
162 The operand must be of this form if the
163 .Fl c
164 option is used.
165 .It Ar file Ns Pa .a
166 A library of object files, as produced by
167 .Xr ar 1 ,
168 passed directly to the link editor.
169 .It Ar file Ns Pa .o
170 An object file produced by
171 .Nm Fl c ,
172 and passed directly to the link editor.
173 .It Fl l Ar library
174 Search the library named
175 .Pa lib Ns Ar library Ns Pa .a .
176 A library will be searched when its name is encountered, so the
177 placement of a
178 .Fl l
179 operand is significant.
180 .El
181 .Sh SEE ALSO
182 .Xr ar 1 ,
183 .Xr c89 1 ,
184 .Xr cc 1 ,
185 .Xr c99 7
186 .Sh STANDARDS
187 The
188 .Nm
189 utility interface conforms to
190 .St -p1003.1-2001 .
191 Since it is a wrapper around
192 .Tn GCC ,
193 it is limited to the
194 .Tn C99
195 features that
196 .Tn GCC
197 actually implements.
198 See
199 .Pa http://gcc.gnu.org/gcc-4.2/c99status.html .