| #!/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 |
| |
| print_usage() |
| { |
| echo "This utility can be used to run the executables in this folder:" |
| echo |
| echo " workdir/LinkTarget/Executable" |
| echo |
| echo "Usage:" |
| echo |
| echo " ./bin/run application [parameters]|--list|--help" |
| echo |
| echo "Use --list (same as -list or -l) to get the list of executables" |
| echo "Use --help (same as -help or -h) to get this help" |
| } |
| |
| list_executables() |
| { |
| echo "Listing executables inside workdir/LinkTarget/Executable folder:" |
| if uname | grep -i CYGWIN >/dev/null |
| then |
| echo |
| find workdir/LinkTarget/Executable -iname "*.bat" -printf "%P\n" |
| find workdir/LinkTarget/Executable -iname "*.exe" -printf "%P\n" |
| else |
| find workdir/LinkTarget/Executable -executable -printf "%P\n" |
| fi |
| } |
| |
| print_executable_name() |
| { |
| echo "Setting env variables and running workdir/LinkTarget/Executable/$1" |
| } |
| |
| 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 |
| export URE_BOOTSTRAP=file://"${dir}"/instdir/program/fundamentalrc |
| } |
| |
| case "$1" in |
| ""|"-h"|"-help"|"--help") |
| print_usage; exit 1;; |
| "-l"|"-list"|"--list") |
| list_executables; exit 0;; |
| *) print_executable_name $1;; |
| esac |
| |
| 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="${dir}/instdir/program${PATH:+:$PATH}" |
| 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: |