/usr.bin/c99/c99.1

https://bitbucket.org/freebsd/freebsd-head/ · Unknown · 199 lines · 199 code · 0 blank · 0 comment · 0 complexity · 10a91c1364d58643a11fa8d6bda4b6e0 MD5 · raw file

  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. .\" From FreeBSD: src/usr.bin/c89/c89.1,v 1.11 2007/03/10 07:10:01 ru Exp
  27. .\" $FreeBSD$
  28. .\"
  29. .Dd June 17, 2010
  30. .Dt C99 1
  31. .Os
  32. .Sh NAME
  33. .Nm c99
  34. .Nd standard C language compiler
  35. .Sh SYNOPSIS
  36. .Nm
  37. .Op Fl cEgs
  38. .Oo Fl D Ar name Ns Oo = Ns Ar value Oc Oc ...
  39. .Oo Fl I Ar directory Oc ...
  40. .Oo Fl L Ar directory Oc ...
  41. .Op Fl o Ar outfile
  42. .Op Fl O Ar optlevel
  43. .Oo Fl U Ar name Oc ...
  44. .Ar operand ...
  45. .Sh DESCRIPTION
  46. This is the name of the C language compiler as required by the
  47. .St -p1003.1-2001
  48. standard.
  49. .Pp
  50. The
  51. .Nm
  52. compiler accepts the following options:
  53. .Bl -tag -width indent
  54. .It Fl c
  55. Suppress the link-edit phase of the compilation, and do not remove any
  56. object files that are produced.
  57. .It Fl D Ar name Ns Op = Ns Ar value
  58. Define name as if by a C-language
  59. .Ic #define
  60. directive.
  61. If no
  62. .Dq = Ns Ar value
  63. is given, a value of 1 will be used.
  64. Note that in order to request a
  65. translation as specified by
  66. .St -p1003.1-2001 ,
  67. you need to define
  68. .Dv _POSIX_C_SOURCE=200112L
  69. either in the source or using this option.
  70. The
  71. .Fl D
  72. option has lower precedence than the
  73. .Fl U
  74. option.
  75. That is, if
  76. .Ar name
  77. is used in both a
  78. .Fl U
  79. and a
  80. .Fl D
  81. option,
  82. .Ar name
  83. will be undefined regardless of the order of the options.
  84. The
  85. .Fl D
  86. option may be specified more than once.
  87. .It Fl E
  88. Copy C-language source files to the standard output, expanding all
  89. preprocessor directives; no compilation will be performed.
  90. .It Fl g
  91. Produce symbolic information in the object or executable files.
  92. .It Fl I Ar directory
  93. Change the algorithm for searching for headers whose names are not
  94. absolute pathnames to look in the directory named by the
  95. .Ar directory
  96. pathname before looking in the usual places.
  97. Thus, headers whose
  98. names are enclosed in double-quotes
  99. .Pq Qq
  100. will be searched for first
  101. in the directory of the file with the
  102. .Ic #include
  103. line, then in
  104. directories named in
  105. .Fl I
  106. options, and last in the usual places.
  107. For headers whose names are enclosed in angle brackets
  108. .Pq Aq ,
  109. the header
  110. will be searched for only in directories named in
  111. .Fl I
  112. options and then in the usual places.
  113. Directories named in
  114. .Fl I
  115. options shall be searched in the order specified.
  116. The
  117. .Fl I
  118. option may be specified more than once.
  119. .It Fl L Ar directory
  120. Change the algorithm of searching for the libraries named in the
  121. .Fl l
  122. objects to look in the directory named by the
  123. .Ar directory
  124. pathname before looking in the usual places.
  125. Directories named in
  126. .Fl L
  127. options will be searched in the order specified.
  128. The
  129. .Fl L
  130. option may be specified more than once.
  131. .It Fl o Ar outfile
  132. Use the pathname
  133. .Ar outfile ,
  134. instead of the default
  135. .Pa a.out ,
  136. for the executable file produced.
  137. .It Fl O Ar optlevel
  138. If
  139. .Ar optlevel
  140. is zero, disable all optimizations.
  141. Otherwise, enable optimizations at the specified level.
  142. .It Fl s
  143. Produce object and/or executable files from which symbolic and other
  144. information not required for proper execution has been removed
  145. (stripped).
  146. .It Fl U Ar name
  147. Remove any initial definition of
  148. .Ar name .
  149. The
  150. .Fl U
  151. option may be specified more than once.
  152. .El
  153. .Pp
  154. An operand is either in the form of a pathname or the form
  155. .Fl l
  156. library.
  157. At least one operand of the pathname form needs to be specified.
  158. Supported operands are of the form:
  159. .Bl -tag -offset indent -width ".Fl l Ar library"
  160. .It Ar file Ns Pa .c
  161. A C-language source file to be compiled and optionally linked.
  162. The operand must be of this form if the
  163. .Fl c
  164. option is used.
  165. .It Ar file Ns Pa .a
  166. A library of object files, as produced by
  167. .Xr ar 1 ,
  168. passed directly to the link editor.
  169. .It Ar file Ns Pa .o
  170. An object file produced by
  171. .Nm Fl c ,
  172. and passed directly to the link editor.
  173. .It Fl l Ar library
  174. Search the library named
  175. .Pa lib Ns Ar library Ns Pa .a .
  176. A library will be searched when its name is encountered, so the
  177. placement of a
  178. .Fl l
  179. operand is significant.
  180. .El
  181. .Sh SEE ALSO
  182. .Xr ar 1 ,
  183. .Xr c89 1 ,
  184. .Xr cc 1 ,
  185. .Xr c99 7
  186. .Sh STANDARDS
  187. The
  188. .Nm
  189. utility interface conforms to
  190. .St -p1003.1-2001 .
  191. Since it is a wrapper around
  192. .Tn GCC ,
  193. it is limited to the
  194. .Tn C99
  195. features that
  196. .Tn GCC
  197. actually implements.
  198. See
  199. .Pa http://gcc.gnu.org/gcc-4.2/c99status.html .