autoconf-patches
[Top][All Lists]
Advanced

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

Re: [PATCH] AC_CONFIG_MACRO_DIRS: improve tracing and add sanity checks


From: Nick Bowler
Subject: Re: [PATCH] AC_CONFIG_MACRO_DIRS: improve tracing and add sanity checks
Date: Tue, 13 Nov 2012 09:37:53 -0500
User-agent: Mutt/1.5.21 (2010-09-15)

On 2012-11-12 16:09 -0700, Eric Blake wrote:
> On 11/12/2012 03:41 PM, Nick Bowler wrote:
> > Sorry, I don't understand.  You seem to be claiming that the addition of
> > AC_CONFIG_MACRO_DIRS (an entirely new macro, with documented behaviour)
> > to Autoconf will somehow break the following pattern if we don't also
> > change the definition of AC_CONFIG_MACRO_DIR?
> > 
> >   configure.ac:
> >   AC_CONFIG_MACRO_DIR([foo])
> > 
> >   Makefile.am:
> >   ACLOCAL_AMFLAGS = -I foo
> > 
> > What breaks?  How does it break?  Why will this not continue to work
> 
> For this usage, nothing breaks.  It continues to work as it has done
> (well, new enough automake might start complaining about your use of
> obsolete ACLOCAL_AMFLAGS, but that's not autoconf's fault).  The key is
> that you used AC_CONFIG_MACRO_DIR only once in this example, so it will
> continue to function, because there is no ambiguity.

What I meant is: if we do *not* make any change at all to
AC_CONFIG_MACRO_DIR from its behaviour in Autoconf 2.69, how does
this pattern break?  I hope we can all agree that this is the common
case.  If nothing breaks, then remind me why we need to change
AC_CONFIG_MACRO_DIR at all?

> > exactly as it has in the past if we do not keep AC_CONFIG_MACRO_DIR's
> > definition exactly as it is right now, i.e.:
> > 
> >   AC_DEFUN([AC_CONFIG_MACRO_DIR], [])
> 
> This definition is one way of spelling 'no effect except for use by
> tracing'.  Another way of spelling 'no effect except for use by tracing'
> is the one now in autoconf.git, but where the tracing now goes through
> the AC_CONFIG_MACRO_DIR_TRACE macro, and where we have imposed an
> interaction with the brand-new macro (if you mix the old and new macro,
> then the old macro must be used first, to avoid ambiguity).

Right, but you are changing what gets traced -- and you are making this
change with the intent that the behaviour of other tools will also
change.  And to be clear: this patch does more than what you describe
here.  In addition to the changed tracing, and the restrictions on use
with the new AC_CONFIG_MACRO_DIRS, it also adds additional failure cases
not related to either of these things (described earlier).

Cheers,
-- 
Nick Bowler, Elliptic Technologies (http://www.elliptictech.com/)



reply via email to

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