| #!/bin/sh |
| # |
| # Wrapper script to run Wine and Winelib apps from inside the source tree |
| # |
| # Copyright (C) 2002 Alexandre Julliard |
| # |
| # This library is free software; you can redistribute it and/or |
| # modify it under the terms of the GNU Lesser General Public |
| # License as published by the Free Software Foundation; either |
| # version 2.1 of the License, or (at your option) any later version. |
| # |
| # This library is distributed in the hope that it will be useful, |
| # but WITHOUT ANY WARRANTY; without even the implied warranty of |
| # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU |
| # Lesser General Public License for more details. |
| # |
| # You should have received a copy of the GNU Lesser General Public |
| # License along with this library; if not, write to the Free Software |
| # Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA |
| # |
| |
| # first determine the directory that contains the app itself |
| |
| appdir="" |
| name=$0 |
| |
| case "$0" in |
| */*) |
| # $0 contains a path, use it |
| appdir=`dirname "$0"` |
| name=`basename "$0"` |
| ;; |
| *) |
| # no directory in $0, search in PATH |
| saved_ifs=$IFS |
| IFS=: |
| for d in $PATH |
| do |
| IFS=$saved_ifs |
| if [ -x "$d/$name" ] |
| then |
| appdir="$d" |
| break |
| fi |
| done |
| ;; |
| esac |
| |
| # now find the top-level directory of the build tree |
| |
| if [ -x "$appdir/server/wineserver" ] |
| then topdir="$appdir" |
| elif [ -x "$appdir/../server/wineserver" ] |
| then topdir="$appdir/.." |
| elif [ -x "$appdir/../../server/wineserver" ] |
| then topdir="$appdir/../.." |
| elif [ -x "$appdir/../../../server/wineserver" ] |
| then topdir="$appdir/../../.." |
| else |
| echo "$name: could not locate the Wine build tree" |
| exit 1 |
| fi |
| |
| # setup the environment |
| |
| topdir=`cd "$topdir" && pwd` |
| |
| if [ "`uname -s`" = "Darwin" ] |
| then |
| if [ -n "$DYLD_LIBRARY_PATH" ] |
| then |
| DYLD_LIBRARY_PATH="$topdir/libs/wine:$DYLD_LIBRARY_PATH" |
| else |
| DYLD_LIBRARY_PATH="$topdir/libs/wine" |
| fi |
| export DYLD_LIBRARY_PATH |
| else |
| if [ -n "$LD_LIBRARY_PATH" ] |
| then |
| LD_LIBRARY_PATH="$topdir/libs/wine:$LD_LIBRARY_PATH" |
| else |
| LD_LIBRARY_PATH="$topdir/libs/wine" |
| fi |
| export LD_LIBRARY_PATH |
| fi |
| |
| if [ -x "$topdir/loader/$name" ] |
| then WINELOADER="$topdir/loader/$name" |
| elif [ -x "$topdir/loader/wine" ] |
| then WINELOADER="$topdir/loader/wine" |
| elif [ -x "$topdir/loader/wine64" ] |
| then WINELOADER="$topdir/loader/wine64" |
| else |
| echo "$name: could not find the Wine loader in $topdir" |
| exit 1 |
| fi |
| export WINELOADER |
| |
| # any local settings ? |
| if [ -f "$topdir/.winewrapper" ] |
| then |
| . $topdir/.winewrapper |
| fi |
| |
| # and run the application |
| |
| exec "$WINELOADER" "$@" |