misc/libfreetype/builds/unix/install-sh
author Xeli
Fri, 16 Sep 2011 20:39:14 +0200
branchhedgeroid
changeset 5938 c186c454779d
parent 5172 88f2e05288ba
permissions -rw-r--r--
isOnCurrentHog and isOnCrosshair now look at the distance relative to the screen rather than world coords, this means that zooming out doesn't make it harder to touch the hog or crosshair
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
5172
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
     1
#!/bin/sh
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
     2
# install - install a program, script, or datafile
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
     3
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
     4
scriptversion=2009-04-28.21; # UTC
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
     5
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
     6
# This originates from X11R5 (mit/util/scripts/install.sh), which was
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
     7
# later released in X11R6 (xc/config/util/install.sh) with the
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
     8
# following copyright and license.
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
     9
#
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    10
# Copyright (C) 1994 X Consortium
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    11
#
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    12
# Permission is hereby granted, free of charge, to any person obtaining a copy
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    13
# of this software and associated documentation files (the "Software"), to
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    14
# deal in the Software without restriction, including without limitation the
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    15
# rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    16
# sell copies of the Software, and to permit persons to whom the Software is
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    17
# furnished to do so, subject to the following conditions:
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    18
#
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    19
# The above copyright notice and this permission notice shall be included in
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    20
# all copies or substantial portions of the Software.
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    21
#
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    22
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    23
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    24
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL THE
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    25
# X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    26
# AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNEC-
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    27
# TION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    28
#
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    29
# Except as contained in this notice, the name of the X Consortium shall not
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    30
# be used in advertising or otherwise to promote the sale, use or other deal-
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    31
# ings in this Software without prior written authorization from the X Consor-
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    32
# tium.
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    33
#
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    34
#
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    35
# FSF changes to this file are in the public domain.
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    36
#
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    37
# Calling this script install-sh is preferred over install.sh, to prevent
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    38
# `make' implicit rules from creating a file called install from it
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    39
# when there is no Makefile.
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    40
#
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    41
# This script is compatible with the BSD install script, but was written
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    42
# from scratch.
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    43
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    44
nl='
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    45
'
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    46
IFS=" ""	$nl"
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    47
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    48
# set DOITPROG to echo to test this script
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    49
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    50
# Don't use :- since 4.3BSD and earlier shells don't like it.
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    51
doit=${DOITPROG-}
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    52
if test -z "$doit"; then
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    53
  doit_exec=exec
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    54
else
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    55
  doit_exec=$doit
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    56
fi
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    57
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    58
# Put in absolute file names if you don't have them in your path;
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    59
# or use environment vars.
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    60
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    61
chgrpprog=${CHGRPPROG-chgrp}
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    62
chmodprog=${CHMODPROG-chmod}
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    63
chownprog=${CHOWNPROG-chown}
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    64
cmpprog=${CMPPROG-cmp}
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    65
cpprog=${CPPROG-cp}
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    66
mkdirprog=${MKDIRPROG-mkdir}
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    67
mvprog=${MVPROG-mv}
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    68
rmprog=${RMPROG-rm}
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    69
stripprog=${STRIPPROG-strip}
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    70
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    71
posix_glob='?'
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    72
initialize_posix_glob='
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    73
  test "$posix_glob" != "?" || {
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    74
    if (set -f) 2>/dev/null; then
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    75
      posix_glob=
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    76
    else
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    77
      posix_glob=:
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    78
    fi
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    79
  }
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    80
'
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    81
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    82
posix_mkdir=
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    83
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    84
# Desired mode of installed file.
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    85
mode=0755
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    86
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    87
chgrpcmd=
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    88
chmodcmd=$chmodprog
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    89
chowncmd=
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    90
mvcmd=$mvprog
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    91
rmcmd="$rmprog -f"
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    92
stripcmd=
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    93
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    94
src=
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    95
dst=
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    96
dir_arg=
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    97
dst_arg=
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    98
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    99
copy_on_change=false
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   100
no_target_directory=
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   101
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   102
usage="\
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   103
Usage: $0 [OPTION]... [-T] SRCFILE DSTFILE
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   104
   or: $0 [OPTION]... SRCFILES... DIRECTORY
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   105
   or: $0 [OPTION]... -t DIRECTORY SRCFILES...
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   106
   or: $0 [OPTION]... -d DIRECTORIES...
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   107
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   108
In the 1st form, copy SRCFILE to DSTFILE.
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   109
In the 2nd and 3rd, copy all SRCFILES to DIRECTORY.
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   110
In the 4th, create DIRECTORIES.
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   111
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   112
Options:
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   113
     --help     display this help and exit.
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   114
     --version  display version info and exit.
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   115
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   116
  -c            (ignored)
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   117
  -C            install only if different (preserve the last data modification time)
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   118
  -d            create directories instead of installing files.
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   119
  -g GROUP      $chgrpprog installed files to GROUP.
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   120
  -m MODE       $chmodprog installed files to MODE.
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   121
  -o USER       $chownprog installed files to USER.
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   122
  -s            $stripprog installed files.
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   123
  -t DIRECTORY  install into DIRECTORY.
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   124
  -T            report an error if DSTFILE is a directory.
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   125
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   126
Environment variables override the default commands:
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   127
  CHGRPPROG CHMODPROG CHOWNPROG CMPPROG CPPROG MKDIRPROG MVPROG
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   128
  RMPROG STRIPPROG
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   129
"
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   130
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   131
while test $# -ne 0; do
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   132
  case $1 in
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   133
    -c) ;;
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   134
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   135
    -C) copy_on_change=true;;
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   136
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   137
    -d) dir_arg=true;;
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   138
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   139
    -g) chgrpcmd="$chgrpprog $2"
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   140
	shift;;
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   141
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   142
    --help) echo "$usage"; exit $?;;
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   143
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   144
    -m) mode=$2
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   145
	case $mode in
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   146
	  *' '* | *'	'* | *'
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   147
'*	  | *'*'* | *'?'* | *'['*)
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   148
	    echo "$0: invalid mode: $mode" >&2
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   149
	    exit 1;;
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   150
	esac
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   151
	shift;;
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   152
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   153
    -o) chowncmd="$chownprog $2"
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   154
	shift;;
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   155
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   156
    -s) stripcmd=$stripprog;;
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   157
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   158
    -t) dst_arg=$2
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   159
	shift;;
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   160
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   161
    -T) no_target_directory=true;;
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   162
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   163
    --version) echo "$0 $scriptversion"; exit $?;;
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   164
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   165
    --)	shift
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   166
	break;;
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   167
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   168
    -*)	echo "$0: invalid option: $1" >&2
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   169
	exit 1;;
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   170
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   171
    *)  break;;
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   172
  esac
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   173
  shift
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   174
done
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   175
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   176
if test $# -ne 0 && test -z "$dir_arg$dst_arg"; then
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   177
  # When -d is used, all remaining arguments are directories to create.
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   178
  # When -t is used, the destination is already specified.
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   179
  # Otherwise, the last argument is the destination.  Remove it from $@.
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   180
  for arg
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   181
  do
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   182
    if test -n "$dst_arg"; then
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   183
      # $@ is not empty: it contains at least $arg.
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   184
      set fnord "$@" "$dst_arg"
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   185
      shift # fnord
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   186
    fi
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   187
    shift # arg
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   188
    dst_arg=$arg
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   189
  done
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   190
fi
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   191
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   192
if test $# -eq 0; then
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   193
  if test -z "$dir_arg"; then
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   194
    echo "$0: no input file specified." >&2
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   195
    exit 1
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   196
  fi
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   197
  # It's OK to call `install-sh -d' without argument.
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   198
  # This can happen when creating conditional directories.
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   199
  exit 0
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   200
fi
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   201
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   202
if test -z "$dir_arg"; then
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   203
  trap '(exit $?); exit' 1 2 13 15
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   204
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   205
  # Set umask so as not to create temps with too-generous modes.
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   206
  # However, 'strip' requires both read and write access to temps.
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   207
  case $mode in
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   208
    # Optimize common cases.
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   209
    *644) cp_umask=133;;
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   210
    *755) cp_umask=22;;
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   211
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   212
    *[0-7])
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   213
      if test -z "$stripcmd"; then
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   214
	u_plus_rw=
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   215
      else
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   216
	u_plus_rw='% 200'
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   217
      fi
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   218
      cp_umask=`expr '(' 777 - $mode % 1000 ')' $u_plus_rw`;;
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   219
    *)
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   220
      if test -z "$stripcmd"; then
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   221
	u_plus_rw=
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   222
      else
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   223
	u_plus_rw=,u+rw
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   224
      fi
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   225
      cp_umask=$mode$u_plus_rw;;
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   226
  esac
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   227
fi
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   228
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   229
for src
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   230
do
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   231
  # Protect names starting with `-'.
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   232
  case $src in
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   233
    -*) src=./$src;;
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   234
  esac
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   235
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   236
  if test -n "$dir_arg"; then
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   237
    dst=$src
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   238
    dstdir=$dst
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   239
    test -d "$dstdir"
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   240
    dstdir_status=$?
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   241
  else
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   242
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   243
    # Waiting for this to be detected by the "$cpprog $src $dsttmp" command
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   244
    # might cause directories to be created, which would be especially bad
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   245
    # if $src (and thus $dsttmp) contains '*'.
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   246
    if test ! -f "$src" && test ! -d "$src"; then
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   247
      echo "$0: $src does not exist." >&2
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   248
      exit 1
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   249
    fi
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   250
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   251
    if test -z "$dst_arg"; then
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   252
      echo "$0: no destination specified." >&2
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   253
      exit 1
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   254
    fi
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   255
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   256
    dst=$dst_arg
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   257
    # Protect names starting with `-'.
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   258
    case $dst in
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   259
      -*) dst=./$dst;;
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   260
    esac
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   261
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   262
    # If destination is a directory, append the input filename; won't work
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   263
    # if double slashes aren't ignored.
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   264
    if test -d "$dst"; then
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   265
      if test -n "$no_target_directory"; then
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   266
	echo "$0: $dst_arg: Is a directory" >&2
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   267
	exit 1
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   268
      fi
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   269
      dstdir=$dst
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   270
      dst=$dstdir/`basename "$src"`
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   271
      dstdir_status=0
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   272
    else
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   273
      # Prefer dirname, but fall back on a substitute if dirname fails.
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   274
      dstdir=`
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   275
	(dirname "$dst") 2>/dev/null ||
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   276
	expr X"$dst" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   277
	     X"$dst" : 'X\(//\)[^/]' \| \
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   278
	     X"$dst" : 'X\(//\)$' \| \
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   279
	     X"$dst" : 'X\(/\)' \| . 2>/dev/null ||
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   280
	echo X"$dst" |
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   281
	    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   282
		   s//\1/
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   283
		   q
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   284
		 }
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   285
		 /^X\(\/\/\)[^/].*/{
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   286
		   s//\1/
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   287
		   q
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   288
		 }
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   289
		 /^X\(\/\/\)$/{
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   290
		   s//\1/
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   291
		   q
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   292
		 }
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   293
		 /^X\(\/\).*/{
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   294
		   s//\1/
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   295
		   q
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   296
		 }
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   297
		 s/.*/./; q'
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   298
      `
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   299
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   300
      test -d "$dstdir"
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   301
      dstdir_status=$?
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   302
    fi
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   303
  fi
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   304
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   305
  obsolete_mkdir_used=false
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   306
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   307
  if test $dstdir_status != 0; then
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   308
    case $posix_mkdir in
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   309
      '')
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   310
	# Create intermediate dirs using mode 755 as modified by the umask.
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   311
	# This is like FreeBSD 'install' as of 1997-10-28.
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   312
	umask=`umask`
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   313
	case $stripcmd.$umask in
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   314
	  # Optimize common cases.
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   315
	  *[2367][2367]) mkdir_umask=$umask;;
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   316
	  .*0[02][02] | .[02][02] | .[02]) mkdir_umask=22;;
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   317
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   318
	  *[0-7])
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   319
	    mkdir_umask=`expr $umask + 22 \
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   320
	      - $umask % 100 % 40 + $umask % 20 \
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   321
	      - $umask % 10 % 4 + $umask % 2
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   322
	    `;;
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   323
	  *) mkdir_umask=$umask,go-w;;
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   324
	esac
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   325
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   326
	# With -d, create the new directory with the user-specified mode.
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   327
	# Otherwise, rely on $mkdir_umask.
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   328
	if test -n "$dir_arg"; then
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   329
	  mkdir_mode=-m$mode
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   330
	else
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   331
	  mkdir_mode=
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   332
	fi
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   333
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   334
	posix_mkdir=false
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   335
	case $umask in
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   336
	  *[123567][0-7][0-7])
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   337
	    # POSIX mkdir -p sets u+wx bits regardless of umask, which
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   338
	    # is incompatible with FreeBSD 'install' when (umask & 300) != 0.
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   339
	    ;;
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   340
	  *)
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   341
	    tmpdir=${TMPDIR-/tmp}/ins$RANDOM-$$
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   342
	    trap 'ret=$?; rmdir "$tmpdir/d" "$tmpdir" 2>/dev/null; exit $ret' 0
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   343
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   344
	    if (umask $mkdir_umask &&
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   345
		exec $mkdirprog $mkdir_mode -p -- "$tmpdir/d") >/dev/null 2>&1
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   346
	    then
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   347
	      if test -z "$dir_arg" || {
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   348
		   # Check for POSIX incompatibilities with -m.
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   349
		   # HP-UX 11.23 and IRIX 6.5 mkdir -m -p sets group- or
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   350
		   # other-writeable bit of parent directory when it shouldn't.
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   351
		   # FreeBSD 6.1 mkdir -m -p sets mode of existing directory.
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   352
		   ls_ld_tmpdir=`ls -ld "$tmpdir"`
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   353
		   case $ls_ld_tmpdir in
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   354
		     d????-?r-*) different_mode=700;;
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   355
		     d????-?--*) different_mode=755;;
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   356
		     *) false;;
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   357
		   esac &&
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   358
		   $mkdirprog -m$different_mode -p -- "$tmpdir" && {
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   359
		     ls_ld_tmpdir_1=`ls -ld "$tmpdir"`
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   360
		     test "$ls_ld_tmpdir" = "$ls_ld_tmpdir_1"
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   361
		   }
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   362
		 }
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   363
	      then posix_mkdir=:
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   364
	      fi
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   365
	      rmdir "$tmpdir/d" "$tmpdir"
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   366
	    else
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   367
	      # Remove any dirs left behind by ancient mkdir implementations.
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   368
	      rmdir ./$mkdir_mode ./-p ./-- 2>/dev/null
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   369
	    fi
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   370
	    trap '' 0;;
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   371
	esac;;
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   372
    esac
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   373
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   374
    if
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   375
      $posix_mkdir && (
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   376
	umask $mkdir_umask &&
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   377
	$doit_exec $mkdirprog $mkdir_mode -p -- "$dstdir"
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   378
      )
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   379
    then :
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   380
    else
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   381
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   382
      # The umask is ridiculous, or mkdir does not conform to POSIX,
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   383
      # or it failed possibly due to a race condition.  Create the
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   384
      # directory the slow way, step by step, checking for races as we go.
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   385
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   386
      case $dstdir in
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   387
	/*) prefix='/';;
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   388
	-*) prefix='./';;
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   389
	*)  prefix='';;
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   390
      esac
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   391
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   392
      eval "$initialize_posix_glob"
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   393
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   394
      oIFS=$IFS
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   395
      IFS=/
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   396
      $posix_glob set -f
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   397
      set fnord $dstdir
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   398
      shift
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   399
      $posix_glob set +f
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   400
      IFS=$oIFS
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   401
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   402
      prefixes=
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   403
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   404
      for d
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   405
      do
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   406
	test -z "$d" && continue
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   407
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   408
	prefix=$prefix$d
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   409
	if test -d "$prefix"; then
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   410
	  prefixes=
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   411
	else
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   412
	  if $posix_mkdir; then
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   413
	    (umask=$mkdir_umask &&
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   414
	     $doit_exec $mkdirprog $mkdir_mode -p -- "$dstdir") && break
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   415
	    # Don't fail if two instances are running concurrently.
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   416
	    test -d "$prefix" || exit 1
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   417
	  else
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   418
	    case $prefix in
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   419
	      *\'*) qprefix=`echo "$prefix" | sed "s/'/'\\\\\\\\''/g"`;;
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   420
	      *) qprefix=$prefix;;
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   421
	    esac
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   422
	    prefixes="$prefixes '$qprefix'"
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   423
	  fi
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   424
	fi
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   425
	prefix=$prefix/
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   426
      done
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   427
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   428
      if test -n "$prefixes"; then
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   429
	# Don't fail if two instances are running concurrently.
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   430
	(umask $mkdir_umask &&
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   431
	 eval "\$doit_exec \$mkdirprog $prefixes") ||
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   432
	  test -d "$dstdir" || exit 1
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   433
	obsolete_mkdir_used=true
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   434
      fi
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   435
    fi
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   436
  fi
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   437
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   438
  if test -n "$dir_arg"; then
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   439
    { test -z "$chowncmd" || $doit $chowncmd "$dst"; } &&
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   440
    { test -z "$chgrpcmd" || $doit $chgrpcmd "$dst"; } &&
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   441
    { test "$obsolete_mkdir_used$chowncmd$chgrpcmd" = false ||
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   442
      test -z "$chmodcmd" || $doit $chmodcmd $mode "$dst"; } || exit 1
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   443
  else
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   444
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   445
    # Make a couple of temp file names in the proper directory.
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   446
    dsttmp=$dstdir/_inst.$$_
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   447
    rmtmp=$dstdir/_rm.$$_
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   448
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   449
    # Trap to clean up those temp files at exit.
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   450
    trap 'ret=$?; rm -f "$dsttmp" "$rmtmp" && exit $ret' 0
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   451
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   452
    # Copy the file name to the temp name.
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   453
    (umask $cp_umask && $doit_exec $cpprog "$src" "$dsttmp") &&
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   454
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   455
    # and set any options; do chmod last to preserve setuid bits.
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   456
    #
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   457
    # If any of these fail, we abort the whole thing.  If we want to
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   458
    # ignore errors from any of these, just make sure not to ignore
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   459
    # errors from the above "$doit $cpprog $src $dsttmp" command.
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   460
    #
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   461
    { test -z "$chowncmd" || $doit $chowncmd "$dsttmp"; } &&
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   462
    { test -z "$chgrpcmd" || $doit $chgrpcmd "$dsttmp"; } &&
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   463
    { test -z "$stripcmd" || $doit $stripcmd "$dsttmp"; } &&
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   464
    { test -z "$chmodcmd" || $doit $chmodcmd $mode "$dsttmp"; } &&
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   465
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   466
    # If -C, don't bother to copy if it wouldn't change the file.
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   467
    if $copy_on_change &&
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   468
       old=`LC_ALL=C ls -dlL "$dst"	2>/dev/null` &&
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   469
       new=`LC_ALL=C ls -dlL "$dsttmp"	2>/dev/null` &&
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   470
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   471
       eval "$initialize_posix_glob" &&
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   472
       $posix_glob set -f &&
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   473
       set X $old && old=:$2:$4:$5:$6 &&
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   474
       set X $new && new=:$2:$4:$5:$6 &&
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   475
       $posix_glob set +f &&
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   476
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   477
       test "$old" = "$new" &&
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   478
       $cmpprog "$dst" "$dsttmp" >/dev/null 2>&1
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   479
    then
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   480
      rm -f "$dsttmp"
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   481
    else
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   482
      # Rename the file to the real destination.
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   483
      $doit $mvcmd -f "$dsttmp" "$dst" 2>/dev/null ||
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   484
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   485
      # The rename failed, perhaps because mv can't rename something else
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   486
      # to itself, or perhaps because mv is so ancient that it does not
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   487
      # support -f.
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   488
      {
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   489
	# Now remove or move aside any old file at destination location.
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   490
	# We try this two ways since rm can't unlink itself on some
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   491
	# systems and the destination file might be busy for other
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   492
	# reasons.  In this case, the final cleanup might fail but the new
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   493
	# file should still install successfully.
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   494
	{
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   495
	  test ! -f "$dst" ||
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   496
	  $doit $rmcmd -f "$dst" 2>/dev/null ||
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   497
	  { $doit $mvcmd -f "$dst" "$rmtmp" 2>/dev/null &&
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   498
	    { $doit $rmcmd -f "$rmtmp" 2>/dev/null; :; }
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   499
	  } ||
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   500
	  { echo "$0: cannot unlink or rename $dst" >&2
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   501
	    (exit 1); exit 1
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   502
	  }
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   503
	} &&
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   504
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   505
	# Now rename the file to the real destination.
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   506
	$doit $mvcmd "$dsttmp" "$dst"
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   507
      }
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   508
    fi || exit 1
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   509
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   510
    trap '' 0
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   511
  fi
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   512
done
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   513
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   514
# Local variables:
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   515
# eval: (add-hook 'write-file-hooks 'time-stamp)
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   516
# time-stamp-start: "scriptversion="
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   517
# time-stamp-format: "%:y-%02m-%02d.%02H"
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   518
# time-stamp-time-zone: "UTC"
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   519
# time-stamp-end: "; # UTC"
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   520
# End: