mirror of
https://git.FreeBSD.org/src.git
synced 2024-12-21 11:13:30 +00:00
16c9de07f6
Enforce that only Posix-spec'ed options are being used, so people could use this as a Posixificator of some kind. Document the Posix usage in the man page, so to make it clear what's the difference between Posix c89, and gcc.
171 lines
4.9 KiB
Groff
171 lines
4.9 KiB
Groff
.\"
|
|
.\" Copyright (c) 1997 Joerg Wunsch
|
|
.\"
|
|
.\" All rights reserved.
|
|
.\"
|
|
.\" Redistribution and use in source and binary forms, with or without
|
|
.\" modification, are permitted provided that the following conditions
|
|
.\" are met:
|
|
.\" 1. Redistributions of source code must retain the above copyright
|
|
.\" notice, this list of conditions and the following disclaimer.
|
|
.\" 2. Redistributions in binary form must reproduce the above copyright
|
|
.\" notice, this list of conditions and the following disclaimer in the
|
|
.\" documentation and/or other materials provided with the distribution.
|
|
.\"
|
|
.\" THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY EXPRESS OR
|
|
.\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
|
|
.\" OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
|
|
.\" IN NO EVENT SHALL THE DEVELOPERS BE LIABLE FOR ANY DIRECT, INDIRECT,
|
|
.\" INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
|
|
.\" NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
|
|
.\" DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
|
|
.\" THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
|
.\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
|
|
.\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
.\"
|
|
.\" $Id: c89.1,v 1.1.1.1 1997/09/17 20:44:54 joerg Exp $
|
|
.\" "
|
|
.Dd September 17, 1997
|
|
.Os
|
|
.Dt C89 1
|
|
.Sh NAME
|
|
.Nm c89
|
|
.Nd Posix.2 C language compiler
|
|
.Sh SYNOPSIS
|
|
.Nm c89
|
|
.Op Fl c
|
|
.Op Fl D Ar name Ns Op Ar =value
|
|
.Op ...
|
|
.Op Fl E
|
|
.Op Fl g
|
|
.Op Fl I Ar directory ...
|
|
.Op Fl L Ar directory ...
|
|
.Op Fl o Ar outfile
|
|
.Op Fl O
|
|
.Op Fl s
|
|
.Op Fl U Ar name ...
|
|
.Ar operand ...
|
|
.Sh DESCRIPTION
|
|
This is the name of the C language compiler as required by the
|
|
.St -p1003.2 .
|
|
standard.
|
|
.Pp
|
|
The
|
|
.Nm
|
|
compiler accepts the following options:
|
|
.Bl -tag -offset indent -width "-D name = value"
|
|
.It Fl c
|
|
Suppress the link-edit phase of the compilation, and do not remove any
|
|
object files that are produced.
|
|
.It Fl D Ar name Ns Op Ar =value
|
|
Define name as if by a C-language
|
|
.Ql #define
|
|
directive. If
|
|
no
|
|
.Ar =value
|
|
is given, a value of 1 will be used. The
|
|
.Fl D
|
|
option has lower precedence than the
|
|
.Fl U
|
|
option. That is, if
|
|
.Ar name
|
|
is used in both a
|
|
.Fl U
|
|
and a
|
|
.Fl D
|
|
option,
|
|
.Ar name
|
|
will be undefined regardless of the order of the options. The
|
|
.Fl D
|
|
option may be specified more than once.
|
|
.It Fl E
|
|
Copy C-language source files to the standard output, expanding all
|
|
preprocessor directives; no compilation will be performed.
|
|
.It Fl g
|
|
Produce symbolic information in the object or executable files.
|
|
.It Fl I Ar directory
|
|
Change the algorithm for searching for headers whose names are not
|
|
absolute pathnames to look in the directory named by the
|
|
.Ar directory
|
|
pathname before looking in the usual places. Thus, headers whose
|
|
names are enclosed in double-quotes (\&"\&") will be searched for first
|
|
in the directory of the file with the
|
|
.Ql #include
|
|
line, then in
|
|
directories named in
|
|
.Fl I
|
|
options, and last in the usual places. For
|
|
headers whose names are enclosed in angle brackets (<>), the header
|
|
will be searched for only in directories named in
|
|
.Fl I
|
|
options and then in the usual places. Directories named in
|
|
.Fl I
|
|
options shall be searched in the order specified. The
|
|
.Fl I
|
|
option may be specified more than once.
|
|
.It Fl L Ar directory
|
|
Change the algorithm of searching for the libraries named in the
|
|
.Fl l
|
|
objects to look in the directory named by the
|
|
.Ar directory
|
|
pathname before looking in the usual places. Directories named in
|
|
.Fl L
|
|
options will be searched in the order specified. The
|
|
.Fl L
|
|
option may be specified more than once.
|
|
.It Fl o Ar outfile
|
|
Use the pathname
|
|
.Ar outfile ,
|
|
instead of the default
|
|
.Pa a.out ,
|
|
for the executable file produced.
|
|
.It Fl O
|
|
Optimize the compilation.
|
|
.It Fl s
|
|
Produce object and/or executable files from which symbolic and other
|
|
information not required for proper execution has been removed
|
|
(stripped).
|
|
.It Fl U Ar name
|
|
Remove any initial definition of
|
|
.Ar name .
|
|
The
|
|
.Fl U
|
|
option may be specified more than once.
|
|
.El
|
|
.Pp
|
|
An operand is either in the form of a pathname or the form
|
|
.Fl l
|
|
library. At least one operand of the pathname form needs to be
|
|
specified. Supported operands are of the form:
|
|
.Bl -tag -offset indent -width "-l library"
|
|
.It Pa file Ns \&.c
|
|
A C-language source file to be compiled and optionally linked. The
|
|
operand must be of this form if the
|
|
.Fl c
|
|
option is used.
|
|
.It Pa file Ns \&.a
|
|
A library of object files, as produced by
|
|
.Xr ar 1 ,
|
|
passed directly to the link editor.
|
|
.It Pa file Ns \&.o
|
|
An object file produced by
|
|
.Nm
|
|
.Fl c ,
|
|
and passed directly to the link editor.
|
|
.It Fl l Pa library
|
|
Search the library named
|
|
.Dl lib Ns Em library Ns \&.a
|
|
A library will be searched when its name is encountered, so the
|
|
placement of a
|
|
.Fl l
|
|
operand is significant.
|
|
.El
|
|
.Sh SEE ALSO
|
|
.Xr ar 1 ,
|
|
.Xr cc 1
|
|
.Sh STANDARDS
|
|
The
|
|
.Nm
|
|
command is believed to comply with
|
|
.St -p1003.2 .
|