gcc
'SWITCH_TAKES_ARG (char)
-char
'
takes arguments. The value should be the number of arguments that
option takes--zero, for many options.
By default, this macro is defined to handle the standard options properly. You need not define it unless you wish to add additional options which take arguments.
WORD_SWITCH_TAKES_ARG (name)
-name
'
takes arguments. The value should be the number of arguments that
option takes--zero, for many options. This macro rather than
SWITCH_TAKES_ARG
is used for multi-character option names.
By default, this macro is defined as
DEFAULT_WORD_SWITCH_TAKES_ARG
, which handles the standard options
properly. You need not define WORD_SWITCH_TAKES_ARG
unless you
wish to add additional options which take arguments. Any redefinition
should call DEFAULT_WORD_SWITCH_TAKES_ARG
and then check for
additional options.
SWITCHES_NEED_SPACES
-L
' or `-o
' option and its argument.
If this macro is not defined, the default value is 0.
CPP_SPEC
Do not define this macro if it does not need to do anything.
NO_BUILTIN_SIZE_TYPE
__SIZE_TYPE__
. The macro __SIZE_TYPE__
must then be defined
by CPP_SPEC
instead.
This should be defined if SIZE_TYPE
depends on target dependent flags
which are not accessible to the preprocessor. Otherwise, it should not
be defined.
NO_BUILTIN_PTRDIFF_TYPE
__PTRDIFF_TYPE__
. The macro __PTRDIFF_TYPE__
must then be
defined by CPP_SPEC
instead.
This should be defined if PTRDIFF_TYPE
depends on target dependent flags
which are not accessible to the preprocessor. Otherwise, it should not
be defined.
SIGNED_CHAR_SPEC
-D__CHAR_UNSIGNED__
' to CPP if char
will be treated as
unsigned char
by cc1
.
Do not define this macro unless you need to override the default definition.
CC1_SPEC
cc1
. It can also specify how to translate options you
give to GNU CC into options for GNU CC to pass to the cc1
.
Do not define this macro if it does not need to do anything.
CC1PLUS_SPEC
cc1plus
. It can also specify how to translate options you
give to GNU CC into options for GNU CC to pass to the cc1plus
.
Do not define this macro if it does not need to do anything.
ASM_SPEC
sun3.h
' for an example of this.
Do not define this macro if it does not need to do anything.
ASM_FINAL_SPEC
mips.h
' for
an example of this.
Do not define this macro if it does not need to do anything.
LINK_SPEC
Do not define this macro if it does not need to do anything.
LIB_SPEC
LINK_SPEC
. The difference
between the two is that LIB_SPEC
is used at the end of the
command given to the linker.
If this macro is not defined, a default is provided that
loads the standard C library from the usual place. See `gcc.c
'.
STARTFILE_SPEC
LINK_SPEC
. The
difference between the two is that STARTFILE_SPEC
is used at
the very beginning of the command given to the linker.
If this macro is not defined, a default is provided that loads the
standard C startup file from the usual place. See `gcc.c
'.
ENDFILE_SPEC
LINK_SPEC
. The
difference between the two is that ENDFILE_SPEC
is used at
the very end of the command given to the linker.
Do not define this macro if it does not need to do anything.
LINK_LIBGCC_SPECIAL
gcc
should find the library
`libgcc.a
' by hand, rather than passing the argument `-lgcc
'
to tell the linker to do the search; also, gcc
should not
generate `-L
' options to pass to the linker (as it normally does).
LINK_LIBGCC_SPECIAL_1
gcc
should find the
library `libgcc.a
' by hand, rather than passing the argument
`-lgcc
' to tell the linker to do the search.
RELATIVE_PREFIX_NOT_LINKDIR
gcc
that it should only translate
a `-B
' prefix into a `-L
' linker option if the prefix
indicates an absolute file name.
STANDARD_EXEC_PREFIX
/usr/local/lib/gcc-lib/
' as the default prefix to
try when searching for the executable files of the compiler.
MD_EXEC_PREFIX
STANDARD_EXEC_PREFIX
. MD_EXEC_PREFIX
is not searched
when the `-b
' option is used, or the compiler is built as a cross
compiler.
STANDARD_STARTFILE_PREFIX
/usr/local/lib/
' as the default prefix to
try when searching for startup files such as `crt0.o
'.
MD_STARTFILE_PREFIX
MD_EXEC_PREFIX
is not searched when the
`-b
' option is used, or when the compiler is built as a cross
compiler.
MD_STARTFILE_PREFIX_1
-b
' option is
used, or when the compiler is built as a cross compiler.
LOCAL_INCLUDE_DIR
/usr/local/include
' as the default prefix to
try when searching for local header files. LOCAL_INCLUDE_DIR
comes before SYSTEM_INCLUDE_DIR
in the search order.
Cross compilers do not use this macro and do not search either
`/usr/local/include
' or its replacement.
SYSTEM_INCLUDE_DIR
SYSTEM_INCLUDE_DIR
comes before
STANDARD_INCLUDE_DIR
in the search order.
Cross compilers do not use this macro and do not search the directory specified.
STANDARD_INCLUDE_DIR
/usr/include
' as the default prefix to
try when searching for header files.
Cross compilers do not use this macro and do not search either
`/usr/include
' or its replacement.
INCLUDE_DEFAULTS
GCC_INCLUDE_DIR
, LOCAL_INCLUDE_DIR
,
SYSTEM_INCLUDE_DIR
, GPLUSPLUS_INCLUDE_DIR
, and
STANDARD_INCLUDE_DIR
. In addition, GPLUSPLUS_INCLUDE_DIR
and GCC_INCLUDE_DIR
are defined automatically by `Makefile
',
and specify private search areas for GCC. The directory
GPLUSPLUS_INCLUDE_DIR
is used only for C++ programs.
The definition should be an initializer for an array of structures. Each array element should have two elements: the directory name (a string constant) and a flag for C++-only directories. Mark the end of the array with a null element. For example, here is the definition used for VMS:
#define INCLUDE_DEFAULTS \ { \ { "GNU_GXX_INCLUDE:", 1}, \ { "GNU_CC_INCLUDE:", 0}, \ { "SYS$SYSROOT:[SYSLIB.]", 0}, \ { ".", 0}, \ { 0, 0} \ }
Here is the order of prefixes tried for exec files:
-B
'.
GCC_EXEC_PREFIX
, if any.
COMPILER_PATH
.
STANDARD_EXEC_PREFIX
.
/usr/lib/gcc/
'.
MD_EXEC_PREFIX
, if any.
Here is the order of prefixes tried for startfiles:
-B
'.
GCC_EXEC_PREFIX
, if any.
LIBRARY_PATH
.
STANDARD_EXEC_PREFIX
.
/usr/lib/gcc/
'.
MD_EXEC_PREFIX
, if any.
MD_STARTFILE_PREFIX
, if any.
STANDARD_STARTFILE_PREFIX
.
/lib/
'.
/usr/lib/
'.