xref: /aoo42x/main/solenv/bin/checkdll.sh (revision cdf0e10c)
1*cdf0e10cSrcweir#! /bin/sh
2*cdf0e10cSrcweir#*************************************************************************
3*cdf0e10cSrcweir#
4*cdf0e10cSrcweir# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
5*cdf0e10cSrcweir#
6*cdf0e10cSrcweir# Copyright 2000, 2010 Oracle and/or its affiliates.
7*cdf0e10cSrcweir#
8*cdf0e10cSrcweir# OpenOffice.org - a multi-platform office productivity suite
9*cdf0e10cSrcweir#
10*cdf0e10cSrcweir# This file is part of OpenOffice.org.
11*cdf0e10cSrcweir#
12*cdf0e10cSrcweir# OpenOffice.org is free software: you can redistribute it and/or modify
13*cdf0e10cSrcweir# it under the terms of the GNU Lesser General Public License version 3
14*cdf0e10cSrcweir# only, as published by the Free Software Foundation.
15*cdf0e10cSrcweir#
16*cdf0e10cSrcweir# OpenOffice.org is distributed in the hope that it will be useful,
17*cdf0e10cSrcweir# but WITHOUT ANY WARRANTY; without even the implied warranty of
18*cdf0e10cSrcweir# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
19*cdf0e10cSrcweir# GNU Lesser General Public License version 3 for more details
20*cdf0e10cSrcweir# (a copy is included in the LICENSE file that accompanied this code).
21*cdf0e10cSrcweir#
22*cdf0e10cSrcweir# You should have received a copy of the GNU Lesser General Public License
23*cdf0e10cSrcweir# version 3 along with OpenOffice.org.  If not, see
24*cdf0e10cSrcweir# <http://www.openoffice.org/license.html>
25*cdf0e10cSrcweir# for a copy of the LGPLv3 License.
26*cdf0e10cSrcweir#
27*cdf0e10cSrcweir#*************************************************************************
28*cdf0e10cSrcweir# checkdll.sh - execute checkdll with all -L arguments to this script
29*cdf0e10cSrcweir#               prepended to LD_LIBRARY_PATH
30*cdf0e10cSrcweir
31*cdf0e10cSrcweirset -- `getopt "L:" "$@"` ||  {
32*cdf0e10cSrcweir    echo "Usage: `basename $0` [-L library_path] <shared_library>" 1>&2
33*cdf0e10cSrcweir    exit 1
34*cdf0e10cSrcweir}
35*cdf0e10cSrcweir
36*cdf0e10cSrcweircheckdll="$SOLARVERSION/$INPATH/bin$UPDMINOREXT/checkdll"
37*cdf0e10cSrcweir
38*cdf0e10cSrcweirif [ -x $checkdll ]; then
39*cdf0e10cSrcweir    while :
40*cdf0e10cSrcweir    do
41*cdf0e10cSrcweir	case $1 in
42*cdf0e10cSrcweir	    -L) shift; option=$1;;
43*cdf0e10cSrcweir	    --) break;;
44*cdf0e10cSrcweir	esac
45*cdf0e10cSrcweir	case "${libpath:+X}" in
46*cdf0e10cSrcweir	    X) libpath=$libpath:$option;;
47*cdf0e10cSrcweir	    *) libpath=$option;;
48*cdf0e10cSrcweir	esac
49*cdf0e10cSrcweir	shift
50*cdf0e10cSrcweir    done
51*cdf0e10cSrcweir    shift  # remove the trailing ---
52*cdf0e10cSrcweir
53*cdf0e10cSrcweir    case `uname -s` in
54*cdf0e10cSrcweir    Darwin) case "${DYLD_LIBRARY_PATH:+X}" in
55*cdf0e10cSrcweir	    X) DYLD_LIBRARY_PATH=$libpath:$DYLD_LIBRARY_PATH;;
56*cdf0e10cSrcweir	    *) DYLD_LIBRARY_PATH=$libpath;;
57*cdf0e10cSrcweir        esac
58*cdf0e10cSrcweir        export DYLD_LIBRARY_PATH;;
59*cdf0e10cSrcweir	*)  case "${LD_LIBRARY_PATH:+X}" in
60*cdf0e10cSrcweir	    X) LD_LIBRARY_PATH=$libpath:$LD_LIBRARY_PATH;;
61*cdf0e10cSrcweir	    *) LD_LIBRARY_PATH=$libpath;;
62*cdf0e10cSrcweir        esac
63*cdf0e10cSrcweir        export LD_LIBRARY_PATH;;
64*cdf0e10cSrcweir    esac
65*cdf0e10cSrcweir
66*cdf0e10cSrcweir    $checkdll "$@"
67*cdf0e10cSrcweir    if [ $? -ne 0 ]; then exit 1 ; fi
68*cdf0e10cSrcweir
69*cdf0e10cSrcweir    for parameter in $*; do
70*cdf0e10cSrcweir        library=$parameter;
71*cdf0e10cSrcweir    done
72*cdf0e10cSrcweir    realname=`echo $library | sed "s/check_//"`
73*cdf0e10cSrcweir    if [ $library != $realname ]; then
74*cdf0e10cSrcweir		LD_LIBRARY_PATH=
75*cdf0e10cSrcweir		export LD_LIBRARY_PATH
76*cdf0e10cSrcweir        mv $library $realname
77*cdf0e10cSrcweir    fi
78*cdf0e10cSrcweirelse
79*cdf0e10cSrcweir	echo "WARNING: checkdll not found!" 1>&2
80*cdf0e10cSrcweirfi
81*cdf0e10cSrcweir
82*cdf0e10cSrcweirexit 0
83*cdf0e10cSrcweir
84