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