From: Alexandre Duret-Lutz Date: Mon, 10 Nov 2003 20:55:33 +0000 (+0000) Subject: * automake.in (handle_configure): Distribute and define mkinstalldirs X-Git-Tag: Release-1-7b~9 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=2a8e1b17f3bcaebd8dc6fb2646b2c7b5398a0654;p=thirdparty%2Fautomake.git * automake.in (handle_configure): Distribute and define mkinstalldirs only if it is already present in the package. (scan_autoconf_files): Do not require mkinstalldirs. (require_build_directory): Use $(mkdir_p), not $(mkinstalldirs). * lib/am/data.am, lib/am/distdir.am, lib/am/install.am, lib/am/java.am, lib/am/libs.am, lib/am/lisp.am, lib/am/mans.am, lib/am/progs.am, lib/am/python.am, lib/am/scripts.am, lib/am/texinfos.am: Use $(mkdir_p) instead of $(mkinstalldirs). * m4/mkdirp.m4: New file. * m4/Makefile.am (dist_m4data_DATA): Add mkdirp.m4. * m4/init.m4 (AM_INIT_AUTOMAKE): Call AM_PROG_MKDIR_P. * tests/Makefile.am (TESTS): Remove insh.test. * tests/insh.test: Delete. * tests/defs.in, tests/instsh.test: Do not install mkinstalldirs. * tests/auxdir.test: Install mkinstalldirs. * tests/distdir.test, tests/instman.test, tests/pr2.test: Use $(mkdir_p), not $(mkinstalldirs). * tests/empty.test: Run configure, do not substitute things by hand. * doc/automake.texi (Optional) : Take install-sh as an example, not mkinstalldirs. (Auxiliary Programs) : Update. --- diff --git a/ChangeLog b/ChangeLog index a01a195f0..77df86bb8 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,27 @@ 2003-11-10 Alexandre Duret-Lutz + * automake.in (handle_configure): Distribute and define mkinstalldirs + only if it is already present in the package. + (scan_autoconf_files): Do not require mkinstalldirs. + (require_build_directory): Use $(mkdir_p), not $(mkinstalldirs). + * lib/am/data.am, lib/am/distdir.am, lib/am/install.am, + lib/am/java.am, lib/am/libs.am, lib/am/lisp.am, lib/am/mans.am, + lib/am/progs.am, lib/am/python.am, lib/am/scripts.am, + lib/am/texinfos.am: Use $(mkdir_p) instead of $(mkinstalldirs). + * m4/mkdirp.m4: New file. + * m4/Makefile.am (dist_m4data_DATA): Add mkdirp.m4. + * m4/init.m4 (AM_INIT_AUTOMAKE): Call AM_PROG_MKDIR_P. + * tests/Makefile.am (TESTS): Remove insh.test. + * tests/insh.test: Delete. + * tests/defs.in, tests/instsh.test: Do not install mkinstalldirs. + * tests/auxdir.test: Install mkinstalldirs. + * tests/distdir.test, tests/instman.test, tests/pr2.test: Use + $(mkdir_p), not $(mkinstalldirs). + * tests/empty.test: Run configure, do not substitute things by hand. + * doc/automake.texi (Optional) : Take install-sh + as an example, not mkinstalldirs. + (Auxiliary Programs) : Update. + * tests/defs.in: Handle required=bzip2. * tests/defs.in: Export SHELL. diff --git a/Makefile.in b/Makefile.in index 951d3bc1b..13b8b1c4c 100644 --- a/Makefile.in +++ b/Makefile.in @@ -42,9 +42,10 @@ ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/m4/amversion.m4 \ $(top_srcdir)/m4/auxdir.m4 $(top_srcdir)/m4/init.m4 \ $(top_srcdir)/m4/install-sh.m4 $(top_srcdir)/m4/lead-dot.m4 \ - $(top_srcdir)/m4/missing.m4 $(top_srcdir)/m4/options.m4 \ - $(top_srcdir)/m4/runlog.m4 $(top_srcdir)/m4/sanity.m4 \ - $(top_srcdir)/m4/strip.m4 $(top_srcdir)/configure.ac + $(top_srcdir)/m4/missing.m4 $(top_srcdir)/m4/mkdirp.m4 \ + $(top_srcdir)/m4/options.m4 $(top_srcdir)/m4/runlog.m4 \ + $(top_srcdir)/m4/sanity.m4 $(top_srcdir)/m4/strip.m4 \ + $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \ @@ -131,6 +132,7 @@ libdir = @libdir@ libexecdir = @libexecdir@ localstatedir = @localstatedir@ mandir = @mandir@ +mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pkgvdatadir = @pkgvdatadir@ prefix = @prefix@ @@ -200,7 +202,7 @@ $(ACLOCAL_M4): $(am__aclocal_m4_deps) cd $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS) install-binSCRIPTS: $(bin_SCRIPTS) @$(NORMAL_INSTALL) - $(mkinstalldirs) $(DESTDIR)$(bindir) + $(mkdir_p) $(DESTDIR)$(bindir) @list='$(bin_SCRIPTS)'; for p in $$list; do \ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ if test -f $$d$$p; then \ @@ -338,7 +340,7 @@ distclean-tags: distdir: $(DISTFILES) $(am__remove_distdir) mkdir $(distdir) - $(mkinstalldirs) $(distdir)/m4 $(distdir)/tests + $(mkdir_p) $(distdir)/m4 $(distdir)/tests @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \ list='$(DISTFILES)'; for file in $$list; do \ @@ -350,7 +352,7 @@ distdir: $(DISTFILES) dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ if test "$$dir" != "$$file" && test "$$dir" != "."; then \ dir="/$$dir"; \ - $(mkinstalldirs) "$(distdir)$$dir"; \ + $(mkdir_p) "$(distdir)$$dir"; \ else \ dir=''; \ fi; \ @@ -443,7 +445,7 @@ distcheck: dist distuninstallcheck \ && chmod -R a-w "$$dc_install_base" \ && ({ \ - (cd ../.. && $(mkinstalldirs) "$$dc_destdir") \ + (cd ../.. && $(mkdir_p) "$$dc_destdir") \ && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" install \ && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" uninstall \ && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" \ @@ -480,7 +482,7 @@ check: check-recursive all-am: Makefile $(SCRIPTS) installdirs: installdirs-recursive installdirs-am: - $(mkinstalldirs) $(DESTDIR)$(bindir) + $(mkdir_p) $(DESTDIR)$(bindir) install: install-recursive install-exec: install-exec-recursive install-data: install-data-recursive diff --git a/NEWS b/NEWS index 571abaebe..1944ccce9 100644 --- a/NEWS +++ b/NEWS @@ -110,8 +110,25 @@ New in 1.7a: files even if emacs is not installed, while *_LISP do not install anything unless emacs is found. + - Makefiles will prefer `mkdir -p' over mkinstalldirs if it is + available. This selection is achieved through the Makefile + variable $(mkdir_p) that is set by AM_INIT_AUTOMAKE to either + `mkdir -m 0755 -p --', `$(mkinstalldirs) -m 0755', or + `$(install_sh) -m 0755 -d'. + * Obsolete features + - Because `mkdir -p' is available on most platforms, and we can use + `install-sh -d' when it is not, the use of the mkinstalldirs + script is deprecated. `automake --add-missing' no longer installs + it, and if you remove mkinstalldirs from your package, automake + will define $(mkinstalldirs) as an alias for $(mkdir_p). + + Gettext 1.12.1 still require mkinstalldirs. Fortunately + gettextize and autopoint will install it when needed. Automake + will continue to define the $(mkinstalldirs) and distribute + mkinstalldirs when this script is in the source tree. + - AM_PROG_CC_STDC is now empty. The content of this macro was merged in AC_PROG_CC. If your code uses $am_cv_prog_cc_stdc, you should adjust it to use $ac_cv_prog_cc_stdc instead. (This diff --git a/aclocal.m4 b/aclocal.m4 index b9a04941c..d29f3437b 100644 --- a/aclocal.m4 +++ b/aclocal.m4 @@ -17,6 +17,7 @@ m4_include([m4/init.m4]) m4_include([m4/install-sh.m4]) m4_include([m4/lead-dot.m4]) m4_include([m4/missing.m4]) +m4_include([m4/mkdirp.m4]) m4_include([m4/options.m4]) m4_include([m4/runlog.m4]) m4_include([m4/sanity.m4]) diff --git a/automake.in b/automake.in index c26777a03..f53a044e5 100755 --- a/automake.in +++ b/automake.in @@ -3616,10 +3616,22 @@ sub handle_configure ($$$@) FILES => "@distclean_config") if @distclean_config; - # Set location of mkinstalldirs. - define_variable ('mkinstalldirs', - '$(SHELL) ' . $config_aux_dir . '/mkinstalldirs', - INTERNAL); + # Distribute and define mkinstalldirs only if it is already present + # in the package, for backward compatibility (some people my still + # use $(mkinstalldirs)). + my $mkidpath = $config_aux_path[0] . '/mkinstalldirs'; + if (-f $mkidpath) + { + # Use require_file so that any existingscript gets updated + # by --force-missing. + require_conf_file ($mkidpath, FOREIGN, 'mkinstalldirs'); + define_variable ('mkinstalldirs', + "\$(SHELL) $config_aux_dir/mkinstalldirs", INTERNAL); + } + else + { + define_variable ('mkinstalldirs', '$(mkdir_p)', INTERNAL); + } reject_var ('CONFIG_HEADER', "`CONFIG_HEADER' is an anachronism; now determined " @@ -4613,8 +4625,7 @@ sub scan_autoconf_files () # FIXME: Is this broken because it needs dynamic scopes. # My tests seems to show it's not the case. $relative_dir = '.'; - require_conf_file ($configure_ac, FOREIGN, - 'install-sh', 'mkinstalldirs', 'missing'); + require_conf_file ($configure_ac, FOREIGN, 'install-sh', 'missing'); err_am "`install.sh' is an anachronism; use `install-sh' instead" if -f $config_aux_path[0] . '/install.sh'; @@ -6608,7 +6619,7 @@ sub require_build_directory ($) $clean_files{$dirstamp} = DIST_CLEAN; $output_rules .= ("$dirstamp:\n" - . "\t\@\$(mkinstalldirs) $directory\n" + . "\t\@\$(mkdir_p) $directory\n" . "\t\@: > $dirstamp\n"); } diff --git a/configure b/configure index f94728fe7..c9d95624d 100755 --- a/configure +++ b/configure @@ -1,6 +1,6 @@ #! /bin/sh # Guess values for system-dependent variables and create Makefiles. -# Generated by GNU Autoconf 2.58a for GNU Automake 1.7a. +# Generated by GNU Autoconf 2.59 for GNU Automake 1.7a. # # Report bugs to . # @@ -274,7 +274,7 @@ PACKAGE_STRING='GNU Automake 1.7a' PACKAGE_BUGREPORT='bug-automake@gnu.org' ac_unique_file="automake.in" -ac_subst_vars='SHELL PATH_SEPARATOR PACKAGE_NAME PACKAGE_TARNAME PACKAGE_VERSION PACKAGE_STRING PACKAGE_BUGREPORT exec_prefix prefix program_transform_name bindir sbindir libexecdir datadir sysconfdir sharedstatedir localstatedir libdir includedir oldincludedir infodir mandir build_alias host_alias target_alias DEFS ECHO_C ECHO_N ECHO_T LIBS build build_cpu build_vendor build_os INSTALL_PROGRAM INSTALL_SCRIPT INSTALL_DATA CYGPATH_W PACKAGE VERSION ACLOCAL AUTOCONF AUTOMAKE AUTOHEADER MAKEINFO AMTAR install_sh STRIP ac_ct_STRIP INSTALL_STRIP_PROGRAM AWK SET_MAKE am__leading_dot APIVERSION pkgvdatadir PERL TEX LN MODIFICATION_DELAY EGREP FGREP LIBOBJS LTLIBOBJS' +ac_subst_vars='SHELL PATH_SEPARATOR PACKAGE_NAME PACKAGE_TARNAME PACKAGE_VERSION PACKAGE_STRING PACKAGE_BUGREPORT exec_prefix prefix program_transform_name bindir sbindir libexecdir datadir sysconfdir sharedstatedir localstatedir libdir includedir oldincludedir infodir mandir build_alias host_alias target_alias DEFS ECHO_C ECHO_N ECHO_T LIBS build build_cpu build_vendor build_os INSTALL_PROGRAM INSTALL_SCRIPT INSTALL_DATA CYGPATH_W PACKAGE VERSION ACLOCAL AUTOCONF AUTOMAKE AUTOHEADER MAKEINFO AMTAR install_sh STRIP ac_ct_STRIP INSTALL_STRIP_PROGRAM mkdir_p AWK SET_MAKE am__leading_dot APIVERSION pkgvdatadir PERL TEX LN MODIFICATION_DELAY EGREP FGREP LIBOBJS LTLIBOBJS' ac_subst_files='' # Initialize some variables set by options. @@ -889,7 +889,7 @@ test -n "$ac_init_help" && exit 0 if $ac_init_version; then cat <<\_ACEOF GNU Automake configure 1.7a -generated by GNU Autoconf 2.58a +generated by GNU Autoconf 2.59 Copyright (C) 2003 Free Software Foundation, Inc. This configure script is free software; the Free Software Foundation @@ -903,7 +903,7 @@ This file contains any messages produced by compilers while running configure, to aid debugging if configure makes a mistake. It was created by GNU Automake $as_me 1.7a, which was -generated by GNU Autoconf 2.58a. Invocation command line was +generated by GNU Autoconf 2.59. Invocation command line was $ $0 $@ @@ -1455,6 +1455,25 @@ else echo "$as_me: WARNING: \`missing' script is too old or missing" >&2;} fi +if mkdir -m 0755 -p -- . 2>/dev/null; then + mkdir_p='mkdir -m 0755 -p --' +else + # On NextStep and OpenStep, the `mkdir' command does not + # recognize any option. It will interpret all options as + # directories to create, and then abort because `.' already + # exists. + for d in ./-m ./0755 ./-p ./--; + do + test -d $d && rmdir $d + done + # $(mkinstalldirs) is defined by Automake if mkinstalldirs exists. + if test -f "$am_aux_dir/mkinstalldirs"; then + mkdir_p='$(mkinstalldirs) -m 0755' + else + mkdir_p='$(install_sh) -m 0755 -d' + fi +fi + for ac_prog in gawk mawk nawk awk do # Extract the first word of "$ac_prog", so it can be a program name with args. @@ -2274,7 +2293,7 @@ _ASBOX cat >&5 <<_CSEOF This file was extended by GNU Automake $as_me 1.7a, which was -generated by GNU Autoconf 2.58a. Invocation command line was +generated by GNU Autoconf 2.59. Invocation command line was CONFIG_FILES = $CONFIG_FILES CONFIG_HEADERS = $CONFIG_HEADERS @@ -2329,7 +2348,7 @@ _ACEOF cat >>$CONFIG_STATUS <<_ACEOF ac_cs_version="\\ GNU Automake config.status 1.7a -configured by $0, generated by GNU Autoconf 2.58a, +configured by $0, generated by GNU Autoconf 2.59, with options \\"`echo "$ac_configure_args" | sed 's/[\\""\`\$]/\\\\&/g'`\\" Copyright (C) 2003 Free Software Foundation, Inc. @@ -2552,6 +2571,7 @@ s,@install_sh@,$install_sh,;t t s,@STRIP@,$STRIP,;t t s,@ac_ct_STRIP@,$ac_ct_STRIP,;t t s,@INSTALL_STRIP_PROGRAM@,$INSTALL_STRIP_PROGRAM,;t t +s,@mkdir_p@,$mkdir_p,;t t s,@AWK@,$AWK,;t t s,@SET_MAKE@,$SET_MAKE,;t t s,@am__leading_dot@,$am__leading_dot,;t t diff --git a/doc/Makefile.in b/doc/Makefile.in index bf358a50c..ba81d6f04 100644 --- a/doc/Makefile.in +++ b/doc/Makefile.in @@ -38,9 +38,10 @@ ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/m4/amversion.m4 \ $(top_srcdir)/m4/auxdir.m4 $(top_srcdir)/m4/init.m4 \ $(top_srcdir)/m4/install-sh.m4 $(top_srcdir)/m4/lead-dot.m4 \ - $(top_srcdir)/m4/missing.m4 $(top_srcdir)/m4/options.m4 \ - $(top_srcdir)/m4/runlog.m4 $(top_srcdir)/m4/sanity.m4 \ - $(top_srcdir)/m4/strip.m4 $(top_srcdir)/configure.ac + $(top_srcdir)/m4/missing.m4 $(top_srcdir)/m4/mkdirp.m4 \ + $(top_srcdir)/m4/options.m4 $(top_srcdir)/m4/runlog.m4 \ + $(top_srcdir)/m4/sanity.m4 $(top_srcdir)/m4/strip.m4 \ + $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) DIST_COMMON = $(automake_TEXINFOS) $(srcdir)/Makefile.in \ @@ -119,6 +120,7 @@ libdir = @libdir@ libexecdir = @libexecdir@ localstatedir = @localstatedir@ mandir = @mandir@ +mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pkgvdatadir = @pkgvdatadir@ prefix = @prefix@ @@ -342,7 +344,7 @@ distdir: $(DISTFILES) dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ if test "$$dir" != "$$file" && test "$$dir" != "."; then \ dir="/$$dir"; \ - $(mkinstalldirs) "$(distdir)$$dir"; \ + $(mkdir_p) "$(distdir)$$dir"; \ else \ dir=''; \ fi; \ @@ -364,7 +366,7 @@ check-am: all-am check: check-am all-am: Makefile $(INFO_DEPS) installdirs: - $(mkinstalldirs) $(DESTDIR)$(infodir) + $(mkdir_p) $(DESTDIR)$(infodir) install: install-am install-exec: install-exec-am install-data: install-data-am @@ -417,7 +419,7 @@ install-info: install-info-am install-info-am: $(INFO_DEPS) @$(NORMAL_INSTALL) - $(mkinstalldirs) $(DESTDIR)$(infodir) + $(mkdir_p) $(DESTDIR)$(infodir) @list='$(INFO_DEPS)'; \ for file in $$list; do \ if test -f $$file; then d=.; else d=$(srcdir); fi; \ diff --git a/doc/automake.texi b/doc/automake.texi index d2faf485d..f5571a75d 100644 --- a/doc/automake.texi +++ b/doc/automake.texi @@ -567,7 +567,14 @@ prints an informative warning and attempts to fix things so that the build can continue. @item mkinstalldirs -This works around the fact that @code{mkdir -p} is not portable. +This script used to be a wrapper around @code{mkdir -p}, which is not +portable. Now we use prefer to use @code{install-sh -d} when configure +finds that @code{mkdir -p} does not work, this makes one less script to +distribute. + +For backward compatibility @code{mkinstalldirs} is still used and +distributed when @code{automake} finds it in a package. But it is no +longer installed automatically, and it should be safe to remove it. @item py-compile This is used to byte-compile Python scripts. @@ -1159,8 +1166,8 @@ Automake will generate rules to remove @file{configure} generated links on @item AC_CONFIG_AUX_DIR Automake will look for various helper scripts, such as -@file{mkinstalldirs}, in the directory named in this macro invocation. -@c This list is accurate relative to version 1.7.2 +@file{install-sh}, in the directory named in this macro invocation. +@c This list is accurate relative to version 1.8 (The full list of scripts is: @file{config.guess}, @file{config.sub}, @file{depcomp}, @file{elisp-comp}, @file{compile}, @file{install-sh}, @file{ltmain.sh}, @file{mdate-sh}, @file{missing}, @file{mkinstalldirs}, diff --git a/doc/stamp-vti b/doc/stamp-vti index d4d7f6f9c..fbcd5b024 100644 --- a/doc/stamp-vti +++ b/doc/stamp-vti @@ -1,4 +1,4 @@ -@set UPDATED 9 November 2003 +@set UPDATED 10 November 2003 @set UPDATED-MONTH November 2003 @set EDITION 1.7a @set VERSION 1.7a diff --git a/doc/version.texi b/doc/version.texi index d4d7f6f9c..fbcd5b024 100644 --- a/doc/version.texi +++ b/doc/version.texi @@ -1,4 +1,4 @@ -@set UPDATED 9 November 2003 +@set UPDATED 10 November 2003 @set UPDATED-MONTH November 2003 @set EDITION 1.7a @set VERSION 1.7a diff --git a/lib/Automake/Makefile.in b/lib/Automake/Makefile.in index 9e94c335e..7dd291691 100644 --- a/lib/Automake/Makefile.in +++ b/lib/Automake/Makefile.in @@ -39,9 +39,10 @@ ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/m4/amversion.m4 \ $(top_srcdir)/m4/auxdir.m4 $(top_srcdir)/m4/init.m4 \ $(top_srcdir)/m4/install-sh.m4 $(top_srcdir)/m4/lead-dot.m4 \ - $(top_srcdir)/m4/missing.m4 $(top_srcdir)/m4/options.m4 \ - $(top_srcdir)/m4/runlog.m4 $(top_srcdir)/m4/sanity.m4 \ - $(top_srcdir)/m4/strip.m4 $(top_srcdir)/configure.ac + $(top_srcdir)/m4/missing.m4 $(top_srcdir)/m4/mkdirp.m4 \ + $(top_srcdir)/m4/options.m4 $(top_srcdir)/m4/runlog.m4 \ + $(top_srcdir)/m4/sanity.m4 $(top_srcdir)/m4/strip.m4 \ + $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) DIST_COMMON = $(dist_perllib_DATA) $(srcdir)/Makefile.in Makefile.am @@ -118,6 +119,7 @@ libdir = @libdir@ libexecdir = @libexecdir@ localstatedir = @localstatedir@ mandir = @mandir@ +mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pkgvdatadir = @pkgvdatadir@ prefix = @prefix@ @@ -195,7 +197,7 @@ $(ACLOCAL_M4): $(am__aclocal_m4_deps) uninstall-info-am: install-dist_perllibDATA: $(dist_perllib_DATA) @$(NORMAL_INSTALL) - $(mkinstalldirs) $(DESTDIR)$(perllibdir) + $(mkdir_p) $(DESTDIR)$(perllibdir) @list='$(dist_perllib_DATA)'; for p in $$list; do \ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ f="`echo $$p | sed -e 's|^.*/||'`"; \ @@ -212,7 +214,7 @@ uninstall-dist_perllibDATA: done install-nodist_perllibDATA: $(nodist_perllib_DATA) @$(NORMAL_INSTALL) - $(mkinstalldirs) $(DESTDIR)$(perllibdir) + $(mkdir_p) $(DESTDIR)$(perllibdir) @list='$(nodist_perllib_DATA)'; for p in $$list; do \ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ f="`echo $$p | sed -e 's|^.*/||'`"; \ @@ -356,7 +358,7 @@ distdir: $(DISTFILES) dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ if test "$$dir" != "$$file" && test "$$dir" != "."; then \ dir="/$$dir"; \ - $(mkinstalldirs) "$(distdir)$$dir"; \ + $(mkdir_p) "$(distdir)$$dir"; \ else \ dir=''; \ fi; \ @@ -389,7 +391,7 @@ check: check-recursive all-am: Makefile $(DATA) installdirs: installdirs-recursive installdirs-am: - $(mkinstalldirs) $(DESTDIR)$(perllibdir) $(DESTDIR)$(perllibdir) + $(mkdir_p) $(DESTDIR)$(perllibdir) $(DESTDIR)$(perllibdir) install: install-recursive install-exec: install-exec-recursive install-data: install-data-recursive diff --git a/lib/Automake/tests/Makefile.in b/lib/Automake/tests/Makefile.in index 314fc5d75..2c58be17c 100644 --- a/lib/Automake/tests/Makefile.in +++ b/lib/Automake/tests/Makefile.in @@ -38,9 +38,10 @@ ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/m4/amversion.m4 \ $(top_srcdir)/m4/auxdir.m4 $(top_srcdir)/m4/init.m4 \ $(top_srcdir)/m4/install-sh.m4 $(top_srcdir)/m4/lead-dot.m4 \ - $(top_srcdir)/m4/missing.m4 $(top_srcdir)/m4/options.m4 \ - $(top_srcdir)/m4/runlog.m4 $(top_srcdir)/m4/sanity.m4 \ - $(top_srcdir)/m4/strip.m4 $(top_srcdir)/configure.ac + $(top_srcdir)/m4/missing.m4 $(top_srcdir)/m4/mkdirp.m4 \ + $(top_srcdir)/m4/options.m4 $(top_srcdir)/m4/runlog.m4 \ + $(top_srcdir)/m4/sanity.m4 $(top_srcdir)/m4/strip.m4 \ + $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) DIST_COMMON = $(srcdir)/Makefile.in Makefile.am @@ -104,6 +105,7 @@ libdir = @libdir@ libexecdir = @libexecdir@ localstatedir = @localstatedir@ mandir = @mandir@ +mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pkgvdatadir = @pkgvdatadir@ prefix = @prefix@ @@ -244,7 +246,7 @@ distdir: $(DISTFILES) dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ if test "$$dir" != "$$file" && test "$$dir" != "."; then \ dir="/$$dir"; \ - $(mkinstalldirs) "$(distdir)$$dir"; \ + $(mkdir_p) "$(distdir)$$dir"; \ else \ dir=''; \ fi; \ diff --git a/lib/Makefile.in b/lib/Makefile.in index a746b792e..23fbdebe3 100644 --- a/lib/Makefile.in +++ b/lib/Makefile.in @@ -39,9 +39,10 @@ ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/m4/amversion.m4 \ $(top_srcdir)/m4/auxdir.m4 $(top_srcdir)/m4/init.m4 \ $(top_srcdir)/m4/install-sh.m4 $(top_srcdir)/m4/lead-dot.m4 \ - $(top_srcdir)/m4/missing.m4 $(top_srcdir)/m4/options.m4 \ - $(top_srcdir)/m4/runlog.m4 $(top_srcdir)/m4/sanity.m4 \ - $(top_srcdir)/m4/strip.m4 $(top_srcdir)/configure.ac + $(top_srcdir)/m4/missing.m4 $(top_srcdir)/m4/mkdirp.m4 \ + $(top_srcdir)/m4/options.m4 $(top_srcdir)/m4/runlog.m4 \ + $(top_srcdir)/m4/sanity.m4 $(top_srcdir)/m4/strip.m4 \ + $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) DIST_COMMON = $(dist_pkgvdata_DATA) $(dist_script_DATA) \ @@ -122,6 +123,7 @@ libdir = @libdir@ libexecdir = @libexecdir@ localstatedir = @localstatedir@ mandir = @mandir@ +mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pkgvdatadir = @pkgvdatadir@ prefix = @prefix@ @@ -171,7 +173,7 @@ $(ACLOCAL_M4): $(am__aclocal_m4_deps) uninstall-info-am: install-dist_pkgvdataDATA: $(dist_pkgvdata_DATA) @$(NORMAL_INSTALL) - $(mkinstalldirs) $(DESTDIR)$(pkgvdatadir) + $(mkdir_p) $(DESTDIR)$(pkgvdatadir) @list='$(dist_pkgvdata_DATA)'; for p in $$list; do \ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ f="`echo $$p | sed -e 's|^.*/||'`"; \ @@ -188,7 +190,7 @@ uninstall-dist_pkgvdataDATA: done install-dist_scriptDATA: $(dist_script_DATA) @$(NORMAL_INSTALL) - $(mkinstalldirs) $(DESTDIR)$(scriptdir) + $(mkdir_p) $(DESTDIR)$(scriptdir) @list='$(dist_script_DATA)'; for p in $$list; do \ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ f="`echo $$p | sed -e 's|^.*/||'`"; \ @@ -332,7 +334,7 @@ distdir: $(DISTFILES) dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ if test "$$dir" != "$$file" && test "$$dir" != "."; then \ dir="/$$dir"; \ - $(mkinstalldirs) "$(distdir)$$dir"; \ + $(mkdir_p) "$(distdir)$$dir"; \ else \ dir=''; \ fi; \ @@ -365,7 +367,7 @@ check: check-recursive all-am: Makefile $(DATA) installdirs: installdirs-recursive installdirs-am: - $(mkinstalldirs) $(DESTDIR)$(pkgvdatadir) $(DESTDIR)$(scriptdir) + $(mkdir_p) $(DESTDIR)$(pkgvdatadir) $(DESTDIR)$(scriptdir) install: install-recursive install-exec: install-exec-recursive install-data: install-data-recursive diff --git a/lib/am/Makefile.in b/lib/am/Makefile.in index 357213cd6..610472154 100644 --- a/lib/am/Makefile.in +++ b/lib/am/Makefile.in @@ -39,9 +39,10 @@ ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/m4/amversion.m4 \ $(top_srcdir)/m4/auxdir.m4 $(top_srcdir)/m4/init.m4 \ $(top_srcdir)/m4/install-sh.m4 $(top_srcdir)/m4/lead-dot.m4 \ - $(top_srcdir)/m4/missing.m4 $(top_srcdir)/m4/options.m4 \ - $(top_srcdir)/m4/runlog.m4 $(top_srcdir)/m4/sanity.m4 \ - $(top_srcdir)/m4/strip.m4 $(top_srcdir)/configure.ac + $(top_srcdir)/m4/missing.m4 $(top_srcdir)/m4/mkdirp.m4 \ + $(top_srcdir)/m4/options.m4 $(top_srcdir)/m4/runlog.m4 \ + $(top_srcdir)/m4/sanity.m4 $(top_srcdir)/m4/strip.m4 \ + $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) DIST_COMMON = $(dist_am_DATA) $(srcdir)/Makefile.in Makefile.am @@ -108,6 +109,7 @@ libdir = @libdir@ libexecdir = @libexecdir@ localstatedir = @localstatedir@ mandir = @mandir@ +mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pkgvdatadir = @pkgvdatadir@ prefix = @prefix@ @@ -159,7 +161,7 @@ $(ACLOCAL_M4): $(am__aclocal_m4_deps) uninstall-info-am: install-dist_amDATA: $(dist_am_DATA) @$(NORMAL_INSTALL) - $(mkinstalldirs) $(DESTDIR)$(amdir) + $(mkdir_p) $(DESTDIR)$(amdir) @list='$(dist_am_DATA)'; for p in $$list; do \ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ f="`echo $$p | sed -e 's|^.*/||'`"; \ @@ -193,7 +195,7 @@ distdir: $(DISTFILES) dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ if test "$$dir" != "$$file" && test "$$dir" != "."; then \ dir="/$$dir"; \ - $(mkinstalldirs) "$(distdir)$$dir"; \ + $(mkdir_p) "$(distdir)$$dir"; \ else \ dir=''; \ fi; \ @@ -212,7 +214,7 @@ check-am: all-am check: check-am all-am: Makefile $(DATA) installdirs: - $(mkinstalldirs) $(DESTDIR)$(amdir) + $(mkdir_p) $(DESTDIR)$(amdir) install: install-am install-exec: install-exec-am install-data: install-data-am diff --git a/lib/am/data.am b/lib/am/data.am index 2800abf2d..3db7e34c1 100644 --- a/lib/am/data.am +++ b/lib/am/data.am @@ -29,7 +29,7 @@ am__installdirs += $(DESTDIR)$(%NDIR%dir) ?!EXEC?.PHONY install-data-am: install-%DIR%%PRIMARY% install-%DIR%%PRIMARY%: $(%DIR%_%PRIMARY%) @$(NORMAL_INSTALL) - $(mkinstalldirs) $(DESTDIR)$(%NDIR%dir) + $(mkdir_p) $(DESTDIR)$(%NDIR%dir) ## Funny invocation because Makefile variable can be empty, leading to ## a syntax error in sh. @list='$(%DIR%_%PRIMARY%)'; for p in $$list; do \ diff --git a/lib/am/distdir.am b/lib/am/distdir.am index c269f4c4c..2ffe9bbc1 100644 --- a/lib/am/distdir.am +++ b/lib/am/distdir.am @@ -54,7 +54,7 @@ if %?TOPDIR_P% endif %?TOPDIR_P% ## ## -?DISTDIRS? $(mkinstalldirs) %DISTDIRS% +?DISTDIRS? $(mkdir_p) %DISTDIRS% ## ## @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \ @@ -106,7 +106,7 @@ endif %?TOPDIR_P% dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ if test "$$dir" != "$$file" && test "$$dir" != "."; then \ dir="/$$dir"; \ - $(mkinstalldirs) "$(distdir)$$dir"; \ + $(mkdir_p) "$(distdir)$$dir"; \ else \ dir=''; \ fi; \ @@ -344,7 +344,7 @@ distcheck: dist && ({ \ ## Build the directory, so we can cd into it even if `make install' ## didn't create it. - (cd ../.. && $(mkinstalldirs) "$$dc_destdir") \ + (cd ../.. && $(mkdir_p) "$$dc_destdir") \ && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" install \ && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" uninstall \ && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" \ diff --git a/lib/am/install.am b/lib/am/install.am index 1444f38f4..d91421672 100644 --- a/lib/am/install.am +++ b/lib/am/install.am @@ -26,11 +26,11 @@ if %?SUBDIRS% RECURSIVE_TARGETS += installdirs-recursive installdirs: installdirs-recursive installdirs-am:%installdirs-local% -?am__installdirs? $(mkinstalldirs) %am__installdirs% +?am__installdirs? $(mkdir_p) %am__installdirs% else !%?SUBDIRS% .PHONY: installdirs installdirs:%installdirs-local% -?am__installdirs? $(mkinstalldirs) %am__installdirs% +?am__installdirs? $(mkdir_p) %am__installdirs% endif !%?SUBDIRS% diff --git a/lib/am/java.am b/lib/am/java.am index 7b526b333..bc9943dac 100644 --- a/lib/am/java.am +++ b/lib/am/java.am @@ -44,7 +44,7 @@ am__installdirs += $(DESTDIR)$(%NDIR%dir) ?!EXEC?.PHONY install-data-am: install-%DIR%JAVA install-%DIR%JAVA: class%DIR%.stamp @$(NORMAL_INSTALL) - $(mkinstalldirs) $(DESTDIR)$(%NDIR%dir) + $(mkdir_p) $(DESTDIR)$(%NDIR%dir) ## A single .java file can be compiled into multiple .class files. So ## we just install all the .class files that got built into this ## directory. This is not optimal, but will have to do for now. diff --git a/lib/am/libs.am b/lib/am/libs.am index 92193e855..b497cb442 100644 --- a/lib/am/libs.am +++ b/lib/am/libs.am @@ -41,7 +41,7 @@ am__installdirs += $(DESTDIR)$(%NDIR%dir) ?!EXEC?.PHONY install-data-am: install-%DIR%LIBRARIES install-%DIR%LIBRARIES: $(%DIR%_LIBRARIES) @$(NORMAL_INSTALL) - $(mkinstalldirs) $(DESTDIR)$(%NDIR%dir) + $(mkdir_p) $(DESTDIR)$(%NDIR%dir) ## Funny invocation because Makefile variable can be empty, leading to ## a syntax error in sh. @list='$(%DIR%_LIBRARIES)'; for p in $$list; do \ diff --git a/lib/am/lisp.am b/lib/am/lisp.am index f7d5d5906..ed6ad40dc 100644 --- a/lib/am/lisp.am +++ b/lib/am/lisp.am @@ -60,7 +60,7 @@ install-%DIR%LISP: $(%DIR%_LISP) $(ELCFILES) @$(NORMAL_INSTALL) ## Do not install anything if EMACS was not found. @if test "$(EMACS)" != no; then \ - $(mkinstalldirs) $(DESTDIR)$(%NDIR%dir); \ + $(mkdir_p) $(DESTDIR)$(%NDIR%dir); \ ## Funny invocation because Makefile variable can be empty, leading to ## a syntax error in sh. list='$(%DIR%_LISP)'; for p in $$list; do \ diff --git a/lib/am/ltlib.am b/lib/am/ltlib.am index 2bd7e29cf..b9e0a03a4 100644 --- a/lib/am/ltlib.am +++ b/lib/am/ltlib.am @@ -29,7 +29,7 @@ am__installdirs += $(DESTDIR)$(%NDIR%dir) ?!EXEC?.PHONY install-data-am: install-%DIR%LTLIBRARIES install-%DIR%LTLIBRARIES: $(%DIR%_LTLIBRARIES) @$(NORMAL_INSTALL) - $(mkinstalldirs) $(DESTDIR)$(%NDIR%dir) + $(mkdir_p) $(DESTDIR)$(%NDIR%dir) ## Funny invocation because Makefile variable can be empty, leading to ## a syntax error in sh. @list='$(%DIR%_LTLIBRARIES)'; for p in $$list; do \ diff --git a/lib/am/mans.am b/lib/am/mans.am index 31794e161..b0ab625b1 100644 --- a/lib/am/mans.am +++ b/lib/am/mans.am @@ -31,7 +31,7 @@ man%SECTION%dir = $(mandir)/man%SECTION% .PHONY install-man: install-man%SECTION% install-man%SECTION%: $(man%SECTION%_MANS) $(man_MANS) @$(NORMAL_INSTALL) - $(mkinstalldirs) $(DESTDIR)$(man%SECTION%dir) + $(mkdir_p) $(DESTDIR)$(man%SECTION%dir) @list='$(man%SECTION%_MANS) $(dist_man%SECTION%_MANS) $(nodist_man%SECTION%_MANS)'; \ ## Extract all items from man_MANS that should go in this section. ## This must be done dynamically to support conditionals. diff --git a/lib/am/progs.am b/lib/am/progs.am index c55d5f24a..50cbd1b6c 100644 --- a/lib/am/progs.am +++ b/lib/am/progs.am @@ -30,7 +30,7 @@ am__installdirs += $(DESTDIR)$(%NDIR%dir) ?!EXEC?.PHONY install-data-am: install-%DIR%PROGRAMS install-%DIR%PROGRAMS: $(%DIR%_PROGRAMS) @$(NORMAL_INSTALL) - $(mkinstalldirs) $(DESTDIR)$(%NDIR%dir) + $(mkdir_p) $(DESTDIR)$(%NDIR%dir) ## Funny invocation because Makefile variable can be empty, leading to ## a syntax error in sh. @list='$(%DIR%_PROGRAMS)'; for p in $$list; do \ diff --git a/lib/am/python.am b/lib/am/python.am index 6d42bccc9..b33b21935 100644 --- a/lib/am/python.am +++ b/lib/am/python.am @@ -29,7 +29,7 @@ am__installdirs += $(DESTDIR)$(%NDIR%dir) ?!EXEC?.PHONY install-data-am: install-%DIR%PYTHON install-%DIR%PYTHON: $(%DIR%_PYTHON) @$(NORMAL_INSTALL) - $(mkinstalldirs) $(DESTDIR)$(%NDIR%dir) + $(mkdir_p) $(DESTDIR)$(%NDIR%dir) @list='$(%DIR%_PYTHON)'; dlist=''; for p in $$list; do\ ## A file can be in the source directory or the build directory. if test -f "$$p"; then b=; else b="$(srcdir)/"; fi; \ diff --git a/lib/am/scripts.am b/lib/am/scripts.am index 184bff094..3134b61d1 100644 --- a/lib/am/scripts.am +++ b/lib/am/scripts.am @@ -31,7 +31,7 @@ am__installdirs += $(DESTDIR)$(%NDIR%dir) ?!EXEC?.PHONY install-data-am: install-%DIR%SCRIPTS install-%DIR%SCRIPTS: $(%DIR%_SCRIPTS) @$(NORMAL_INSTALL) - $(mkinstalldirs) $(DESTDIR)$(%NDIR%dir) + $(mkdir_p) $(DESTDIR)$(%NDIR%dir) ## Funny invocation because Makefile variable can be empty, leading to ## a syntax error in sh. @list='$(%DIR%_SCRIPTS)'; for p in $$list; do \ diff --git a/lib/am/texinfos.am b/lib/am/texinfos.am index 95ce1e9cc..f13724dcd 100644 --- a/lib/am/texinfos.am +++ b/lib/am/texinfos.am @@ -121,7 +121,7 @@ endif %?INSTALL-INFO% if %?LOCAL-TEXIS% install-info-am: $(INFO_DEPS) @$(NORMAL_INSTALL) - $(mkinstalldirs) $(DESTDIR)$(infodir) + $(mkdir_p) $(DESTDIR)$(infodir) @list='$(INFO_DEPS)'; \ for file in $$list; do \ if test -f $$file; then d=.; else d=$(srcdir); fi; \ diff --git a/m4/Makefile.am b/m4/Makefile.am index bc5abbe31..48edb2db8 100644 --- a/m4/Makefile.am +++ b/m4/Makefile.am @@ -42,6 +42,7 @@ maintainer.m4 \ make.m4 \ minuso.m4 \ missing.m4 \ +mkdirp.m4 \ multi.m4 \ obsol-gt.m4 \ obsol-lt.m4 \ diff --git a/m4/Makefile.in b/m4/Makefile.in index 9234d01e2..e3c4ec362 100644 --- a/m4/Makefile.in +++ b/m4/Makefile.in @@ -39,9 +39,10 @@ ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/m4/amversion.m4 \ $(top_srcdir)/m4/auxdir.m4 $(top_srcdir)/m4/init.m4 \ $(top_srcdir)/m4/install-sh.m4 $(top_srcdir)/m4/lead-dot.m4 \ - $(top_srcdir)/m4/missing.m4 $(top_srcdir)/m4/options.m4 \ - $(top_srcdir)/m4/runlog.m4 $(top_srcdir)/m4/sanity.m4 \ - $(top_srcdir)/m4/strip.m4 $(top_srcdir)/configure.ac + $(top_srcdir)/m4/missing.m4 $(top_srcdir)/m4/mkdirp.m4 \ + $(top_srcdir)/m4/options.m4 $(top_srcdir)/m4/runlog.m4 \ + $(top_srcdir)/m4/sanity.m4 $(top_srcdir)/m4/strip.m4 \ + $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) DIST_COMMON = $(dist_m4data_DATA) $(srcdir)/Makefile.in Makefile.am @@ -108,6 +109,7 @@ libdir = @libdir@ libexecdir = @libexecdir@ localstatedir = @localstatedir@ mandir = @mandir@ +mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pkgvdatadir = @pkgvdatadir@ prefix = @prefix@ @@ -137,6 +139,7 @@ maintainer.m4 \ make.m4 \ minuso.m4 \ missing.m4 \ +mkdirp.m4 \ multi.m4 \ obsol-gt.m4 \ obsol-lt.m4 \ @@ -184,7 +187,7 @@ $(ACLOCAL_M4): $(am__aclocal_m4_deps) uninstall-info-am: install-dist_m4dataDATA: $(dist_m4data_DATA) @$(NORMAL_INSTALL) - $(mkinstalldirs) $(DESTDIR)$(m4datadir) + $(mkdir_p) $(DESTDIR)$(m4datadir) @list='$(dist_m4data_DATA)'; for p in $$list; do \ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ f="`echo $$p | sed -e 's|^.*/||'`"; \ @@ -207,7 +210,7 @@ CTAGS: distdir: $(DISTFILES) - $(mkinstalldirs) $(distdir)/../m4 + $(mkdir_p) $(distdir)/../m4 @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \ list='$(DISTFILES)'; for file in $$list; do \ @@ -219,7 +222,7 @@ distdir: $(DISTFILES) dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ if test "$$dir" != "$$file" && test "$$dir" != "."; then \ dir="/$$dir"; \ - $(mkinstalldirs) "$(distdir)$$dir"; \ + $(mkdir_p) "$(distdir)$$dir"; \ else \ dir=''; \ fi; \ @@ -238,7 +241,7 @@ check-am: all-am check: check-am all-am: Makefile $(DATA) installdirs: - $(mkinstalldirs) $(DESTDIR)$(m4datadir) + $(mkdir_p) $(DESTDIR)$(m4datadir) install: install-am install-exec: install-exec-am install-data: install-data-am diff --git a/m4/init.m4 b/m4/init.m4 index 01c249acb..3465dac81 100644 --- a/m4/init.m4 +++ b/m4/init.m4 @@ -82,6 +82,7 @@ AM_MISSING_PROG(MAKEINFO, makeinfo) AM_MISSING_PROG(AMTAR, tar) AM_PROG_INSTALL_SH AM_PROG_INSTALL_STRIP +AC_REQUIRE([AM_PROG_MKDIR_P])dnl # We need awk for the "check" target. The system "awk" is bad on # some platforms. AC_REQUIRE([AC_PROG_AWK])dnl diff --git a/m4/mkdirp.m4 b/m4/mkdirp.m4 new file mode 100644 index 000000000..6958adf33 --- /dev/null +++ b/m4/mkdirp.m4 @@ -0,0 +1,42 @@ +# AM_PROG_MKDIR_P +# --------------- +# Check whether `mkdir -p' is supported, fallback to mkinstalldirs otherwise. + +# Copyright (C) 2003 Free Software Foundation, Inc. + +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2, or (at your option) +# any later version. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. + +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA +# 02111-1307, USA. + +AC_DEFUN([AM_PROG_MKDIR_P], +[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl +if mkdir -m 0755 -p -- . 2>/dev/null; then + mkdir_p='mkdir -m 0755 -p --' +else + # On NextStep and OpenStep, the `mkdir' command does not + # recognize any option. It will interpret all options as + # directories to create, and then abort because `.' already + # exists. + for d in ./-m ./0755 ./-p ./--; + do + test -d $d && rmdir $d + done + # $(mkinstalldirs) is defined by Automake if mkinstalldirs exists. + if test -f "$am_aux_dir/mkinstalldirs"; then + mkdir_p='$(mkinstalldirs) -m 0755' + else + mkdir_p='$(install_sh) -m 0755 -d' + fi +fi +AC_SUBST([mkdir_p])]) diff --git a/tests/Makefile.am b/tests/Makefile.am index 587c04a18..afb9ed22b 100644 --- a/tests/Makefile.am +++ b/tests/Makefile.am @@ -230,7 +230,6 @@ implicit.test \ include.test \ include2.test \ info.test \ -insh.test \ insh2.test \ install2.test \ installdir.test \ diff --git a/tests/Makefile.in b/tests/Makefile.in index 161b851e8..a3532d842 100644 --- a/tests/Makefile.in +++ b/tests/Makefile.in @@ -38,9 +38,10 @@ ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/m4/amversion.m4 \ $(top_srcdir)/m4/auxdir.m4 $(top_srcdir)/m4/init.m4 \ $(top_srcdir)/m4/install-sh.m4 $(top_srcdir)/m4/lead-dot.m4 \ - $(top_srcdir)/m4/missing.m4 $(top_srcdir)/m4/options.m4 \ - $(top_srcdir)/m4/runlog.m4 $(top_srcdir)/m4/sanity.m4 \ - $(top_srcdir)/m4/strip.m4 $(top_srcdir)/configure.ac + $(top_srcdir)/m4/missing.m4 $(top_srcdir)/m4/mkdirp.m4 \ + $(top_srcdir)/m4/options.m4 $(top_srcdir)/m4/runlog.m4 \ + $(top_srcdir)/m4/sanity.m4 $(top_srcdir)/m4/strip.m4 \ + $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) DIST_COMMON = README $(srcdir)/Makefile.in Makefile.am aclocal.in \ @@ -105,6 +106,7 @@ libdir = @libdir@ libexecdir = @libexecdir@ localstatedir = @localstatedir@ mandir = @mandir@ +mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pkgvdatadir = @pkgvdatadir@ prefix = @prefix@ @@ -342,7 +344,6 @@ implicit.test \ include.test \ include2.test \ info.test \ -insh.test \ insh2.test \ install2.test \ installdir.test \ @@ -755,7 +756,7 @@ distdir: $(DISTFILES) dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ if test "$$dir" != "$$file" && test "$$dir" != "."; then \ dir="/$$dir"; \ - $(mkinstalldirs) "$(distdir)$$dir"; \ + $(mkdir_p) "$(distdir)$$dir"; \ else \ dir=''; \ fi; \ diff --git a/tests/auxdir.test b/tests/auxdir.test index 7b4061698..72db0c7ec 100755 --- a/tests/auxdir.test +++ b/tests/auxdir.test @@ -1,5 +1,5 @@ #! /bin/sh -# Copyright (C) 1996, 2001, 2002 Free Software Foundation, Inc. +# Copyright (C) 1996, 2001, 2002, 2003 Free Software Foundation, Inc. # # This file is part of GNU Automake. # @@ -31,6 +31,8 @@ cat > Makefile.am << 'END' pkgdata_DATA = END +cp $testsrcdir/../lib/mkinstalldirs . + # The "././" prefix confuses Automake into thinking it is doing a # subdir build. Yes, this is hacky. $ACLOCAL || exit 1 diff --git a/tests/defs.in b/tests/defs.in index bc3fd14c6..f87ff9d14 100644 --- a/tests/defs.in +++ b/tests/defs.in @@ -224,7 +224,7 @@ rm -rf testSubDir > /dev/null 2>&1 mkdir testSubDir # Copy in some files we need. -for file in install-sh mkinstalldirs missing depcomp; do +for file in install-sh missing depcomp; do cp $srcdir/../lib/$file testSubDir/$file || exit 1 done diff --git a/tests/distdir.test b/tests/distdir.test index 6d13ea8b5..7648a57df 100755 --- a/tests/distdir.test +++ b/tests/distdir.test @@ -1,5 +1,5 @@ #! /bin/sh -# Copyright (C) 1996, 2001, 2002 Free Software Foundation, Inc. +# Copyright (C) 1996, 2001, 2002, 2003 Free Software Foundation, Inc. # # This file is part of GNU Automake. # @@ -23,16 +23,18 @@ . ./defs || exit 1 +set -e + cat > Makefile.am << 'END' EXTRA_DIST = foo/bar ./joe END -$ACLOCAL || exit 1 -$AUTOMAKE || exit 1 +$ACLOCAL +$AUTOMAKE -grep '\$(mkinstalldirs).*\.' Makefile.in && exit 1 -grep '\$(mkinstalldirs).*foo' Makefile.in || exit 1 +grep '\$(mkdir_p).*\.' Makefile.in && exit 1 +grep '\$(mkdir_p).*foo' Makefile.in # Check to make sure `foo' isn't made in build directory. -grep 'mkinstalldirs.*foo.*foo' Makefile.in && exit 1 +grep 'mkdir_p.*foo.*foo' Makefile.in && exit 1 exit 0 diff --git a/tests/empty.test b/tests/empty.test index 7254f6237..4b0418af1 100755 --- a/tests/empty.test +++ b/tests/empty.test @@ -1,5 +1,5 @@ #! /bin/sh -# Copyright (C) 1996, 1997, 1998, 2000, 2001, 2002 +# Copyright (C) 1996, 1997, 1998, 2000, 2001, 2002, 2003 # Free Software Foundation, Inc. # # This file is part of GNU Automake. @@ -24,28 +24,13 @@ . ./defs || exit 1 -cat > Makefile.am << 'END' -data_DATA = -END +set -e -$ACLOCAL || exit 1 -$AUTOMAKE || exit 1 - -# Create configure so Makefile doesn't look out-of-date. -echo frob > configure -echo frob > config.status - -# Need a mkinstalldirs we can actually execute. make on my Linux box -# won't execute this file if is empty, or has just a colon in it (but -# it will run from the shell). -cat > mkinstalldirs << 'END' -#!/bin/sh -END -chmod +x mkinstalldirs - -# Substitute variables we need. -sed -e 's,@SHELL@,/bin/sh,g' -e 's/@srcdir@/./g' \ - -e 's/@top_srcdir@/./g' -e 's/@datadir@/./g' \ - -e 's/@SET_MAKE@//g' < Makefile.in > Makefile +echo AC_OUTPUT >>configure.in +echo 'data_DATA =' >Makefile.am +$ACLOCAL +$AUTOCONF +$AUTOMAKE +./configure --prefix `pwd`/inst $MAKE install diff --git a/tests/insh.test b/tests/insh.test deleted file mode 100755 index a8e82ef89..000000000 --- a/tests/insh.test +++ /dev/null @@ -1,34 +0,0 @@ -#! /bin/sh -# Copyright (C) 1996, 2001, 2002, 2003 Free Software Foundation, Inc. -# -# This file is part of GNU Automake. -# -# GNU Automake is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2, or (at your option) -# any later version. -# -# GNU Automake is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with autoconf; see the file COPYING. If not, write to -# the Free Software Foundation, Inc., 59 Temple Place - Suite 330, -# Boston, MA 02111-1307, USA. - -# Test for bug where missing mkinstalldirs give bogus error about -# missing install-sh. - -. ./defs || exit 1 - -set -e - -rm -f mkinstalldirs - -: > Makefile.am - -$ACLOCAL -AUTOMAKE_fails -grep 'required.*mkinstalldirs' stderr diff --git a/tests/instman.test b/tests/instman.test index 9aacfaf77..51f14bce9 100755 --- a/tests/instman.test +++ b/tests/instman.test @@ -1,5 +1,5 @@ #! /bin/sh -# Copyright (C) 1996, 1998, 2001, 2002 Free Software Foundation, Inc. +# Copyright (C) 1996, 1998, 2001, 2002, 2003 Free Software Foundation, Inc. # # This file is part of GNU Automake. # @@ -18,7 +18,7 @@ # the Free Software Foundation, Inc., 59 Temple Place - Suite 330, # Boston, MA 02111-1307, USA. -# Test to make sure mkinstalldirs invocation correct in install-man +# Test to make sure mkdir_p invocation correct in install-man # target. Bug reported by Gordon Irlam . . ./defs || exit 1 @@ -32,5 +32,5 @@ EOF $ACLOCAL || exit 1 $AUTOMAKE || exit 1 -grep '[^(/]mkinstalldirs' Makefile.in > out || exit 1 +grep '[^(/]mkdir_p' Makefile.in > out || exit 1 test `wc -l < out` -eq 1 diff --git a/tests/instsh.test b/tests/instsh.test index 29e3c0ce6..d82916569 100755 --- a/tests/instsh.test +++ b/tests/instsh.test @@ -32,7 +32,7 @@ rm -f install-sh # Since the default path includes '../..', we must run this test in # yet another subdir. mkdir frob -mv Makefile.am configure.in mkinstalldirs frob/ +mv Makefile.am configure.in frob/ cd frob $ACLOCAL diff --git a/tests/pr2.test b/tests/pr2.test index 911877599..f6c1f8b2c 100755 --- a/tests/pr2.test +++ b/tests/pr2.test @@ -1,5 +1,5 @@ #! /bin/sh -# Copyright (C) 1999, 2000, 2001, 2002 Free Software Foundation, Inc. +# Copyright (C) 1999, 2000, 2001, 2002, 2003 Free Software Foundation, Inc. # # This file is part of GNU Automake. # @@ -22,6 +22,8 @@ . ./defs || exit 1 +set -e + cat > configure.in << 'END' AC_INIT AM_INIT_AUTOMAKE(nonesuch, nonesuch) @@ -33,9 +35,9 @@ END mkdir templ : > templ/README.foo.in -$ACLOCAL || exit 1 -$AUTOMAKE || exit 1 +$ACLOCAL +$AUTOMAKE -# Look for mkinstalldirs invocation for the templ directory. +# Look for mkdir_p invocation for the templ directory. # We use the `[^/]' to avoid matching `templ/README.foo.in'. -$EGREP 'mkinstalldirs.*templ([^/]|$)' Makefile.in +$EGREP 'mkdir_p.*templ([^/]|$)' Makefile.in