1 |
284 |
jeremybenn |
@c Copyright (C) 1988, 1989, 1992, 1993, 1994, 1995, 1996, 1997, 1998,
|
2 |
|
|
@c 1999, 2000, 2001, 2002, 2010 Free Software Foundation, Inc.
|
3 |
|
|
@c This is part of the GCC manual.
|
4 |
|
|
@c For copying conditions, see the file gcc.texi.
|
5 |
|
|
|
6 |
|
|
@node Configuration Files
|
7 |
|
|
@subsubsection Files Created by @code{configure}
|
8 |
|
|
|
9 |
|
|
Here we spell out what files will be set up by @file{configure} in the
|
10 |
|
|
@file{gcc} directory. Some other files are created as temporary files
|
11 |
|
|
in the configuration process, and are not used in the subsequent
|
12 |
|
|
build; these are not documented.
|
13 |
|
|
|
14 |
|
|
@itemize @bullet
|
15 |
|
|
@item
|
16 |
|
|
@file{Makefile} is constructed from @file{Makefile.in}, together with
|
17 |
|
|
the host and target fragments (@pxref{Fragments, , Makefile
|
18 |
|
|
Fragments}) @file{t-@var{target}} and @file{x-@var{host}} from
|
19 |
|
|
@file{config}, if any, and language Makefile fragments
|
20 |
|
|
@file{@var{language}/Make-lang.in}.
|
21 |
|
|
@item
|
22 |
|
|
@file{auto-host.h} contains information about the host machine
|
23 |
|
|
determined by @file{configure}. If the host machine is different from
|
24 |
|
|
the build machine, then @file{auto-build.h} is also created,
|
25 |
|
|
containing such information about the build machine.
|
26 |
|
|
@item
|
27 |
|
|
@file{config.status} is a script that may be run to recreate the
|
28 |
|
|
current configuration.
|
29 |
|
|
@item
|
30 |
|
|
@file{configargs.h} is a header containing details of the arguments
|
31 |
|
|
passed to @file{configure} to configure GCC, and of the thread model
|
32 |
|
|
used.
|
33 |
|
|
@item
|
34 |
|
|
@file{cstamp-h} is used as a timestamp.
|
35 |
|
|
@item
|
36 |
|
|
@file{gccbug}, a script for reporting bugs in GCC, is constructed from
|
37 |
|
|
@file{gccbug.in}.
|
38 |
|
|
@item
|
39 |
|
|
If a language @file{config-lang.in} file (@pxref{Front End Config, ,
|
40 |
|
|
The Front End @file{config-lang.in} File}) sets @code{outputs}, then
|
41 |
|
|
the files listed in @code{outputs} there are also generated.
|
42 |
|
|
@end itemize
|
43 |
|
|
|
44 |
|
|
The following configuration headers are created from the Makefile,
|
45 |
|
|
using @file{mkconfig.sh}, rather than directly by @file{configure}.
|
46 |
|
|
@file{config.h}, @file{bconfig.h} and @file{tconfig.h} all contain the
|
47 |
|
|
@file{xm-@var{machine}.h} header, if any, appropriate to the host,
|
48 |
|
|
build and target machines respectively, the configuration headers for
|
49 |
|
|
the target, and some definitions; for the host and build machines,
|
50 |
|
|
these include the autoconfigured headers generated by
|
51 |
|
|
@file{configure}. The other configuration headers are determined by
|
52 |
|
|
@file{config.gcc}. They also contain the typedefs for @code{rtx},
|
53 |
|
|
@code{rtvec} and @code{tree}.
|
54 |
|
|
|
55 |
|
|
@itemize @bullet
|
56 |
|
|
@item
|
57 |
|
|
@file{config.h}, for use in programs that run on the host machine.
|
58 |
|
|
@item
|
59 |
|
|
@file{bconfig.h}, for use in programs that run on the build machine.
|
60 |
|
|
@item
|
61 |
|
|
@file{tconfig.h}, for use in programs and libraries for the target
|
62 |
|
|
machine.
|
63 |
|
|
@item
|
64 |
|
|
@file{tm_p.h}, which includes the header @file{@var{machine}-protos.h}
|
65 |
|
|
that contains prototypes for functions in the target @file{.c} file.
|
66 |
|
|
FIXME: why is such a separate header necessary?
|
67 |
|
|
@end itemize
|