1 @c Copyright (C) 1988-2022 Free Software Foundation, Inc. 2 @c This is part of the GCC manual. 3 @c For copying conditions, see the file gcc.texi. 4 5 @node Configuration Files 6 @subsubsection Files Created by @code{configure} 7 8 Here we spell out what files will be set up by @file{configure} in the 9 @file{gcc} directory. Some other files are created as temporary files 10 in the configuration process, and are not used in the subsequent 11 build; these are not documented. 12 13 @itemize @bullet 14 @item 15 @file{Makefile} is constructed from @file{Makefile.in}, together with 16 the host and target fragments (@pxref{Fragments, , Makefile 17 Fragments}) @file{t-@var{target}} and @file{x-@var{host}} from 18 @file{config}, if any, and language Makefile fragments 19 @file{@var{language}/Make-lang.in}. 20 @item 21 @file{auto-host.h} contains information about the host machine 22 determined by @file{configure}. If the host machine is different from 23 the build machine, then @file{auto-build.h} is also created, 24 containing such information about the build machine. 25 @item 26 @file{config.status} is a script that may be run to recreate the 27 current configuration. 28 @item 29 @file{configargs.h} is a header containing details of the arguments 30 passed to @file{configure} to configure GCC, and of the thread model 31 used. 32 @item 33 @file{cstamp-h} is used as a timestamp. 34 @item 35 If a language @file{config-lang.in} file (@pxref{Front End Config, , 36 The Front End @file{config-lang.in} File}) sets @code{outputs}, then 37 the files listed in @code{outputs} there are also generated. 38 @end itemize 39 40 The following configuration headers are created from the Makefile, 41 using @file{mkconfig.sh}, rather than directly by @file{configure}. 42 @file{config.h}, @file{bconfig.h} and @file{tconfig.h} all contain the 43 @file{xm-@var{machine}.h} header, if any, appropriate to the host, 44 build and target machines respectively, the configuration headers for 45 the target, and some definitions; for the host and build machines, 46 these include the autoconfigured headers generated by 47 @file{configure}. The other configuration headers are determined by 48 @file{config.gcc}. They also contain the typedefs for @code{rtx}, 49 @code{rtvec} and @code{tree}. 50 51 @itemize @bullet 52 @item 53 @file{config.h}, for use in programs that run on the host machine. 54 @item 55 @file{bconfig.h}, for use in programs that run on the build machine. 56 @item 57 @file{tconfig.h}, for use in programs and libraries for the target 58 machine. 59 @item 60 @file{tm_p.h}, which includes the header @file{@var{machine}-protos.h} 61 that contains prototypes for functions in the target 62 @file{@var{machine}.c} file. The 63 @file{@var{machine}-protos.h} header is included after the @file{rtl.h} 64 and/or @file{tree.h} would have been included. 65 The @file{tm_p.h} also 66 includes the header @file{tm-preds.h} which is generated by 67 @file{genpreds} program during the build to define the declarations 68 and inline functions for the predicate functions. 69 @end itemize 70