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:
parent
7f5441df09
commit
3a1ef68af0
|
@ -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>
|
||||
|
||||
PR target/38085
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
@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 For copying conditions, see the file gcc.texi.
|
||||
|
||||
|
@ -33,13 +33,9 @@ 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
|
||||
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.
|
||||
|
|
|
@ -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 This is part of the GCC manual.
|
||||
@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
|
||||
Distclean plus any file that can be generated from other files. Note
|
||||
that additional tools may be required beyond what is normally needed to
|
||||
build gcc.
|
||||
build GCC.
|
||||
|
||||
@item srcextra
|
||||
Generates files in the source directory that do not exist in CVS but
|
||||
should go into a release tarball. One example is @file{gcc/java/parse.c}
|
||||
which is generated from the CVS source file @file{gcc/java/parse.y}.
|
||||
Generates files in the source directory that are not version-controlled but
|
||||
should go into a release tarball.
|
||||
|
||||
@item srcinfo
|
||||
@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.
|
||||
|
||||
@item install
|
||||
Installs gcc.
|
||||
Installs GCC.
|
||||
|
||||
@item uninstall
|
||||
Deletes installed files.
|
||||
Deletes installed files, though this is not supported.
|
||||
|
||||
@item check
|
||||
Run the testsuite. This creates a @file{testsuite} subdirectory that
|
||||
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}.
|
||||
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
|
||||
and a file wildcard, like:
|
||||
|
||||
|
@ -77,7 +76,7 @@ make check-gcc RUNTESTFLAGS="execute.exp=19980413-*"
|
|||
@end smallexample
|
||||
|
||||
Note that running the testsuite may require additional tools be
|
||||
installed, such as TCL or dejagnu.
|
||||
installed, such as Tcl or DejaGnu.
|
||||
@end table
|
||||
|
||||
The toplevel tree from which you start GCC compilation is not
|
||||
|
|
|
@ -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
|
||||
runtime library.
|
||||
|
||||
@item config
|
||||
Autoconf macros and Makefile fragments used throught the tree.
|
||||
|
||||
@item contrib
|
||||
Contributed scripts that may be found useful in conjunction with GCC@.
|
||||
One of these, @file{contrib/texi2pod.pl}, is used to generate man
|
||||
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
|
||||
The support for fixing system headers to work with GCC@. See
|
||||
@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
|
||||
@file{gcc} Subdirectory}, for details.
|
||||
|
||||
@item gnattools
|
||||
Support tools for GNAT.
|
||||
|
||||
@item include
|
||||
Headers for the @code{libiberty} library.
|
||||
|
||||
@item intl
|
||||
GNU @code{libintl}, from GNU @code{gettext}, for systems which do not
|
||||
include it in libc.
|
||||
include it in @code{libc}.
|
||||
|
||||
@item libada
|
||||
The Ada runtime library.
|
||||
|
@ -67,12 +69,21 @@ The Ada runtime library.
|
|||
@item libcpp
|
||||
The C preprocessor library.
|
||||
|
||||
@item libgfortran
|
||||
The Fortran runtime library.
|
||||
@item libdecnumber
|
||||
The Decimal Float support library.
|
||||
|
||||
@item libffi
|
||||
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
|
||||
The @code{libiberty} library, used for portability and for some
|
||||
generally useful data structures and algorithms. @xref{Top, ,
|
||||
|
@ -89,6 +100,9 @@ dereferencing operations.
|
|||
@item libobjc
|
||||
The Objective-C and Objective-C++ runtime library.
|
||||
|
||||
@item libssp
|
||||
The Stack protector runtime library.
|
||||
|
||||
@item libstdc++-v3
|
||||
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
|
||||
format. These are installed in Info format; DVI versions may be
|
||||
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
|
||||
with miscellaneous documentation, and runtime libraries have their own
|
||||
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)}).
|
||||
PDF-formatted manuals are generated by @samp{make pdf}, which uses
|
||||
@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
|
||||
a bootstrap); this generates the manuals in the source directory,
|
||||
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}
|
||||
and @command{dvips}, and PDF manuals by @command{texi2pdf}.
|
||||
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.
|
||||
|
||||
The installation manual, @file{doc/install.texi}, is also provided on
|
||||
|
@ -425,7 +439,8 @@ comments in more detail.
|
|||
@subsubsection Miscellaneous Documentation
|
||||
|
||||
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
|
||||
@item ABOUT-GCC-NLS
|
||||
|
@ -434,9 +449,11 @@ this manual rather than a separate file.
|
|||
@item ABOUT-NLS
|
||||
Notes on the Free Translation Project.
|
||||
@item COPYING
|
||||
The GNU General Public License.
|
||||
@itemx COPYING3
|
||||
The GNU General Public License, Versions 2 and 3.
|
||||
@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*
|
||||
@itemx */ChangeLog*
|
||||
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
|
||||
@file{gcc/doc/sourcebuild.texi}.
|
||||
@item
|
||||
Check targets in Makefile.def for the top-level Makefile to check just
|
||||
the compiler or the compiler and runtime library for the language.
|
||||
Check targets in @file{Makefile.def} for the top-level @file{Makefile}
|
||||
to check just the compiler or the compiler and runtime library for the
|
||||
language.
|
||||
@end itemize
|
||||
|
||||
If the front end is added to the official GCC source repository, the
|
||||
|
@ -551,6 +569,7 @@ updated accordingly.
|
|||
@menu
|
||||
* Front End Directory:: The front end @file{@var{language}} directory.
|
||||
* Front End Config:: The front end @file{config-lang.in} file.
|
||||
* Front End Makefile:: The front end @file{Make-lang.in} file.
|
||||
@end menu
|
||||
|
||||
@node Front End Directory
|
||||
|
@ -559,7 +578,7 @@ updated accordingly.
|
|||
A front end @file{@var{language}} directory contains the source files
|
||||
of that front end (but not of any runtime libraries, which should be
|
||||
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
|
||||
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
|
||||
its contents
|
||||
@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
|
||||
setting of @code{language} in @file{config-lang.in}) for the following
|
||||
values of @code{@var{hook}}, and any other Makefile rules required to
|
||||
|
@ -624,7 +720,7 @@ Install headers needed for plugins.
|
|||
@item srcextra
|
||||
Copies its dependencies into the source directory. This generally should
|
||||
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
|
||||
@samp{--enable-generated-files-in-srcdir} was specified as a
|
||||
@file{configure} option.
|
||||
|
@ -645,84 +741,13 @@ The language parts of the standard GNU
|
|||
@samp{*clean} targets. @xref{Standard Targets, , Standard Targets for
|
||||
Users, standards, GNU Coding Standards}, for details of the standard
|
||||
targets. For GCC, @code{maintainer-clean} should delete
|
||||
all generated files in the source directory that are not checked into
|
||||
CVS, but should not delete anything checked into CVS@.
|
||||
all generated files in the source directory that are not version-controlled,
|
||||
but should not delete anything that is.
|
||||
@end table
|
||||
|
||||
@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.
|
||||
|
||||
@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
|
||||
@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.
|
||||
@item
|
||||
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
|
||||
chapter of this manual.
|
||||
@end itemize
|
||||
|
|
Loading…
Reference in New Issue