README: Update from Craig.
1998-08-11 Dave Love <d.love@dl.ac.uk> * README: Update from Craig. From-SVN: r21672
This commit is contained in:
parent
d606ce281e
commit
beaa74ae03
@ -1,3 +1,7 @@
|
||||
1998-08-11 Dave Love <d.love@dl.ac.uk>
|
||||
|
||||
* README: Update from Craig.
|
||||
|
||||
1998-07-24 Dave Love <d.love@dl.ac.uk>
|
||||
|
||||
* Makefile.in (s-libe77, ${srcdir}/configure, g2c.h, Makefile,
|
||||
|
113
libf2c/README
113
libf2c/README
@ -1,38 +1,41 @@
|
||||
1998-04-20
|
||||
1998-08-11
|
||||
|
||||
This directory contains the f2c library packaged for use with g77 to configure
|
||||
and build automatically (in principle!) as part of the top-level configure and
|
||||
make steps. This depends on the makefile and configure fragments in ../f.
|
||||
g77 names this library `libg2c' to avoid conflict with existing copies
|
||||
of `libf2c' on a system.
|
||||
This directory contains the libf2c library packaged for use with g77
|
||||
to configure and build automatically (in principle!) as part of the
|
||||
top-level configure and make steps. g77 names this library `libg2c'
|
||||
to avoid conflicts with existing copies of `libf2c' on a system.
|
||||
|
||||
Some small changes have been made to the f2c distributions of lib[FI]77 which
|
||||
come from <ftp:bell-labs.com/netlib/f2c/> and are maintained (excellently) by
|
||||
David M. Gay <dmg@bell-labs.com>. See the Notice files for copyright
|
||||
information. I'll try to get the changes rolled into the f2c distribution.
|
||||
Some small changes have been made vis-a-vis the netlib distribution of
|
||||
libf2c, which comes from <ftp:bell-labs.com/netlib/f2c/> and is maintained
|
||||
(excellently) by David M. Gay <dmg@bell-labs.com>. See the Notice files
|
||||
for copyright information. We usually try to get g77-specific changes
|
||||
rolled back into the libf2c distribution.
|
||||
|
||||
Files that come directly from netlib are either maintained in the
|
||||
gcc/f/runtime/ directory under their original names or, if they
|
||||
are not pertinent for g77's version of libf2c, under their original
|
||||
names with `.netlib' appended. For example, gcc/f/runtime/permissions.netlib
|
||||
is a copy of f2c's top-level`permissions' file in the netlib distribution.
|
||||
In this case, it applies only to the relevant portions of the libF77/ and
|
||||
libI77/ directories; it does not apply to the libU77/ directory, which is
|
||||
distributed under different licensing arrangements. Similarly,
|
||||
the `makefile.netlib' files in libF77/ and libI77/ are copies of
|
||||
the respective `makefile' files in the netlib distribution, but
|
||||
are not used when building g77's version of libf2c.
|
||||
libf2c directory under their original names or, if they are not pertinent
|
||||
for g77's version of libf2c, under their original names with `.netlib'
|
||||
appended. For example, permissions.netlib is a copy of f2c's top-level
|
||||
`permissions' file in the netlib distribution. In this case, it applies
|
||||
only to the relevant portions of the libF77/ and libI77/ directories; it
|
||||
does not apply to the libU77/ directory, which is distributed under
|
||||
different licensing arrangements. Similarly, the `makefile.netlib' files
|
||||
in the libF77/ and libI77/ subdirectories are copies of the respective
|
||||
`makefile' files in the netlib distribution, but are not used when
|
||||
building g77's version of libf2c.
|
||||
|
||||
The `README.netlib' files in libF77/ and libI77/ thus might be
|
||||
The README.netlib files in libF77/ and libI77/ thus might be
|
||||
interesting, but should not be taken as guidelines for how to
|
||||
configure and build libf2c in g77's distribution.
|
||||
|
||||
The packaging for auto-configuration was done by Dave Love <d.love@dl.ac.uk>.
|
||||
Minor changes have been made by James Craig Burley <burley@gnu.org>,
|
||||
who probably broke things Dave had working. :-)
|
||||
* Read permissions.netlib for licensing conditions that apply to
|
||||
distributing programs containing portions of code in the libF77/ and
|
||||
libI77/ subdirectories. Also read disclaimer.netlib.
|
||||
|
||||
Among the user-visible changes (choices) g77 makes in its
|
||||
version of libf2c:
|
||||
* Read libU77/COPYING.LIB for licensing conditions that apply to
|
||||
distributing programs containing portions of code in the libU77/
|
||||
subdirectory.
|
||||
|
||||
Among the user-visible changes (choices) g77 makes in its version of libf2c:
|
||||
|
||||
- f2c.h configured to default to padding unformatted direct reads
|
||||
(#define Pad_UDread), because that's the behavior most users
|
||||
@ -46,3 +49,61 @@ version of libf2c:
|
||||
|
||||
- dtime_() and etime_() are from Dave Love's libU77, not from
|
||||
netlib's libF77.
|
||||
|
||||
- Routines that are intended to be called directly via user code
|
||||
(as in `CALL EXIT', but not the support routines for `OPEN')
|
||||
have been renamed from `<name>' to `G77_<name>_0'. This, in
|
||||
combination with g77 recognizing these names as intrinsics and
|
||||
calling them directly by those names, reduces the likelihood of
|
||||
interface mismatches occurring due to use of compiler options
|
||||
that change code generation, and permits use of these names as
|
||||
both intrinsics and user-supplied routines in applications (as
|
||||
required by the Fortran standards). f2cext.c contains "jacket"
|
||||
routines named `<name>' that call `G77_<name>_0', to support
|
||||
code that relies on calling the relevant routines as `EXTERNAL'
|
||||
routines.
|
||||
|
||||
Note that the `_0' in the name denotes version 0 of the *interface*,
|
||||
not the *implementation*, of a routine. The interface of a
|
||||
given routine *must not change* -- instead, introduce a new copy
|
||||
of the code, with an increment (e.g. `_1') suffix, having the
|
||||
new interface. Whether the previous interface is maintained is
|
||||
not as important as ensuring the routine implementing the new
|
||||
interface is never successfully linked to a call in existing,
|
||||
e.g. previously compiled, code that expects the old interface.
|
||||
|
||||
- Version.c in the subdirectories contains g77-specific version
|
||||
information and a routine (per subdirectory) to print both the
|
||||
netlib and g77 version information when called. The `g77 -v'
|
||||
command is designed to trigger this, by compiling, linking, and
|
||||
running a small program that calls the routines in sequence.
|
||||
|
||||
- libF77/main.c no longer contains the actual code to copy the
|
||||
argc and argv values into globals or to set up the signal-handling
|
||||
environment. These have been removed to libF77/setarg.c and
|
||||
libF77/setsig.c, respectively. libF77/main.c contains procedure
|
||||
calls to the new code in place of the code itself. This should
|
||||
simplify linking executables with a main() function other than
|
||||
that in libF77/main.c (such as one written by the user in C or
|
||||
C++). See the g77 documentation for more information.
|
||||
|
||||
- Complex-arithmetic support routines in libF77/ take a different approach
|
||||
to avoiding problems resulting from aliased input and output arguments,
|
||||
which should avoid particularly unusual alias problems that netlib
|
||||
libf2c might suffer from.
|
||||
|
||||
- libF77/signal_.c supports systems with 64-bit pointers and 32-bit
|
||||
integers.
|
||||
|
||||
- I/O routines in libI77/ have code to detect attempts to do recursive
|
||||
I/O more "directly", mainly to lead to a clearer diagnostic than
|
||||
typically occurs under such conditions.
|
||||
|
||||
- Formatted-I/O routines in libI77/ have code to pretty-print a FORMAT
|
||||
string when printing a fatal diagnostic involving formatted I/O.
|
||||
|
||||
- libI77/open.c supports a more robust, perhaps more secure, method
|
||||
of naming temporary files on some systems.
|
||||
|
||||
- Some g77-specific handling of building under Microsoft operating
|
||||
systems exists, mainly in libI77/.
|
||||
|
Loading…
Reference in New Issue
Block a user