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>
|
2010-03-22 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
|
||||||
|
|
||||||
PR target/38085
|
PR target/38085
|
||||||
|
|
|
@ -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.
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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
|
||||||
|
|
Loading…
Reference in New Issue