[prev in list] [next in list] [prev in thread] [next in thread] 

List:       autoconf
Subject:    Re: Problems with linking tests with fortran
From:       Ralf Wildenhues <Ralf.Wildenhues () gmx ! de>
Date:       2005-08-19 15:18:37
Message-ID: 20050819151837.GD23538 () iam ! uni-bonn ! de
[Download RAW message or body]

Hi Laurence,

* L. D. Marks wrote on Mon, Aug 01, 2005 at 11:19:56AM CEST:
> I've run into some problems writing some tests for intrinsics in fortran
> -- there are subtle (annoying) differences between these for different
> systems, so this is exactly what autoconf should be able to handle. It
> looks like some of the autoconf scripts are broken for anything except C
> (maybe C++ is OK) and need some patches. Two examples:

I believe these are all just m4 quoting issues:

> 1) The test
>         AC_LINK_IFELSE( AC_LANG_PROGRAM([],
> [       integer*4 FSEEK,I1,I2,I3
>         i=FSEEK( I1, I2, I3) ]), ....
> 
> does not work as expected since everything after the first FSEEK is
> ignored so I1,I2,I3 are not defined.

Quote the first argument of AC_LINK_IFELSE once, and quote the second
argument to AC_LANG_PROGRAM twice, since it is a literal and does not
contain m4 macros.  Like this:

AC_LINK_IFELSE([AC_LANG_PROGRAM([],
[[      integer*4 FSEEK,I1,I2,I3
      i=FSEEK( I1, I2, I3)
]])], ...)

Read
  info Autoconf "M4 Quotation"
for much more (than you wanted to know) about this topic.

> 2) Getting AC_LIBOBJ to accept a fortran substitution is painful. The only
> method that I've managed to get to work is
> 	foo="foo.f"
> 	AC_LIBSOURCE(foo.f)
> 	AC_LIBOBJ([$foo])
> and ignoring the warning that I should use literals. If you use
> AC_LIBOBJ(foo.f) it looks for foo.f.c! I think AC_LANG "should" define the
> extension so
> 	AC_LANG([Fortran 77])
> 	AC_LIBOBJ(foo)
> will find foo.f (this might require changes in automake/autoheader..)

I don't know whether there is a "nicer" method available, but I believe
the way you do it is ok.

Cheers,
Ralf



[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic