Stefano Lattarini wrote: > On 07/09/2012 09:22 AM, Jim Meyering wrote: >> >> Hi Stefano, >> >> I see that @mkdir_p@ is used in gettext's Makefile.in.in template: >> >> # We use $(mkdir_p). >> # In automake <= 1.9.x, $(mkdir_p) is defined either as "mkdir -p --" or as >> # "$(mkinstalldirs)" or as "$(install_sh) -d". For these automake versions, >> # @install_sh@ does not start with $(SHELL), so we add it. >> # In automake >= 1.10, @mkdir_p@ is derived from ${MKDIR_P}, which is >> defined >> # either as "/path/to/mkdir -p" or ".../install-sh -c -d". For these >> automake >> # versions, $(mkinstalldirs) and $(install_sh) are unused. >> mkinstalldirs = $(SHELL) @install_sh@ -d >> install_sh = $(SHELL) @install_sh@ >> MKDIR_P = @MKDIR_P@ >> mkdir_p = @mkdir_p@ >> >> Since that file is copied into many projects, >> I'd recommend to substitute @mkdir_p@, as well. >> > That is simply enough to do if we content ourselves with a substitution > that makes it usable in Makefiles only: > > AC_SUBST([mkdir_p], ['$(MKDIR_P)']) > > See attached patch. OK?
Thanks. That patch looks fine, applied and passed "make check". One wording nit below. > Subject: [PATCH] compat: automake should substitute @mkdir_p@, for backward > compatibility > > That has been unwittingly broken by commit v1.12-19-g7a1eb9f of 2012-04-28, > "AM_PROG_MKDIR_P: deprecate, to be removed in Automake 1.13". We thought it > wasn't a big deal, but Jim Meyering reported that @mkdir_p@ is used in > gettext's Makefile.in.in template: > <http://lists.gnu.org/archive/html/automake/2012-07/msg00014.html> > > * lib/am/header-vars.am (mkdir_p): Don't define. > * m4/init.m4 (AM_INIT_AUTOMAKE): AC_SUBST 'mkdir_p' with $(MKDIR_P). > * t/mkdir_p.sh, t/mkdirp-deprecation.sh: Enhance. > * NEWS: Update. > > Signed-off-by: Stefano Lattarini <stefano.lattar...@gmail.com> > --- > NEWS | 8 ++++---- > lib/am/header-vars.am | 5 ----- > m4/init.m4 | 5 +++++ > t/mkdir_p.sh | 12 ++++++++---- > t/mkdirp-deprecation.sh | 12 ++++++++---- > 5 files changed, 25 insertions(+), 17 deletions(-) > > diff --git a/NEWS b/NEWS > index d38554d..eaab9d1 100644 > --- a/NEWS > +++ b/NEWS > @@ -6,10 +6,10 @@ New in 1.12.2: > long-deprecated 'configure.in' name for the Autoconf input file. > You are advised to use the recommended name 'configure.ac' instead. > > - - The long-obsolete (since automake 1.10) @mkdir_p@ configure-time > - substitution and AM_PROG_MKDIR m4 macro will be removed in Automake > - 1.13. The $(mkdir_p) should still remain available for the moment > - though. > + - The long-obsolete (since automake 1.10) AM_PROG_MKDIR m4 macro will > + be removed in Automake 1.13. The $(mkdir_p) make variable and the > + @mkdir_p@ substitution should still remain available (as aliases of "should" can imply doubt. There is none. s/should still/will/ > + $(MKDIR_P)) for the moment, for better backward compatibility. > > - Autoconf 2.65 or later will be required by the next major Automake > version (1.13). Until now, Automake has required Autoconf version