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