1*86d7f5d3SJohn Marino.\" 2*86d7f5d3SJohn Marino.\" Copyright (c) 1997 Joerg Wunsch 3*86d7f5d3SJohn Marino.\" 4*86d7f5d3SJohn Marino.\" All rights reserved. 5*86d7f5d3SJohn Marino.\" 6*86d7f5d3SJohn Marino.\" Redistribution and use in source and binary forms, with or without 7*86d7f5d3SJohn Marino.\" modification, are permitted provided that the following conditions 8*86d7f5d3SJohn Marino.\" are met: 9*86d7f5d3SJohn Marino.\" 1. Redistributions of source code must retain the above copyright 10*86d7f5d3SJohn Marino.\" notice, this list of conditions and the following disclaimer. 11*86d7f5d3SJohn Marino.\" 2. Redistributions in binary form must reproduce the above copyright 12*86d7f5d3SJohn Marino.\" notice, this list of conditions and the following disclaimer in the 13*86d7f5d3SJohn Marino.\" documentation and/or other materials provided with the distribution. 14*86d7f5d3SJohn Marino.\" 15*86d7f5d3SJohn Marino.\" THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY EXPRESS OR 16*86d7f5d3SJohn Marino.\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES 17*86d7f5d3SJohn Marino.\" OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. 18*86d7f5d3SJohn Marino.\" IN NO EVENT SHALL THE DEVELOPERS BE LIABLE FOR ANY DIRECT, INDIRECT, 19*86d7f5d3SJohn Marino.\" INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT 20*86d7f5d3SJohn Marino.\" NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 21*86d7f5d3SJohn Marino.\" DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 22*86d7f5d3SJohn Marino.\" THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 23*86d7f5d3SJohn Marino.\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF 24*86d7f5d3SJohn Marino.\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 25*86d7f5d3SJohn Marino.\" 26*86d7f5d3SJohn Marino.\" From FreeBSD: src/usr.bin/c89/c89.1,v 1.11 2007/03/10 07:10:01 ru Exp 27*86d7f5d3SJohn Marino.\" $FreeBSD: src/usr.bin/c99/c99.1,v 1.5 2007/03/10 07:11:20 ru Exp $ 28*86d7f5d3SJohn Marino.\" 29*86d7f5d3SJohn Marino.Dd October 7, 2002 30*86d7f5d3SJohn Marino.Dt C99 1 31*86d7f5d3SJohn Marino.Os 32*86d7f5d3SJohn Marino.Sh NAME 33*86d7f5d3SJohn Marino.Nm c99 34*86d7f5d3SJohn Marino.Nd standard C language compiler 35*86d7f5d3SJohn Marino.Sh SYNOPSIS 36*86d7f5d3SJohn Marino.Nm 37*86d7f5d3SJohn Marino.Op Fl cEgs 38*86d7f5d3SJohn Marino.Oo Fl D Ar name Ns Oo = Ns Ar value Oc Oc ... 39*86d7f5d3SJohn Marino.Oo Fl I Ar directory Oc ... 40*86d7f5d3SJohn Marino.Oo Fl L Ar directory Oc ... 41*86d7f5d3SJohn Marino.Op Fl o Ar outfile 42*86d7f5d3SJohn Marino.Op Fl O Ar optlevel 43*86d7f5d3SJohn Marino.Oo Fl U Ar name Oc ... 44*86d7f5d3SJohn Marino.Ar operand ... 45*86d7f5d3SJohn Marino.Sh DESCRIPTION 46*86d7f5d3SJohn MarinoThis is the name of the C language compiler as required by the 47*86d7f5d3SJohn Marino.St -p1003.1-2001 48*86d7f5d3SJohn Marinostandard. 49*86d7f5d3SJohn Marino.Pp 50*86d7f5d3SJohn MarinoThe 51*86d7f5d3SJohn Marino.Nm 52*86d7f5d3SJohn Marinocompiler accepts the following options: 53*86d7f5d3SJohn Marino.Bl -tag -width indent 54*86d7f5d3SJohn Marino.It Fl c 55*86d7f5d3SJohn MarinoSuppress the link-edit phase of the compilation, and do not remove any 56*86d7f5d3SJohn Marinoobject files that are produced. 57*86d7f5d3SJohn Marino.It Fl D Ar name Ns Op = Ns Ar value 58*86d7f5d3SJohn MarinoDefine name as if by a C-language 59*86d7f5d3SJohn Marino.Ic #define 60*86d7f5d3SJohn Marinodirective. 61*86d7f5d3SJohn MarinoIf no 62*86d7f5d3SJohn Marino.Dq = Ns Ar value 63*86d7f5d3SJohn Marinois given, a value of 1 will be used. 64*86d7f5d3SJohn MarinoNote that in order to request a 65*86d7f5d3SJohn Marinotranslation as specified by 66*86d7f5d3SJohn Marino.St -p1003.1-2001 , 67*86d7f5d3SJohn Marinoyou need to define 68*86d7f5d3SJohn Marino.Dv _POSIX_C_SOURCE=200112L 69*86d7f5d3SJohn Marinoeither in the source or using this option. 70*86d7f5d3SJohn MarinoThe 71*86d7f5d3SJohn Marino.Fl D 72*86d7f5d3SJohn Marinooption has lower precedence than the 73*86d7f5d3SJohn Marino.Fl U 74*86d7f5d3SJohn Marinooption. 75*86d7f5d3SJohn MarinoThat is, if 76*86d7f5d3SJohn Marino.Ar name 77*86d7f5d3SJohn Marinois used in both a 78*86d7f5d3SJohn Marino.Fl U 79*86d7f5d3SJohn Marinoand a 80*86d7f5d3SJohn Marino.Fl D 81*86d7f5d3SJohn Marinooption, 82*86d7f5d3SJohn Marino.Ar name 83*86d7f5d3SJohn Marinowill be undefined regardless of the order of the options. 84*86d7f5d3SJohn MarinoThe 85*86d7f5d3SJohn Marino.Fl D 86*86d7f5d3SJohn Marinooption may be specified more than once. 87*86d7f5d3SJohn Marino.It Fl E 88*86d7f5d3SJohn MarinoCopy C-language source files to the standard output, expanding all 89*86d7f5d3SJohn Marinopreprocessor directives; no compilation will be performed. 90*86d7f5d3SJohn Marino.It Fl g 91*86d7f5d3SJohn MarinoProduce symbolic information in the object or executable files. 92*86d7f5d3SJohn Marino.It Fl I Ar directory 93*86d7f5d3SJohn MarinoChange the algorithm for searching for headers whose names are not 94*86d7f5d3SJohn Marinoabsolute pathnames to look in the directory named by the 95*86d7f5d3SJohn Marino.Ar directory 96*86d7f5d3SJohn Marinopathname before looking in the usual places. 97*86d7f5d3SJohn MarinoThus, headers whose 98*86d7f5d3SJohn Marinonames are enclosed in double-quotes 99*86d7f5d3SJohn Marino.Pq Qq 100*86d7f5d3SJohn Marinowill be searched for first 101*86d7f5d3SJohn Marinoin the directory of the file with the 102*86d7f5d3SJohn Marino.Ic #include 103*86d7f5d3SJohn Marinoline, then in 104*86d7f5d3SJohn Marinodirectories named in 105*86d7f5d3SJohn Marino.Fl I 106*86d7f5d3SJohn Marinooptions, and last in the usual places. 107*86d7f5d3SJohn MarinoFor headers whose names are enclosed in angle brackets 108*86d7f5d3SJohn Marino.Pq Aq , 109*86d7f5d3SJohn Marinothe header 110*86d7f5d3SJohn Marinowill be searched for only in directories named in 111*86d7f5d3SJohn Marino.Fl I 112*86d7f5d3SJohn Marinooptions and then in the usual places. 113*86d7f5d3SJohn MarinoDirectories named in 114*86d7f5d3SJohn Marino.Fl I 115*86d7f5d3SJohn Marinooptions shall be searched in the order specified. 116*86d7f5d3SJohn MarinoThe 117*86d7f5d3SJohn Marino.Fl I 118*86d7f5d3SJohn Marinooption may be specified more than once. 119*86d7f5d3SJohn Marino.It Fl L Ar directory 120*86d7f5d3SJohn MarinoChange the algorithm of searching for the libraries named in the 121*86d7f5d3SJohn Marino.Fl l 122*86d7f5d3SJohn Marinoobjects to look in the directory named by the 123*86d7f5d3SJohn Marino.Ar directory 124*86d7f5d3SJohn Marinopathname before looking in the usual places. 125*86d7f5d3SJohn MarinoDirectories named in 126*86d7f5d3SJohn Marino.Fl L 127*86d7f5d3SJohn Marinooptions will be searched in the order specified. 128*86d7f5d3SJohn MarinoThe 129*86d7f5d3SJohn Marino.Fl L 130*86d7f5d3SJohn Marinooption may be specified more than once. 131*86d7f5d3SJohn Marino.It Fl o Ar outfile 132*86d7f5d3SJohn MarinoUse the pathname 133*86d7f5d3SJohn Marino.Ar outfile , 134*86d7f5d3SJohn Marinoinstead of the default 135*86d7f5d3SJohn Marino.Pa a.out , 136*86d7f5d3SJohn Marinofor the executable file produced. 137*86d7f5d3SJohn Marino.It Fl O Ar optlevel 138*86d7f5d3SJohn MarinoIf 139*86d7f5d3SJohn Marino.Ar optlevel 140*86d7f5d3SJohn Marinois zero, disable all optimizations. 141*86d7f5d3SJohn MarinoOtherwise, enable optimizations at the specified level. 142*86d7f5d3SJohn Marino.It Fl s 143*86d7f5d3SJohn MarinoProduce object and/or executable files from which symbolic and other 144*86d7f5d3SJohn Marinoinformation not required for proper execution has been removed 145*86d7f5d3SJohn Marino(stripped). 146*86d7f5d3SJohn Marino.It Fl U Ar name 147*86d7f5d3SJohn MarinoRemove any initial definition of 148*86d7f5d3SJohn Marino.Ar name . 149*86d7f5d3SJohn MarinoThe 150*86d7f5d3SJohn Marino.Fl U 151*86d7f5d3SJohn Marinooption may be specified more than once. 152*86d7f5d3SJohn Marino.El 153*86d7f5d3SJohn Marino.Pp 154*86d7f5d3SJohn MarinoAn operand is either in the form of a pathname or the form 155*86d7f5d3SJohn Marino.Fl l 156*86d7f5d3SJohn Marinolibrary. 157*86d7f5d3SJohn MarinoAt least one operand of the pathname form needs to be specified. 158*86d7f5d3SJohn MarinoSupported operands are of the form: 159*86d7f5d3SJohn Marino.Bl -tag -offset indent -width ".Fl l Ar library" 160*86d7f5d3SJohn Marino.It Ar file Ns Pa .c 161*86d7f5d3SJohn MarinoA C-language source file to be compiled and optionally linked. 162*86d7f5d3SJohn MarinoThe operand must be of this form if the 163*86d7f5d3SJohn Marino.Fl c 164*86d7f5d3SJohn Marinooption is used. 165*86d7f5d3SJohn Marino.It Ar file Ns Pa .a 166*86d7f5d3SJohn MarinoA library of object files, as produced by 167*86d7f5d3SJohn Marino.Xr ar 1 , 168*86d7f5d3SJohn Marinopassed directly to the link editor. 169*86d7f5d3SJohn Marino.It Ar file Ns Pa .o 170*86d7f5d3SJohn MarinoAn object file produced by 171*86d7f5d3SJohn Marino.Nm Fl c , 172*86d7f5d3SJohn Marinoand passed directly to the link editor. 173*86d7f5d3SJohn Marino.It Fl l Ar library 174*86d7f5d3SJohn MarinoSearch the library named 175*86d7f5d3SJohn Marino.Pa lib Ns Ar library Ns Pa .a . 176*86d7f5d3SJohn MarinoA library will be searched when its name is encountered, so the 177*86d7f5d3SJohn Marinoplacement of a 178*86d7f5d3SJohn Marino.Fl l 179*86d7f5d3SJohn Marinooperand is significant. 180*86d7f5d3SJohn Marino.El 181*86d7f5d3SJohn Marino.Sh SEE ALSO 182*86d7f5d3SJohn Marino.Xr ar 1 , 183*86d7f5d3SJohn Marino.Xr c89 1 , 184*86d7f5d3SJohn Marino.Xr cc 1 185*86d7f5d3SJohn Marino.Sh STANDARDS 186*86d7f5d3SJohn MarinoThe 187*86d7f5d3SJohn Marino.Nm 188*86d7f5d3SJohn Marinoutility interface conforms to 189*86d7f5d3SJohn Marino.St -p1003.1-2001 . 190*86d7f5d3SJohn MarinoSince it is a wrapper around 191*86d7f5d3SJohn Marino.Tn GCC , 192*86d7f5d3SJohn Marinoit is limited to the 193*86d7f5d3SJohn Marino.Tn C99 194*86d7f5d3SJohn Marinofeatures that 195*86d7f5d3SJohn Marino.Tn GCC 196*86d7f5d3SJohn Marinoactually implements. 197*86d7f5d3SJohn MarinoSee 198*86d7f5d3SJohn Marino.Pa http://gcc.gnu.org/gcc-3.4/c99status.html . 199