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 17:11:07 -0500
User-agent: Mutt/1.5.21 (2010-09-15)

On 2012-11-13 14:59 -0700, Eric Blake wrote:
> On 11/13/2012 02:37 PM, Nick Bowler wrote:
> > On 2012-11-13 22:37 +0200, Adrian Bunk wrote:
> >> On Tue, Nov 13, 2012 at 02:44:08PM -0500, Nick Bowler wrote:
> >>> On 2012-11-13 20:51 +0200, Adrian Bunk wrote:
> >>>> libtool will access the same information through a new way that has been 
> >>>> implemented by this patch.
> >>>
> >>> But the old way will have to stick around for compatibility with older
> >>> packages that have not been updated to the New Way.  So since we have to
> >>> keep the old way around anyway, why not just continue to use the old way
> >>> for old packages?
> >>> ...
> >>
> >> Wrong.
> >>
> >> libtool does not have to support the old way of manually searching for 
> >> AC_CONFIG_MACRO_DIR in the future, if it requires autoconf >= 2.70 it
> >> can use the new way of tracing AC_CONFIG_MACRO_DIR_TRACE exclusively 
> >> even for old packages.
> > 
> > No, it cannot use AC_CONFIG_MACRO_DIR_TRACE exclusively, since not all
> > packages use AC_CONFIG_MACRO_DIR in the first place!
> 
> You are correct that new libtool and automake cannot rely exclusively on
> the new trace macro, but that's not a problem and doesn't change
> anything we've done in autoconf.
> 
> If AC_CONFIG_MACRO_DIR_TRACE has a trace hit, then autoconf 2.70 is in
> effect.  Either the configure.ac used AC_CONFIG_MACRO_DIR (old-style)
> (and you can assume ACLOCAL_AMFLAGS will exist and match), or it used
> AC_CONFIG_MACRO_DIRS (new-style) (and ACLOACL_AMFLAGS is no longer
> required),

No, these are not the only possibilities if AC_CONFIG_MACRO_DIR_TRACE
appears in the m4 traces.  You have forgotten the case where ACLOCAL_AMFLAGS
contains more than one -I option, and a user used AC_CONFIG_MACRO_DIR to
shut up libtool.  This case was labeled (2) in both of the following:

  - https://lists.gnu.org/archive/html/autoconf-patches/2012-11/msg00057.html
  - https://lists.gnu.org/archive/html/autoconf-patches/2012-11/msg00075.html

> but either way, this is the canonical location to be used.

No, because in the "shut up libtool" case there is an additional
directory to consider that will not be found in the m4 traces.

> Automake 1.13 will error out if ACLOCAL_AMFLAGS exists but does not
> match the trace (thus enforcing that _if_ you use the redundancy, you
> use it correctly); but will not care if you omit ACLOCAL_AMFLAGS.

Then this will represent a regression in Automake in the case where a
configure.ac does not include AC_CONFIG_MACRO_DIR all (for example,
this would regress for at least GNU Gettext and my own packages).  But I
believe you may be mistaken: I personally tested the patch series that
Stefano posted and did not observe the behaviour you describe.  So this
will only be the case if Automake's behaviour has changed in the
interim...

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



reply via email to

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