xref: /aoo4110/main/solenv/bin/checkdll.sh (revision b1cdbd2c)
1*b1cdbd2cSJim Jagielski#! /bin/sh
2*b1cdbd2cSJim Jagielski#**************************************************************
3*b1cdbd2cSJim Jagielski#
4*b1cdbd2cSJim Jagielski#  Licensed to the Apache Software Foundation (ASF) under one
5*b1cdbd2cSJim Jagielski#  or more contributor license agreements.  See the NOTICE file
6*b1cdbd2cSJim Jagielski#  distributed with this work for additional information
7*b1cdbd2cSJim Jagielski#  regarding copyright ownership.  The ASF licenses this file
8*b1cdbd2cSJim Jagielski#  to you under the Apache License, Version 2.0 (the
9*b1cdbd2cSJim Jagielski#  "License"); you may not use this file except in compliance
10*b1cdbd2cSJim Jagielski#  with the License.  You may obtain a copy of the License at
11*b1cdbd2cSJim Jagielski#
12*b1cdbd2cSJim Jagielski#    http://www.apache.org/licenses/LICENSE-2.0
13*b1cdbd2cSJim Jagielski#
14*b1cdbd2cSJim Jagielski#  Unless required by applicable law or agreed to in writing,
15*b1cdbd2cSJim Jagielski#  software distributed under the License is distributed on an
16*b1cdbd2cSJim Jagielski#  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
17*b1cdbd2cSJim Jagielski#  KIND, either express or implied.  See the License for the
18*b1cdbd2cSJim Jagielski#  specific language governing permissions and limitations
19*b1cdbd2cSJim Jagielski#  under the License.
20*b1cdbd2cSJim Jagielski#
21*b1cdbd2cSJim Jagielski#**************************************************************
22*b1cdbd2cSJim Jagielski# checkdll.sh - execute checkdll with all -L arguments to this script
23*b1cdbd2cSJim Jagielski#               prepended to LD_LIBRARY_PATH
24*b1cdbd2cSJim Jagielski
25*b1cdbd2cSJim Jagielskiset -- `getopt "L:" "$@"` ||  {
26*b1cdbd2cSJim Jagielski    echo "Usage: `basename $0` [-L library_path] <shared_library>" 1>&2
27*b1cdbd2cSJim Jagielski    exit 1
28*b1cdbd2cSJim Jagielski}
29*b1cdbd2cSJim Jagielski
30*b1cdbd2cSJim Jagielskicheckdll="$SOLARVERSION/$INPATH/bin$UPDMINOREXT/checkdll"
31*b1cdbd2cSJim Jagielski
32*b1cdbd2cSJim Jagielskiif [ -x $checkdll ]; then
33*b1cdbd2cSJim Jagielski    while :
34*b1cdbd2cSJim Jagielski    do
35*b1cdbd2cSJim Jagielski	case $1 in
36*b1cdbd2cSJim Jagielski	    -L) shift; option=$1;;
37*b1cdbd2cSJim Jagielski	    --) break;;
38*b1cdbd2cSJim Jagielski	esac
39*b1cdbd2cSJim Jagielski	case "${libpath:+X}" in
40*b1cdbd2cSJim Jagielski	    X) libpath=$libpath:$option;;
41*b1cdbd2cSJim Jagielski	    *) libpath=$option;;
42*b1cdbd2cSJim Jagielski	esac
43*b1cdbd2cSJim Jagielski	shift
44*b1cdbd2cSJim Jagielski    done
45*b1cdbd2cSJim Jagielski    shift  # remove the trailing ---
46*b1cdbd2cSJim Jagielski
47*b1cdbd2cSJim Jagielski    case `uname -s` in
48*b1cdbd2cSJim Jagielski    Darwin) case "${DYLD_LIBRARY_PATH:+X}" in
49*b1cdbd2cSJim Jagielski	    X) DYLD_LIBRARY_PATH=$libpath:$DYLD_LIBRARY_PATH;;
50*b1cdbd2cSJim Jagielski	    *) DYLD_LIBRARY_PATH=$libpath;;
51*b1cdbd2cSJim Jagielski        esac
52*b1cdbd2cSJim Jagielski        export DYLD_LIBRARY_PATH;;
53*b1cdbd2cSJim Jagielski	*)  case "${LD_LIBRARY_PATH:+X}" in
54*b1cdbd2cSJim Jagielski	    X) LD_LIBRARY_PATH=$libpath:$LD_LIBRARY_PATH;;
55*b1cdbd2cSJim Jagielski	    *) LD_LIBRARY_PATH=$libpath;;
56*b1cdbd2cSJim Jagielski        esac
57*b1cdbd2cSJim Jagielski        export LD_LIBRARY_PATH;;
58*b1cdbd2cSJim Jagielski    esac
59*b1cdbd2cSJim Jagielski
60*b1cdbd2cSJim Jagielski    $checkdll "$@"
61*b1cdbd2cSJim Jagielski    if [ $? -ne 0 ]; then exit 1 ; fi
62*b1cdbd2cSJim Jagielski
63*b1cdbd2cSJim Jagielski    for parameter in $*; do
64*b1cdbd2cSJim Jagielski        library=$parameter;
65*b1cdbd2cSJim Jagielski    done
66*b1cdbd2cSJim Jagielski    realname=`echo $library | sed "s/check_//"`
67*b1cdbd2cSJim Jagielski    if [ $library != $realname ]; then
68*b1cdbd2cSJim Jagielski		LD_LIBRARY_PATH=
69*b1cdbd2cSJim Jagielski		export LD_LIBRARY_PATH
70*b1cdbd2cSJim Jagielski        mv $library $realname
71*b1cdbd2cSJim Jagielski    fi
72*b1cdbd2cSJim Jagielskielse
73*b1cdbd2cSJim Jagielski	echo "WARNING: checkdll not found!" 1>&2
74*b1cdbd2cSJim Jagielskifi
75*b1cdbd2cSJim Jagielski
76*b1cdbd2cSJim Jagielskiexit 0
77*b1cdbd2cSJim Jagielski
78