Was sent by Nelson, but bounced.
----------------------------------------------------------------------
Date: Sun, 3 Jun 2001 12:06:05 -0600 (MDT)
From: "Nelson H. F. Beebe" <[EMAIL PROTECTED]>
To: [EMAIL PROTECTED]
Cc: [EMAIL PROTECTED]
Subject: autoconf-2.50 and Fortran misfeature
This is not a bug report, but rather, a report of a misfeature in
autoconf-2.50 that also existed in previous versions.
I have worked on more than a score of different UNIX platforms over
the last twenty+ years, and with the sole exception of the now-defunct
Ardent, all of their make implementations use(d) FC for the Fortran
compiler, and FFLAGS for its flags. Ardent used F77 and F77FLAGS.
The new autoconf-2.50 release uses F77, rather than FC, and that is
simply wrong. That it hasn't surfaced before is simply a reflection
of the uncommon need to use autoconfiguration with Fortran software,
and also the decreasing (:^)) use of that langauge. Nevertheless, I
am one who does.
Fortran 90 and 95 compilers can handle Fortran 77 source just fine, so
there is no need to make the configure variable reflect a particular
version of the ISO Standard. We certainly don't have CCKR, C89, and
C99: we just use CC.
While one can certainly write in Makefile.in
FC = @F77@
this is confusing to users who must be told that they should write
env F77=f95 ./configure
but
make FC=f95
elsewhere.
I believe that the correct approach to this problem would be simply to
apply "sed -e s/F77/FC/g" on the autoconf source tree, and release it
as autoconf-2.51.
I'll be very happy then to change all my configure.in and Makefile.in
files in my Fortran packages to accommodate this change!
Alternatively, for `backward compatibility', make FC and F77
equivalent. This would entail checking for the definition of either
on startup, and then setting both variables to the same value.
However, I don't believe this is the correct approach, because it
simply prolongs a mistake that should never have been made in the
first place.
For reference, here are simple test files:
% cat configure.in
AC_INIT(Makefile.in)
AC_PROG_F77
AC_OUTPUT(Makefile)
% cat Makefile.in
F77 = @F77@
FC = @FC@
% autoconf
% ./configure
% cat Makefile
F77 = g77
FC = @FC@
I volunteer to serve as a tester of any such change to autoconf
[although I'll be out of town, and computerless, most of June and
August this year.]
-------------------------------------------------------------------------------
- Nelson H. F. Beebe Tel: +1 801 581 5254 -
- Center for Scientific Computing FAX: +1 801 585 1640, +1 801 581 4148 -
- University of Utah Internet e-mail: [EMAIL PROTECTED] -
- Department of Mathematics, 322 INSCC [EMAIL PROTECTED] [EMAIL PROTECTED] -
- 155 S 1400 E RM 233 [EMAIL PROTECTED] -
- Salt Lake City, UT 84112-0090, USA URL: http://www.math.utah.edu/~beebe -
-------------------------------------------------------------------------------