configfiles.texi (Configuration Files): Removed fixinc/Makefile*, intl/Makefile.*.

* doc/configfiles.texi (Configuration Files): Removed
	fixinc/Makefile*, intl/Makefile.*.
	* doc/makefile.texi: Fixed markup.
	Abstract from version control system used.
	(Makefile): Removed obsolete gcc/java/parse.y example.
	* doc/sourcebuild.texi: Likewise.
	(Top Level): Added config, gnattools, libdecnumber, libgcc,
	libgomp, libssp.
	Removed fastjar.
	(Miscellaneous Docs): Clarify location.
	Added COPYING3, COPYING3.LIB.
	(Front End Directory): Moved Make-lang.in entry to new
	subsubsection.

From-SVN: r157649
This commit is contained in:
Rainer Orth 2010-03-22 20:33:33 +00:00 committed by Rainer Orth
parent 7f5441df09
commit 3a1ef68af0
4 changed files with 142 additions and 106 deletions

View File

@ -1,3 +1,19 @@
2010-03-22 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
* doc/configfiles.texi (Configuration Files): Removed
fixinc/Makefile*, intl/Makefile.*.
* doc/makefile.texi: Fixed markup.
Abstract from version control system used.
(Makefile): Removed obsolete gcc/java/parse.y example.
* doc/sourcebuild.texi: Likewise.
(Top Level): Added config, gnattools, libdecnumber, libgcc,
libgomp, libssp.
Removed fastjar.
(Miscellaneous Docs): Clarify location.
Added COPYING3, COPYING3.LIB.
(Front End Directory): Moved Make-lang.in entry to new
subsubsection.
2010-03-22 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> 2010-03-22 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
PR target/38085 PR target/38085

View File

@ -1,5 +1,5 @@
@c Copyright (C) 1988, 1989, 1992, 1993, 1994, 1995, 1996, 1997, 1998, @c Copyright (C) 1988, 1989, 1992, 1993, 1994, 1995, 1996, 1997, 1998,
@c 1999, 2000, 2001, 2002 Free Software Foundation, Inc. @c 1999, 2000, 2001, 2002, 2010 Free Software Foundation, Inc.
@c This is part of the GCC manual. @c This is part of the GCC manual.
@c For copying conditions, see the file gcc.texi. @c For copying conditions, see the file gcc.texi.
@ -33,13 +33,9 @@ used.
@item @item
@file{cstamp-h} is used as a timestamp. @file{cstamp-h} is used as a timestamp.
@item @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}, a script for reporting bugs in GCC, is constructed from
@file{gccbug.in}. @file{gccbug.in}.
@item @item
@file{intl/Makefile} is constructed from @file{intl/Makefile.in}.
@item
If a language @file{config-lang.in} file (@pxref{Front End Config, , 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 Front End @file{config-lang.in} File}) sets @code{outputs}, then
the files listed in @code{outputs} there are also generated. the files listed in @code{outputs} there are also generated.

View File

@ -1,4 +1,4 @@
@c Copyright (C) 2001, 2002, 2003, 2004, 2006, 2008 @c Copyright (C) 2001, 2002, 2003, 2004, 2006, 2008, 2010
@c Free Software Foundation, Inc. @c Free Software Foundation, Inc.
@c This is part of the GCC manual. @c This is part of the GCC manual.
@c For copying conditions, see the file gcc.texi. @c For copying conditions, see the file gcc.texi.
@ -46,12 +46,11 @@ That, and all the files created by @command{configure}.
@item maintainer-clean @item maintainer-clean
Distclean plus any file that can be generated from other files. Note Distclean plus any file that can be generated from other files. Note
that additional tools may be required beyond what is normally needed to that additional tools may be required beyond what is normally needed to
build gcc. build GCC.
@item srcextra @item srcextra
Generates files in the source directory that do not exist in CVS but Generates files in the source directory that are not version-controlled but
should go into a release tarball. One example is @file{gcc/java/parse.c} should go into a release tarball.
which is generated from the CVS source file @file{gcc/java/parse.y}.
@item srcinfo @item srcinfo
@itemx srcman @itemx srcman
@ -59,16 +58,16 @@ Copies the info-formatted and manpage documentation into the source
directory usually for the purpose of generating a release tarball. directory usually for the purpose of generating a release tarball.
@item install @item install
Installs gcc. Installs GCC.
@item uninstall @item uninstall
Deletes installed files. Deletes installed files, though this is not supported.
@item check @item check
Run the testsuite. This creates a @file{testsuite} subdirectory that Run the testsuite. This creates a @file{testsuite} subdirectory that
has various @file{.sum} and @file{.log} files containing the results of has various @file{.sum} and @file{.log} files containing the results of
the testing. You can run subsets with, for example, @samp{make check-gcc}. the testing. You can run subsets with, for example, @samp{make check-gcc}.
You can specify specific tests by setting RUNTESTFLAGS to be the name You can specify specific tests by setting @env{RUNTESTFLAGS} to be the name
of the @file{.exp} file, optionally followed by (for some tests) an equals of the @file{.exp} file, optionally followed by (for some tests) an equals
and a file wildcard, like: and a file wildcard, like:
@ -77,7 +76,7 @@ make check-gcc RUNTESTFLAGS="execute.exp=19980413-*"
@end smallexample @end smallexample
Note that running the testsuite may require additional tools be Note that running the testsuite may require additional tools be
installed, such as TCL or dejagnu. installed, such as Tcl or DejaGnu.
@end table @end table
The toplevel tree from which you start GCC compilation is not The toplevel tree from which you start GCC compilation is not

