Hello everybody, sorry for the delay. On 11/13/2012 11:11 PM, Nick Bowler wrote: > On 2012-11-13 14:59 -0700, Eric Blake wrote: >> On 11/13/2012 02:37 PM, Nick Bowler wrote: >>> [SNIP] >>> 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); > Actually, that is not the case ATM. It might be a useful warning though, so if anyone is willing to write a patch for it, I'll surely take it. Such a patch will obviously have to cater for the situation outlined by Nick above:
We have AC_CONFIG_MACRO_DIR([dir-1]) to shut up libtool, but we have "-I dir-1 -I dir-2" in ACLOCAL_AMFLAGS. and avoid to emit warnings in this case. > but [Automake] will not care if you omit ACLOCAL_AMFLAGS. > Correct. It will indeed be happy if you do :-) > 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. > You are correct in this, since that behaviour is not (yet) implemented. > So this will only be the case if Automake's behaviour has changed in the > interim... > No, it hasn't; but patches are welcome. Thanks, Stefano