On 01/14/2013 10:50 PM, Stefano Lattarini wrote: > OK, this is getting ridiculous, but we cannot remove this macro yet > (and, yes, the fault for this mess lies entirely on me; let's not > dwell on that, thank you very much). > > Gettext (so far the greatest "offender" in the use of AM_PROG_MKDIR), in > its latest release 0.18.2, has removed all the uses of that macro still > present in its code base. So I thought we could finally and safely > remove it. Wrong. If a package's 'configure.ac' contains a call like: > > AM_GNU_GETTEXT_VERSION([0.18]) > > then the 'autopoint' script will bring the data files from the Gettext > release *1.18* into the package's tree -- yes, even even if the developer > has installed *and is using* Gettext 1.18.2! Now, these data files > comprise m4 files (that will be seen by subsequent aclocal and autoconf > calls), and of course, the pre-0.18.2 version of some of these files > still contains occurrences of AM_PROG_MKDIR_P -- so Automake 1.13 errors > out, and we lose. This has already happened in practice: > > <http://lists.gnu.org/archive/html/bug-grep/2013-01/msg00003.html> > > Moreover, while we might see it as not unreasonable to ask a developer > using Automake 1.13 to also update Gettext 1.18.2, that would not > be enough; in order for gettext to use the correct data files, our > developer would have to update his configure.ac to read: > > AM_GNU_GETTEXT_VERSION([0.18.2]) > > thus requiring *all* of his co-developers to install Gettext 1.18.2, > even if they are still using, say, Automake 1.12.6. Bad. > > So we re-instate this macro as a simple alias for AC_PROG_MKDIR (plus > a non-fatal runtime warning in the 'obsolete' category), and drop any > plan to remove it (see how much good those plans have done us so far). > > Note that NEWS is not yet adjusted, since we'll have to adjust it in > maint before (to minimize spurious merge conflicts). > > * doc/automake.texi: Update. > * PLANS/obsolete-removed/am-prog-mkdir-p.txt: Likewise. > * t/gettext-macros.sh: Adjust. > * t/am-prog-mkdir-p.sh: New test. > * t/mkdir_p.sh: Remove, folded into the new one. > * t/am-prog-mkdir-p-no-more: Remove as superseded. > * t/list-of-tests.mk: Adjust. > * t/obsolete-err.m4: Re-instate AM_PROG_MKDIR_P as a working > alias for AC_PROG_MKDIR_P (albeit giving runtime warnings, and > calling AC_SUBST on 'mkdir_p' too). > * m4/init.m4 (AM_INIT_AUTOMAKE): No longer call AC_SUBST for > 'mkdir_p', as that is once again AM_PROG_MKDIR_P's business. > Pushed now.
Regards, Stefano