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