I have been trying out autoconf v.2.52f on OS/2 and it is looking 
promising, although I have found one problem related to mkinstalldirs...

As it is it won't cope with drive letters. If the intention is to make 
autoconf truly cross-platform then this needs to be addressed.

I'm attaching a version of mkinstalldirs which does work fine for me and 
hopefully this could be included in the distribution. 

It only has very minor changes and comes from an OS/2 port of autoconf 
v2.50 by Andreas Buening.



-- 
John
#! /bin/sh
# mkinstalldirs --- make directory hierarchy
# Author: Noah Friedman <[EMAIL PROTECTED]>
# Created: 1993-05-16
# Public domain

# $Id: mkinstalldirs,v 1.14 1999/04/09 21:44:01 bje Exp $

errstatus=0
dirmode=""

usage="\
Usage: mkinstalldirs [-h] [--help] [-m mode] dir ..."

# 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 ;;
     -- ) shift; break ;;                       # stop option processing
     -* ) echo "${usage}" 1>&2; exit 1 ;;       # unknown option
     * )  break ;;                              # first non-opt arg
   esac
done

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" -a ! -d "$pathcomp/"; then
        echo "mkdir $pathcomp"

        mkdir "$pathcomp" || lasterr=$?

        if test ! -d "$pathcomp" -a ! -d "$pathcomp/"; then
          errstatus=$lasterr
        else
          if test ! -z "$dirmode"; then
             echo "chmod $dirmode $pathcomp"

             lasterr=""
             chmod $dirmode "$pathcomp" || lasterr=$?

             if test ! -z "$lasterr"; then
               errstatus=$lasterr
             fi
          fi
        fi
     fi

     pathcomp="$pathcomp/"
   done
done

exit $errstatus

# Local Variables:
# mode:shell-script
# sh-indentation:3
# End:

Reply via email to