~ubuntu-branches/ubuntu/lucid/autoconf/lucid

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