View File

@ -32,15 +32,14 @@ subdirectories that contain parts of GCC and its runtime libraries:
The Boehm conservative garbage collector, used as part of the Java The Boehm conservative garbage collector, used as part of the Java
runtime library. runtime library.
@item config
Autoconf macros and Makefile fragments used throught the tree.
@item contrib @item contrib
Contributed scripts that may be found useful in conjunction with GCC@. Contributed scripts that may be found useful in conjunction with GCC@.
One of these, @file{contrib/texi2pod.pl}, is used to generate man One of these, @file{contrib/texi2pod.pl}, is used to generate man
pages from Texinfo manuals as part of the GCC build process. pages from Texinfo manuals as part of the GCC build process.
@item fastjar
An implementation of the @command{jar} command, used with the Java
front end.
@item fixincludes @item fixincludes
The support for fixing system headers to work with GCC@. See The support for fixing system headers to work with GCC@. See
@file{fixincludes/README} for more information. The headers fixed by @file{fixincludes/README} for more information. The headers fixed by
@ -54,12 +53,15 @@ including optimizers, support for different target architectures,
language front ends, and testsuites. @xref{gcc Directory, , The language front ends, and testsuites. @xref{gcc Directory, , The
@file{gcc} Subdirectory}, for details. @file{gcc} Subdirectory}, for details.
@item gnattools
Support tools for GNAT.
@item include @item include
Headers for the @code{libiberty} library. Headers for the @code{libiberty} library.
@item intl @item intl
GNU @code{libintl}, from GNU @code{gettext}, for systems which do not GNU @code{libintl}, from GNU @code{gettext}, for systems which do not
include it in libc. include it in @code{libc}.
@item libada @item libada
The Ada runtime library. The Ada runtime library.
@ -67,12 +69,21 @@ The Ada runtime library.
@item libcpp @item libcpp
The C preprocessor library. The C preprocessor library.
@item libgfortran @item libdecnumber
The Fortran runtime library. The Decimal Float support library.
@item libffi @item libffi
The @code{libffi} library, used as part of the Java runtime library. The @code{libffi} library, used as part of the Java runtime library.
@item libgcc
The GCC runtime library.
@item libgfortran
The Fortran runtime library.
@item libgomp
The GNU OpenMP runtime library.
@item libiberty @item libiberty
The @code{libiberty} library, used for portability and for some The @code{libiberty} library, used for portability and for some
generally useful data structures and algorithms. @xref{Top, , generally useful data structures and algorithms. @xref{Top, ,
@ -89,6 +100,9 @@ dereferencing operations.
@item libobjc @item libobjc
The Objective-C and Objective-C++ runtime library. The Objective-C and Objective-C++ runtime library.
@item libssp
The Stack protector runtime library.
@item libstdc++-v3 @item libstdc++-v3
The C++ runtime library. The C++ runtime library.
@ -312,7 +326,7 @@ GCC can also install @code{<tgmath.h>}. It will do this when
The main GCC documentation is in the form of manuals in Texinfo The main GCC documentation is in the form of manuals in Texinfo
format. These are installed in Info format; DVI versions may be format. These are installed in Info format; DVI versions may be
generated by @samp{make dvi}, PDF versions by @samp{make pdf}, and generated by @samp{make dvi}, PDF versions by @samp{make pdf}, and
HTML versions by @command{make html}. In addition, some man pages are HTML versions by @samp{make html}. In addition, some man pages are
generated from the Texinfo manuals, there are some other text files generated from the Texinfo manuals, there are some other text files
with miscellaneous documentation, and runtime libraries have their own with miscellaneous documentation, and runtime libraries have their own
documentation outside the @file{gcc} directory. FIXME: document the documentation outside the @file{gcc} directory. FIXME: document the
@ -351,7 +365,7 @@ DVI-formatted manuals are generated by @samp{make dvi}, which uses
@command{texi2dvi} (via the Makefile macro @code{$(TEXI2DVI)}). @command{texi2dvi} (via the Makefile macro @code{$(TEXI2DVI)}).
PDF-formatted manuals are generated by @samp{make pdf}, which uses PDF-formatted manuals are generated by @samp{make pdf}, which uses
@command{texi2pdf} (via the Makefile macro @code{$(TEXI2PDF)}). HTML @command{texi2pdf} (via the Makefile macro @code{$(TEXI2PDF)}). HTML
formatted manuals are generated by @command{make html}. Info formatted manuals are generated by @samp{make html}. Info
manuals are generated by @samp{make info} (which is run as part of manuals are generated by @samp{make info} (which is run as part of
a bootstrap); this generates the manuals in the source directory, a bootstrap); this generates the manuals in the source directory,
using @command{makeinfo} via the Makefile macro @code{$(MAKEINFO)}, using @command{makeinfo} via the Makefile macro @code{$(MAKEINFO)},
@ -371,7 +385,7 @@ directory or in @file{doc/include}. HTML manuals will be generated by
@samp{makeinfo --html}, PostScript manuals by @command{texi2dvi} @samp{makeinfo --html}, PostScript manuals by @command{texi2dvi}
and @command{dvips}, and PDF manuals by @command{texi2pdf}. and @command{dvips}, and PDF manuals by @command{texi2pdf}.
All Texinfo files that are parts of manuals must All Texinfo files that are parts of manuals must
be checked into SVN, even if they are generated files, for the be version-controlled, even if they are generated files, for the
generation of online manuals to work. generation of online manuals to work.
The installation manual, @file{doc/install.texi}, is also provided on The installation manual, @file{doc/install.texi}, is also provided on
@ -425,7 +439,8 @@ comments in more detail.
@subsubsection Miscellaneous Documentation @subsubsection Miscellaneous Documentation
In addition to the formal documentation that is installed by GCC, In addition to the formal documentation that is installed by GCC,
there are several other text files with miscellaneous documentation: there are several other text files in the @file{gcc} subdirectory
with miscellaneous documentation:
@table @file @table @file
@item ABOUT-GCC-NLS @item ABOUT-GCC-NLS
@ -434,9 +449,11 @@ this manual rather than a separate file.
@item ABOUT-NLS @item ABOUT-NLS
Notes on the Free Translation Project. Notes on the Free Translation Project.
@item COPYING @item COPYING
The GNU General Public License. @itemx COPYING3
The GNU General Public License, Versions 2 and 3.
@item COPYING.LIB @item COPYING.LIB
The GNU Lesser General Public License. @itemx COPYING3.LIB
The GNU Lesser General Public License, Versions 2.1 and 3.
@item *ChangeLog* @item *ChangeLog*
@itemx */ChangeLog* @itemx */ChangeLog*
Change log files for various parts of GCC@. Change log files for various parts of GCC@.
@ -504,8 +521,9 @@ directory. FIXME: document this further.
Details of the directories of any runtime libraries in Details of the directories of any runtime libraries in
@file{gcc/doc/sourcebuild.texi}. @file{gcc/doc/sourcebuild.texi}.
@item @item
Check targets in Makefile.def for the top-level Makefile to check just Check targets in @file{Makefile.def} for the top-level @file{Makefile}
the compiler or the compiler and runtime library for the language. to check just the compiler or the compiler and runtime library for the
language.
@end itemize @end itemize
If the front end is added to the official GCC source repository, the If the front end is added to the official GCC source repository, the
@ -551,6 +569,7 @@ updated accordingly.
@menu @menu
* Front End Directory:: The front end @file{@var{language}} directory. * Front End Directory:: The front end @file{@var{language}} directory.
* Front End Config:: The front end @file{config-lang.in} file. * Front End Config:: The front end @file{config-lang.in} file.
* Front End Makefile:: The front end @file{Make-lang.in} file.
@end menu @end menu
@node Front End Directory @node Front End Directory
@ -559,7 +578,7 @@ updated accordingly.
A front end @file{@var{language}} directory contains the source files A front end @file{@var{language}} directory contains the source files
of that front end (but not of any runtime libraries, which should be of that front end (but not of any runtime libraries, which should be
outside the @file{gcc} directory). This includes documentation, and outside the @file{gcc} directory). This includes documentation, and
possibly some subsidiary programs build alongside the front end. possibly some subsidiary programs built alongside the front end.
Certain files are special and other parts of the compiler depend on Certain files are special and other parts of the compiler depend on
their names: their names:
@ -569,7 +588,84 @@ This file is required in all language subdirectories. @xref{Front End
Config, , The Front End @file{config-lang.in} File}, for details of Config, , The Front End @file{config-lang.in} File}, for details of
its contents its contents
@item Make-lang.in @item Make-lang.in
This file is required in all language subdirectories. It contains This file is required in all language subdirectories. @xref{Front End
Makefile, , The Front End @file{Make-lang.in} File}, for details of its
contents.
@item lang.opt
This file registers the set of switches that the front end accepts on
the command line, and their @option{--help} text. @xref{Options}.
@item lang-specs.h
This file provides entries for @code{default_compilers} in
@file{gcc.c} which override the default of giving an error that a
compiler for that language is not installed.
@item @var{language}-tree.def
This file, which need not exist, defines any language-specific tree
codes.
@end table
@node Front End Config
@subsubsection The Front End @file{config-lang.in} File
Each language subdirectory contains a @file{config-lang.in} file. In
addition the main directory contains @file{c-config-lang.in}, which
contains limited information for the C language. This file is a shell
script that may define some variables describing the language:
@table @code
@item language
This definition must be present, and gives the name of the language
for some purposes such as arguments to @option{--enable-languages}.
@item lang_requires
If defined, this variable lists (space-separated) language front ends
other than C that this front end requires to be enabled (with the
names given being their @code{language} settings). For example, the
Java front end depends on the C++ front end, so sets
@samp{lang_requires=c++}.
@item subdir_requires
If defined, this variable lists (space-separated) front end directories
other than C that this front end requires to be present. For example,
the Objective-C++ front end uses source files from the C++ and
Objective-C front ends, so sets @samp{subdir_requires="cp objc"}.
@item target_libs
If defined, this variable lists (space-separated) targets in the top
level @file{Makefile} to build the runtime libraries for this
language, such as @code{target-libobjc}.
@item lang_dirs
If defined, this variable lists (space-separated) top level
directories (parallel to @file{gcc}), apart from the runtime libraries,
that should not be configured if this front end is not built.
@item build_by_default
If defined to @samp{no}, this language front end is not built unless
enabled in a @option{--enable-languages} argument. Otherwise, front
ends are built by default, subject to any special logic in
@file{configure.ac} (as is present to disable the Ada front end if the
Ada compiler is not already installed).
@item boot_language
If defined to @samp{yes}, this front end is built in stage1 of the
bootstrap. This is only relevant to front ends written in their own
languages.
@item compilers
If defined, a space-separated list of compiler executables that will
be run by the driver. The names here will each end
with @samp{\$(exeext)}.
@item outputs
If defined, a space-separated list of files that should be generated
by @file{configure} substituting values in them. This mechanism can
be used to create a file @file{@var{language}/Makefile} from
@file{@var{language}/Makefile.in}, but this is deprecated, building
everything from the single @file{gcc/Makefile} is preferred.
@item gtfiles
If defined, a space-separated list of files that should be scanned by
@file{gengtype.c} to generate the garbage collection tables and routines for
this language. This excludes the files that are common to all front
ends. @xref{Type Information}.
@end table
@node Front End Makefile
@subsubsection The Front End @file{Make-lang.in} File
Each language subdirectory contains a @file{Make-lang.in} file. It contains
targets @code{@var{lang}.@var{hook}} (where @code{@var{lang}} is the targets @code{@var{lang}.@var{hook}} (where @code{@var{lang}} is the
setting of @code{language} in @file{config-lang.in}) for the following setting of @code{language} in @file{config-lang.in}) for the following
values of @code{@var{hook}}, and any other Makefile rules required to values of @code{@var{hook}}, and any other Makefile rules required to
@ -624,7 +720,7 @@ Install headers needed for plugins.
@item srcextra @item srcextra
Copies its dependencies into the source directory. This generally should Copies its dependencies into the source directory. This generally should
be used for generated files such as Bison output files which are not be used for generated files such as Bison output files which are not
present in CVS, but should be included in any release tarballs. This version-controlled, but should be included in any release tarballs. This
target will be executed during a bootstrap if target will be executed during a bootstrap if
@samp{--enable-generated-files-in-srcdir} was specified as a @samp{--enable-generated-files-in-srcdir} was specified as a
@file{configure} option. @file{configure} option.
@ -645,84 +741,13 @@ The language parts of the standard GNU
@samp{*clean} targets. @xref{Standard Targets, , Standard Targets for @samp{*clean} targets. @xref{Standard Targets, , Standard Targets for
Users, standards, GNU Coding Standards}, for details of the standard Users, standards, GNU Coding Standards}, for details of the standard
targets. For GCC, @code{maintainer-clean} should delete targets. For GCC, @code{maintainer-clean} should delete
all generated files in the source directory that are not checked into all generated files in the source directory that are not version-controlled,
CVS, but should not delete anything checked into CVS@. but should not delete anything that is.
@end table @end table
@file{Make-lang.in} must also define a variable @code{@var{lang}_OBJS} @file{Make-lang.in} must also define a variable @code{@var{lang}_OBJS}
to a list of host object files that are used by that language. to a list of host object files that are used by that language.
@item lang.opt
This file registers the set of switches that the front end accepts on
the command line, and their @option{--help} text. @xref{Options}.
@item lang-specs.h
This file provides entries for @code{default_compilers} in
@file{gcc.c} which override the default of giving an error that a
compiler for that language is not installed.
@item @var{language}-tree.def
This file, which need not exist, defines any language-specific tree
codes.
@end table
@node Front End Config
@subsubsection The Front End @file{config-lang.in} File
Each language subdirectory contains a @file{config-lang.in} file. In
addition the main directory contains @file{c-config-lang.in}, which
contains limited information for the C language. This file is a shell
script that may define some variables describing the language:
@table @code
@item language
This definition must be present, and gives the name of the language
for some purposes such as arguments to @option{--enable-languages}.
@item lang_requires
If defined, this variable lists (space-separated) language front ends
other than C that this front end requires to be enabled (with the
names given being their @code{language} settings). For example, the
Java front end depends on the C++ front end, so sets
@samp{lang_requires=c++}.
@item subdir_requires
If defined, this variable lists (space-separated) front end directories
other than C that this front end requires to be present. For example,
the Objective-C++ front end uses source files from the C++ and
Objective-C front ends, so sets @samp{subdir_requires="cp objc"}.
@item target_libs
If defined, this variable lists (space-separated) targets in the top
level @file{Makefile} to build the runtime libraries for this
language, such as @code{target-libobjc}.
@item lang_dirs
If defined, this variable lists (space-separated) top level
directories (parallel to @file{gcc}), apart from the runtime libraries,
that should not be configured if this front end is not built.
@item build_by_default
If defined to @samp{no}, this language front end is not built unless
enabled in a @option{--enable-languages} argument. Otherwise, front
ends are built by default, subject to any special logic in
@file{configure.ac} (as is present to disable the Ada front end if the
Ada compiler is not already installed).
@item boot_language
If defined to @samp{yes}, this front end is built in stage 1 of the
bootstrap. This is only relevant to front ends written in their own
languages.
@item compilers
If defined, a space-separated list of compiler executables that will
be run by the driver. The names here will each end
with @samp{\$(exeext)}.
@item outputs
If defined, a space-separated list of files that should be generated
by @file{configure} substituting values in them. This mechanism can
be used to create a file @file{@var{language}/Makefile} from
@file{@var{language}/Makefile.in}, but this is deprecated, building
everything from the single @file{gcc/Makefile} is preferred.
@item gtfiles
If defined, a space-separated list of files that should be scanned by
gengtype.c to generate the garbage collection tables and routines for
this language. This excludes the files that are common to all front
ends. @xref{Type Information}.
@end table
@node Back End @node Back End
@subsection Anatomy of a Target Back End @subsection Anatomy of a Target Back End
@ -786,7 +811,7 @@ notes about installation for this target, or saying that there are no
special notes if there are none. special notes if there are none.
@item @item
Possibly other support outside the @file{gcc} directory for runtime Possibly other support outside the @file{gcc} directory for runtime
libraries. FIXME: reference docs for this. The libstdc++ porting libraries. FIXME: reference docs for this. The @code{libstdc++} porting
manual needs to be installed as info for this to work, or to be a manual needs to be installed as info for this to work, or to be a
chapter of this manual. chapter of this manual.
@end itemize @end itemize