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


_______________________________________________
Autoconf mailing list
[email protected]
http://lists.gnu.org/mailman/listinfo/autoconf

Reply via email to