To check out this repository please hg clone the following URL, or open the URL using EasyMercurial or your preferred Mercurial client.

The primary repository for this project is hosted at https://github.com/sonic-visualiser/sv-dependency-builds .
This repository is a read-only copy which is updated automatically every hour.

Statistics Download as Zip
| Branch: | Tag: | Revision:

root / src / portaudio_20161030_catalina_patch / bindings / cpp / build / gnu / install-sh @ 164:9fa11135915a

History | View | Annotate | Download (5.47 KB)

1
#!/bin/sh
2
#
3
# install - install a program, script, or datafile
4
# This comes from X11R5 (mit/util/scripts/install.sh).
5
#
6
# Copyright 1991 by the Massachusetts Institute of Technology
7
#
8
# Permission to use, copy, modify, distribute, and sell this software and its
9
# documentation for any purpose is hereby granted without fee, provided that
10
# the above copyright notice appear in all copies and that both that
11
# copyright notice and this permission notice appear in supporting
12
# documentation, and that the name of M.I.T. not be used in advertising or
13
# publicity pertaining to distribution of the software without specific,
14
# written prior permission.  M.I.T. makes no representations about the
15
# suitability of this software for any purpose.  It is provided "as is"
16
# without express or implied warranty.
17
#
18
# Calling this script install-sh is preferred over install.sh, to prevent
19
# `make' implicit rules from creating a file called install from it
20
# when there is no Makefile.
21
#
22
# This script is compatible with the BSD install script, but was written
23
# from scratch.  It can only install one file at a time, a restriction
24
# shared with many OS's install programs.
25

    
26

    
27
# set DOITPROG to echo to test this script
28

    
29
# Don't use :- since 4.3BSD and earlier shells don't like it.
30
doit="${DOITPROG-}"
31

    
32

    
33
# put in absolute paths if you don't have them in your path; or use env. vars.
34

    
35
mvprog="${MVPROG-mv}"
36
cpprog="${CPPROG-cp}"
37
chmodprog="${CHMODPROG-chmod}"
38
chownprog="${CHOWNPROG-chown}"
39
chgrpprog="${CHGRPPROG-chgrp}"
40
stripprog="${STRIPPROG-strip}"
41
rmprog="${RMPROG-rm}"
42
mkdirprog="${MKDIRPROG-mkdir}"
43

    
44
transformbasename=""
45
transform_arg=""
46
instcmd="$mvprog"
47
chmodcmd="$chmodprog 0755"
48
chowncmd=""
49
chgrpcmd=""
50
stripcmd=""
51
rmcmd="$rmprog -f"
52
mvcmd="$mvprog"
53
src=""
54
dst=""
55
dir_arg=""
56

    
57
while [ x"$1" != x ]; do
58
    case $1 in
59
	-c) instcmd="$cpprog"
60
	    shift
61
	    continue;;
62

    
63
	-d) dir_arg=true
64
	    shift
65
	    continue;;
66

    
67
	-m) chmodcmd="$chmodprog $2"
68
	    shift
69
	    shift
70
	    continue;;
71

    
72
	-o) chowncmd="$chownprog $2"
73
	    shift
74
	    shift
75
	    continue;;
76

    
77
	-g) chgrpcmd="$chgrpprog $2"
78
	    shift
79
	    shift
80
	    continue;;
81

    
82
	-s) stripcmd="$stripprog"
83
	    shift
84
	    continue;;
85

    
86
	-t=*) transformarg=`echo $1 | sed 's/-t=//'`
87
	    shift
88
	    continue;;
89

    
90
	-b=*) transformbasename=`echo $1 | sed 's/-b=//'`
91
	    shift
92
	    continue;;
93

    
94
	*)  if [ x"$src" = x ]
95
	    then
96
		src=$1
97
	    else
98
		# this colon is to work around a 386BSD /bin/sh bug
99
		:
100
		dst=$1
101
	    fi
102
	    shift
103
	    continue;;
104
    esac
105
done
106

    
107
if [ x"$src" = x ]
108
then
109
	echo "install:	no input file specified"
110
	exit 1
111
else
112
	true
113
fi
114

    
115
if [ x"$dir_arg" != x ]; then
116
	dst=$src
117
	src=""
118
	
119
	if [ -d $dst ]; then
120
		instcmd=:
121
		chmodcmd=""
122
	else
123
		instcmd=mkdir
124
	fi
