--- a
+++ b/mkinstalldirs
@@ -0,0 +1,183 @@
+#! /bin/sh
+# mkinstalldirs --- make directory hierarchy
+
+scriptversion=2005-11-03.10
+
+# 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>.
+
+errstatus=0
+dirmode=""
+
+usage="\
+Usage:
+  mkinstalldirs [-h] [--help] [--version]
+  mkinstalldirs [--require REQDIR] [-m MODE] DIR ...
+
+Create each directory DIR (with mode MODE, if specified), including all
+leading file name components.  If REQDIR is specified, then DIR arguments
+will not be processed, unless REQDIR already exists.
+
+Report bugs to <bug-automake@gnu.org>."
+
+# process command line arguments
+arglist="void" optarg=""
+for argval
+do
+  newarg=""
+  if test "x$optarg" = xdisabled
+  then
+    test -d "$argval" || arglist="$arglist \"$argval\""
+  elif test -n "$optarg"
+  then
+    newarg="$optarg"
+    eval $optarg=\"$argval\"
+    optarg=""
+  else
+    case $argval in
+      -h | --help | --h*)         # -h for help
+        echo "$usage"
+        exit $?
+        ;;
+      -m)                         # -m PERM arg
+        optarg=dirmode
+        ;;
+      --version)
+        echo "$0 $scriptversion"
+        exit $?
+        ;;
+      --require=*)                # --require=REQDIR arg
+        reqdir=`echo $argval | sed -n s'/[^=]*=//'p`
+        newarg=reqdir
+        ;;
+      --require)                  # --require REQDIR arg
+        optarg=reqdir
+        ;;
+      --)                         # stop option processing
+        optarg=disabled
+        ;;
+      -*)                         # unknown option
+        echo >&2 "$0: illegal option -- $argval"
+        echo >&2 "$usage"
+        exit 1
+        ;;
+      *)                          # non-option arg
+        test -d "$argval" || arglist="$arglist \"$argval\""
+        ;;
+    esac
+  fi
+  case $newarg in
+    reqdir)
+      test -d "${reqdir}" ||
+      {
+        echo >&2 "$0: $reqdir: directory must exist"
+        exit 1
+      } ;;
+  esac
+done
+
+if test -n "$optarg" && test "x$optarg" != xdisabled
+then
+  test x$optarg = xdirmode && optarg="-m"
+  echo >&2 "$0: $optarg: argument expected"
+  exit 1
+fi
+
+eval set $arglist; shift
+test $# -gt 0 || exit 0
+
+# 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: