summaryrefslogtreecommitdiff
path: root/bin/run
blob: 3692eee7b80a2f9b6c8fd6b56b708f3c6698baff (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
#!/bin/sh
#
# This file is part of the LibreOffice project.
#
# This Source Code Form is subject to the terms of the Mozilla Public
# License, v. 2.0. If a copy of the MPL was not distributed with this
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
#

# simple wrapper script to run non-installed executables from workdir

setdefaults()
{
    dir=$(realpath "$(pwd)")

    while test ! -d "${dir}/instdir/program" ; do
        if test "${dir}" = "/"; then
            echo "error: cannot find \"program\" dir from \"$(pwd)\""
            exit 1
        fi
        dir=$(realpath "${dir}/..")
    done

    exedir="${dir}"/workdir/LinkTarget/Executable
    exedir="${dir}"/instdir/program
    export URE_BOOTSTRAP=file://"${dir}"/instdir/program/fundamentalrc
}

if uname | grep -i CYGWIN >/dev/null; then

    setdefaults

    exedir=$(cygpath -m "${dir}"/workdir/LinkTarget/Executable)
    export URE_BOOTSTRAP=file:///$(cygpath -m "${dir}")/instdir/program/fundamental.ini
    export PATH=${PATH:+$PATH:}"${dir}"/instdir/program
    SEARCH_PATH="${PATH}"

elif [ $(uname) = Darwin ]; then

    dir=$(pwd)

    # Get PRODUCTNAME from config_host.mk, LibreOffice or LibreOfficeDev
    eval `grep 'export PRODUCTNAME=' config_host.mk`

    if [ ! -d "${dir}/instdir/$PRODUCTNAME.app" ]; then
        echo "error: cannot find \"instdir/$PRODUCTNAME.app\" dir in \"$(pwd)\""
        exit 1
    fi

    exedir="$dir"/workdir/LinkTarget/Executable
    export URE_BOOTSTRAP=file://"${dir}"/instdir/$PRODUCTNAME.app/Contents/Resources/fundamentalrc
    export DYLD_LIBRARY_PATH=${DYLD_LIBRARY_PATH:+$DYLD_LIBRARY_PATH:}"${dir}"/instdir/$PRODUCTNAME.app/Contents/Frameworks
    SEARCH_PATH="${DYLD_LIBRARY_PATH}"

elif [ $(uname) = Haiku ]; then

    setdefaults

    export LIBRARY_PATH=${LIBRARY_PATH:+$LIBRARY_PATH:}"${dir}"/instdir/program
    SEARCH_PATH="${LIBRARY_PATH}"

else

    setdefaults

    export LD_LIBRARY_PATH=${LD_LIBRARY_PATH:+$LD_LIBRARY_PATH:}"${dir}"/instdir/program
    SEARCH_PATH="${LD_LIBRARY_PATH}"

fi

# echo "setting URE_BOOTSTRAP to: ${URE_BOOTSTRAP}"
# echo "setting search path to: ${SEARCH_PATH}"
# echo "execing: ${exedir}/$1"

exec ${LO_TRACE} "${exedir}/$@"

# vi:set shiftwidth=4 expandtab: