Hello, * Eric Blake wrote on Thu, Sep 16, 2010 at 10:37:01PM CEST: > + * lib/autoconf/fortran.m4 (_AC_PROG_FC_V): Ignore leading and > + trailing single and double quotes, as a last ditch effort.
> --- i/lib/autoconf/fortran.m4 > +++ w/lib/autoconf/fortran.m4 > @@ -566,6 +566,11 @@ for ac_verb in -v -verbose --verbose -V -\#\#\#; do > _AC_PROG_FC_V_OUTPUT($ac_verb) > # look for -l* and *.a constructs in the output > for ac_arg in $ac_[]_AC_LANG_ABBREV[]_v_output; do > + case $ac_arg in > + [\'\"]* | *[\'\"]) > + ac_sed='s/^['\''"]//;s/['\''"]$//' > + ac_arg=`echo "$ac_arg" | sed "$ac_sed"`;; > + esac > case $ac_arg in > [[\\/]]*.a | ?:[[\\/]]*.a | -[[lLRu]]*) > ac_cv_prog_[]_AC_LANG_ABBREV[]_v=$ac_verb > > Also, if it _does_ fix your issue, does anyone see a huge risk in > applying this before 2.68? I'm glad you didn't need this after all (and thanks for looking into it!), because it's somewhat of a rat's nest. Some compilers' verbose output expects to be eval'ed, and I suppose some other may even be quoted completely inconsistently. With our current sort of testing, it is fairly hard to improve code like this consistently: one would have to have all sorts of compilers and versions on several systems available to even be half-way sure for nontrivial changes. The same holds for some Libtool code. One strategy is to avoid exploiting compiler internals as much as possible and instead demand compiler API for anything we might need (and for GCC, that is probably the best thing in the long run). Another is to collect sample output from compilers and use that to unit-test our macros by feeding it collected samples. That way at least we can be reasonably sure to not regress for one compiler by changing things to work for another. Cheers, Ralf