Info file gcc.info, produced by Makeinfo, -*- Text -*- from input
file gcc.texinfo.

   This file documents the use and the internals of the GNU compiler.

   Copyright (C) 1988, 1989, 1990 Free Software Foundation, Inc.

   Permission is granted to make and distribute verbatim copies of
this manual provided the copyright notice and this permission notice
are preserved on all copies.

   Permission is granted to copy and distribute modified versions of
this manual under the conditions for verbatim copying, provided also
that the sections entitled "GNU General Public License" and "Protect
Your Freedom--Fight `Look And Feel'" are included exactly as in the
original, and provided that the entire resulting derived work is
distributed under the terms of a permission notice identical to this
one.

   Permission is granted to copy and distribute translations of this
manual into another language, under the above conditions for modified
versions, except that the sections entitled "GNU General Public
License" and "Protect Your Freedom--Fight `Look And Feel'" and this
permission notice may be included in translations approved by the
Free Software Foundation instead of in the original English.


File: gcc.info,  Node: Config,  Prev: Machine Macros,  Up: Top

The Configuration File
**********************

   The configuration file `xm-MACHINE.h' contains macro definitions
that describe the machine and system on which the compiler is running.
Most of the values in it are actually the same on all machines that
GNU CC runs on, so large parts of all configuration files are
identical.  But there are some macros that vary:

`FAILURE_EXIT_CODE'
     A C expression for the status code to be returned when the
     compiler exits after serious errors.

`SUCCESS_EXIT_CODE'
     A C expression for the status code to be returned when the
     compiler exits without serious errors.

`USE_C_ALLOCA'
     Define this macro to indicate that the compiler is running with
     the `alloca' implemented in C.  This version of `alloca' can be
     found in the file `alloca.c'; to use it, you must also alter the
     `Makefile' variable `ALLOCA'.

     This macro, unlike most, describes the machine that the compiler
     is running on, rather than the one the compiler is compiling for.
     Therefore, it should be set in the `xm-MACHINE.h' file rather
     than in the `tm-MACHINE.h' file.

     If you do define this macro, you should probably do it as follows:

          #ifndef __GNUC__
          #define USE_C_ALLOCA
          #else
          #define alloca __builtin_alloca
          #endif

     so that when the compiler is compiled with GNU CC it uses the
     more efficient built-in `alloca' function.

   In addition, configuration files for system V define `bcopy',
`bzero' and `bcmp' as aliases.  Some files define `alloca' as a macro
when compiled with GNU CC, in order to take advantage of the benefit
of GNU CC's built-in `alloca'.


