> > 2007-01-22 James Youngman <[EMAIL PROTECTED]> > > > > * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): If AC_PROG_MKDIR_P > > is already provided, call AC_SUBST on MKDIR_P anyway, since > > the version of AC_PROG_MKDIR_P in Autoconf-2.61 (at least) > > doesn't do that.
Actually, this patch had no effect at all. The AC_SUBST was apparently ignored. So I backed it out and added the following instead. Tested with autoconf | 2.59 | 2.60, 2.61 | automake | | | -------------+------+------------+ 1.9, 1.9.6 | OK | OK | -------------+------+------------+ 1.10 | N/A | OK | -------------+------+------------+ With automake-1.9.x, autoconf-2.59, the Makefile looks like this (in the cases where "mkdir -p" works vs. fails): $ grep -i mkdir gllib/Makefile MKDIR_P = $(mkdir_p) mkdir_p = mkdir -p -- $(mkdir_p) "$(distdir)$$dir"; \ $(mkdir_p) sys $ grep -i '\(mkdir\|^install_sh \|sys$\)' gllib/Makefile MKDIR_P = $(mkdir_p) install_sh = /dev/shm/testdir2b/build-aux/install-sh mkdir_p = $(install_sh) -d $(mkdir_p) "$(distdir)$$dir"; \ $(mkdir_p) sys With automake-1.9.x, autoconf >= 2.60, the Makefile looks like this: $ grep -i mkdir gllib/Makefile mkdir_p = mkdir -p -- $(mkdir_p) "$(distdir)$$dir"; \ /packages/gnu/bin/mkdir -p sys $ grep -i '\(mkdir\|^install_sh \|sys$\)' gllib/Makefile install_sh = /dev/shm/testdir3b/build-aux/install-sh mkdir_p = $(install_sh) -d $(mkdir_p) "$(distdir)$$dir"; \ ../build-aux/install-sh -c -d sys With automake-1.10, autoconf >= 2.60, the Makefile looks like this: $ grep -i mkdir gllib/Makefile MKDIR_P = /packages/gnu/bin/mkdir -p mkdir_p = /packages/gnu/bin/mkdir -p */*) $(MKDIR_P) `echo "$$dist_files" | \ /packages/gnu/bin/mkdir -p sys $ grep -i '\(mkdir\|^install_sh \|sys$\)' gllib/Makefile MKDIR_P = ../build-aux/install-sh -c -d install_sh = $(SHELL) /dev/shm/testdir9b/build-aux/install-sh mkdir_p = $(top_builddir)/build-aux/install-sh -c -d */*) $(MKDIR_P) `echo "$$dist_files" | \ ../build-aux/install-sh -c -d sys So, the differences are: - automake < 1.10 does not notice that autoconf >= 2.60 defines a variable MKDIR_P; therefore we use @MKDIR_P@ instead of $(MKDIR_P). - $(install_sh) always has an absolute pathname of the install-sh file. - automake >= 1.10 also places a $(SHELL) into $(install_sh) [good!]. - With autoconf >= 2.60, @MKDIR_P@ has a relative pathname of the install-sh file. - With autoconf >= 2.60, @MKDIR_P@ also passes the option -c to the install-sh script. - Automake >= 1.10 internally uses $(MKDIR_P), whereas automake 1.9.x internally uses $(mkdir_p). 2007-01-22 Bruno Haible <[EMAIL PROTECTED]> * modules/sys_stat (Makefile.am): Use @MKDIR_P@ instead of $(MKDIR_P). * modules/sys_select (Makefile.am): Likewise. * modules/sys_socket (Makefile.am): Likewise. * modules/sys_time (Makefile.am): Likewise. --- modules/sys_select 18 Jan 2007 16:19:13 -0000 1.6 +++ modules/sys_select 22 Jan 2007 22:45:04 -0000 @@ -17,7 +17,7 @@ # We need the following in order to create <sys/select.h> when the system # doesn't have one that works with the given compiler. sys/select.h: - $(MKDIR_P) sys + @MKDIR_P@ sys rm -f [EMAIL PROTECTED] $@ { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \ echo '#include <sys/socket.h>'; \ --- modules/sys_socket 18 Jan 2007 16:19:13 -0000 1.10 +++ modules/sys_socket 22 Jan 2007 22:45:04 -0000 @@ -18,7 +18,7 @@ # We need the following in order to create <sys/socket.h> when the system # doesn't have one that works with the given compiler. sys/socket.h: socket_.h - $(MKDIR_P) sys + @MKDIR_P@ sys { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \ cat $(srcdir)/socket_.h; \ } > [EMAIL PROTECTED] --- modules/sys_stat 18 Jan 2007 16:19:13 -0000 1.11 +++ modules/sys_stat 22 Jan 2007 22:45:04 -0000 @@ -18,7 +18,7 @@ # We need the following in order to create <sys/stat.h> when the system # has one that is incomplete. sys/stat.h: stat_.h - $(MKDIR_P) sys + @MKDIR_P@ sys rm -f [EMAIL PROTECTED] $@ { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \ sed -e 's|@''ABSOLUTE_SYS_STAT_H''@|$(ABSOLUTE_SYS_STAT_H)|g' \ --- modules/sys_time 19 Jan 2007 02:00:37 -0000 1.3 +++ modules/sys_time 22 Jan 2007 22:45:04 -0000 @@ -18,7 +18,7 @@ # We need the following in order to create <sys/time.h> when the system # doesn't have one that works with the given compiler. sys/time.h: sys_time_.h - $(MKDIR_P) sys + @MKDIR_P@ sys rm -f [EMAIL PROTECTED] $@ { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \ sed -e 's/@''HAVE_SYS_TIME_H''@/$(HAVE_SYS_TIME_H)/g' \