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