summaryrefslogtreecommitdiff
path: root/gcc/doc/configfiles.texi
diff options
context:
space:
mode:
authorjsm28 <jsm28@138bc75d-0d04-0410-961f-82ee72b054a4>2002-01-10 16:04:23 +0000
committerjsm28 <jsm28@138bc75d-0d04-0410-961f-82ee72b054a4>2002-01-10 16:04:23 +0000
commita2e68e6d9acb4a212ffc31354e6c14322ebd7adb (patch)
tree1b51c9c6d40a0aa3d4f51db20a7b7e22c18fbf6d /gcc/doc/configfiles.texi
parent349662372a93f011a9881ab109c60620da232d11 (diff)
downloadgcc-a2e68e6d9acb4a212ffc31354e6c14322ebd7adb.tar.gz
* Makefile.in ($(docdir)/gccint.info, gccint.dvi): Add additional
dependencies. * doc/languages.texi, doc/sourcebuild.texi: New files. * doc/configfiles.texi: Make a subsubsection. Update. * doc/configterms.texi: Add @node. Remove warning that this isn't instructions for building GCC. * doc/makefile.texi: Make a subsection. * doc/gccint.texi: Update. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@48731 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/doc/configfiles.texi')
-rw-r--r--gcc/doc/configfiles.texi90
1 files changed, 60 insertions, 30 deletions
diff --git a/gcc/doc/configfiles.texi b/gcc/doc/configfiles.texi
index 58aaf572d28..c6c60bbe802 100644
--- a/gcc/doc/configfiles.texi
+++ b/gcc/doc/configfiles.texi
@@ -1,44 +1,74 @@
-@c Copyright (C) 1988, 1989, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001 Free Software Foundation, Inc.
+@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
-@chapter Files Created by @code{configure}
+@subsubsection Files Created by @code{configure}
-Here we spell out what files will be set up by @code{configure}. Normally
-you need not be concerned with these files.
+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
-A file named @file{config.h} is created that contains a @samp{#include}
-of the top-level config file for the machine you will run the compiler
-on (@pxref{Config}). This file is responsible for defining information
-about the host machine. It includes @file{tm.h}.
-
-The top-level config file is located in the subdirectory @file{config}.
-Its name is always @file{xm-@var{something}.h}; usually
-@file{xm-@var{machine}.h}, but there are some exceptions.
+@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
-If your system does not support symbolic links, you might want to
-set up @file{config.h} to contain a @samp{#include} command which
-refers to the appropriate file.
+The following configuration headers are created from the Makefile,
+using @file{mkconfig.sh}, rather than directly by @file{configure}.
+@file{config.h}, @file{hconfig.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
-A file named @file{tconfig.h} is created which includes the top-level config
-file for your target machine. This is used for compiling certain
-programs to run on that machine.
-
+@file{config.h}, for use in programs that run on the host machine.
@item
-A file named @file{tm.h} is created which includes the
-machine-description macro file for your target machine. It should be in
-the subdirectory @file{config} and its name is often
-@file{@var{machine}.h}.
-
+@file{hconfig.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
-The command file @file{configure} also constructs the file
-@file{Makefile} by adding some text to the template file
-@file{Makefile.in}. The additional text comes from files in the
-@file{config} directory, named @file{t-@var{target}} and
-@file{x-@var{host}}. If these files do not exist, it means nothing
-needs to be added for a given target or host.
+@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