bug-autoconf
[Top][All Lists]
Advanced

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

Re: CVS Automake fails to make check with CVS Autoconf


From: Ralf Wildenhues
Subject: Re: CVS Automake fails to make check with CVS Autoconf
Date: Sun, 22 Jul 2007 11:06:51 +0200
User-agent: Mutt/1.5.13 (2006-08-11)

Hello Noah, all,

* Noah Misch wrote on Sun, Jun 24, 2007 at 09:35:02PM CEST:
> On Fri, Jun 22, 2007 at 08:40:14PM +0200, Ralf Wildenhues wrote:
> > # Test that AC_SUBST($1) does something sensible.  From Ulrich
> > # Drepper.
> > 
> > It is broken by this recent (and very sensible) patch against Autoconf:
[...]
> Some speculation: macros like AC_CHECK_PROG use `AC_SUBST([$1])'.  `aclocal'
> used to have a home-grown parser for the input files; upon parsing such code, 
> it
> would take the $1 literally, rather than having a macro argument to 
> substitute.
> This test ensured that such constructs did not invalidate the makefile.  In
> modern times, `aclocal' uses `autoconf' to trace the input files.
> 
> Presuming this speculation is accurate, we can change the test to use that 
> sort
> of substitution from a macro definition, which is hopefully how it was always
> used (untested):

Thanks for the suggestion.  I like this as well, the reasoning makes
sense.

> I am skeptical about the second deleted line, because it looks like a 
> different
> usage entirely.  Perhaps this sort of thing worked at one point:
> 
>   for $1 in a b c; do
>     AC_SUBST([$]$1)
>   done

Maybe.  I added some comments about the old version of the test and
applied this to branch-1-10 and HEAD:

Cheers,
Ralf

2007-07-22  Noah Misch  <address@hidden>

        * tests/subst.test: Move the AC_SUBST into a macro definition.
        Avoids an error from CVS Autoconf.
        * THANKS: Update.
        Report by Benoit Sigoure.

Index: tests/subst.test
===================================================================
RCS file: /cvs/automake/automake/tests/subst.test,v
retrieving revision 1.6
diff -u -r1.6 subst.test
--- tests/subst.test    7 Jul 2007 11:23:29 -0000       1.6
+++ tests/subst.test    22 Jul 2007 09:02:50 -0000
@@ -1,5 +1,5 @@
 #! /bin/sh
-# Copyright (C) 1996, 2001, 2002  Free Software Foundation, Inc.
+# Copyright (C) 1996, 2001, 2002, 2007  Free Software Foundation, Inc.
 #
 # This file is part of GNU Automake.
 #
@@ -24,8 +24,14 @@
 . ./defs || exit 1
 
 cat >> configure.in << 'END'
-AC_SUBST($1)
-AC_SUBST([$]$1)  dnl this is the actual invocation that was used
+dnl This test used to have the following lines, which cannot have
+dnl worked sensibly with Autoconf for years, however:
+dnl AC_SUBST($1)
+dnl AC_SUBST([$]$1)  dnl this is the actual invocation that was used
+dnl
+AC_DEFUN([FOO],
+[AC_SUBST([$1])])
+FOO([BAR])
 END
 
 : > Makefile.am




reply via email to

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