autoconf
[Top][All Lists]
Advanced

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

Re: warning from AC_LANG_PROGRAM(Fortran 77)


From: Stepan Kasal
Subject: Re: warning from AC_LANG_PROGRAM(Fortran 77)
Date: Wed, 2 Mar 2005 08:57:46 +0100
User-agent: Mutt/1.4.1i

Hello,

On Wed, Mar 02, 2005 at 12:41:51AM -0500, John W. Eaton wrote:
> | AC_LANG_PUSH(Fortran 77)
> | AC_TRY_LINK([],[],[])
> | AC_LANG_POP(Fortran 77)
...
> | devzero:449> autoconf foo.in > foo.out
> | foo.in:4: warning: AC_LANG_PROGRAM(Fortran): ignoring PROLOGUE: []
> | autoconf/lang.m4:224: AC_LANG_SOURCE is expanded from...

> | The INCLUDES argument ($1) of AC_TRY_LINK is empty, so I don't think I

Yes, but because AC_TRY_LINK double-quotes it's argument, it becomes "[]",
ie. a nonempty argument consisting of a pair of quotes.  This pair of
quotes is removed only at the end of the expansion.

>  m4_define([AC_LANG_PROGRAM(Fortran 77)],
> -[m4_ifval([$1],
> +[m4_ifval($1,
>         [m4_warn([syntax], [$0: ignoring PROLOGUE: $1])])dnl

No, this is wrong solution.  You could use

m4_if([$1], [], [],
      [$1], [[]], [],
      [m4_warn([syntax], [$0: ignoring PROLOGUE: $1])])dnl

to catch both cases.  Bot that's not the way to go.

The root of all evil is the obsolete AC_TRY_LINK macro.
Use the newer macros, which don't double-quote:

AC_LINK_IFELSE([AC_LANG_PROGRAM([], [])],
               [ACTION-IF-TRUE], [ACTION-IF-FALSE])

HTH,
        Stepan Kasal




reply via email to

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