f30bc2e7f5
Sat Jun 13 03:46:40 1998 Craig Burley <burley@gnu.org> * Makefile.in (install): Don't install if $(libsubdir) is empty; issue a diagnostic saying top-level Makefile must pass it in instead, and exit. * Makefile.in (g2c.h): Rename from f2c.h. * Makefile.in, libF77/Makefile.in, libI77/Makefile.in, libU77/Makefile.in: Rewrite config and var assignment sections to be even more minimal than before, and to more clearly documented what macros are expected to be set and to what sorts of values. Eliminate CROSS and related stuff, since there's no such things as CROSS in egcs. Rename GCC_FOR_TARGET to CC throughout. * Makefile.in (stamp-libi77, stamp-libf77, stamp-libu77): Eliminate CROSS. * configure.in: Eliminate CROSS. Rename libf2c.a and f2c.h to libg2c.a and g2c.h, normalize and simplify g77/libg2c build process: * Makefile.in: Remove all stuff pertaining to installation, cleaning, and so on. Parent Makefile does all that now. Pass F2C_H_DIR, G2C_H_DIR, and GCC_H_DIR, the pathnames for the directories containing f2c.h, g2c.h, and other #include files, to subdirectory Makefiles. (stamp-libf77, stamp-libi77, stamp-libu77): Don't specify `-f Makefile' anymore, it's not needed now that subdirectory makefile's from netlib are renamed to makefile.netlib in g77 source (and to makefile.ori by configuration process, in case they're still around somehow). (stamp-libe77): Don't make libE77 dir unless it doesn't exist, if it does just delete all objects in it. Compile using $(GCC_FOR_TARGET), not $(CC). (rebuilt): Remove this and all subordinate targets, as parent Makefile now handles all that. (*clean): Remove. * configure.in (Pad_UDread, ALWAYS_FLUSH, WANT_LEAD_0): Remove these and commentary to new f2c.h file. AC_OUTPUT g2c.h instead of f2c.h. Remove old commentary regarding concatenation. * g2c.h.in: Rename from f2c.h.in, add appropriate commentary. * f2c.h: New file, a wrapper for g2c.h that does libg2c-specific stuff. * libF77/Makefile.in, libI77/Makefile.in, libU77/Makefile.in: Change $(ALL_CFLAGS) to use F2C_H_DIR, G2C_H_DIR, and GCC_H_DIR macros. Remove F2C_H macro, replace use with explicit dependencies on f2c.h and g2c.h. (*clean): Remove. From-SVN: r20507
65 lines
2.7 KiB
C
65 lines
2.7 KiB
C
/* f2c.h file for GNU Fortran run-time library
|
|
Copyright (C) 1998 Free Software Foundation, Inc.
|
|
Contributed by James Craig Burley (burley@gnu.org).
|
|
|
|
This file is part of GNU Fortran.
|
|
|
|
GNU Fortran is free software; you can redistribute it and/or modify
|
|
it under the terms of the GNU General Public License as published by
|
|
the Free Software Foundation; either version 2, or (at your option)
|
|
any later version.
|
|
|
|
GNU Fortran is distributed in the hope that it will be useful,
|
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
GNU General Public License for more details.
|
|
|
|
You should have received a copy of the GNU General Public License
|
|
along with GNU Fortran; see the file COPYING. If not, write to
|
|
the Free Software Foundation, 59 Temple Place - Suite 330,
|
|
Boston, MA 02111-1307, USA. */
|
|
|
|
/* This file currently is just a stub through which g77's copy
|
|
of netlib's libf2c, which g77 builds and installs as libg2c.a
|
|
(to avoid conflict), #include's g77's version of f2c.h, named
|
|
g2c.h. That file is, in turn, produced via g77's library
|
|
configuration process from g2c.h.in.
|
|
|
|
By going through this extra "hoop", it is easy to provide for
|
|
libg2c-specific configuration and typedefs that aren't appropriate
|
|
in g2c.h itself (since that is intended to be installed so it can
|
|
be shared with f2c users), without changing the libf2c (libg2c)
|
|
routines themselves. (They continue to #include "f2c.h", just
|
|
like they do in netlib's version.) */
|
|
|
|
#include "g2c.h"
|
|
|
|
/* For GNU Fortran (g77), we always enable the following behaviors for
|
|
libf2c, to make things easy on the programmer. The alternate
|
|
behaviors have their uses, and g77 might provide them as compiler,
|
|
rather than library, options, so only a single copy of a shared libf2c
|
|
need be built for a system. */
|
|
|
|
/* This makes unformatted I/O more consistent in relation to other
|
|
systems. It is not required by the F77 standard. */
|
|
|
|
#define Pad_UDread
|
|
|
|
/* This makes ERR= and IOSTAT= returns work properly in disk-full
|
|
situations, making things work more as expected. It slows things
|
|
down, so g77 will probably someday choose the original implementation
|
|
on a case-by-case basis when it can be shown to not be necessary
|
|
(e.g. no ERR= or IOSTAT=) or when it is given the appropriate
|
|
compile-time option or, perhaps, source-code directive.
|
|
|
|
(No longer defined, since it really slows down NFS access too much.) */
|
|
|
|
/* #define ALWAYS_FLUSH */
|
|
|
|
/* Most Fortran implementations do this, so to make it easier
|
|
to compare the output of g77-compiled programs to those compiled
|
|
by most other compilers, tell libf2c to put leading zeros in
|
|
appropriate places on output. */
|
|
|
|
#define WANT_LEAD_0
|