| @c Copyright (C) 1988, 1989, 1992, 1993, 1994, 1995, 1996, 1997, 1998, |
| @c 1999, 2000, 2001, 2002 Free Software Foundation, Inc. |
| @c This is part of the GCC manual. |
| @c For copying conditions, see the file gcc.texi. |
| |
| @node Configuration Files |
| @subsubsection Files Created by @code{configure} |
| |
| Here we spell out what files will be set up by @file{configure} in the |
| @file{gcc} directory. Some other files are created as temporary files |
| in the configuration process, and are not used in the subsequent |
| build; these are not documented. |
| |
| @itemize @bullet |
| @item |
| @file{Makefile} is constructed from @file{Makefile.in}, together with |
| the host and target fragments (@pxref{Fragments, , Makefile |
| Fragments}) @file{t-@var{target}} and @file{x-@var{host}} from |
| @file{config}, if any, and language Makefile fragments |
| @file{@var{language}/Make-lang.in}. |
| @item |
| @file{auto-host.h} contains information about the host machine |
| determined by @file{configure}. If the host machine is different from |
| the build machine, then @file{auto-build.h} is also created, |
| containing such information about the build machine. |
| @item |
| @file{config.status} is a script that may be run to recreate the |
| current configuration. |
| @item |
| @file{configargs.h} is a header containing details of the arguments |
| passed to @file{configure} to configure GCC, and of the thread model |
| used. |
| @item |
| @file{cstamp-h} is used as a timestamp. |
| @item |
| @file{fixinc/Makefile} is constructed from @file{fixinc/Makefile.in}. |
| @item |
| @file{gccbug}, a script for reporting bugs in GCC, is constructed from |
| @file{gccbug.in}. |
| @item |
| @file{intl/Makefile} is constructed from @file{intl/Makefile.in}. |
| @item |
| @file{mklibgcc}, a shell script to create a Makefile to build libgcc, |
| is constructed from @file{mklibgcc.in}. |
| @item |
| If a language @file{config-lang.in} file (@pxref{Front End Config, , |
| The Front End @file{config-lang.in} File}) sets @code{outputs}, then |
| the files listed in @code{outputs} there are also generated. |
| @end itemize |
| |
| The following configuration headers are created from the Makefile, |
| using @file{mkconfig.sh}, rather than directly by @file{configure}. |
| @file{config.h}, @file{bconfig.h} and @file{tconfig.h} all contain the |
| @file{xm-@var{machine}.h} header, if any, appropriate to the host, |
| build and target machines respectively, the configuration headers for |
| the target, and some definitions; for the host and build machines, |
| these include the autoconfigured headers generated by |
| @file{configure}. The other configuration headers are determined by |
| @file{config.gcc}. They also contain the typedefs for @code{rtx}, |
| @code{rtvec} and @code{tree}. |
| |
| @itemize @bullet |
| @item |
| @file{config.h}, for use in programs that run on the host machine. |
| @item |
| @file{bconfig.h}, for use in programs that run on the build machine. |
| @item |
| @file{tconfig.h}, for use in programs and libraries for the target |
| machine. |
| @item |
| @file{tm_p.h}, which includes the header @file{@var{machine}-protos.h} |
| that contains prototypes for functions in the target @file{.c} file. |
| FIXME: why is such a separate header necessary? |
| @end itemize |