Вы не можете выбрать более 25 тем Темы должны начинаться с буквы или цифры, могут содержать дефисы(-) и должны содержать не более 35 символов.

212 lines
8.9KB

  1. <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
  2. <html>
  3. <!-- Copyright (C) 1988-2020 Free Software Foundation, Inc.
  4. Permission is granted to copy, distribute and/or modify this document
  5. under the terms of the GNU Free Documentation License, Version 1.3 or
  6. any later version published by the Free Software Foundation; with the
  7. Invariant Sections being "Funding Free Software", the Front-Cover
  8. Texts being (a) (see below), and with the Back-Cover Texts being (b)
  9. (see below). A copy of the license is included in the section entitled
  10. "GNU Free Documentation License".
  11. (a) The FSF's Front-Cover Text is:
  12. A GNU Manual
  13. (b) The FSF's Back-Cover Text is:
  14. You have freedom to copy and modify this GNU Manual, like GNU
  15. software. Copies published by the Free Software Foundation raise
  16. funds for GNU development. -->
  17. <!-- Created by GNU Texinfo 6.5, http://www.gnu.org/software/texinfo/ -->
  18. <head>
  19. <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
  20. <title>Filesystem (GNU Compiler Collection (GCC) Internals)</title>
  21. <meta name="description" content="Filesystem (GNU Compiler Collection (GCC) Internals)">
  22. <meta name="keywords" content="Filesystem (GNU Compiler Collection (GCC) Internals)">
  23. <meta name="resource-type" content="document">
  24. <meta name="distribution" content="global">
  25. <meta name="Generator" content="makeinfo">
  26. <link href="index.html#Top" rel="start" title="Top">
  27. <link href="Option-Index.html#Option-Index" rel="index" title="Option Index">
  28. <link href="index.html#SEC_Contents" rel="contents" title="Table of Contents">
  29. <link href="Host-Config.html#Host-Config" rel="up" title="Host Config">
  30. <link href="Host-Misc.html#Host-Misc" rel="next" title="Host Misc">
  31. <link href="Host-Common.html#Host-Common" rel="prev" title="Host Common">
  32. <style type="text/css">
  33. <!--
  34. a.summary-letter {text-decoration: none}
  35. blockquote.indentedblock {margin-right: 0em}
  36. blockquote.smallindentedblock {margin-right: 0em; font-size: smaller}
  37. blockquote.smallquotation {font-size: smaller}
  38. div.display {margin-left: 3.2em}
  39. div.example {margin-left: 3.2em}
  40. div.lisp {margin-left: 3.2em}
  41. div.smalldisplay {margin-left: 3.2em}
  42. div.smallexample {margin-left: 3.2em}
  43. div.smalllisp {margin-left: 3.2em}
  44. kbd {font-style: oblique}
  45. pre.display {font-family: inherit}
  46. pre.format {font-family: inherit}
  47. pre.menu-comment {font-family: serif}
  48. pre.menu-preformatted {font-family: serif}
  49. pre.smalldisplay {font-family: inherit; font-size: smaller}
  50. pre.smallexample {font-size: smaller}
  51. pre.smallformat {font-family: inherit; font-size: smaller}
  52. pre.smalllisp {font-size: smaller}
  53. span.nolinebreak {white-space: nowrap}
  54. span.roman {font-family: initial; font-weight: normal}
  55. span.sansserif {font-family: sans-serif; font-weight: normal}
  56. ul.no-bullet {list-style: none}
  57. -->
  58. </style>
  59. </head>
  60. <body lang="en">
  61. <a name="Filesystem"></a>
  62. <div class="header">
  63. <p>
  64. Next: <a href="Host-Misc.html#Host-Misc" accesskey="n" rel="next">Host Misc</a>, Previous: <a href="Host-Common.html#Host-Common" accesskey="p" rel="prev">Host Common</a>, Up: <a href="Host-Config.html#Host-Config" accesskey="u" rel="up">Host Config</a> &nbsp; [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Option-Index.html#Option-Index" title="Index" rel="index">Index</a>]</p>
  65. </div>
  66. <hr>
  67. <a name="Host-Filesystem"></a>
  68. <h3 class="section">19.2 Host Filesystem</h3>
  69. <a name="index-configuration-file"></a>
  70. <a name="index-xm_002dmachine_002eh"></a>
  71. <p>GCC needs to know a number of things about the semantics of the host
  72. machine&rsquo;s filesystem. Filesystems with Unix and MS-DOS semantics are
  73. automatically detected. For other systems, you can define the
  74. following macros in <samp>xm-<var>machine</var>.h</samp>.
  75. </p>
  76. <dl compact="compact">
  77. <dt><code>HAVE_DOS_BASED_FILE_SYSTEM</code>
  78. <a name="index-HAVE_005fDOS_005fBASED_005fFILE_005fSYSTEM"></a>
  79. </dt>
  80. <dd><p>This macro is automatically defined by <samp>system.h</samp> if the host
  81. file system obeys the semantics defined by MS-DOS instead of Unix.
  82. DOS file systems are case insensitive, file specifications may begin
  83. with a drive letter, and both forward slash and backslash (&lsquo;<samp>/</samp>&rsquo;
  84. and &lsquo;<samp>\</samp>&rsquo;) are directory separators.
  85. </p>
  86. </dd>
  87. <dt><code>DIR_SEPARATOR</code>
  88. <a name="index-DIR_005fSEPARATOR"></a>
  89. </dt>
  90. <dt><code>DIR_SEPARATOR_2</code>
  91. <a name="index-DIR_005fSEPARATOR_005f2"></a>
  92. </dt>
  93. <dd><p>If defined, these macros expand to character constants specifying
  94. separators for directory names within a file specification.
  95. <samp>system.h</samp> will automatically give them appropriate values on
  96. Unix and MS-DOS file systems. If your file system is neither of
  97. these, define one or both appropriately in <samp>xm-<var>machine</var>.h</samp>.
  98. </p>
  99. <p>However, operating systems like VMS, where constructing a pathname is
  100. more complicated than just stringing together directory names
  101. separated by a special character, should not define either of these
  102. macros.
  103. </p>
  104. </dd>
  105. <dt><code>PATH_SEPARATOR</code>
  106. <a name="index-PATH_005fSEPARATOR"></a>
  107. </dt>
  108. <dd><p>If defined, this macro should expand to a character constant
  109. specifying the separator for elements of search paths. The default
  110. value is a colon (&lsquo;<samp>:</samp>&rsquo;). DOS-based systems usually, but not
  111. always, use semicolon (&lsquo;<samp>;</samp>&rsquo;).
  112. </p>
  113. </dd>
  114. <dt><code>VMS</code>
  115. <a name="index-VMS"></a>
  116. </dt>
  117. <dd><p>Define this macro if the host system is VMS.
  118. </p>
  119. </dd>
  120. <dt><code>HOST_OBJECT_SUFFIX</code>
  121. <a name="index-HOST_005fOBJECT_005fSUFFIX"></a>
  122. </dt>
  123. <dd><p>Define this macro to be a C string representing the suffix for object
  124. files on your host machine. If you do not define this macro, GCC will
  125. use &lsquo;<samp>.o</samp>&rsquo; as the suffix for object files.
  126. </p>
  127. </dd>
  128. <dt><code>HOST_EXECUTABLE_SUFFIX</code>
  129. <a name="index-HOST_005fEXECUTABLE_005fSUFFIX"></a>
  130. </dt>
  131. <dd><p>Define this macro to be a C string representing the suffix for
  132. executable files on your host machine. If you do not define this macro,
  133. GCC will use the null string as the suffix for executable files.
  134. </p>
  135. </dd>
  136. <dt><code>HOST_BIT_BUCKET</code>
  137. <a name="index-HOST_005fBIT_005fBUCKET"></a>
  138. </dt>
  139. <dd><p>A pathname defined by the host operating system, which can be opened as
  140. a file and written to, but all the information written is discarded.
  141. This is commonly known as a <em>bit bucket</em> or <em>null device</em>. If
  142. you do not define this macro, GCC will use &lsquo;<samp>/dev/null</samp>&rsquo; as the bit
  143. bucket. If the host does not support a bit bucket, define this macro to
  144. an invalid filename.
  145. </p>
  146. </dd>
  147. <dt><code>UPDATE_PATH_HOST_CANONICALIZE (<var>path</var>)</code>
  148. <a name="index-UPDATE_005fPATH_005fHOST_005fCANONICALIZE-_0028path_0029"></a>
  149. </dt>
  150. <dd><p>If defined, a C statement (sans semicolon) that performs host-dependent
  151. canonicalization when a path used in a compilation driver or
  152. preprocessor is canonicalized. <var>path</var> is a malloc-ed path to be
  153. canonicalized. If the C statement does canonicalize <var>path</var> into a
  154. different buffer, the old path should be freed and the new buffer should
  155. have been allocated with malloc.
  156. </p>
  157. </dd>
  158. <dt><code>DUMPFILE_FORMAT</code>
  159. <a name="index-DUMPFILE_005fFORMAT"></a>
  160. </dt>
  161. <dd><p>Define this macro to be a C string representing the format to use for
  162. constructing the index part of debugging dump file names. The resultant
  163. string must fit in fifteen bytes. The full filename will be the
  164. concatenation of: the prefix of the assembler file name, the string
  165. resulting from applying this format to an index number, and a string
  166. unique to each dump file kind, e.g. &lsquo;<samp>rtl</samp>&rsquo;.
  167. </p>
  168. <p>If you do not define this macro, GCC will use &lsquo;<samp>.%02d.</samp>&rsquo;. You should
  169. define this macro if using the default will create an invalid file name.
  170. </p>
  171. </dd>
  172. <dt><code>DELETE_IF_ORDINARY</code>
  173. <a name="index-DELETE_005fIF_005fORDINARY"></a>
  174. </dt>
  175. <dd><p>Define this macro to be a C statement (sans semicolon) that performs
  176. host-dependent removal of ordinary temp files in the compilation driver.
  177. </p>
  178. <p>If you do not define this macro, GCC will use the default version. You
  179. should define this macro if the default version does not reliably remove
  180. the temp file as, for example, on VMS which allows multiple versions
  181. of a file.
  182. </p>
  183. </dd>
  184. <dt><code>HOST_LACKS_INODE_NUMBERS</code>
  185. <a name="index-HOST_005fLACKS_005fINODE_005fNUMBERS"></a>
  186. </dt>
  187. <dd><p>Define this macro if the host filesystem does not report meaningful inode
  188. numbers in struct stat.
  189. </p></dd>
  190. </dl>
  191. <hr>
  192. <div class="header">
  193. <p>
  194. Next: <a href="Host-Misc.html#Host-Misc" accesskey="n" rel="next">Host Misc</a>, Previous: <a href="Host-Common.html#Host-Common" accesskey="p" rel="prev">Host Common</a>, Up: <a href="Host-Config.html#Host-Config" accesskey="u" rel="up">Host Config</a> &nbsp; [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Option-Index.html#Option-Index" title="Index" rel="index">Index</a>]</p>
  195. </div>
  196. </body>
  197. </html>