Host configuration headers contain macro definitions that describe the
machine and system on which the compiler is running. They are usually
unnecessary. Most of the things GCC needs to know about the host
system can be deduced by the configure
script.
If your host does need a special configuration header, it should be
named xm-
machine.h
, where machine is a short mnemonic
for the machine. Here are some macros which this header can define.
VMS
FATAL_EXIT_CODE
EXIT_FAILURE
, or 1
if the system doesn't define that
macro. Define this macro only if these defaults are incorrect.
SUCCESS_EXIT_CODE
EXIT_SUCCESS
, or 0
if
the system doesn't define that macro. Define this macro only if these
defaults are incorrect.
USE_C_ALLOCA
alloca
provided by libiberty.a
. This only affects how some parts of the
compiler itself allocate memory. It does not change code generation.
When GCC is built with a compiler other than itself, the C alloca
is always used. This is because most other implementations have serious
bugs. You should define this macro only on a system where no
stack-based alloca
can possibly work. For instance, if a system
has a small limit on the size of the stack, GCC's builtin alloca
will not work reliably.
HAVE_DOS_BASED_FILE_SYSTEM
/
and \
) are directory separators. If you
define this macro, you probably need to define the next three macros too.
PATH_SEPARATOR
:
). DOS-based systems usually use semicolon (;
).
DIR_SEPARATOR
DIR_SEPARATOR_2
DIR_SEPARATOR
to /
and DIR_SEPARATOR_2
to \
.
HOST_OBJECT_SUFFIX
.o
as the suffix for object files.
HOST_EXECUTABLE_SUFFIX
HOST_BIT_BUCKET
/dev/null
as the bit
bucket. If the host does not support a bit bucket, define this macro to
an invalid filename.
COLLECT2_HOST_INITIALIZATION
collect2
is being initialized.
GCC_DRIVER_HOST_INITIALIZATION
UPDATE_PATH_HOST_CANONICALIZE (
path)
DUMPFILE_FORMAT
rtl
.
If you do not define this macro, GCC will use .%02d.
. You should
define this macro if using the default will create an invalid file name.
SMALL_ARG_MAX
In addition, if configure
generates an incorrect definition of
any of the macros in auto-host.h
, you can override that
definition in a host configuration header. If you need to do this,
first see if it is possible to fix configure
.
If you need to define only a few of these macros, and they have simple
definitions, consider using the xm_defines
variable in your
config.gcc
entry instead of creating a host configuration header.
See System Config.