xref: /aoo41x/main/desktop/scripts/soffice.sh (revision cdf0e10c)
1*cdf0e10cSrcweir#!/bin/sh
2*cdf0e10cSrcweir#*************************************************************************
3*cdf0e10cSrcweir#
4*cdf0e10cSrcweir# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
5*cdf0e10cSrcweir#
6*cdf0e10cSrcweir# Copyright 2000, 2010 Oracle and/or its affiliates.
7*cdf0e10cSrcweir#
8*cdf0e10cSrcweir# OpenOffice.org - a multi-platform office productivity suite
9*cdf0e10cSrcweir#
10*cdf0e10cSrcweir# This file is part of OpenOffice.org.
11*cdf0e10cSrcweir#
12*cdf0e10cSrcweir# OpenOffice.org is free software: you can redistribute it and/or modify
13*cdf0e10cSrcweir# it under the terms of the GNU Lesser General Public License version 3
14*cdf0e10cSrcweir# only, as published by the Free Software Foundation.
15*cdf0e10cSrcweir#
16*cdf0e10cSrcweir# OpenOffice.org is distributed in the hope that it will be useful,
17*cdf0e10cSrcweir# but WITHOUT ANY WARRANTY; without even the implied warranty of
18*cdf0e10cSrcweir# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
19*cdf0e10cSrcweir# GNU Lesser General Public License version 3 for more details
20*cdf0e10cSrcweir# (a copy is included in the LICENSE file that accompanied this code).
21*cdf0e10cSrcweir#
22*cdf0e10cSrcweir# You should have received a copy of the GNU Lesser General Public License
23*cdf0e10cSrcweir# version 3 along with OpenOffice.org.  If not, see
24*cdf0e10cSrcweir# <http://www.openoffice.org/license.html>
25*cdf0e10cSrcweir# for a copy of the LGPLv3 License.
26*cdf0e10cSrcweir#
27*cdf0e10cSrcweir#*************************************************************************
28*cdf0e10cSrcweir
29*cdf0e10cSrcweir#
30*cdf0e10cSrcweir# STAR_PROFILE_LOCKING_DISABLED=1
31*cdf0e10cSrcweir# export STAR_PROFILE_LOCKING_DISABLED
32*cdf0e10cSrcweir#
33*cdf0e10cSrcweir
34*cdf0e10cSrcweir# file locking now enabled by default
35*cdf0e10cSrcweirSAL_ENABLE_FILE_LOCKING=1
36*cdf0e10cSrcweirexport SAL_ENABLE_FILE_LOCKING
37*cdf0e10cSrcweir
38*cdf0e10cSrcweir# Uncomment the line below if you suspect that OpenGL is not
39*cdf0e10cSrcweir# working on your system.
40*cdf0e10cSrcweir# SAL_NOOPENGL=true; export SAL_NOOPENGL
41*cdf0e10cSrcweir
42*cdf0e10cSrcweir# The following is needed on Linux PPC with IBM j2sdk142:
43*cdf0e10cSrcweir#@# export JITC_PROCESSOR_TYPE=6
44*cdf0e10cSrcweir
45*cdf0e10cSrcweir# resolve installation directory
46*cdf0e10cSrcweirsd_cwd=`pwd`
47*cdf0e10cSrcweirsd_res=$0
48*cdf0e10cSrcweirwhile [ -h "$sd_res" ] ; do
49*cdf0e10cSrcweir    cd "`dirname "$sd_res"`"
50*cdf0e10cSrcweir    sd_basename=`basename "$sd_res"`
51*cdf0e10cSrcweir    sd_res=`ls -l "$sd_basename" | sed "s/.*$sd_basename -> //g"`
52*cdf0e10cSrcweirdone
53*cdf0e10cSrcweircd "`dirname "$sd_res"`"
54*cdf0e10cSrcweirsd_prog=`pwd`
55*cdf0e10cSrcweircd "$sd_cwd"
56*cdf0e10cSrcweir
57*cdf0e10cSrcweirsd_binary=`basename "$0"`.bin
58*cdf0e10cSrcweir
59*cdf0e10cSrcweir#collect all bootstrap variables specified on the command line
60*cdf0e10cSrcweir#so that they can be passed as arguments to javaldx later on
61*cdf0e10cSrcweirfor arg in $@
62*cdf0e10cSrcweirdo
63*cdf0e10cSrcweir  case "$arg" in
64*cdf0e10cSrcweir       -env:*) BOOTSTRAPVARS=$BOOTSTRAPVARS" ""$arg";;
65*cdf0e10cSrcweir  esac
66*cdf0e10cSrcweirdone
67*cdf0e10cSrcweir
68*cdf0e10cSrcweir# pagein
69*cdf0e10cSrcweirsd_pagein_args=@pagein-common
70*cdf0e10cSrcweirfor sd_arg in "$@"; do
71*cdf0e10cSrcweir    case ${sd_arg} in
72*cdf0e10cSrcweir    -calc)
73*cdf0e10cSrcweir        sd_pagein_args="${sd_pagein_args} @pagein-calc"
74*cdf0e10cSrcweir        break;
75*cdf0e10cSrcweir        ;;
76*cdf0e10cSrcweir    -draw)
77*cdf0e10cSrcweir        sd_pagein_args="${sd_pagein_args} @pagein-draw"
78*cdf0e10cSrcweir        break;
79*cdf0e10cSrcweir        ;;
80*cdf0e10cSrcweir    -impress)
81*cdf0e10cSrcweir        sd_pagein_args="${sd_pagein_args} @pagein-impress"
82*cdf0e10cSrcweir        break;
83*cdf0e10cSrcweir        ;;
84*cdf0e10cSrcweir    -writer)
85*cdf0e10cSrcweir        sd_pagein_args="${sd_pagein_args} @pagein-writer"
86*cdf0e10cSrcweir        break;
87*cdf0e10cSrcweir        ;;
88*cdf0e10cSrcweir    esac
89*cdf0e10cSrcweirdone
90*cdf0e10cSrcweir"$sd_prog/../basis-link/program/pagein" -L"$sd_prog/../basis-link/program" \
91*cdf0e10cSrcweir    ${sd_pagein_args}
92*cdf0e10cSrcweir
93*cdf0e10cSrcweir# extend the ld_library_path for java: javaldx checks the sofficerc for us
94*cdf0e10cSrcweirif [ -x "$sd_prog/../basis-link/ure-link/bin/javaldx" ] ; then
95*cdf0e10cSrcweir    my_path=`"$sd_prog/../basis-link/ure-link/bin/javaldx" $BOOTSTRAPVARS \
96*cdf0e10cSrcweir        "-env:INIFILENAME=vnd.sun.star.pathname:$sd_prog/redirectrc"`
97*cdf0e10cSrcweir    if [ -n "$my_path" ] ; then
98*cdf0e10cSrcweir        LD_LIBRARY_PATH=$my_path${LD_LIBRARY_PATH:+:$LD_LIBRARY_PATH}
99*cdf0e10cSrcweir        export LD_LIBRARY_PATH
100*cdf0e10cSrcweir    fi
101*cdf0e10cSrcweirfi
102*cdf0e10cSrcweir
103*cdf0e10cSrcweirunset XENVIRONMENT
104*cdf0e10cSrcweir
105*cdf0e10cSrcweir# uncomment line below to disable anti aliasing of fonts
106*cdf0e10cSrcweir# SAL_ANTIALIAS_DISABLE=true; export SAL_ANTIALIAS_DISABLE
107*cdf0e10cSrcweir
108*cdf0e10cSrcweir# uncomment line below if you encounter problems starting soffice on your system
109*cdf0e10cSrcweir# SAL_NO_XINITTHREADS=true; export SAL_NO_XINITTHREADS
110*cdf0e10cSrcweir
111*cdf0e10cSrcweir# read database entries for Adabas D
112*cdf0e10cSrcweirif [ -f /etc/adabasrc ]; then
113*cdf0e10cSrcweir  . /etc/adabasrc
114*cdf0e10cSrcweirfi
115*cdf0e10cSrcweir
116*cdf0e10cSrcweir# execute soffice binary
117*cdf0e10cSrcweir"$sd_prog/$sd_binary" "$@" &
118*cdf0e10cSrcweirtrap 'kill -9 $!' TERM
119*cdf0e10cSrcweirwait $!
120*cdf0e10cSrcweirsd_ret=$?
121*cdf0e10cSrcweir
122*cdf0e10cSrcweirwhile [ $sd_ret -eq 79 -o $sd_ret -eq 81 ]
123*cdf0e10cSrcweirdo
124*cdf0e10cSrcweir    if [ $sd_ret -eq 79 ]; then
125*cdf0e10cSrcweir        "$sd_prog/$sd_binary" ""$BOOTSTRAPVARS"" &
126*cdf0e10cSrcweir    elif [ $sd_ret -eq 81 ]; then
127*cdf0e10cSrcweir        "$sd_prog/$sd_binary" "$@" &
128*cdf0e10cSrcweir    fi
129*cdf0e10cSrcweir
130*cdf0e10cSrcweir    wait $!
131*cdf0e10cSrcweir    sd_ret=$?
132*cdf0e10cSrcweirdone
133*cdf0e10cSrcweir
134*cdf0e10cSrcweirexit $sd_ret
135