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