lib/install-sh \
lib/mdate-sh \
lib/missing \
- lib/mkinstalldirs \
lib/elisp-comp \
lib/ylwrap \
lib/depcomp \
PERL_COVER = cover
check-coverage-run recheck-coverage-run: all
- $(mkinstalldirs) $(PERL_COVERAGE_DB)
+ $(MKDIR_P) $(PERL_COVERAGE_DB)
PERL5OPT="$$PERL5OPT $(PERL_COVERAGE_FLAGS)"; export PERL5OPT; \
WANT_NO_THREADS=yes; export WANT_NO_THREADS; unset AUTOMAKE_JOBS; \
$(MAKE) `echo $@ | sed 's/-coverage-run//'`
as recommended in the Autoconf manual (as of Autoconf 2.69, chapter
"Obsolete Constructs", section "acconfig.h").
+* The 'mkinstalldirs' script is not installed, distributed, nor provided
+ anymore; its same effects can be obtained by "install-sh -d" instead.
+ Similarly, the $(mkinstallscripts) make variable is not defined anymore;
+ one should use $(MKDIR_P) instead.
+
-----
Copyright (C) 2012 Free Software Foundation, Inc.
# Commonly found files we look for and automatically include in
# distributed files.
-my @common_files =
- (qw(ABOUT-GNU ABOUT-NLS AUTHORS BACKLOG COPYING COPYING.DOC COPYING.LIB
- COPYING.LESSER ChangeLog INSTALL NEWS README THANKS TODO
- ar-lib compile config.guess config.rpath
- config.sub depcomp elisp-comp install-sh libversion.in mdate-sh
- missing mkinstalldirs py-compile texinfo.tex ylwrap),
- @libtool_files, @libtool_sometimes);
+my @common_files = (
+ qw(
+ ABOUT-GNU
+ ABOUT-NLS
+ AUTHORS
+ BACKLOG
+ COPYING
+ COPYING.DOC
+ COPYING.LIB
+ COPYING.LESSER
+ ChangeLog
+ INSTALL
+ NEWS
+ README
+ THANKS
+ TODO
+ ar-lib
+ compile
+ config.guess
+ config.rpath
+ config.sub
+ depcomp
+ elisp-comp
+ install-sh
+ libversion.in
+ mdate-sh
+ missing
+ py-compile
+ texinfo.tex
+ ylwrap
+ ),
+ @libtool_files,
+ @libtool_sometimes,
+);
# Commonly used files we auto-include, but only sometimes. This list
# is used for the --help output only.
FILES => "@distclean_config")
if @distclean_config;
- # Distribute and define mkinstalldirs only if it is already present
- # in the package, for backward compatibility (some people may still
- # use $(mkinstalldirs)).
- my $mkidpath = "$config_aux_dir/mkinstalldirs";
- if (-f $mkidpath)
- {
- # Use require_file so that any existing script gets updated
- # by --force-missing.
- require_conf_file ($mkidpath, FOREIGN, 'mkinstalldirs');
- define_variable ('mkinstalldirs',
- "\$(SHELL) $am_config_aux_dir/mkinstalldirs", INTERNAL);
- }
- else
- {
- # Use $(install_sh), not $(MKDIR_P) because the latter requires
- # at least one argument, and $(mkinstalldirs) used to work
- # even without arguments (e.g. $(mkinstalldirs) $(conditional_dir)).
- define_variable ('mkinstalldirs', '$(install_sh) -d', INTERNAL);
- }
-
reject_var ('CONFIG_HEADER',
"'CONFIG_HEADER' is an anachronism; now determined "
. "automatically\nfrom '$configure_ac'");
fi
if [ -d ${ml_dir} ]; then true; else
- # ``mkdir -p ${ml_dir}'' See also mkinstalldirs.
+ # ``mkdir -p ${ml_dir}''
pathcomp=""
for d in `echo ":${ml_dir}" | sed -ne 's/^:\//#/;s/^://;s/\// /g;s/^#/\//;p'`; do
pathcomp="$pathcomp$d"
@command{missing} prints an informative warning and attempts to fix
things so that the build can continue.
-@item mkinstalldirs
-This script used to be a wrapper around @samp{mkdir -p}, which is not
-portable. Now we prefer to use @samp{install-sh -d} when @command{configure}
-finds that @samp{mkdir -p} does not work, this makes one less script to
-distribute.
-
-For backward compatibility @file{mkinstalldirs} is still used and
-distributed when @command{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.
@file{ltmain.sh},
@file{mdate-sh},
@file{missing},
-@file{mkinstalldirs},
@file{py-compile},
@file{test-driver},
@file{texinfo.tex},
@c LocalWords: pkg libdir cpio bindir sbindir rmt pax sbin zar zardir acindex
@c LocalWords: HTML htmldir html noinst TEXINFOS nodist nobase strudel CFLAGS
@c LocalWords: libmumble CC YFLAGS itemx de fication config url comp
-@c LocalWords: depcomp elisp sh mdate mkinstalldirs mkdir py tex dvi ps pdf
+@c LocalWords: depcomp elisp sh mdate mkdir py tex dvi ps pdf
@c LocalWords: ylwrap zardoz INIT gettext acinclude mv FUNCS LIBOBJS LDADD fr
@c LocalWords: uref featureful dnl src LINGUAS es ko nl pl sl sv PROG ISC doc
@c LocalWords: POSIX STDC fcntl FUNC ALLOCA blksize struct stat intl po chmod
+++ /dev/null
-#! /bin/sh
-# mkinstalldirs --- make directory hierarchy
-
-scriptversion=2009-04-28.21; # UTC
-
-# Original author: Noah Friedman <friedman@prep.ai.mit.edu>
-# Created: 1993-05-16
-# Public domain.
-#
-# This file is maintained in Automake-NG, please report
-# bugs to <bug-automake@gnu.org> or send patches to
-# <automake-ng@gnu.org>.
-
-nl='
-'
-IFS=" "" $nl"
-errstatus=0
-dirmode=
-
-usage="\
-Usage: mkinstalldirs [-h] [--help] [--version] [-m MODE] DIR ...
-
-Create each directory DIR (with mode MODE, if specified), including all
-leading file name components.
-
-Report bugs to <bug-automake@gnu.org>."
-
-# process command line arguments
-while test $# -gt 0 ; do
- case $1 in
- -h | --help | --h*) # -h for help
- echo "$usage"
- exit $?
- ;;
- -m) # -m PERM arg
- shift
- test $# -eq 0 && { echo "$usage" 1>&2; exit 1; }
- dirmode=$1
- shift
- ;;
- --version)
- echo "$0 $scriptversion"
- exit $?
- ;;
- --) # stop option processing
- shift
- break
- ;;
- -*) # unknown option
- echo "$usage" 1>&2
- exit 1
- ;;
- *) # first non-opt arg
- break
- ;;
- esac
-done
-
-for file
-do
- if test -d "$file"; then
- shift
- else
- break
- fi
-done
-
-case $# in
- 0) exit 0 ;;
-esac
-
-# Solaris 8's mkdir -p isn't thread-safe. If you mkdir -p a/b and
-# mkdir -p a/c at the same time, both will detect that a is missing,
-# one will create a, then the other will try to create a and die with
-# a "File exists" error. This is a problem when calling mkinstalldirs
-# from a parallel make. We use --version in the probe to restrict
-# ourselves to GNU mkdir, which is thread-safe.
-case $dirmode in
- '')
- if mkdir -p --version . >/dev/null 2>&1 && test ! -d ./--version; then
- echo "mkdir -p -- $*"
- exec mkdir -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.
- test -d ./-p && rmdir ./-p
- test -d ./--version && rmdir ./--version
- fi
- ;;
- *)
- if mkdir -m "$dirmode" -p --version . >/dev/null 2>&1 &&
- test ! -d ./--version; then
- echo "mkdir -m $dirmode -p -- $*"
- exec mkdir -m "$dirmode" -p -- "$@"
- else
- # Clean up after NextStep and OpenStep mkdir.
- for d in ./-m ./-p ./--version "./$dirmode";
- do
- test -d $d && rmdir $d
- done
- fi
- ;;
-esac
-
-for file
-do
- case $file in
- /*) pathcomp=/ ;;
- *) pathcomp= ;;
- esac
- oIFS=$IFS
- IFS=/
- set fnord $file
- shift
- IFS=$oIFS
-
- for d
- do
- test "x$d" = x && continue
-
- pathcomp=$pathcomp$d
- case $pathcomp in
- -*) pathcomp=./$pathcomp ;;
- esac
-
- if test ! -d "$pathcomp"; then
- echo "mkdir $pathcomp"
-
- mkdir "$pathcomp" || lasterr=$?
-
- if test ! -d "$pathcomp"; then
- errstatus=$lasterr
- else
- if test ! -z "$dirmode"; then
- echo "chmod $dirmode $pathcomp"
- lasterr=
- chmod "$dirmode" "$pathcomp" || lasterr=$?
-
- if test ! -z "$lasterr"; then
- errstatus=$lasterr
- fi
- fi
- fi
- fi
-
- pathcomp=$pathcomp/
- done
-done
-
-exit $errstatus
-
-# Local Variables:
-# mode: shell-script
-# sh-indentation: 2
-# eval: (add-hook 'write-file-hooks 'time-stamp)
-# time-stamp-start: "scriptversion="
-# time-stamp-format: "%:y-%02m-%02d.%02H"
-# time-stamp-time-zone: "UTC"
-# time-stamp-end: "; # UTC"
-# End:
exit 1; \
else :; fi
-## Make sure all invocations of mkinstalldirs are correct.
+## The script and variable 'mkinstalldirs' are obsolete.
sc_mkinstalldirs:
- @if grep -n 'mkinstalldirs' $(ams) \
- | grep -F -v '$$(mkinstalldirs)' \
- | grep -v '^\./Makefile.am:[0-9][0-9]*: *lib/mkinstalldirs \\$$'; \
- then \
- echo "Found incorrect use of mkinstalldirs in the lines above" 1>&2; \
+ @files="\
+ $(xtests) \
+ $(pms) \
+ $(ams) \
+ $(srcdir)/automake.in \
+ $(srcdir)/doc/*.texi \
+ "; \
+ if grep 'mkinstalldirs' $$files; then \
+ echo "Found use of mkinstalldirs; that is obsolete" 1>&2; \
exit 1; \
else :; fi
AC_CONFIG_AUX_DIR([./.])
AM_INIT_AUTOMAKE
AC_CONFIG_FILES([Makefile])
+AM_PATH_PYTHON
END
cat > Makefile.am << 'END'
-pkgdata_DATA =
+python_PYTHON = foo.py
END
-cp "$am_scriptdir/mkinstalldirs" .
+cp "$am_scriptdir/py-compile" .
# The "././" prefix confuses Automake into thinking it is doing a
# subdir build. Yes, this is hacky.
$ACLOCAL
$AUTOMAKE ././Makefile
-grep '/\./\./mkinstalldirs' Makefile.in
+grep '/\./\./py-compile' Makefile.in
:
AC_CONFIG_AUX_DIR([auxdir])
AM_INIT_AUTOMAKE
AC_CONFIG_FILES([Makefile subdir/Makefile])
+AM_PATH_PYTHON
END
mkdir subdir auxdir
cat > Makefile.am << 'END'
-pkgdata_DATA =
+python_PYTHON = foo.py
END
cp Makefile.am subdir/Makefile.am
-: > auxdir/mkinstalldirs
: > auxdir/install-sh
: > auxdir/missing
+: > auxdir/py-compile
$ACLOCAL
$AUTOMAKE
-$FGREP '$(top_srcdir)/auxdir/mkinstalldirs' Makefile.in
-$FGREP '$(top_srcdir)/auxdir/mkinstalldirs' subdir/Makefile.in
+$FGREP '$(top_srcdir)/auxdir/py-compile' Makefile.in
+$FGREP '$(top_srcdir)/auxdir/py-compile' subdir/Makefile.in
:
AC_CONFIG_AUX_DIR([.])
AM_INIT_AUTOMAKE
AC_CONFIG_FILES([Makefile subdir/Makefile])
+AM_PATH_PYTHON
END
mkdir subdir
cat > Makefile.am << 'END'
-pkgdata_DATA =
+python_PYTHON = foo.py
END
cp Makefile.am subdir/Makefile.am
-: > mkinstalldirs
+: > py-compile
$ACLOCAL
$AUTOMAKE
-$FGREP '$(top_srcdir)/mkinstalldirs' Makefile.in
-$FGREP '$(top_srcdir)/mkinstalldirs' subdir/Makefile.in
+$FGREP '$(top_srcdir)/py-compile' Makefile.in
+$FGREP '$(top_srcdir)/py-compile' subdir/Makefile.in
:
# Test to make sure AC_CONFIG_AUX_DIR works correctly.
# This test tries without an explicit call to AC_CONFIG_AUX_DIR;
# the config auxdir should be implicitly defined to '.' since
-# the install-sh, mkinstalldirs, etc., scripts are in the top-level
+# the install-sh, py-compile, etc., scripts are in the top-level
# directory.
# Keep this in sync with sister tests auxdir6.test and auxdir7.test.
cat >> configure.ac << 'END'
AC_CONFIG_FILES([subdir/Makefile])
+AM_PATH_PYTHON
END
mkdir subdir
cat > Makefile.am << 'END'
-pkgdata_DATA =
+python_PYTHON = foo.py
END
cp Makefile.am subdir/Makefile.am
-: > mkinstalldirs
+: > py-compile
$ACLOCAL
$AUTOMAKE
-$FGREP '$(top_srcdir)/mkinstalldirs' Makefile.in
-$FGREP '$(top_srcdir)/mkinstalldirs' subdir/Makefile.in
+$FGREP '$(top_srcdir)/py-compile' Makefile.in
+$FGREP '$(top_srcdir)/py-compile' subdir/Makefile.in
:
+++ /dev/null
-#! /bin/sh
-# Copyright (C) 2000-2012 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, see <http://www.gnu.org/licenses/>.
-
-# Test to make sure mkinstalldirs invocation correct in install-man
-# target. Bug reported by Gordon Irlam <gordoni@cygnus.com>.
-
-. ./defs || Exit 1
-
-cat > Makefile.am << 'EOF'
-man8_MANS = frob.8
-EOF
-
-: > frob.8
-
-$ACLOCAL
-$AUTOMAKE
-
-grep '^install-man' Makefile.in
-
-:
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
-# Test mkinstalldirs with spaces in directory names.
+# Test "install-sh -d" with spaces in directory names.
am_create_testdir=empty
. ./defs || Exit 1
|| skip_ "directory names with spaces and metacharacters not accepted"
rm -rf '~a b'
-get_shell_script mkinstalldirs
+get_shell_script install-sh
-# Test mkinstalldirs with the installed mkdir.
+# Test with the installed mkdir.
-./mkinstalldirs '~a b/-x y'
+./install-sh -d '~a b/-x y'
test -d '~a b/-x y'
rm -rf '~a b'
-# Trick mkinstalldirs into thinking mkdir does not support -p.
+# Trick install-sh into thinking mkdir does not support -p.
mkdir bin
cat >bin/mkdir <<'EOF'
PATH=`pwd`/bin$PATH_SEPARATOR$PATH
export PATH
-# Test mkinstalldirs without mkdir -p.
+# Test without mkdir -p.
-./mkinstalldirs '~a b/-x y'
+./install-sh -d '~a b/-x y'
test -d '~a b/-x y'
rm -rf '~a b'
-./mkinstalldirs "`pwd`///~a b//-x y"
+./install-sh -d "`pwd`///~a b//-x y"
test -d "`pwd`/~a b/-x y"
rm -rf '~a b'
+
+:
+++ /dev/null
-#! /bin/sh
-# Copyright (C) 1996-2012 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, see <http://www.gnu.org/licenses/>.
-
-# Test for bug where mkinstalldirs variable can be set incorrectly.
-
-. ./defs || Exit 1
-
-cat > Makefile.am << 'END'
-pkgdata_DATA =
-END
-
-# The "././" prefix confuses Automake into thinking it is doing a
-# subdir build. Yes, this is hacky.
-$ACLOCAL
-$AUTOMAKE ././Makefile
-
-grep ' /mkinstalldirs' Makefile.in && Exit 1
-Exit 0
# == Report ==
# When AC_CONFIG_AUX_DIR is set (in my case to 'support'), make dist
# no longer automatically includes config.guess, config.sub, install-sh,
-# ltconfig, ltmain.sh, mdate-sh, missing, and mkinstalldirs. In fact,
-# the entire 'support/' directory is omitted.
+# ltconfig, ltmain.sh, mdate-sh, and missing. In fact, the entire
+# 'support/' directory is omitted.
. ./defs || Exit 1
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
-# Test to make sure install-sh and mkinstalldirs correctly found in
-# subdirs.
+# Test to make sure install-sh is correctly found in subdirs.
. ./defs || Exit 1
# Test to make sure -Werror and --add-missing work together.
+am_create_testdir=empty
. ./defs || Exit 1
-: > Makefile.am
-
-rm -f install-sh depcomp missing mkinstalldirs
+cat > configure.ac <<END
+AC_INIT([$me], [1.0])
+AM_INIT_AUTOMAKE
+AC_CONFIG_FILES([Makefile])
+END
+: > Makefile.am
+test ! -f install-sh # Sanity check.
$ACLOCAL
$AUTOMAKE -Werror --add-missing
+test -f install-sh # Sanity check.
+
+: