Commit | Line | Data |
---|---|---|
3536316a AJ |
1 | #!/bin/sh |
2 | # | |
3 | # Wrapper script to run Wine and Winelib apps from inside the source tree | |
4 | # | |
5 | # Copyright (C) 2002 Alexandre Julliard | |
6 | # | |
7 | # This library is free software; you can redistribute it and/or | |
8 | # modify it under the terms of the GNU Lesser General Public | |
9 | # License as published by the Free Software Foundation; either | |
10 | # version 2.1 of the License, or (at your option) any later version. | |
11 | # | |
12 | # This library is distributed in the hope that it will be useful, | |
13 | # but WITHOUT ANY WARRANTY; without even the implied warranty of | |
14 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | |
15 | # Lesser General Public License for more details. | |
16 | # | |
17 | # You should have received a copy of the GNU Lesser General Public | |
18 | # License along with this library; if not, write to the Free Software | |
19 | # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA | |
20 | # | |
21 | ||
22 | # first determine the directory that contains the app itself | |
23 | ||
24 | appdir="" | |
25 | case "$0" in | |
26 | */*) | |
27 | # $0 contains a path, use it | |
28 | appdir=`dirname "$0"` | |
29 | ;; | |
30 | *) | |
31 | # no directory in $0, search in PATH | |
32 | saved_ifs=$IFS | |
33 | IFS=: | |
34 | for d in $PATH | |
35 | do | |
36 | IFS=$saved_ifs | |
37 | if [ -x "$d/$0" ] | |
38 | then | |
39 | appdir="$d" | |
40 | break | |
41 | fi | |
42 | done | |
43 | ;; | |
44 | esac | |
45 | ||
46 | # now find the top-level directory of the source tree | |
47 | ||
48 | if [ -x "$appdir/server/wineserver" ] | |
49 | then topdir="$appdir" | |
50 | elif [ -x "$appdir/../server/wineserver" ] | |
51 | then topdir="$appdir/.." | |
52 | elif [ -x "$appdir/../../server/wineserver" ] | |
53 | then topdir="$appdir/../.." | |
54 | elif [ -x "$appdir/../../../server/wineserver" ] | |
55 | then topdir="$appdir/../../.." | |
56 | else | |
57 | echo "$0: could not locate Wine source tree" | |
58 | exit 1 | |
59 | fi | |
60 | ||
61 | # setup the environment | |
62 | ||
63 | topdir=`cd "$topdir" && pwd` | |
64 | ||
65 | if [ -n "$LD_LIBRARY_PATH" ] | |
66 | then | |
e1a9b10f | 67 | LD_LIBRARY_PATH="$topdir/dlls:$topdir/libs:$LD_LIBRARY_PATH" |
3536316a | 68 | else |
e1a9b10f | 69 | LD_LIBRARY_PATH="$topdir/dlls:$topdir/libs" |
3536316a AJ |
70 | fi |
71 | WINEDLLPATH="$topdir/dlls:$topdir/programs" | |
72 | WINESERVER="$topdir/server/wineserver" | |
73 | WINELOADER="$topdir/miscemu/wine" | |
74 | export LD_LIBRARY_PATH WINEDLLPATH WINESERVER WINELOADER | |
75 | ||
6a2ca011 EP |
76 | # any local settings ? |
77 | if [ -f "$topdir/.winewrapper" ] | |
78 | then | |
79 | . $topdir/.winewrapper | |
80 | fi | |
81 | ||
3536316a AJ |
82 | # and run the application |
83 | ||
84 | case "$0" in | |
85 | wine|*/wine) | |
86 | exec "$WINELOADER" "$@" | |
87 | ;; | |
88 | */*) | |
89 | [ -f "$0.exe.so" ] && exec "$WINELOADER" "$0.exe.so" "$@" | |
90 | echo "$0: cannot find corresponding application" | |
91 | exit 1 | |
92 | ;; | |
93 | *) | |
94 | [ -f "$appdir/$0.exe.so" ] && exec "$WINELOADER" "$appdir/$0.exe.so" "$@" | |
95 | echo "$0: cannot find corresponding application" | |
96 | exit 1 | |
97 | ;; | |
98 | esac |