~fluidity-core/fluidity/embedded_models

« back to all changes in this revision

Viewing changes to libadaptivity/install-sh

  • Committer: Timothy Bond
  • Date: 2011-04-14 15:40:24 UTC
  • Revision ID: timothy.bond@imperial.ac.uk-20110414154024-116ci9gq6mwigmaw
Following the move from svn to bzr we change the nature of inclusion of these
four software libraries. Previously, they were included as svn externals and
pulled at latest version for trunk, pinned to specific versions for release
and stable trunk. Since bzr is less elegant at dealing with externals we have
made the decision to include the packages directly into the trunk instead.

At this import the versions are:

libadaptivity: r163
libvtkfortran: r67
libspud: r545
libmba2d: r28

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
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
exit 0