#!/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 WINEDLLPATH="$topdir/dlls:$topdir/programs" 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 # 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