README, [...]: Update name (egcs -> gcc) and version #s (1.1 -> 2.96) as needed.
* README, configure.in, gcc.1, gcc.texi: Update name (egcs -> gcc) and version #s (1.1 -> 2.96) as needed. * README.g77: Kill way out of date file in the toplevel directory. Part of the ongoing conversion to the one true gcc. From-SVN: r27308
This commit is contained in:
parent
32a57b705e
commit
079bd08eb2
@ -1,3 +1,9 @@
|
||||
Wed Jun 2 02:29:07 1999 Jeffrey A Law (law@cygnus.com)
|
||||
|
||||
* README, configure.in, gcc.1, gcc.texi: Update name (egcs -> gcc)
|
||||
and version #s (1.1 -> 2.96) as needed.
|
||||
* README.g77: Kill way out of date file in the toplevel directory.
|
||||
|
||||
Wed Jun 2 00:52:34 1999 David O'Brien <obrien@FreeBSD.org>
|
||||
|
||||
* configure.in (i[34567]86-*-freebsdelf): Don't include linux.h,
|
||||
|
@ -1,4 +1,4 @@
|
||||
This directory contains the egcs version 1.1 release of the GNU C
|
||||
This directory contains the gcc version 2.96 release of the GNU C
|
||||
compiler. It includes all of the support for compiling C++ and
|
||||
Objective C, including a run-time library for Objective C.
|
||||
|
||||
|
263
gcc/README.g77
263
gcc/README.g77
@ -1,263 +0,0 @@
|
||||
1998-08-11
|
||||
|
||||
This directory contains the egcs variant of version 0.5.24 of the
|
||||
GNU Fortran compiler (g77). The GNU Fortran compiler is free software.
|
||||
See the file COPYING.g77 for copying permission.
|
||||
|
||||
Currently, two variants of g77 exist. One is the Free Software Foundation
|
||||
(FSF) variant. The other is the egcs variant. As of egcs version 1.1,
|
||||
these variants are kept fairly similar in most respects. Pertinent
|
||||
differences, such as the layout of the source code, are specified below.
|
||||
|
||||
Below, `[FSF]' denotes information applicable to only the FSF variant of
|
||||
g77, while `[egcs]' denotes egcs-only information.
|
||||
|
||||
|
||||
* IMPORTANT: Things you *must* do (or avoid) are marked with a * at the
|
||||
beginning of the line in this file!!!
|
||||
|
||||
|
||||
The email address to which bugs are to be reported is either
|
||||
[FSF] <fortran@gnu.org> or [egcs] <egcs-bugs@egcs.cygnus.com>.
|
||||
|
||||
* *DO NOT* send any email (reporting bugs, asking questions, etc.) to
|
||||
either of these addresses without *first* reading the g77 documentation.
|
||||
Use `info', Info mode in GNU Emacs, or a text viewer such as `more' to
|
||||
do this.
|
||||
|
||||
The g77 documentation is in the source files named `g77.info',
|
||||
`g77.info-1', `g77.info-2', and so on in the `f' subdirectory. If these
|
||||
files are not present or you can't find them, contact the person or
|
||||
organization that put together the g77 distribution you are using (probably
|
||||
not the FSF or egcs), or ask your system administrator for help.
|
||||
|
||||
|
||||
This README applies to only the g77-specific portions of the source-code
|
||||
tree that contains it. These portions include:
|
||||
|
||||
- The README.g77 and [FSF] COPYING.g77 files, in this directory, "this
|
||||
directory" being [FSF] the top-level directory containing a g77
|
||||
distribution or [egcs] the gcc/ subdirectory of an egcs distribution.
|
||||
|
||||
- The g77 front end, in the f/ subdirectory of this directory.
|
||||
|
||||
- The libg2c library, in [FSF] the f/runtime/ subdirectory of this
|
||||
directory or [egcs] the libf2c/ directory under the top-level
|
||||
directory of the egcs distribution.
|
||||
|
||||
|
||||
* To build g77, you must have a source distribution of [FSF] gcc
|
||||
version 2.8 or [egcs] egcs version 1.1. Do not attempt to use
|
||||
any other version of gcc or egcs, because this version of g77 is
|
||||
designed to work with only those versions.
|
||||
|
||||
Note that you must have *source* copies of the gcc or egcs distribution!
|
||||
You cannot build g77 just using binaries of gcc or egcs. Also, unless
|
||||
you are an expert, avoid using any distribution of gcc or egcs not
|
||||
identical to the ones distributed by the FSF and Cygnus Support,
|
||||
respectively. The primary FSF distribution site is:
|
||||
|
||||
<ftp://ftp.gnu.org/pub/gnu/>
|
||||
|
||||
The primary egcs distribution site is:
|
||||
|
||||
<ftp://ftp.cygnus.com/pub/egcs/>
|
||||
|
||||
Both of these sites have approved mirror sites from which valid
|
||||
distributions also may be obtained.
|
||||
|
||||
* Do not attempt to combine the egcs version of g77 with the FSF
|
||||
gcc distribution, or the FSF version of g77 with the egcs gcc
|
||||
distribution. Although the differences are minor, they might
|
||||
be sufficient to prevent g77 from building properly, or from
|
||||
working properly if the build appears to succeed.
|
||||
|
||||
[FSF] g77 is distributed as g77-<version>/f/ so that unpacking the g77
|
||||
distribution is done in the normal GNU way, resulting in a directory having
|
||||
the version number in the name. However, to build g77, the g77 distribution
|
||||
must be merged with an appropriate gcc distribution, normally in a gcc
|
||||
source directory, before configuring, building, and installing g77.
|
||||
|
||||
[FSF] If you have just unpacked the g77 distribution, before proceeding,
|
||||
you must merge the contents of the g77 distribution with the appropriate
|
||||
gcc distribution on your system.
|
||||
|
||||
* [FSF] Read and follow the instructions in f/INSTALL that
|
||||
explain how to merge a g77 source directory into a gcc source
|
||||
directory. You can use Info to read the same installation
|
||||
instructions via:
|
||||
|
||||
info -f f/g77.info -n Unpacking
|
||||
|
||||
[FSF] The resulting directory layout includes the following, where gcc/
|
||||
might be a link to, for example, gcc-2.8.1/:
|
||||
|
||||
gcc/ Non-g77 files in gcc
|
||||
gcc/COPYING.g77 A copy of the GPL, under which g77 is licensed
|
||||
gcc/README.g77 This file
|
||||
gcc/f/ GNU Fortran front end
|
||||
gcc/f/runtime/ libg2c configuration and g2c.h file generation
|
||||
gcc/f/runtime/libF77/ Non-I/O portion of libg2c
|
||||
gcc/f/runtime/libI77/ I/O portion of libg2c
|
||||
gcc/f/runtime/libU77/ Additional interfaces to libc for libg2c
|
||||
|
||||
[FSF] Applying g77 patches in the form of .diff files is done by typing
|
||||
`patch -p1 -d gcc' (where gcc/ contains the f/ subdirectory). That is,
|
||||
g77 patches are distributed in the same form, and at the same directory
|
||||
level, as patches to the gcc distribution. (Note: make sure you're
|
||||
using GNU patch, version 2.5 or later! Other versions of patch
|
||||
have trouble with g77-related patches.)
|
||||
|
||||
[egcs] The egcs version of g77 is distributed already merged with
|
||||
the rest of egcs (such as the gcc back end).
|
||||
|
||||
[egcs] The resulting directory layout includes the following, where egcs/
|
||||
might be a link to, for example, egcs-1.1/:
|
||||
|
||||
egcs/gcc/ Non-g77 files in gcc
|
||||
egcs/gcc/README.g77 This file
|
||||
egcs/gcc/f/ GNU Fortran front end
|
||||
egcs/libf2c/ libg2c configuration and g2c.h file generation
|
||||
egcs/libf2c/libF77/ Non-I/O portion of libg2c
|
||||
egcs/libf2c/libI77/ I/O portion of libg2c
|
||||
egcs/libf2c/libU77/ Additional interfaces to libc for libg2c
|
||||
|
||||
[egcs] Applying g77-specific patches to egcs is done the same way as
|
||||
applying other egcs patches.
|
||||
|
||||
|
||||
Below, `libf2c/' shall denote [FSF] gcc/f/runtime/ or [egcs] egcs/libf2c/,
|
||||
while `f/' shall denote [FSF] the rest of gcc/f/ or [egcs] egcs/gcc/f/.
|
||||
|
||||
|
||||
Components of note in g77 are described below.
|
||||
|
||||
f/ as a whole contains the program GNU Fortran (g77), while libf2c/
|
||||
contains a portion of the separate program f2c. Note: The libf2c
|
||||
code is not part of the program g77, just distributed with it.
|
||||
|
||||
f/ contains text files that document the Fortran compiler, source
|
||||
files for the GNU Fortran Front End (FFE), and some other stuff.
|
||||
The g77 compiler code is placed in f/ because it, along with its contents,
|
||||
is designed to be a subdirectory of a GNU CC (gcc) source directory, gcc/,
|
||||
which is structured so that language-specific front ends can be "dropped
|
||||
in" as subdirectories. The C++ front end (g++), is an example of this --
|
||||
it resides in the cp/ subdirectory. Note that the C front end (also
|
||||
referred to as gcc) is an exception to this, as its source files reside
|
||||
in the gcc/ directory itself.
|
||||
|
||||
libf2c/ contains the run-time libraries for the f2c program, also used
|
||||
by g77. These libraries normally referred to collectively as libf2c.
|
||||
When built as part of g77, libf2c is installed under the name libg2c to avoid
|
||||
conflict with any existing version of libf2c, and thus is often referred
|
||||
to as libg2c when the g77 version is specifically being referred to.
|
||||
|
||||
The netlib version of libf2c/ contains two distinct libraries, libF77 and
|
||||
libI77, each in their own subdirectories. In g77, this distinction is not
|
||||
made, beyond maintaining the subdirectory structure in the source-code tree.
|
||||
|
||||
libf2c/ is not part of the program g77, just distributed with it. It
|
||||
contains files not present in the official (netlib) version of libf2c,
|
||||
and also contains some minor changes made from libf2c, to fix some bugs,
|
||||
and to facilitate automatic configuration, building, and installation of
|
||||
libf2c (as libg2c) for use by g77 users.
|
||||
|
||||
* See libf2c/README for more information, including licensing conditions
|
||||
governing distribution of programs containing code from libg2c.
|
||||
|
||||
libg2c, g77's version of libf2c, adds Dave Love's implementation of
|
||||
libU77, in the libf2c/libU77/ directory. This library is distributed
|
||||
under the GNU Library General Public License (LGPL) -- see the
|
||||
file libf2c/libU77/COPYING.LIB for more information, as this license
|
||||
governs distribution conditions for programs containing code from
|
||||
this portion of the library.
|
||||
|
||||
|
||||
Files of note in g77 are described below.
|
||||
|
||||
f/BUGS lists some important bugs known to be in g77. Or:
|
||||
|
||||
info -f f/g77.info -n "Actual Bugs"
|
||||
|
||||
f/ChangeLog lists recent changes to g77 internals.
|
||||
|
||||
libf2c/ChangeLog lists recent changes to libg2c internals.
|
||||
|
||||
[FSF] f/INSTALL describes how to build and install GNU Fortran. Or:
|
||||
|
||||
info -f f/g77.info -n Installation
|
||||
|
||||
f/NEWS contains the per-release changes. These include the user-visible
|
||||
changes described under "Changes" in the g77 documentation, plus internal
|
||||
changes of import. Or:
|
||||
|
||||
info -f f/g77.info -n News
|
||||
|
||||
* All users of g77 (not just installers) should read f/g77.info*
|
||||
as well, using the `more' command if neither the `info' command,
|
||||
nor GNU Emacs (with its Info mode), are available, or if they
|
||||
aren't yet accustomed to using these tools. Read f/BUGS and f/NEWS
|
||||
plus, if you are planning on building or installing the FSF version
|
||||
of g77, f/INSTALL, at the very least! All of these files are
|
||||
readable as "plain text" files.
|
||||
|
||||
* Also see <ftp://alpha.gnu.org/g77.plan> for up-to-date information
|
||||
regarding g77 bug reports, known bugs, bug-fixes, and new versions.
|
||||
|
||||
|
||||
The rest of this file is of note to only those who wish to
|
||||
debug, modify, or test the FFE (in conjunction with the gcc back end).
|
||||
|
||||
If you want to explore the FFE code, which lives entirely in f/, here
|
||||
are a few clues. The file g77spec.c contains the g77-specific source code
|
||||
for the `g77' command only -- this just forms a variant of the `gcc'
|
||||
command, so, just as the `gcc' command itself does not contain
|
||||
the C front end, the `g77' command does not contain the Fortran front
|
||||
end (FFE). The FFE code ends up in an executable named `f771', which
|
||||
does the actual compiling, so it contains the FFE plus the gcc back end
|
||||
(the latter to do most of the optimization, and the code generation).
|
||||
|
||||
The file parse.c is the source file for main() for a stand-alone FFE and
|
||||
yyparse() for f771. (Stand-alone building of the FFE doesn't work these days.)
|
||||
The file top.c contains the top-level FFE function ffe_file and it (along
|
||||
with top.h) define all ffe_[a-z].*, ffe[A-Z].*, and FFE_[A-Za-z].* symbols.
|
||||
The file fini.c is a main() program that is used when building the FFE to
|
||||
generate C header and source files for recognizing keywords. The files
|
||||
malloc.c and malloc.h comprise a memory manager that defines all
|
||||
malloc_[a-z].*, malloc[A-Z].*, and MALLOC_[A-Za-z].* symbols. All other
|
||||
modules named <xyz> are comprised of all files named <xyz>*.<ext> and
|
||||
define all ffe<xyz>_[a-z].*, ffe<xyz>[A-Z].*, and FFE<XYZ>_[A-Za-z].* symbols.
|
||||
If you understand all this, congratulations -- it's easier for me to remember
|
||||
how it works than to type in these grep patterns (such as they are). But it
|
||||
does make it easy to find where a symbol is defined -- for example,
|
||||
the symbol "ffexyz_set_something" would be defined in xyz.h and implemented
|
||||
there (if it's a macro) or in xyz.c.
|
||||
|
||||
The "porting" files of note currently are: proj.h, which defines the
|
||||
"language" used by all the other source files (the language being
|
||||
Standard C plus some useful things like ARRAY_SIZE and such) -- change
|
||||
this file when you find your system doesn't properly define a Standard C
|
||||
macro or function, for example; target.h and target.c, which describe
|
||||
the target machine in terms of what data types are supported, how they are
|
||||
denoted (what C type does an INTEGER*8 map to, for example), how to convert
|
||||
between them, and so on (though as of 0.5.3, more and more of this information
|
||||
is being dynamically configured by ffecom_init_0); com.h and com.c, which
|
||||
interface to the target back end (currently only FFE stand-alone and the GBE);
|
||||
ste.c, which contains code for implementing recognized executable statements
|
||||
in the target back end (again currently either FFE or GBE); src.h and src.c,
|
||||
which describe information on the format(s) of source files (such as whether
|
||||
they are never to be processed as case-insensitive with regard to Fortran
|
||||
keywords); and proj.c, which contains whatever code is needed to support
|
||||
the language defined by proj.h.
|
||||
|
||||
If you want to debug the f771 executable, for example if it crashes,
|
||||
note that the global variables "lineno" and "input_filename" are set
|
||||
to reflect the current line being read by the lexer during the first-pass
|
||||
analysis of a program unit and to reflect the current line being
|
||||
processed during the second-pass compilation of a program unit. If
|
||||
an invocation of the function ffestd_exec_end() is on the stack,
|
||||
the compiler is in the second pass, otherwise it is in the first.
|
||||
(This information might help you reduce a test case and/or work around
|
||||
a bug in g77 until a fix is available.)
|
||||
|
||||
Any questions or comments on these topics? Read the g77 documentation!
|
4
gcc/configure
vendored
4
gcc/configure
vendored
@ -608,7 +608,7 @@ echo "$ac_t""$library_path_setting" 1>&6
|
||||
if test "$library_path_setting" != "ok"; then
|
||||
{ echo "configure: error:
|
||||
*** LIBRARY_PATH shouldn't contain the current directory when
|
||||
*** building egcs. Please change the environment variable
|
||||
*** building gcc. Please change the environment variable
|
||||
*** and run configure again." 1>&2; exit 1; }
|
||||
fi
|
||||
|
||||
@ -633,7 +633,7 @@ echo "$ac_t""$gcc_exec_prefix_setting" 1>&6
|
||||
if test "$gcc_exec_prefix_setting" != "ok"; then
|
||||
{ echo "configure: error:
|
||||
*** GCC_EXEC_PREFIX shouldn't contain the current directory when
|
||||
*** building egcs. Please change the environment variable
|
||||
*** building gcc. Please change the environment variable
|
||||
*** and run configure again." 1>&2; exit 1; }
|
||||
fi
|
||||
|
||||
|
@ -53,7 +53,7 @@ AC_MSG_RESULT($library_path_setting)
|
||||
if test "$library_path_setting" != "ok"; then
|
||||
AC_MSG_ERROR([
|
||||
*** LIBRARY_PATH shouldn't contain the current directory when
|
||||
*** building egcs. Please change the environment variable
|
||||
*** building gcc. Please change the environment variable
|
||||
*** and run configure again.])
|
||||
fi
|
||||
|
||||
@ -79,7 +79,7 @@ AC_MSG_RESULT($gcc_exec_prefix_setting)
|
||||
if test "$gcc_exec_prefix_setting" != "ok"; then
|
||||
AC_MSG_ERROR([
|
||||
*** GCC_EXEC_PREFIX shouldn't contain the current directory when
|
||||
*** building egcs. Please change the environment variable
|
||||
*** building gcc. Please change the environment variable
|
||||
*** and run configure again.])
|
||||
fi
|
||||
|
||||
|
@ -23,7 +23,7 @@
|
||||
.Id $Id: gcc.1,v 1.9 1998/12/16 20:55:57 law Exp $
|
||||
.TH GCC 1 "\*(Dt" "GNU Tools" "GNU Tools"
|
||||
.SH NAME
|
||||
gcc, g++ \- GNU project C and C++ Compiler (egcs-1.1)
|
||||
gcc, g++ \- GNU project C and C++ Compiler (gcc-2.96)
|
||||
.SH SYNOPSIS
|
||||
.B gcc
|
||||
.RI "[ " option " | " filename " ].\|.\|."
|
||||
|
@ -150,7 +150,7 @@ instead of in the original English.
|
||||
@sp 1
|
||||
@c The version number appears five times more in this file.
|
||||
|
||||
@center for egcs-1.1
|
||||
@center for gcc-2.96
|
||||
@page
|
||||
@vskip 0pt plus 1filll
|
||||
Copyright @copyright{} 1988, 89, 92, 93, 94, 95, 96, 98 Free Software Foundation, Inc.
|
||||
|
Loading…
Reference in New Issue
Block a user