125
else
126

    
127
# Waiting for this to be detected by the "$instcmd $src $dsttmp" command
128
# might cause directories to be created, which would be especially bad 
129
# if $src (and thus $dsttmp) contains '*'.
130

    
131
	if [ -f $src -o -d $src ]
132
	then
133
		true
134
	else
135
		echo "install:  $src does not exist"
136
		exit 1
137
	fi
138
	
139
	if [ x"$dst" = x ]
140
	then
141
		echo "install:	no destination specified"
142
		exit 1
143
	else
144
		true
145
	fi
146

    
147
# If destination is a directory, append the input filename; if your system
148
# does not like double slashes in filenames, you may need to add some logic
149

    
150
	if [ -d $dst ]
151
	then
152
		dst="$dst"/`basename $src`
153
	else
154
		true
155
	fi
156
fi
157

    
158
## this sed command emulates the dirname command
159
dstdir=`echo $dst | sed -e 's,[^/]*$,,;s,/$,,;s,^$,.,'`
160

    
161
# Make sure that the destination directory exists.
162
#  this part is taken from Noah Friedman's mkinstalldirs script
163

    
164
# Skip lots of stat calls in the usual case.
165
if [ ! -d "$dstdir" ]; then
166
defaultIFS='	
167
'
168
IFS="${IFS-${defaultIFS}}"
169

    
170
oIFS="${IFS}"
171
# Some sh's can't handle IFS=/ for some reason.
172
IFS='%'
173
set - `echo ${dstdir} | sed -e 's@/@%@g' -e 's@^%@/@'`
174
IFS="${oIFS}"
175

    
176
pathcomp=''
177

    
178
while [ $# -ne 0 ] ; do
179
	pathcomp="${pathcomp}${1}"
180
	shift
181

    
182
	if [ ! -d "${pathcomp}" ] ;
183
        then
184
		$mkdirprog "${pathcomp}"
185
	else
186
		true
187
	fi
188

    
189
	pathcomp="${pathcomp}/"
190
done
191
fi
192

    
193
if [ x"$dir_arg" != x ]
194
then
195
	$doit $instcmd $dst &&
196

    
197
	if [ x"$chowncmd" != x ]; then $doit $chowncmd $dst; else true ; fi &&
198
	if [ x"$chgrpcmd" != x ]; then $doit $chgrpcmd $dst; else true ; fi &&
199
	if [ x"$stripcmd" != x ]; then $doit $stripcmd $dst; else true ; fi &&
200
	if [ x"$chmodcmd" != x ]; then $doit $chmodcmd $dst; else true ; fi
201
else
202

    
203
# If we're going to rename the final executable, determine the name now.
204

    
205
	if [ x"$transformarg" = x ] 
206
	then
207
		dstfile=`basename $dst`
208
	else
209
		dstfile=`basename $dst $transformbasename | 
210
			sed $transformarg`$transformbasename
211
	fi
212

    
213
# don't allow the sed command to completely eliminate the filename
214

    
215
	if [ x"$dstfile" = x ] 
216
	then
217
		dstfile=`basename $dst`
218
	else
219
		true
220
	fi
221

    
222
# Make a temp file name in the proper directory.
223

    
224
	dsttmp=$dstdir/#inst.$$#
225

    
226
# Move or copy the file name to the temp name
227

    
228
	$doit $instcmd $src $dsttmp &&
229

    
230
	trap "rm -f ${dsttmp}" 0 &&
231

    
232
# and set any options; do chmod last to preserve setuid bits
233

    
234
# If any of these fail, we abort the whole thing.  If we want to
235
# ignore errors from any of these, just make sure not to ignore
236
# errors from the above "$doit $instcmd $src $dsttmp" command.
237

    
238
	if [ x"$chowncmd" != x ]; then $doit $chowncmd $dsttmp; else true;fi &&
239
	if [ x"$chgrpcmd" != x ]; then $doit $chgrpcmd $dsttmp; else true;fi &&
240
	if [ x"$stripcmd" != x ]; then $doit $stripcmd $dsttmp; else true;fi &&
241
	if [ x"$chmodcmd" != x ]; then $doit $chmodcmd $dsttmp; else true;fi &&
242

    
243
# Now rename the file to the real destination.
244

    
245
	$doit $rmcmd -f $dstdir/$dstfile &&
246
	$doit $mvcmd $dsttmp $dstdir/$dstfile 
247

    
248
fi &&
249

    
250

    
251
exit 0