~drgeo-developers/drgeo/trunk

« back to all changes in this revision

Viewing changes to VMs/xo/vm-2010-08-05/bin/squeak

  • Committer: Hilaire Fernandes
  • Date: 2012-01-27 21:15:40 UTC
  • Revision ID: hilaire.fernandes@gmail.com-20120127211540-912spf97bhpx6mve
Initial additions

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
#!/bin/sh
 
2
 
3
# Launch squeakvm from the command line or a menu script, with a good
 
4
# plugin path, text encodings and pulseaudio kludge
 
5
 
6
# Last edited: 2009-09-18 13:14:40 by piumarta on ubuntu.piumarta.com
 
7
 
 
8
PATH=/usr/bin:/bin
 
9
 
 
10
realpath () {
 
11
    path="$1"
 
12
    while test -L "${path}"; do
 
13
        dir=`dirname "${path}"`
 
14
        dir=`cd "${dir}" && pwd -P`
 
15
        path=`basename "${path}"`
 
16
        path=`ls -l "${dir}/${path}" | sed 's,.* -> ,,'`
 
17
        path="${dir}/${path}"
 
18
    done
 
19
    if test -d "${path}"; then
 
20
        (cd "${path}" && pwd -P)
 
21
    else
 
22
        (cd `dirname "${path}"` && echo "`pwd -P`/`basename "${path}"`")
 
23
    fi
 
24
}
 
25
 
 
26
bindir=`realpath "${0}"`
 
27
bindir=`dirname  "${bindir}"`
 
28
prefix=`dirname  "${bindir}"`
 
29
libdir="${prefix}/lib/squeak"
 
30
plgdir="${libdir}/3.11.13-"
 
31
useoss="true"
 
32
vm="squeakvm"
 
33
plugins=""
 
34
wrapper=""
 
35
 
 
36
for opt in $*; do
 
37
    case ${opt} in
 
38
        -vm-sound*)     useoss="false";;
 
39
        -vm)            case "$2" in sound*) useoss="false"; esac;;
 
40
    esac
 
41
done
 
42
 
 
43
# find the vm and set the plugin path
 
44
 
 
45
if test -x "${plgdir}/${vm}"; then      # bin/squeak -> lib/squeak/x.y-z/squeakvm
 
46
    vm="${plgdir}/${vm}"
 
47
    plugins="${plgdir}"
 
48
elif test -x "${bindir}/${vm}"; then    # bld/squeak -> bld/squeakvm
 
49
    vm="${bindir}/${vm}"
 
50
    plugins="${bindir}/%n"
 
51
elif test -x `which ${vm}`; then
 
52
    vm=`which ${vm}`
 
53
    plugins=""
 
54
else    
 
55
    echo "cannot find ${vm}" >&2
 
56
    exit 1
 
57
fi
 
58
 
 
59
# command-line overrides environment, so communicate anything we decide here via the environment
 
60
 
 
61
if test -z "${SQUEAK_PATHENC}";  then SQUEAK_PATHENC="UTF-8";  export SQUEAK_PATHENC;  fi
 
62
if test -z "${SQUEAK_ENCODING}"; then SQUEAK_ENCODING="UTF-8"; export SQUEAK_ENCODING; fi
 
63
 
 
64
if test -z "${SQUEAK_PLUGINS}"; then
 
65
    if test -n "${plugins}"; then
 
66
        SQUEAK_PLUGINS="${plugins}"
 
67
        export SQUEAK_PLUGINS
 
68
    fi
 
69
fi
 
70
 
 
71
# deal with pulseaudio if it is running
 
72
 
 
73
if test -z "${SQUEAK_VM}"; then
 
74
    if ${useoss}; then
 
75
        if pulseaudio --check 2>/dev/null; then
 
76
            if padsp true 2>/dev/null; then
 
77
                wrapper="padsp"
 
78
                SQUEAK_VM="sound-OSS"
 
79
                export SQUEAK_VM
 
80
            fi
 
81
        fi
 
82
    fi
 
83
fi
 
84
 
 
85
# run the vm
 
86
 
 
87
set | fgrep SQUEAK_
 
88
set -x
 
89
exec ${wrapper} "${vm}" "$@"