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