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
Define this macro if the host system is VMS.
FATAL_EXIT_CODE
A C expression for the status code to be returned when the compiler
exits after serious errors. The default is the system-provided macro
`EXIT_FAILURE', or `1' if the system doesn't define that
macro. Define this macro only if these defaults are incorrect.
SUCCESS_EXIT_CODE
A C expression for the status code to be returned when the compiler
exits without serious errors. (Warnings are not serious errors.) The
default is the system-provided macro `EXIT_SUCCESS', or `0' if
the system doesn't define that macro. Define this macro only if these
defaults are incorrect.
USE_C_ALLOCA
Define this macro if GCC should use the C implementation of 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
Define this macro if the host file system obeys the semantics defined by
MS-DOS instead of Unix. DOS file systems are case insensitive, file
specifications may begin with a drive letter, and both forward slash and
backslash (`/' and `\') are directory separators. If you
define this macro, you probably need to define the next three macros too.
PATH_SEPARATOR
If defined, this macro should expand to a character constant specifying
the separator for elements of search paths. The default value is a
colon (`:'). DOS-based systems usually use semicolon (`;').
DIR_SEPARATOR
DIR_SEPARATOR_2
If defined, these macros expand to character constants specifying
separators for directory names within a file specification. They are
used somewhat inconsistently throughout the compiler. If your system
behaves like Unix (only forward slash separates pathnames), define
neither of them. If your system behaves like DOS (both forward and
backward slash can be used), define DIR_SEPARATOR to `/'
and DIR_SEPARATOR_2 to `\'.
HOST_OBJECT_SUFFIX
Define this macro to be a C string representing the suffix for object
files on your host machine. If you do not define this macro, GCC will
use `.o' as the suffix for object files.
HOST_EXECUTABLE_SUFFIX
Define this macro to be a C string representing the suffix for
executable files on your host machine. If you do not define this macro,
GCC will use the null string as the suffix for executable files.
HOST_BIT_BUCKET
A pathname defined by the host operating system, which can be opened as
a file and written to, but all the information written is discarded.
This is commonly known as a bit bucket or null device. If
you do not define this macro, GCC will use `/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
If defined, a C statement (sans semicolon) that performs host-dependent
initialization when collect2 is being initialized.
GCC_DRIVER_HOST_INITIALIZATION
If defined, a C statement (sans semicolon) that performs host-dependent
initialization when a compilation driver is being initialized.
UPDATE_PATH_HOST_CANONICALIZE (path)
If defined, a C statement (sans semicolon) that performs host-dependent
canonicalization when a path used in a compilation driver or
preprocessor is canonicalized. path is a malloc-ed path to be
canonicalized. If the C statement does canonicalize path into a
different buffer, the old path should be freed and the new buffer should
have been allocated with malloc.
DUMPFILE_FORMAT
Define this macro to be a C string representing the format to use for
constructing the index part of debugging dump file names. The resultant
string must fit in fifteen bytes. The full filename will be the
concatenation of: the prefix of the assembler file name, the string
resulting from applying this format to an index number, and a string
unique to each dump file kind, e.g. `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
Define this macro if the host system has a small limit on the total
size of an argument vector. This causes the driver to take more care
not to pass unnecessary arguments to subprocesses.
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 section 5.3.2.2 The `config.gcc' File.
Please take a moment to fill out
this visitor survey You can help support this site by
visiting the advertisers that sponsor it! (only once each, though)