Skip to content
This repository

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Browse code

Add

svn path=/trunk/mono-basic/; revision=70932
  • Loading branch information...
commit 927316df256795e2f73d0c39a535c2ed3d8117fe 1 parent 944d939
Miguel de Icaza authored January 12, 2007

Showing 1 changed file with 99 additions and 0 deletions. Show diff stats Hide diff stats

  1. 99  mkinstalldirs
99  mkinstalldirs
... ...
@@ -0,0 +1,99 @@
  1
+#! /bin/sh
  2
+# mkinstalldirs --- make directory hierarchy
  3
+# Author: Noah Friedman <friedman@prep.ai.mit.edu>
  4
+# Created: 1993-05-16
  5
+# Public domain
  6
+
  7
+errstatus=0
  8
+dirmode=""
  9
+
  10
+usage="\
  11
+Usage: mkinstalldirs [-h] [--help] [-m mode] dir ..."
  12
+
  13
+# process command line arguments
  14
+while test $# -gt 0 ; do
  15
+   case "${1}" in
  16
+     -h | --help | --h* )			# -h for help
  17
+	echo "${usage}" 1>&2; exit 0 ;;
  18
+     -m )					# -m PERM arg
  19
+	shift
  20
+	test $# -eq 0 && { echo "${usage}" 1>&2; exit 1; }
  21
+	dirmode="${1}"
  22
+	shift ;;
  23
+     -- ) shift; break ;;			# stop option processing
  24
+     -* ) echo "${usage}" 1>&2; exit 1 ;;	# unknown option
  25
+     * )  break ;;				# first non-opt arg
  26
+   esac
  27
+done
  28
+
  29
+for file
  30
+do
  31
+  if test -d "$file"; then
  32
+    shift
  33
+  else
  34
+    break
  35
+  fi
  36
+done
  37
+
  38
+case $# in
  39
+0) exit 0 ;;
  40
+esac
  41
+
  42
+case $dirmode in
  43
+'')
  44
+  if mkdir -p -- . 2>/dev/null; then
  45
+    echo "mkdir -p -- $*"
  46
+    exec mkdir -p -- "$@"
  47
+  fi ;;
  48
+*)
  49
+  if mkdir -m "$dirmode" -p -- . 2>/dev/null; then
  50
+    echo "mkdir -m $dirmode -p -- $*"
  51
+    exec mkdir -m "$dirmode" -p -- "$@"
  52
+  fi ;;
  53
+esac
  54
+
  55
+for file
  56
+do
  57
+   set fnord `echo ":$file" | sed -ne 's/^:\//#/;s/^://;s/\// /g;s/^#/\//;p'`
  58
+   shift
  59
+
  60
+   pathcomp=
  61
+   for d
  62
+   do
  63
+     pathcomp="$pathcomp$d"
  64
+     case "$pathcomp" in
  65
+       -* ) pathcomp=./$pathcomp ;;
  66
+     esac
  67
+
  68
+     if test ! -d "$pathcomp"; then
  69
+	echo "mkdir $pathcomp"
  70
+
  71
+	mkdir "$pathcomp" || lasterr=$?
  72
+
  73
+	if test ! -d "$pathcomp"; then
  74
+	  errstatus=$lasterr
  75
+	else
  76
+	  if test ! -z "$dirmode"; then
  77
+	     echo "chmod $dirmode $pathcomp"
  78
+
  79
+	     lasterr=""
  80
+	     chmod "$dirmode" "$pathcomp" || lasterr=$?
  81
+
  82
+	     if test ! -z "$lasterr"; then
  83
+	       errstatus=$lasterr
  84
+	     fi
  85
+	  fi
  86
+	fi
  87
+     fi
  88
+
  89
+     pathcomp="$pathcomp/"
  90
+   done
  91
+done
  92
+
  93
+exit $errstatus
  94
+
  95
+# Local Variables:
  96
+# mode: shell-script
  97
+# sh-indentation: 3
  98
+# End:
  99
+# mkinstalldirs ends here

0 notes on commit 927316d

Please sign in to comment.
Something went wrong with that request. Please try again.