diff options
-rwxr-xr-x | bootstrap/files/mkdir-sh | 44 |
1 files changed, 44 insertions, 0 deletions
diff --git a/bootstrap/files/mkdir-sh b/bootstrap/files/mkdir-sh new file mode 100755 index 00000000000..2156421f11e --- /dev/null +++ b/bootstrap/files/mkdir-sh @@ -0,0 +1,44 @@ +#! /bin/sh +# $NetBSD: mkdir-sh,v 1.1 2004/04/12 14:48:58 heinz Exp $ +# +# workaround for the broken "mkdir -p" on Unixware + +MKDIRCMD=mkdir +cmdargs="$@" + +# variable 'options' is unused +for options in p m; do + if [ $# -lt 1 ]; then + ${MKDIRCMD} ${cmdargs} + exit $? + fi + + case $1 in + -p) pathopt=-p; + shift;; + -m) modeopt="-m ${2}" + shift; + if [ $# -ne 0 ] ; then + shift + else + ${MKDIRCMD} ${cmdargs} + exit $? + fi + ;; + esac +done + +if [ $# -gt 0 ]; then + while [ $# -gt 0 ]; do + if [ -z "${pathopt}" ]; then + ${MKDIRCMD} ${modeopt} -- "$1" + elif [ ! -d $1 ] ; then + ${MKDIRCMD} ${pathopt} ${modeopt} -- "$1" + else + : # directory exists, nothing to do + fi + shift + done +else + ${MKDIRCMD} ${cmdargs} +fi |