[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