Planet
navi homePPSaboutscreenshotsdownloaddevelopmentforum

Changeset 5479 in orxonox.OLD for trunk/mkinstalldirs


Ignore:
Timestamp:
Nov 3, 2005, 8:50:51 PM (19 years ago)
Author:
bensch
Message:

orxonox/trunk: updated to new autoconf, moved resourcemanager to util/loading

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/mkinstalldirs

    r1956 r5479  
    11#! /bin/sh
    22# mkinstalldirs --- make directory hierarchy
    3 # Author: Noah Friedman <friedman@prep.ai.mit.edu>
     3
     4scriptversion=2005-06-29.22
     5
     6# Original author: Noah Friedman <friedman@prep.ai.mit.edu>
    47# Created: 1993-05-16
    5 # Public domain
     8# Public domain.
     9#
     10# This file is maintained in Automake, please report
     11# bugs to <bug-automake@gnu.org> or send patches to
     12# <automake-patches@gnu.org>.
    613
    714errstatus=0
    8 dirmode=""
     15dirmode=
    916
    1017usage="\
    11 Usage: mkinstalldirs [-h] [--help] [-m mode] dir ..."
     18Usage: mkinstalldirs [-h] [--help] [--version] [-m MODE] DIR ...
     19
     20Create each directory DIR (with mode MODE, if specified), including all
     21leading file name components.
     22
     23Report bugs to <bug-automake@gnu.org>."
    1224
    1325# process command line arguments
     
    1527  case $1 in
    1628    -h | --help | --h*)         # -h for help
    17       echo "$usage" 1>&2
    18       exit 0
     29      echo "$usage"
     30      exit $?
    1931      ;;
    2032    -m)                         # -m PERM arg
     
    2335      dirmode=$1
    2436      shift
     37      ;;
     38    --version)
     39      echo "$0 $scriptversion"
     40      exit $?
    2541      ;;
    2642    --)                         # stop option processing
     
    5167esac
    5268
     69# Solaris 8's mkdir -p isn't thread-safe.  If you mkdir -p a/b and
     70# mkdir -p a/c at the same time, both will detect that a is missing,
     71# one will create a, then the other will try to create a and die with
     72# a "File exists" error.  This is a problem when calling mkinstalldirs
     73# from a parallel make.  We use --version in the probe to restrict
     74# ourselves to GNU mkdir, which is thread-safe.
    5375case $dirmode in
    5476  '')
    55     if mkdir -p -- . 2>/dev/null; then
     77    if mkdir -p --version . >/dev/null 2>&1 && test ! -d ./--version; then
    5678      echo "mkdir -p -- $*"
    5779      exec mkdir -p -- "$@"
     80    else
     81      # On NextStep and OpenStep, the `mkdir' command does not
     82      # recognize any option.  It will interpret all options as
     83      # directories to create, and then abort because `.' already
     84      # exists.
     85      test -d ./-p && rmdir ./-p
     86      test -d ./--version && rmdir ./--version
    5887    fi
    5988    ;;
    6089  *)
    61     if mkdir -m "$dirmode" -p -- . 2>/dev/null; then
     90    if mkdir -m "$dirmode" -p --version . >/dev/null 2>&1 &&
     91       test ! -d ./--version; then
    6292      echo "mkdir -m $dirmode -p -- $*"
    6393      exec mkdir -m "$dirmode" -p -- "$@"
     94    else
     95      # Clean up after NextStep and OpenStep mkdir.
     96      for d in ./-m ./-p ./--version "./$dirmode";
     97      do
     98        test -d $d && rmdir $d
     99      done
    64100    fi
    65101    ;;
     
    68104for file
    69105do
    70   set fnord `echo ":$file" | sed -ne 's/^:\//#/;s/^://;s/\// /g;s/^#/\//;p'`
     106  case $file in
     107    /*) pathcomp=/ ;;
     108    *)  pathcomp= ;;
     109  esac
     110  oIFS=$IFS
     111  IFS=/
     112  set fnord $file
    71113  shift
     114  IFS=$oIFS
    72115
    73   pathcomp=
    74116  for d
    75117  do
    76     pathcomp="$pathcomp$d"
     118    test "x$d" = x && continue
     119
     120    pathcomp=$pathcomp$d
    77121    case $pathcomp in
    78122      -*) pathcomp=./$pathcomp ;;
     
    85129
    86130      if test ! -d "$pathcomp"; then
    87         errstatus=$lasterr
     131        errstatus=$lasterr
    88132      else
    89         if test ! -z "$dirmode"; then
     133        if test ! -z "$dirmode"; then
    90134          echo "chmod $dirmode $pathcomp"
    91           lasterr=""
    92           chmod "$dirmode" "$pathcomp" || lasterr=$?
     135          lasterr=
     136          chmod "$dirmode" "$pathcomp" || lasterr=$?
    93137
    94           if test ! -z "$lasterr"; then
    95             errstatus=$lasterr
    96           fi
    97         fi
     138          if test ! -z "$lasterr"; then
     139            errstatus=$lasterr
     140          fi
     141        fi
    98142      fi
    99143    fi
    100144
    101     pathcomp="$pathcomp/"
     145    pathcomp=$pathcomp/
    102146  done
    103147done
     
    108152# mode: shell-script
    109153# sh-indentation: 2
     154# eval: (add-hook 'write-file-hooks 'time-stamp)
     155# time-stamp-start: "scriptversion="
     156# time-stamp-format: "%:y-%02m-%02d.%02H"
     157# time-stamp-end: "$"
    110158# End:
    111 # mkinstalldirs ends here
Note: See TracChangeset for help on using the changeset viewer.