190075Sobrien@c Copyright (C) 1988, 1989, 1992, 1993, 1994, 1995, 1996, 1997, 1998,
290075Sobrien@c 1999, 2000, 2001, 2002 Free Software Foundation, Inc.
390075Sobrien@c This is part of the GCC manual.
490075Sobrien@c For copying conditions, see the file gcc.texi.
590075Sobrien
690075Sobrien@node Configuration Files
790075Sobrien@subsubsection Files Created by @code{configure}
890075Sobrien
990075SobrienHere we spell out what files will be set up by @file{configure} in the
1090075Sobrien@file{gcc} directory.  Some other files are created as temporary files
1190075Sobrienin the configuration process, and are not used in the subsequent
1290075Sobrienbuild; these are not documented.
1390075Sobrien
1490075Sobrien@itemize @bullet
1590075Sobrien@item
1690075Sobrien@file{Makefile} is constructed from @file{Makefile.in}, together with
1790075Sobrienthe host and target fragments (@pxref{Fragments, , Makefile
1890075SobrienFragments}) @file{t-@var{target}} and @file{x-@var{host}} from
1990075Sobrien@file{config}, if any, and language Makefile fragments
2090075Sobrien@file{@var{language}/Make-lang.in}.
2190075Sobrien@item
2290075Sobrien@file{auto-host.h} contains information about the host machine
2390075Sobriendetermined by @file{configure}.  If the host machine is different from
2490075Sobrienthe build machine, then @file{auto-build.h} is also created,
2590075Sobriencontaining such information about the build machine.
2690075Sobrien@item
2790075Sobrien@file{config.status} is a script that may be run to recreate the
2890075Sobriencurrent configuration.
2990075Sobrien@item
3090075Sobrien@file{configargs.h} is a header containing details of the arguments
3190075Sobrienpassed to @file{configure} to configure GCC, and of the thread model
3290075Sobrienused.
3390075Sobrien@item
3490075Sobrien@file{cstamp-h} is used as a timestamp.
3590075Sobrien@item
3690075Sobrien@file{fixinc/Makefile} is constructed from @file{fixinc/Makefile.in}.
3790075Sobrien@item
3890075Sobrien@file{gccbug}, a script for reporting bugs in GCC, is constructed from
3990075Sobrien@file{gccbug.in}.
4090075Sobrien@item
4190075Sobrien@file{intl/Makefile} is constructed from @file{intl/Makefile.in}.
4290075Sobrien@item
4390075Sobrien@file{mklibgcc}, a shell script to create a Makefile to build libgcc,
4490075Sobrienis constructed from @file{mklibgcc.in}.
4590075Sobrien@item
4690075SobrienIf a language @file{config-lang.in} file (@pxref{Front End Config, ,
4790075SobrienThe Front End @file{config-lang.in} File}) sets @code{outputs}, then
4890075Sobrienthe files listed in @code{outputs} there are also generated.
4990075Sobrien@end itemize
5090075Sobrien
5190075SobrienThe following configuration headers are created from the Makefile,
5290075Sobrienusing @file{mkconfig.sh}, rather than directly by @file{configure}.
53132718Skan@file{config.h}, @file{bconfig.h} and @file{tconfig.h} all contain the
5490075Sobrien@file{xm-@var{machine}.h} header, if any, appropriate to the host,
5590075Sobrienbuild and target machines respectively, the configuration headers for
5690075Sobrienthe target, and some definitions; for the host and build machines,
5790075Sobrienthese include the autoconfigured headers generated by
5890075Sobrien@file{configure}.  The other configuration headers are determined by
5990075Sobrien@file{config.gcc}.  They also contain the typedefs for @code{rtx},
6090075Sobrien@code{rtvec} and @code{tree}.
6190075Sobrien
6290075Sobrien@itemize @bullet
6390075Sobrien@item
6490075Sobrien@file{config.h}, for use in programs that run on the host machine.
6590075Sobrien@item
66132718Skan@file{bconfig.h}, for use in programs that run on the build machine.
6790075Sobrien@item
6890075Sobrien@file{tconfig.h}, for use in programs and libraries for the target
6990075Sobrienmachine.
7090075Sobrien@item
7190075Sobrien@file{tm_p.h}, which includes the header @file{@var{machine}-protos.h}
7290075Sobrienthat contains prototypes for functions in the target @file{.c} file.
7390075SobrienFIXME: why is such a separate header necessary?
7490075Sobrien@end itemize
75