| #!/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., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA | 
 | # | 
 |  | 
 | # first determine the directory that contains the app itself | 
 |  | 
 | appdir="" | 
 | case "$0" in | 
 |   */*) | 
 |     # $0 contains a path, use it | 
 |     appdir=`dirname "$0"` | 
 |     ;; | 
 |   *) | 
 |     # no directory in $0, search in PATH | 
 |     saved_ifs=$IFS | 
 |     IFS=: | 
 |     for d in $PATH | 
 |     do | 
 |       IFS=$saved_ifs | 
 |       if [ -x "$d/$0" ] | 
 |       then | 
 |         appdir="$d" | 
 |         break | 
 |       fi | 
 |     done | 
 |     ;; | 
 | esac | 
 |  | 
 | # now find the top-level directory of the source 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 "$0: could not locate Wine source tree" | 
 |   exit 1 | 
 | fi | 
 |  | 
 | # setup the environment | 
 |  | 
 | topdir=`cd "$topdir" && pwd` | 
 |  | 
 | if [ -n "$LD_LIBRARY_PATH" ] | 
 | then | 
 |   LD_LIBRARY_PATH="$topdir/libs:$LD_LIBRARY_PATH" | 
 | else | 
 |   LD_LIBRARY_PATH="$topdir/libs" | 
 | fi | 
 | if [ -n "$WINEDLLPATH" ] | 
 | then | 
 |   WINEDLLPATH="$topdir/dlls:$topdir/programs:$WINEDLLPATH" | 
 | else | 
 |   WINEDLLPATH="$topdir/dlls:$topdir/programs" | 
 | fi | 
 | WINESERVER="$topdir/server/wineserver" | 
 | WINELOADER="$topdir/loader/wine" | 
 | export LD_LIBRARY_PATH WINEDLLPATH WINESERVER WINELOADER | 
 |  | 
 | # any local settings ? | 
 | if [ -f "$topdir/.winewrapper" ] | 
 | then | 
 |     . $topdir/.winewrapper | 
 | fi | 
 |  | 
 | # create prefix directory if needed | 
 |  | 
 | if [ -z "$WINEPREFIX" -a ! -d "$HOME/.wine" ] | 
 | then | 
 |     "$topdir/tools/wineprefixcreate" --use-wine-tree "$topdir" | 
 | fi | 
 |  | 
 | # and run the application | 
 |  | 
 | case "$0" in | 
 |   wine|*/wine) | 
 |     exec "$WINELOADER" "$@" | 
 |     ;; | 
 |   */*) | 
 |     [ -f "$0.exe.so" ] && exec "$WINELOADER" "$0.exe.so" "$@" | 
 |     echo "$0: cannot find corresponding application" | 
 |     exit 1 | 
 |     ;; | 
 |   *) | 
 |     [ -f "$appdir/$0.exe.so" ] && exec "$WINELOADER" "$appdir/$0.exe.so" "$@" | 
 |     echo "$0: cannot find corresponding application" | 
 |     exit 1 | 
 |     ;; | 
 | esac |