From 5be60f99b7d5a81dcbad8c9e1d8812297936052b Mon Sep 17 00:00:00 2001 From: cvs2svn <> Date: Thu, 21 Aug 2003 14:03:24 +0000 Subject: This commit was manufactured by cvs2svn to create branch 'cagney_x86i386-20030821-branch'. Sprout from gdb_6_0-branch 2003-06-22 16:35:52 UTC cvs2svn 'This commit was manufactured by cvs2svn to create branch 'gdb_6_0-branch'.' Cherrypick from master 2003-08-21 14:03:23 UTC Nick Clifton 'Add PGI extensions': ChangeLog MAINTAINERS Makefile.def Makefile.in Makefile.tpl config-ml.in config.if config.sub config/ChangeLog config/gettext.m4 config/progtest.m4 configure configure.in include/ChangeLog include/bfdlink.h include/coff/ChangeLog include/coff/ecoff.h include/coff/i860.h include/coff/pe.h include/coff/ti.h include/coff/xcoff.h include/demangle.h include/dis-asm.h include/elf/ChangeLog include/elf/dwarf2.h include/elf/mips.h include/elf/mmix.h include/elf/mn10300.h include/elf/msp430.h include/elf/ppc.h include/elf/reloc-macros.h include/elf/s390.h include/elf/v850.h include/nlm/ChangeLog include/nlm/internal.h include/opcode/ChangeLog include/opcode/alpha.h include/opcode/arc.h include/opcode/cgen.h include/opcode/d10v.h include/opcode/d30v.h include/opcode/h8300.h include/opcode/i370.h include/opcode/i386.h include/opcode/i860.h include/opcode/mips.h include/opcode/mn10300.h include/opcode/or32.h include/opcode/pj.h include/opcode/ppc.h include/opcode/s390.h include/opcode/sparc.h include/opcode/tic80.h include/opcode/v850.h include/xtensa-config.h mkinstalldirs src-release symlink-tree --- mkinstalldirs | 113 ++++++++++++++++++++++++++++++++++++++++++++++++---------- 1 file changed, 94 insertions(+), 19 deletions(-) (limited to 'mkinstalldirs') diff --git a/mkinstalldirs b/mkinstalldirs index cc8783edc..d2d5f21b6 100755 --- a/mkinstalldirs +++ b/mkinstalldirs @@ -2,35 +2,110 @@ # mkinstalldirs --- make directory hierarchy # Author: Noah Friedman # Created: 1993-05-16 -# Last modified: 1994-03-25 # Public domain errstatus=0 +dirmode="" -for file in ${1+"$@"} ; do - set fnord `echo ":$file" | sed -ne 's/^:\//#/;s/^://;s/\// /g;s/^#/\//;p'` - shift +usage="\ +Usage: mkinstalldirs [-h] [--help] [-m mode] dir ..." - pathcomp= - for d in ${1+"$@"} ; do - pathcomp="$pathcomp$d" - case "$pathcomp" in - -* ) pathcomp=./$pathcomp ;; - esac +# process command line arguments +while test $# -gt 0 ; do + case $1 in + -h | --help | --h*) # -h for help + echo "$usage" 1>&2 + exit 0 + ;; + -m) # -m PERM arg + shift + test $# -eq 0 && { echo "$usage" 1>&2; exit 1; } + dirmode=$1 + shift + ;; + --) # 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 + +case $dirmode in + '') + if mkdir -p -- . 2>/dev/null; then + echo "mkdir -p -- $*" + exec mkdir -p -- "$@" + fi + ;; + *) + if mkdir -m "$dirmode" -p -- . 2>/dev/null; then + echo "mkdir -m $dirmode -p -- $*" + exec mkdir -m "$dirmode" -p -- "$@" + fi + ;; +esac + +for file +do + set fnord `echo ":$file" | sed -ne 's/^:\//#/;s/^://;s/\// /g;s/^#/\//;p'` + shift + + pathcomp= + for d + do + 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 - echo "mkdir $pathcomp" 1>&2 - mkdir "$pathcomp" > /dev/null 2>&1 || lasterr=$? - fi + if test ! -d "$pathcomp"; then + errstatus=$lasterr + else + if test ! -z "$dirmode"; then + echo "chmod $dirmode $pathcomp" + lasterr="" + chmod "$dirmode" "$pathcomp" || lasterr=$? - if test ! -d "$pathcomp"; then - errstatus=$lasterr - fi + if test ! -z "$lasterr"; then + errstatus=$lasterr + fi + fi + fi + fi - pathcomp="$pathcomp/" - done + pathcomp="$pathcomp/" + done done exit $errstatus +# Local Variables: +# mode: shell-script +# sh-indentation: 2 +# End: # mkinstalldirs ends here -- cgit v1.2.3