autoconf
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

["Nelson H. F. Beebe" <address@hidden>] autoconf-2.50 and Fortran misfea


From: Akim Demaille
Subject: ["Nelson H. F. Beebe" <address@hidden>] autoconf-2.50 and Fortran misfeature
Date: 11 Jun 2001 22:58:28 +0200
User-agent: Gnus/5.0808 (Gnus v5.8.8) XEmacs/21.4 (Copyleft)

Was sent by Nelson, but bounced.

----------------------------------------------------------------------
Date: Sun, 3 Jun 2001 12:06:05 -0600 (MDT)
From: "Nelson H. F. Beebe" <address@hidden>
To: address@hidden
Cc: address@hidden
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: address@hidden  -
- Department of Mathematics, 322 INSCC      address@hidden  address@hidden -
- 155 S 1400 E RM 233                       address@hidden                    -
- Salt Lake City, UT 84112-0090, USA    URL: http://www.math.utah.edu/~beebe  -
-------------------------------------------------------------------------------



reply via email to

[Prev in Thread] Current Thread [Next in Thread]