home *** CD-ROM | disk | FTP | other *** search
/ InfoMagic Source Code 1993 July / THE_SOURCE_CODE_CD_ROM.iso / msdos / djgpp / docs / gcc / gcc.i20 < prev    next >
Encoding:
GNU Info File  |  1993-05-29  |  6.8 KB  |  181 lines

  1. This is Info file gcc.info, produced by Makeinfo-1.54 from the input
  2. file gcc.texi.
  3.  
  4.    This file documents the use and the internals of the GNU compiler.
  5.  
  6.    Copyright (C) 1988, 1989, 1992, 1993 Free Software Foundation, Inc.
  7.  
  8.    Permission is granted to make and distribute verbatim copies of this
  9. manual provided the copyright notice and this permission notice are
  10. preserved on all copies.
  11.  
  12.    Permission is granted to copy and distribute modified versions of
  13. this manual under the conditions for verbatim copying, provided also
  14. that the sections entitled "GNU General Public License" and "Protect
  15. Your Freedom--Fight `Look And Feel'" are included exactly as in the
  16. original, and provided that the entire resulting derived work is
  17. distributed under the terms of a permission notice identical to this
  18. one.
  19.  
  20.    Permission is granted to copy and distribute translations of this
  21. manual into another language, under the above conditions for modified
  22. versions, except that the sections entitled "GNU General Public
  23. License" and "Protect Your Freedom--Fight `Look And Feel'", and this
  24. permission notice, may be included in translations approved by the Free
  25. Software Foundation instead of in the original English.
  26.  
  27. 
  28. File: gcc.info,  Node: Config,  Next: Index,  Prev: Target Macros,  Up: Top
  29.  
  30. The Configuration File
  31. **********************
  32.  
  33.    The configuration file `xm-MACHINE.h' contains macro definitions
  34. that describe the machine and system on which the compiler is running,
  35. unlike the definitions in `MACHINE.h', which describe the machine for
  36. which the compiler is producing output.  Most of the values in
  37. `xm-MACHINE.h' are actually the same on all machines that GNU CC runs
  38. on, so large parts of all configuration files are identical.  But there
  39. are some macros that vary:
  40.  
  41. `USG'
  42.      Define this macro if the host system is System V.
  43.  
  44. `VMS'
  45.      Define this macro if the host system is VMS.
  46.  
  47. `FAILURE_EXIT_CODE'
  48.      A C expression for the status code to be returned when the compiler
  49.      exits after serious errors.
  50.  
  51. `SUCCESS_EXIT_CODE'
  52.      A C expression for the status code to be returned when the compiler
  53.      exits without serious errors.
  54.  
  55. `HOST_WORDS_BIG_ENDIAN'
  56.      Defined if the host machine stores words of multi-word values in
  57.      big-endian order.  (GNU CC does not depend on the host byte
  58.      ordering within a word.)
  59.  
  60. `HOST_FLOAT_FORMAT'
  61.      A numeric code distinguishing the floating point format for the
  62.      host machine.  See `TARGET_FLOAT_FORMAT' in *Note Storage Layout::
  63.      for the alternatives and default.
  64.  
  65. `HOST_BITS_PER_CHAR'
  66.      A C expression for the number of bits in `char' on the host
  67.      machine.
  68.  
  69. `HOST_BITS_PER_SHORT'
  70.      A C expression for the number of bits in `short' on the host
  71.      machine.
  72.  
  73. `HOST_BITS_PER_INT'
  74.      A C expression for the number of bits in `int' on the host machine.
  75.  
  76. `HOST_BITS_PER_LONG'
  77.      A C expression for the number of bits in `long' on the host
  78.      machine.
  79.  
  80. `ONLY_INT_FIELDS'
  81.      Define this macro to indicate that the host compiler only supports
  82.      `int' bit fields, rather than other integral types, including
  83.      `enum', as do most C compilers.
  84.  
  85. `EXECUTABLE_SUFFIX'
  86.      Define this macro if the host system uses a naming convention for
  87.      executable files that involves a common suffix (such as, in some
  88.      systems, `.exe') that must be mentioned explicitly when you run
  89.      the program.
  90.  
  91. `OBSTACK_CHUNK_SIZE'
  92.      A C expression for the size of ordinary obstack chunks.  If you
  93.      don't define this, a usually-reasonable default is used.
  94.  
  95. `OBSTACK_CHUNK_ALLOC'
  96.      The function used to allocate obstack chunks.  If you don't define
  97.      this, `xmalloc' is used.
  98.  
  99. `OBSTACK_CHUNK_FREE'
  100.      The function used to free obstack chunks.  If you don't define
  101.      this, `free' is used.
  102.  
  103. `USE_C_ALLOCA'
  104.      Define this macro to indicate that the compiler is running with the
  105.      `alloca' implemented in C.  This version of `alloca' can be found
  106.      in the file `alloca.c'; to use it, you must also alter the
  107.      `Makefile' variable `ALLOCA'.  (This is done automatically for the
  108.      systems on which we know it is needed.)
  109.  
  110.      If you do define this macro, you should probably do it as follows:
  111.  
  112.           #ifndef __GNUC__
  113.           #define USE_C_ALLOCA
  114.           #else
  115.           #define alloca __builtin_alloca
  116.           #endif
  117.  
  118.      so that when the compiler is compiled with GNU CC it uses the more
  119.      efficient built-in `alloca' function.
  120.  
  121. `FUNCTION_CONVERSION_BUG'
  122.      Define this macro to indicate that the host compiler does not
  123.      properly handle converting a function value to a
  124.      pointer-to-function when it is used in an expression.
  125.  
  126. `HAVE_VPRINTF'
  127.      Define this if the library function `vprintf' is available on your
  128.      system.
  129.  
  130. `MULTIBYTE_CHARS'
  131.      Define this macro to enable support for multibyte characters in the
  132.      input to GNU CC.  This requires that the host system support the
  133.      ANSI C library functions for converting multibyte characters to
  134.      wide characters.
  135.  
  136. `HAVE_PUTENV'
  137.      Define this if the library function `putenv' is available on your
  138.      system.
  139.  
  140. `NO_SYS_SIGLIST'
  141.      Define this if your system *does not* provide the variable
  142.      `sys_siglist'.
  143.  
  144. `USE_PROTOTYPES'
  145.      Define this to be 1 if you know that the host compiler supports
  146.      prototypes, even if it doesn't define __STDC__, or define it to be
  147.      0 if you do not want any prototypes used in compiling GNU CC.  If
  148.      `USE_PROTOTYPES' is not defined, it will be determined
  149.      automatically whether your compiler supports prototypes by
  150.      checking if `__STDC__' is defined.
  151.  
  152. `NO_MD_PROTOTYPES'
  153.      Define this if you wish suppression of prototypes generated from
  154.      the machine description file, but to use other prototypes within
  155.      GNU CC.  If `USE_PROTOTYPES' is defined to be 0, or the host
  156.      compiler does not support prototypes, this macro has no effect.
  157.  
  158. `MD_CALL_PROTOTYPES'
  159.      Define this if you wish to generate prototypes for the `gen_call'
  160.      or `gen_call_value' functions generated from the machine
  161.      description file.  If `USE_PROTOTYPES' is defined to be 0, or the
  162.      host compiler does not support prototypes, or `NO_MD_PROTOTYPES'
  163.      is defined, this macro has no effect.  As soon as all of the
  164.      machine descriptions are modified to have the appropriate number
  165.      of arguments, this macro will be removed.
  166.  
  167.      Some systems do provide this variable, but with a different name
  168.      such as `_sys_siglist'.  On these systems, you can define
  169.      `sys_siglist' as a macro which expands into the name actually
  170.      provided.
  171.  
  172. `NO_STAB_H'
  173.      Define this if your system does not have the include file
  174.      `stab.h'.  If `USG' is defined, `NO_STAB_H' is assumed.
  175.  
  176.    In addition, configuration files for system V define `bcopy',
  177. `bzero' and `bcmp' as aliases.  Some files define `alloca' as a macro
  178. when compiled with GNU CC, in order to take advantage of the benefit of
  179. GNU CC's built-in `alloca'.
  180.  
  181.