Commit ff7d64040411b895bf72e0cc7832b82b8fcb3e7d

Werner Lemberg 2015-09-13T23:53:16

Replace `mkinstalldirs' with AC_PROG_MKDIR_P. * builds/unix/mkinstalldirs: Removed, no longer needed. * builds/unix/configure.raw: Call `AC_PROG_MKDIR_P'. Update pwd call for `$INSTALL'. * builds/unix/unix-def.in (MKINSTALLDIRS): Use `@MKDIR_P@'. * autogen.sh: Updated.

diff --git a/ChangeLog b/ChangeLog
index 14e3ae1..35bc86d 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,18 @@
 2015-09-13  Werner Lemberg  <wl@gnu.org>
 
+	Replace `mkinstalldirs' with AC_PROG_MKDIR_P.
+
+	* builds/unix/mkinstalldirs: Removed, no longer needed.
+
+	* builds/unix/configure.raw: Call `AC_PROG_MKDIR_P'.
+	Update pwd call for `$INSTALL'.
+
+	* builds/unix/unix-def.in (MKINSTALLDIRS): Use `@MKDIR_P@'.
+
+	* autogen.sh: Updated.
+
+2015-09-13  Werner Lemberg  <wl@gnu.org>
+
 	[winfonts] Check alignment shift count for resource data (#45938).
 
 	* src/winfonts/winfnt.c (fnt_face_get_dll_font): Implement it.
diff --git a/autogen.sh b/autogen.sh
index 0693e9f..8f05b2d 100755
--- a/autogen.sh
+++ b/autogen.sh
@@ -156,7 +156,6 @@ run aclocal -I . --force
 run $LIBTOOLIZE --force --copy --install
 run autoconf --force
 
-chmod +x mkinstalldirs
 chmod +x install-sh
 
 cd ../..
diff --git a/builds/unix/configure.raw b/builds/unix/configure.raw
index f09c0d7..443e233 100644
--- a/builds/unix/configure.raw
+++ b/builds/unix/configure.raw
@@ -71,18 +71,27 @@ AC_SUBST(EXEEXT_BUILD)
 
 
 # Since this file will be finally moved to another directory we make
-# the path of the install script absolute.  This small code snippet has
+# the path of the install scripts absolute.  This small code snippet has
 # been taken from automake's `ylwrap' script.
 
 AC_PROG_INSTALL
 case "$INSTALL" in
-/*)
+[\\/]* | ?:[\\/]*)
   ;;
-*/*)
+*[\\/]*)
   INSTALL="`pwd`/$INSTALL"
   ;;
 esac
 
+AC_PROG_MKDIR_P
+case "$MKDIR_P" in
+[\\/]* | ?:[\\/]*)
+  ;;
+*[\\/]*)
+  MKDIR_P="`pwd`/$MKDIR_P"
+  ;;
+esac
+
 
 # checks for header files
 
diff --git a/builds/unix/mkinstalldirs b/builds/unix/mkinstalldirs
deleted file mode 100755
index ef7e16f..0000000
--- a/builds/unix/mkinstalldirs
+++ /dev/null
@@ -1,161 +0,0 @@
-#! /bin/sh
-# mkinstalldirs --- make directory hierarchy
-
-scriptversion=2006-05-11.19
-
-# Original author: Noah Friedman <friedman@prep.ai.mit.edu>
-# Created: 1993-05-16
-# Public domain.
-#
-# This file is maintained in Automake, please report
-# bugs to <bug-automake@gnu.org> or send patches to
-# <automake-patches@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-end: "$"
-# End:
diff --git a/builds/unix/unix-def.in b/builds/unix/unix-def.in
index 8529683..3c2d599 100644
--- a/builds/unix/unix-def.in
+++ b/builds/unix/unix-def.in
@@ -32,7 +32,7 @@ INSTALL         := @INSTALL@
 INSTALL_DATA    := @INSTALL_DATA@
 INSTALL_PROGRAM := @INSTALL_PROGRAM@
 INSTALL_SCRIPT  := @INSTALL_SCRIPT@
-MKINSTALLDIRS   := $(BUILD_DIR)/mkinstalldirs
+MKINSTALLDIRS   := @MKDIR_P@
 
 CLEAN += $(OBJ_BUILD)/freetype-config \
          $(OBJ_BUILD)/freetype2.pc