]>
Commit | Line | Data |
---|---|---|
a2e68e6d | 1 | @c Copyright (C) 1988, 1989, 1992, 1993, 1994, 1995, 1996, 1997, 1998, |
2 | @c 1999, 2000, 2001, 2002 Free Software Foundation, Inc. | |
eea5e1ee | 3 | @c This is part of the GCC manual. |
4 | @c For copying conditions, see the file gcc.texi. | |
5 | ||
6 | @node Configuration Files | |
a2e68e6d | 7 | @subsubsection Files Created by @code{configure} |
eea5e1ee | 8 | |
a2e68e6d | 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. | |
eea5e1ee | 13 | |
14 | @itemize @bullet | |
15 | @item | |
a2e68e6d | 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{fixinc/Makefile} is constructed from @file{fixinc/Makefile.in}. | |
37 | @item | |
38 | @file{gccbug}, a script for reporting bugs in GCC, is constructed from | |
39 | @file{gccbug.in}. | |
40 | @item | |
41 | @file{intl/Makefile} is constructed from @file{intl/Makefile.in}. | |
42 | @item | |
43 | @file{mklibgcc}, a shell script to create a Makefile to build libgcc, | |
44 | is constructed from @file{mklibgcc.in}. | |
45 | @item | |
46 | If a language @file{config-lang.in} file (@pxref{Front End Config, , | |
47 | The Front End @file{config-lang.in} File}) sets @code{outputs}, then | |
48 | the files listed in @code{outputs} there are also generated. | |
49 | @end itemize | |
eea5e1ee | 50 | |
a2e68e6d | 51 | The following configuration headers are created from the Makefile, |
52 | using @file{mkconfig.sh}, rather than directly by @file{configure}. | |
805e22b2 | 53 | @file{config.h}, @file{bconfig.h} and @file{tconfig.h} all contain the |
a2e68e6d | 54 | @file{xm-@var{machine}.h} header, if any, appropriate to the host, |
55 | build and target machines respectively, the configuration headers for | |
56 | the target, and some definitions; for the host and build machines, | |
57 | these include the autoconfigured headers generated by | |
58 | @file{configure}. The other configuration headers are determined by | |
59 | @file{config.gcc}. They also contain the typedefs for @code{rtx}, | |
60 | @code{rtvec} and @code{tree}. | |
eea5e1ee | 61 | |
a2e68e6d | 62 | @itemize @bullet |
eea5e1ee | 63 | @item |
a2e68e6d | 64 | @file{config.h}, for use in programs that run on the host machine. |
eea5e1ee | 65 | @item |
805e22b2 | 66 | @file{bconfig.h}, for use in programs that run on the build machine. |
a2e68e6d | 67 | @item |
68 | @file{tconfig.h}, for use in programs and libraries for the target | |
69 | machine. | |
eea5e1ee | 70 | @item |
a2e68e6d | 71 | @file{tm_p.h}, which includes the header @file{@var{machine}-protos.h} |
72 | that contains prototypes for functions in the target @file{.c} file. | |
73 | FIXME: why is such a separate header necessary? | |
eea5e1ee | 74 | @end itemize |