xref: /dflybsd-src/contrib/gcc-4.7/gcc/doc/configfiles.texi (revision 04febcfb30580676d3e95f58a16c5137ee478b32)
1*e4b17023SJohn Marino@c Copyright (C) 1988, 1989, 1992, 1993, 1994, 1995, 1996, 1997, 1998,
2*e4b17023SJohn Marino@c 1999, 2000, 2001, 2002, 2010 Free Software Foundation, Inc.
3*e4b17023SJohn Marino@c This is part of the GCC manual.
4*e4b17023SJohn Marino@c For copying conditions, see the file gcc.texi.
5*e4b17023SJohn Marino
6*e4b17023SJohn Marino@node Configuration Files
7*e4b17023SJohn Marino@subsubsection Files Created by @code{configure}
8*e4b17023SJohn Marino
9*e4b17023SJohn MarinoHere we spell out what files will be set up by @file{configure} in the
10*e4b17023SJohn Marino@file{gcc} directory.  Some other files are created as temporary files
11*e4b17023SJohn Marinoin the configuration process, and are not used in the subsequent
12*e4b17023SJohn Marinobuild; these are not documented.
13*e4b17023SJohn Marino
14*e4b17023SJohn Marino@itemize @bullet
15*e4b17023SJohn Marino@item
16*e4b17023SJohn Marino@file{Makefile} is constructed from @file{Makefile.in}, together with
17*e4b17023SJohn Marinothe host and target fragments (@pxref{Fragments, , Makefile
18*e4b17023SJohn MarinoFragments}) @file{t-@var{target}} and @file{x-@var{host}} from
19*e4b17023SJohn Marino@file{config}, if any, and language Makefile fragments
20*e4b17023SJohn Marino@file{@var{language}/Make-lang.in}.
21*e4b17023SJohn Marino@item
22*e4b17023SJohn Marino@file{auto-host.h} contains information about the host machine
23*e4b17023SJohn Marinodetermined by @file{configure}.  If the host machine is different from
24*e4b17023SJohn Marinothe build machine, then @file{auto-build.h} is also created,
25*e4b17023SJohn Marinocontaining such information about the build machine.
26*e4b17023SJohn Marino@item
27*e4b17023SJohn Marino@file{config.status} is a script that may be run to recreate the
28*e4b17023SJohn Marinocurrent configuration.
29*e4b17023SJohn Marino@item
30*e4b17023SJohn Marino@file{configargs.h} is a header containing details of the arguments
31*e4b17023SJohn Marinopassed to @file{configure} to configure GCC, and of the thread model
32*e4b17023SJohn Marinoused.
33*e4b17023SJohn Marino@item
34*e4b17023SJohn Marino@file{cstamp-h} is used as a timestamp.
35*e4b17023SJohn Marino@item
36*e4b17023SJohn MarinoIf a language @file{config-lang.in} file (@pxref{Front End Config, ,
37*e4b17023SJohn MarinoThe Front End @file{config-lang.in} File}) sets @code{outputs}, then
38*e4b17023SJohn Marinothe files listed in @code{outputs} there are also generated.
39*e4b17023SJohn Marino@end itemize
40*e4b17023SJohn Marino
41*e4b17023SJohn MarinoThe following configuration headers are created from the Makefile,
42*e4b17023SJohn Marinousing @file{mkconfig.sh}, rather than directly by @file{configure}.
43*e4b17023SJohn Marino@file{config.h}, @file{bconfig.h} and @file{tconfig.h} all contain the
44*e4b17023SJohn Marino@file{xm-@var{machine}.h} header, if any, appropriate to the host,
45*e4b17023SJohn Marinobuild and target machines respectively, the configuration headers for
46*e4b17023SJohn Marinothe target, and some definitions; for the host and build machines,
47*e4b17023SJohn Marinothese include the autoconfigured headers generated by
48*e4b17023SJohn Marino@file{configure}.  The other configuration headers are determined by
49*e4b17023SJohn Marino@file{config.gcc}.  They also contain the typedefs for @code{rtx},
50*e4b17023SJohn Marino@code{rtvec} and @code{tree}.
51*e4b17023SJohn Marino
52*e4b17023SJohn Marino@itemize @bullet
53*e4b17023SJohn Marino@item
54*e4b17023SJohn Marino@file{config.h}, for use in programs that run on the host machine.
55*e4b17023SJohn Marino@item
56*e4b17023SJohn Marino@file{bconfig.h}, for use in programs that run on the build machine.
57*e4b17023SJohn Marino@item
58*e4b17023SJohn Marino@file{tconfig.h}, for use in programs and libraries for the target
59*e4b17023SJohn Marinomachine.
60*e4b17023SJohn Marino@item
61*e4b17023SJohn Marino@file{tm_p.h}, which includes the header @file{@var{machine}-protos.h}
62*e4b17023SJohn Marinothat contains prototypes for functions in the target
63*e4b17023SJohn Marino@file{@var{machine}.c} file.  The header @file{@var{machine}-protos.h}
64*e4b17023SJohn Marinocan include prototypes of functions that use rtl and tree data
65*e4b17023SJohn Marinostructures inside appropriate @code{#ifdef RTX_CODE} and @code{#ifdef
66*e4b17023SJohn MarinoTREE_CODE} conditional code segements.  The
67*e4b17023SJohn Marino@file{@var{machine}-protos.h} is included after the @file{rtl.h}
68*e4b17023SJohn Marinoand/or @file{tree.h} would have been included.  The @file{tm_p.h} also
69*e4b17023SJohn Marinoincludes the header @file{tm-preds.h} which is generated by
70*e4b17023SJohn Marino@file{genpreds} program during the build to define the declarations
71*e4b17023SJohn Marinoand inline functions for the predicate functions.
72*e4b17023SJohn Marino@end itemize
73