Re: AC_FC_LIBRARY_LDFLAGS

From:

Ralf Wildenhues

Subject:

Re: AC_FC_LIBRARY_LDFLAGS

Date:

Sat, 3 Dec 2005 12:22:38 +0100

User-agent:

Mutt/1.5.11

* Christopher Hulbert wrote on Fri, Dec 02, 2005 at 07:12:02PM CET:
> I couldn't find any other solution to this, but when getting the
> library flags of pgf90 with -Mconcur or -Mipa (Runs pgipa) there is an
> empty -l in an ignore string pasted below. This messes up the FCLIBS
> later and makes the compiler complain because it lumps the next
> argument as the library name. Also, I have had libraries have the ending
> quote attached as in -lacml_mv'.
>
> /usr/local/pgi/linux86-64/6.0/bin/pgipa -v -finalo conftest -ignore
> '-Mextract -L -I -Mkeepasm -Mpreprocess -l -Minline' -nop .....
There have been fixes for the Portland compilers added in CVS Autoconf.
Please try it together with the patch below. If that does not work,
please post the part of config.log that starts with something like
| checking how to get verbose linking output from pgf95
and ends after(!) the result of the test
| checking for Fortran libraries of pgf95
Please don't post the whole config.log, please do not munge the contents
in any way (i.e., copy and paste, if your mailer does not wrap long
lines, else attach, don't just post an "interpreted" version ). Please
keep in mind that you should always post the exact findings, in addition
to any interpretations. If you would like to suggest a change to
Autoconf, it's best to post a unified diff, as shown below. Such can be
created with
diff -u lib/autoconf/fortran.m4.orig lib/autoconf/fortran.m4
for example, or with `cvs diff -u'.
Note that most likely it will need further changes to Automake/Libtool
to make inter-procedural optimization work in nontrivial cases.
Cheers,
Ralf
* lib/autoconf/fortran.m4 (_AC_FC_LIBRARY_LDFLAGS): Ignore
singly- or doubly-quoted arguments to `-cmdline', `-ignore',
`-def', for the benefit of Portland `pgf90 -Mipa'.
Reported by Christopher Hulbert <address@hidden>.
Index: lib/autoconf/fortran.m4
===================================================================
RCS file: /cvsroot/autoconf/autoconf/lib/autoconf/fortran.m4,v
retrieving revision 1.198
diff -u -r1.198 fortran.m4
--- lib/autoconf/fortran.m4 27 Oct 2005 06:16:04 -0000 1.198
+++ lib/autoconf/fortran.m4 3 Dec 2005 10:59:47 -0000
@@ -558,10 +558,11 @@
# Portland Group compiler has singly- or doubly-quoted -cmdline argument
# Singly-quoted arguments were reported for versions 5.2-4 and 6.0-4.
# Doubly-quoted arguments were reported for "PGF90/x86 Linux/x86 5.0-2".
- *-cmdline\ \'*)
- ac_[]_AC_LANG_ABBREV[]_v_output=`echo $ac_[]_AC_LANG_ABBREV[]_v_output |
sed "s/-cmdline *'[[^']]*'/ /g"` ;;
- *-cmdline*)
- ac_[]_AC_LANG_ABBREV[]_v_output=`echo $ac_[]_AC_LANG_ABBREV[]_v_output |
sed 's/-cmdline *"[[^"]]*"/ /g'` ;;
+ *-cmdline\ * | *-ignore\ * | *-def\ *)
+ ac_[]_AC_LANG_ABBREV[]_v_output=`echo $ac_[]_AC_LANG_ABBREV[]_v_output |
sed "\
+ s/-cmdline *'[[^']]*'/ /g; s/-cmdline *\"[[^\"]]*\"/ /g
+ s/-ignore *'[[^']]*'/ /g; s/-ignore *\"[[^\"]]*\"/ /g
+ s/-def *'[[^']]*'/ /g; s/-def *\"[[^\"]]*\"/ /g"` ;;
# If we are using Cray Fortran then delete quotes.
*cft90*)