2003-03-25 06:52:54 -06:00
|
|
|
#!/bin/sh
|
|
|
|
#*************************************************************************
|
|
|
|
#
|
2008-04-10 21:34:25 -05:00
|
|
|
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
2003-03-25 06:52:54 -06:00
|
|
|
#
|
2010-02-12 08:01:35 -06:00
|
|
|
# Copyright 2000, 2010 Oracle and/or its affiliates.
|
2003-03-25 06:52:54 -06:00
|
|
|
#
|
2008-04-10 21:34:25 -05:00
|
|
|
# OpenOffice.org - a multi-platform office productivity suite
|
2003-03-25 06:52:54 -06:00
|
|
|
#
|
2008-04-10 21:34:25 -05:00
|
|
|
# This file is part of OpenOffice.org.
|
2003-03-25 06:52:54 -06:00
|
|
|
#
|
2008-04-10 21:34:25 -05:00
|
|
|
# OpenOffice.org is free software: you can redistribute it and/or modify
|
|
|
|
# it under the terms of the GNU Lesser General Public License version 3
|
|
|
|
# only, as published by the Free Software Foundation.
|
2003-03-25 06:52:54 -06:00
|
|
|
#
|
2008-04-10 21:34:25 -05:00
|
|
|
# OpenOffice.org is distributed in the hope that it will be useful,
|
|
|
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
|
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
|
|
# GNU Lesser General Public License version 3 for more details
|
|
|
|
# (a copy is included in the LICENSE file that accompanied this code).
|
2003-03-25 06:52:54 -06:00
|
|
|
#
|
2008-04-10 21:34:25 -05:00
|
|
|
# You should have received a copy of the GNU Lesser General Public License
|
|
|
|
# version 3 along with OpenOffice.org. If not, see
|
|
|
|
# <http://www.openoffice.org/license.html>
|
|
|
|
# for a copy of the LGPLv3 License.
|
2003-03-25 06:52:54 -06:00
|
|
|
#
|
|
|
|
#*************************************************************************
|
|
|
|
|
|
|
|
#
|
|
|
|
# STAR_PROFILE_LOCKING_DISABLED=1
|
|
|
|
# export STAR_PROFILE_LOCKING_DISABLED
|
|
|
|
#
|
|
|
|
|
2004-06-11 11:46:12 -05:00
|
|
|
# file locking now enabled by default
|
|
|
|
SAL_ENABLE_FILE_LOCKING=1
|
|
|
|
export SAL_ENABLE_FILE_LOCKING
|
2003-03-25 06:52:54 -06:00
|
|
|
|
2007-03-07 06:14:15 -06:00
|
|
|
# Uncomment the line below if you suspect that OpenGL is not
|
2006-02-09 10:07:48 -06:00
|
|
|
# working on your system.
|
2007-03-07 06:14:15 -06:00
|
|
|
# SAL_NOOPENGL=true; export SAL_NOOPENGL
|
2006-02-09 10:07:48 -06:00
|
|
|
|
2011-03-21 10:00:18 -05:00
|
|
|
# uncomment line below to disable anti aliasing of fonts
|
|
|
|
# SAL_ANTIALIAS_DISABLE=true; export SAL_ANTIALIAS_DISABLE
|
|
|
|
|
|
|
|
# uncomment line below if you encounter problems starting soffice on your system
|
|
|
|
# SAL_NO_XINITTHREADS=true; export SAL_NO_XINITTHREADS
|
|
|
|
|
2011-09-15 05:49:33 -05:00
|
|
|
@JITC_PROCESSOR_TYPE@
|
2005-05-11 05:32:48 -05:00
|
|
|
|
2003-03-25 06:52:54 -06:00
|
|
|
# resolve installation directory
|
2010-06-23 03:45:22 -05:00
|
|
|
sd_cwd=`pwd`
|
|
|
|
sd_res=$0
|
|
|
|
while [ -h "$sd_res" ] ; do
|
|
|
|
cd "`dirname "$sd_res"`"
|
|
|
|
sd_basename=`basename "$sd_res"`
|
|
|
|
sd_res=`ls -l "$sd_basename" | sed "s/.*$sd_basename -> //g"`
|
|
|
|
done
|
|
|
|
cd "`dirname "$sd_res"`"
|
2008-03-18 07:44:45 -05:00
|
|
|
sd_prog=`pwd`
|
2003-03-25 06:52:54 -06:00
|
|
|
cd "$sd_cwd"
|
|
|
|
|
2010-09-15 04:31:55 -05:00
|
|
|
# linked build needs additional settings
|
2011-01-06 15:27:25 -06:00
|
|
|
if [ -e $sd_prog/ooenv ] ; then
|
|
|
|
. $sd_prog/ooenv
|
2010-09-15 04:31:55 -05:00
|
|
|
fi
|
|
|
|
|
2011-06-22 07:48:26 -05:00
|
|
|
# try to get some debug output?
|
|
|
|
GDBTRACECHECK=
|
|
|
|
STRACECHECK=
|
|
|
|
VALGRINDCHECK=
|
|
|
|
|
|
|
|
# count number of selected checks; only one is allowed
|
|
|
|
checks=
|
|
|
|
# force the --valgrind option if the VALGRIND variable is set
|
2011-06-24 07:46:10 -05:00
|
|
|
test -n "$VALGRIND" && VALGRINDOPT="--valgrind" || VALGRINDOPT=
|
2011-06-22 07:48:26 -05:00
|
|
|
|
|
|
|
for arg in $@ $VALGRINDOPT ; do
|
|
|
|
case "$arg" in
|
|
|
|
--backtrace)
|
|
|
|
if which gdb >/dev/null 2>&1 ; then
|
|
|
|
GDBTRACECHECK="gdb -nx --command=$sd_prog/gdbtrace --args"
|
|
|
|
checks="c$checks"
|
|
|
|
else
|
|
|
|
echo "Error: Can't find the tool \"gdb\", --backtrace option will be ignored."
|
|
|
|
exit 1
|
|
|
|
fi
|
|
|
|
;;
|
|
|
|
--strace)
|
|
|
|
if which strace >/dev/null 2>&1 ; then
|
|
|
|
STRACECHECK="strace -o strace.log -f -tt -s 256"
|
|
|
|
checks="c$checks"
|
|
|
|
else
|
|
|
|
echo "Error: Can't find the tool \"strace\", --strace option will be ignored."
|
|
|
|
exit 1;
|
|
|
|
fi
|
|
|
|
;;
|
|
|
|
--valgrind)
|
|
|
|
test -n "$VALGRINDCHECK" && continue;
|
|
|
|
if which valgrind >/dev/null 2>&1 ; then
|
|
|
|
# another valgrind tool might be forced via the environment variable
|
|
|
|
test -z "$VALGRIND" && VALGRIND="memcheck"
|
2011-06-22 09:53:02 -05:00
|
|
|
# --trace-children-skip is pretty useful but supported only with valgrind >= 3.6.0
|
|
|
|
valgrind_ver=`valgrind --version | sed -e "s/valgrind-//"`
|
|
|
|
valgrind_ver_maj=`echo $valgrind_ver | awk -F. '{ print \$1 }'`
|
|
|
|
valgrind_ver_min=`echo $valgrind_ver | awk -F. '{ print \$2 }'`
|
|
|
|
valgrind_skip=
|
|
|
|
if [ "$valgrind_ver_maj" -gt 3 -o \( "$valgrind_ver_maj" -eq 3 -a "$valgrind_ver_min" -ge 6 \) ] ; then
|
|
|
|
valgrind_skip='--trace-children-skip=*/java'
|
|
|
|
fi
|
|
|
|
# finally set the valgrind check
|
2011-06-24 09:11:53 -05:00
|
|
|
VALGRINDCHECK="valgrind --tool=$VALGRIND --trace-children=yes $valgrind_skip --num-callers=50 --error-exitcode=101"
|
2011-06-22 07:48:26 -05:00
|
|
|
checks="c$checks"
|
|
|
|
if [ "$VALGRIND" = "memcheck" ] ; then
|
|
|
|
export G_SLICE=always-malloc
|
|
|
|
export GLIBCXX_FORCE_NEW=1
|
|
|
|
fi
|
|
|
|
else
|
|
|
|
echo "Error: Can't find the tool \"valgrind\", --valgrind option will be ignored"
|
|
|
|
exit 1
|
|
|
|
fi
|
|
|
|
;;
|
|
|
|
esac
|
|
|
|
done
|
|
|
|
|
|
|
|
if echo "$checks" | grep -q "cc" ; then
|
|
|
|
echo "Error: The debug options --backtrace, --strace, and --valgrind cannot be used together."
|
|
|
|
echo " Please, use them one by one."
|
|
|
|
exit 1;
|
|
|
|
fi
|
|
|
|
|
2010-11-16 02:34:30 -06:00
|
|
|
case "`uname -s`" in
|
2011-02-18 02:31:40 -06:00
|
|
|
NetBSD|OpenBSD|FreeBSD|DragonFly)
|
|
|
|
# this is a temporary hack until we can live with the default search paths
|
2011-10-21 10:18:13 -05:00
|
|
|
sd_prog1="$sd_prog"
|
|
|
|
sd_prog2="$sd_prog/../ure-link/lib"
|
2010-12-10 12:21:29 -06:00
|
|
|
LD_LIBRARY_PATH=$sd_prog1:$sd_prog2${LD_LIBRARY_PATH:+:$LD_LIBRARY_PATH}
|
2010-11-16 02:34:30 -06:00
|
|
|
JAVA_HOME=$(javaPathHelper -h libreoffice-java 2> /dev/null)
|
|
|
|
export LD_LIBRARY_PATH
|
|
|
|
if [ -n "${JAVA_HOME}" ]; then
|
|
|
|
export JAVA_HOME
|
|
|
|
fi
|
|
|
|
;;
|
2010-12-07 09:32:55 -06:00
|
|
|
AIX)
|
2011-10-21 10:18:13 -05:00
|
|
|
LIBPATH=$sd_prog:$sd_prog/../ure-link/lib${LIBPATH:+:$LIBPATH}
|
2010-12-07 09:32:55 -06:00
|
|
|
export LIBPATH
|
2010-11-15 09:00:48 -06:00
|
|
|
;;
|
|
|
|
esac
|
|
|
|
|
2011-06-22 07:48:26 -05:00
|
|
|
# run soffice.bin directly when you want to get the backtrace
|
|
|
|
if [ -n "$GDBTRACECHECK" ] ; then
|
|
|
|
exec $GDBTRACECHECK "$sd_prog/soffice.bin" "$@"
|
|
|
|
fi
|
|
|
|
|
2011-06-24 09:11:53 -05:00
|
|
|
# valgrind --log-file=valgrind.log does not work well with --trace-children=yes
|
|
|
|
if [ -n "$VALGRINDCHECK" ] ; then
|
|
|
|
echo "redirecting the standard and the error output to valgrind.log"
|
|
|
|
exec &>valgrind.log
|
|
|
|
fi
|
|
|
|
|
2011-07-12 07:16:42 -05:00
|
|
|
# do not pass the request for command line help to oosplash
|
|
|
|
if test "$#" -eq 1; then
|
|
|
|
case "$1" in
|
|
|
|
-h | --h | --he | --hel | --help)
|
|
|
|
"$sd_prog/soffice.bin" -h
|
|
|
|
exit 0
|
|
|
|
;;
|
|
|
|
-V | --v | --ve | --ver | --vers | --versi | --versio | --version)
|
|
|
|
"$sd_prog/soffice.bin" -h | head -1
|
|
|
|
exit 0
|
|
|
|
;;
|
|
|
|
*)
|
|
|
|
;;
|
|
|
|
esac
|
|
|
|
fi
|
|
|
|
|
2011-03-21 10:00:18 -05:00
|
|
|
# oosplash does the rest: forcing pages in, javaldx etc. are
|
2011-09-15 07:44:34 -05:00
|
|
|
exec $VALGRINDCHECK $STRACECHECK "$sd_prog/oosplash" "$@"
|