1@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 9Here 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 11in the configuration process, and are not used in the subsequent 12build; these are not documented. 13 14@itemize @bullet 15@item 16@file{Makefile} is constructed from @file{Makefile.in}, together with 17the host and target fragments (@pxref{Fragments, , Makefile 18Fragments}) @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 23determined by @file{configure}. If the host machine is different from 24the build machine, then @file{auto-build.h} is also created, 25containing such information about the build machine. 26@item 27@file{config.status} is a script that may be run to recreate the 28current configuration. 29@item 30@file{configargs.h} is a header containing details of the arguments 31passed to @file{configure} to configure GCC, and of the thread model 32used. 33@item 34@file{cstamp-h} is used as a timestamp. 35@item 36If a language @file{config-lang.in} file (@pxref{Front End Config, , 37The Front End @file{config-lang.in} File}) sets @code{outputs}, then 38the files listed in @code{outputs} there are also generated. 39@end itemize 40 41The following configuration headers are created from the Makefile, 42using @file{mkconfig.sh}, rather than directly by @file{configure}. 43@file{config.h}, @file{bconfig.h} and @file{tconfig.h} all contain the 44@file{xm-@var{machine}.h} header, if any, appropriate to the host, 45build and target machines respectively, the configuration headers for 46the target, and some definitions; for the host and build machines, 47these include the autoconfigured headers generated by 48@file{configure}. The other configuration headers are determined by 49@file{config.gcc}. They also contain the typedefs for @code{rtx}, 50@code{rtvec} and @code{tree}. 51 52@itemize @bullet 53@item 54@file{config.h}, for use in programs that run on the host machine. 55@item 56@file{bconfig.h}, for use in programs that run on the build machine. 57@item 58@file{tconfig.h}, for use in programs and libraries for the target 59machine. 60@item 61@file{tm_p.h}, which includes the header @file{@var{machine}-protos.h} 62that contains prototypes for functions in the target 63@file{@var{machine}.c} file. The header @file{@var{machine}-protos.h} 64can include prototypes of functions that use rtl and tree data 65structures inside appropriate @code{#ifdef RTX_CODE} and @code{#ifdef 66TREE_CODE} conditional code segements. The 67@file{@var{machine}-protos.h} is included after the @file{rtl.h} 68and/or @file{tree.h} would have been included. The @file{tm_p.h} also 69includes the header @file{tm-preds.h} which is generated by 70@file{genpreds} program during the build to define the declarations 71and inline functions for the predicate functions. 72@end itemize 73