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 | |
360a3f91 | 19 | # Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA |
3536316a AJ |
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 | ||
a808f38c | 65 | if [ "`uname -s`" = "Darwin" ] |
3536316a | 66 | then |
a808f38c AJ |
67 | if [ -n "$DYLD_LIBRARY_PATH" ] |
68 | then | |
3b2c2cdb | 69 | DYLD_LIBRARY_PATH="$topdir/libs/wine:$DYLD_LIBRARY_PATH" |
a808f38c | 70 | else |
3b2c2cdb | 71 | DYLD_LIBRARY_PATH="$topdir/libs/wine" |
a808f38c AJ |
72 | fi |
73 | export DYLD_LIBRARY_PATH | |
3536316a | 74 | else |
a808f38c AJ |
75 | if [ -n "$LD_LIBRARY_PATH" ] |
76 | then | |
3b2c2cdb | 77 | LD_LIBRARY_PATH="$topdir/libs/wine:$LD_LIBRARY_PATH" |
a808f38c | 78 | else |
3b2c2cdb | 79 | LD_LIBRARY_PATH="$topdir/libs/wine" |
a808f38c AJ |
80 | fi |
81 | export LD_LIBRARY_PATH | |
3536316a | 82 | fi |
a808f38c | 83 | |
357c7401 | 84 | WINELOADER="$topdir/loader/wine" |
bf463abf | 85 | export WINELOADER |
3536316a | 86 | |
6a2ca011 EP |
87 | # any local settings ? |
88 | if [ -f "$topdir/.winewrapper" ] | |
89 | then | |
90 | . $topdir/.winewrapper | |
91 | fi | |
92 | ||
3536316a AJ |
93 | # and run the application |
94 | ||
95 | case "$0" in | |
96 | wine|*/wine) | |
97 | exec "$WINELOADER" "$@" | |
98 | ;; | |
99 | */*) | |
100 | [ -f "$0.exe.so" ] && exec "$WINELOADER" "$0.exe.so" "$@" | |
101 | echo "$0: cannot find corresponding application" | |
102 | exit 1 | |
103 | ;; | |
104 | *) | |
105 | [ -f "$appdir/$0.exe.so" ] && exec "$WINELOADER" "$appdir/$0.exe.so" "$@" | |
106 | echo "$0: cannot find corresponding application" | |
107 | exit 1 | |
108 | ;; | |
109 | esac |