]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/blob - usr.bin/c89/c89.1
OpenSSL: Vendor import of OpenSSL 3.0.13
[FreeBSD/FreeBSD.git] / usr.bin / c89 / c89.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 .Dd September 17, 1997
27 .Dt C89 1
28 .Os
29 .Sh NAME
30 .Nm c89
31 .Nd POSIX.2 C language compiler
32 .Sh SYNOPSIS
33 .Nm
34 .Op Fl cEgOs
35 .Oo Fl D Ar name Ns Oo = Ns Ar value Oc Oc ...
36 .Oo Fl I Ar directory Oc ...
37 .Oo Fl L Ar directory Oc ...
38 .Op Fl o Ar outfile
39 .Oo Fl U Ar name Oc ...
40 .Ar operand ...
41 .Sh DESCRIPTION
42 This is the name of the C language compiler as required by the
43 .St -p1003.2
44 standard.
45 .Pp
46 The
47 .Nm
48 compiler accepts the following options:
49 .Bl -tag -width indent
50 .It Fl c
51 Suppress the link-edit phase of the compilation, and do not remove any
52 object files that are produced.
53 .It Fl D Ar name Ns Op = Ns Ar value
54 Define name as if by a C-language
55 .Ic #define
56 directive.
57 If no
58 .Dq = Ns Ar value
59 is given, a value of 1 will be used.
60 Note that in order to request a
61 translation as specified by
62 .St -p1003.2
63 you need to define
64 .Dv _POSIX_SOURCE
65 either in the source or using this option.
66 The
67 .Fl D
68 option has lower precedence than the
69 .Fl U
70 option.
71 That is, if
72 .Ar name
73 is used in both a
74 .Fl U
75 and a
76 .Fl D
77 option,
78 .Ar name
79 will be undefined regardless of the order of the options.
80 The
81 .Fl D
82 option may be specified more than once.
83 .It Fl E
84 Copy C-language source files to the standard output, expanding all
85 preprocessor directives; no compilation will be performed.
86 .It Fl g
87 Produce symbolic information in the object or executable files.
88 .It Fl I Ar directory
89 Change the algorithm for searching for headers whose names are not
90 absolute pathnames to look in the directory named by the
91 .Ar directory
92 pathname before looking in the usual places.
93 Thus, headers whose
94 names are enclosed in double-quotes
95 .Pq Qq
96 will be searched for first
97 in the directory of the file with the
98 .Ic #include
99 line, then in
100 directories named in
101 .Fl I
102 options, and last in the usual places.
103 For headers whose names are enclosed in angle brackets
104 .Pq Aq ,
105 the header
106 will be searched for only in directories named in
107 .Fl I
108 options and then in the usual places.
109 Directories named in
110 .Fl I
111 options shall be searched in the order specified.
112 The
113 .Fl I
114 option may be specified more than once.
115 .It Fl L Ar directory
116 Change the algorithm of searching for the libraries named in the
117 .Fl l
118 objects to look in the directory named by the
119 .Ar directory
120 pathname before looking in the usual places.
121 Directories named in
122 .Fl L
123 options will be searched in the order specified.
124 The
125 .Fl L
126 option may be specified more than once.
127 .It Fl o Ar outfile
128 Use the pathname
129 .Ar outfile ,
130 instead of the default
131 .Pa a.out ,
132 for the executable file produced.
133 .It Fl O
134 Optimize the compilation.
135 .It Fl s
136 Produce object and/or executable files from which symbolic and other
137 information not required for proper execution has been removed
138 (stripped).
139 .It Fl U Ar name
140 Remove any initial definition of
141 .Ar name .
142 The
143 .Fl U
144 option may be specified more than once.
145 .El
146 .Pp
147 An operand is either in the form of a pathname or the form
148 .Fl l
149 library.
150 At least one operand of the pathname form needs to be specified.
151 Supported operands are of the form:
152 .Bl -tag -offset indent -width ".Fl l Ar library"
153 .It Ar file Ns Pa .c
154 A C-language source file to be compiled and optionally linked.
155 The operand must be of this form if the
156 .Fl c
157 option is used.
158 .It Ar file Ns Pa .a
159 A library of object files, as produced by
160 .Xr ar 1 ,
161 passed directly to the link editor.
162 .It Ar file Ns Pa .o
163 An object file produced by
164 .Nm Fl c ,
165 and passed directly to the link editor.
166 .It Fl l Ar library
167 Search the library named
168 .Pa lib Ns Ar library Ns Pa .a .
169 A library will be searched when its name is encountered, so the
170 placement of a
171 .Fl l
172 operand is significant.
173 .El
174 .Sh SEE ALSO
175 .Xr ar 1 ,
176 .Xr c99 1 ,
177 .Xr cc 1
178 .Sh STANDARDS
179 The
180 .Nm
181 utility is believed to comply with
182 .St -p1003.2 .