On Tue, Nov 25, 2014 at 23:08:41 -0800, Rik wrote:
I think the best solution may be an explicit check for g77 and
issuing an
error message if it is selected.
How about a version check instead? The g77 program only exists for gcc
< 4. Add a check for GFORTRAN_VERSION, and if it is a GNU compiler and
the version is less than 4, issue an error? That seems more robust
than checking for the name being g77.
I was concerned about the brittleness of the sed solution, and
accidentally
found that it is not robust. The prologue which replaces g77 with
gfortran
is run at the end of the bootstrap sequence. However, if the time
stamp on
configure.ac is modified, then the existing Makefiles take care of
re-running aclocal, automake, and autoconf. They do not run any
bootstrap
epilogue so the effect is to re-instate the default AC_PROG_F77 macro
from
autoconf which has g77 listed first. If you are a developer,
adjusting the
time stamp can happen whenever you do an 'hg update' where there has
been a
change in configure.ac. This is important because 'make dist'
packages up
the configure script that it finds into the tarball. If one isn't
aware of
this oddity then the wrong configure script can be exported to
everyone. I
checked the tarballs for versions 3.8.2, 3.8.1, 3.8.0, and 3.6.4 and
they,
at least, are clean.
Agreed, that could happen. So are you proposing to delete
bootstrap_epilogue, and we say that an error check at configure-time
for g77 (or less than version 4) is enough to avoid the original
problem this was meant to solve? That sounds like a decent compromise
to me, especially now that systems with g77 are increasingly rare.