summaryrefslogtreecommitdiff
path: root/odk/setsdkenv_unix.sh.in
blob: e25bcbfd8276a2b3d8b955fd7088a00fa8cd26bf (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
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
#! /bin/sh

# This script starts a new shell and sets all enviroment variables, which
# are necessary for building the examples of the Office Development Kit.
# The Script was developed for the operating systems Solaris and Linux.

# The SDK name
OO_SDK_NAME=@OO_SDK_NAME@

# Installation directory of the Software Development Kit.
# Example: OO_SDK_HOME=/work/StarOffice_SDK
OO_SDK_HOME=@OO_SDK_HOME@

# Office installation directory.
# Example: OFFICE_HOME=/opt/staroffice
OFFICE_HOME=@OFFICE_HOME@

# Directory of the make command.
# Example: OO_SDK_MAKE_HOME=/usr/bin
OO_SDK_MAKE_HOME=@OO_SDK_MAKE_HOME@

# Directory of the zip command.
# Example: OO_SDK_ZIP_HOME=/usr/bin
OO_SDK_ZIP_HOME=@OO_SDK_ZIP_HOME@

# Directory of the C++ compiler.
# Example: OO_SDK_CPP_HOME=/usr/bin
OO_SDK_CPP_HOME=@OO_SDK_CPP_HOME@

# Solaris only
OO_SDK_CC_55_OR_HIGHER=@OO_SDK_CC_55_OR_HIGHER@

# Directory of the Java SDK.
# Example: OO_SDK_JAVA_HOME=/usr/local/j2sdk1.4.1_01
OO_SDK_JAVA_HOME=@OO_SDK_JAVA_HOME@

# Special output directory
# Example: OO_SDK_OUTPUT_DIR=$HOME
OO_SDK_OUTPUT_DIR=@OO_SDK_OUTPUT_DIR@

# Environment variable to enable auto deployment of example components
# Example: SDK_AUTO_DEPLOYMENT=YES
SDK_AUTO_DEPLOYMENT=@SDK_AUTO_DEPLOYMENT@
export SDK_AUTO_DEPLOYMENT

# Check installation path for the StarOffice Development Kit.
if [ -z "$OO_SDK_HOME" ]
then
    echo Error: Please insert a correct value for the variable OO_SDK_HOME.
    exit 0
fi

export OO_SDK_HOME

# Check installation path for the office.
if [ -z "$OFFICE_HOME" ]
then
    echo Error: Please insert a correct value for the variable OFFICE_HOME.
    exit 0
fi

# Set office program path.
OFFICE_PROGRAM_PATH=$OFFICE_HOME/program
export OFFICE_PROGRAM_PATH

# Set UNO path, necessary to ensure that the cpp examples using the
# new UNO bootstrap mechanism use the configured office installation.
UNO_PATH=$OFFICE_PROGRAM_PATH
export UNO_PATH

OO_EXAMPLE_OUT=$OO_SDK_HOME
# Prepare appropriate output directory.
if [ -n "$OO_SDK_OUTPUT_DIR" ]
then
    OO_EXAMPLE_OUT=$OO_SDK_OUTPUT_DIR/$OO_SDK_NAME
    export OO_SDK_OUTPUT_DIR
fi

# Get the operating system.
sd_platform=`./config.guess | cut -d"-" -f3,4`

# Set the directory name.
case $sd_platform in
  solaris*)
    sd_proctype=`./config.guess | cut -d"-" -f1`
    if [ "$sd_proctype" = "sparc" ]
    then
        directoryname=solsparc
	platform='Solaris Sparc'
    else
        directoryname=solintel
	platform='Solaris x86'
    fi
    exampleout=SOLARISexample.out
    LD_LIBRARY_PATH=$OO_SDK_HOME/$directoryname/lib:$OO_EXAMPLE_OUT/$exampleout/lib:$OFFICE_PROGRAM_PATH:.:$LD_LIBRARY_PATH
    export LD_LIBRARY_PATH
    ;;

  darwin)
    SDK_GXX_INCLUDE_PATH=`echo "#include <cstring>" | $OO_SDK_CPP_HOME/g++ -E -xc++ - | sed -n '/.*1*"\(.*\)\/cstring".*/s//\1/p' | head -n 1`
    export SDK_GXX_INCLUDE_PATH

    directoryname=macosx
    exampleout=MACOSXexample.out
    platform=MacOSX
    DYLD_LIBRARY_PATH=$OO_SDK_HOME/$directoryname/lib:$OO_EXAMPLE_OUT/$exampleout/lib:$OFFICE_PROGRAM_PATH:.:$DYLD_LIBRARY_PATH
    export DYLD_LIBRARY_PATH
    ;;

  linux-gnu)
    SDK_GXX_INCLUDE_PATH=`echo "#include <cstring>" | $OO_SDK_CPP_HOME/g++ -E -xc++ - | sed -n '/.*1*"\(.*\)\/cstring".*/s//\1/p' | head -n 1`
    export SDK_GXX_INCLUDE_PATH

    directoryname=linux
    exampleout=LINUXexample.out
    platform=Linux
    LD_LIBRARY_PATH=$OO_SDK_HOME/$directoryname/lib:$OO_EXAMPLE_OUT/$exampleout/lib:$OFFICE_PROGRAM_PATH:.:$LD_LIBRARY_PATH
    export LD_LIBRARY_PATH
    ;;
  freebsd)
    SDK_GXX_INCLUDE_PATH=`echo "#include <cstring>" | $OO_SDK_CPP_HOME/g++ -E -xc++ - | sed -n '/.*1*"\(.*\)\/cstring".*/s//\1/p' | head -n 1`
    export SDK_GXX_INCLUDE_PATH

    directoryname=freebsd
    exampleout=FREEBSDexample.out
    platform=FreeBSD
    LD_LIBRARY_PATH=$OO_SDK_HOME/$directoryname/lib:$OO_EXAMPLE_OUT/$exampleout/lib:$OFFICE_PROGRAM_PATH:.:$LD_LIBRARY_PATH
    export LD_LIBRARY_PATH

    if [ -e "/sbin/sysctl" ]
    then
	OSVERSION=`/sbin/sysctl  -n kern.osreldate`
    else
	OSVERSION=`/usr/sbin/sysctl  -n kern.osreldate`
    fi
    if [ $OSVERSION -lt 500016 ]
    then
	PTHREAD_CFLAGS=-D_THREAD_SAFE
	PTHREAD_LIBS=-pthread
	export PTHREAD_CFLAGS
	export PTHREAD_LIBS
    elif [ $OSVERSION -lt 502102 ]
    then
	PTHREAD_CFLAGS=-D_THREAD_SAFE
	PTHREAD_LIBS=-lc_r
	export PTHREAD_CFLAGS
	export PTHREAD_LIBS
    else	
	PTHREAD_LIBS=-pthread
	export PTHREAD_LIBS
    fi
    ;;
esac

# Add directory of the SDK tools to the path.
PATH=$OO_SDK_HOME/$directoryname/bin:$OO_EXAMPLE_OUT/$exampleout/bin:$OFFICE_PROGRAM_PATH:.:$PATH

# Set the classpath
if [ -n "$CLASSPATH" ]
then
CLASSPATH=$OFFICE_PROGRAM_PATH/classes/jurt.jar:$OFFICE_PROGRAM_PATH/classes/unoil.jar:$OFFICE_PROGRAM_PATH/classes/ridl.jar:$OFFICE_PROGRAM_PATH/classes/juh.jar:$CLASSPATH
else
CLASSPATH=$OFFICE_PROGRAM_PATH/classes/jurt.jar:$OFFICE_PROGRAM_PATH/classes/unoil.jar:$OFFICE_PROGRAM_PATH/classes/ridl.jar:$OFFICE_PROGRAM_PATH/classes/juh.jar
fi
export CLASSPATH


# Add directory of the command make to the path, if necessary.
if [ -n "$OO_SDK_MAKE_HOME" ]
then
    PATH=$OO_SDK_MAKE_HOME:$PATH
    export OO_SDK_MAKE_HOME
fi

# Add directory of the zip tool to the path, if necessary.
if [ -n "$OO_SDK_ZIP_HOME" ]
then
    PATH=$OO_SDK_ZIP_HOME:$PATH
    export OO_SDK_ZIP_HOME
fi

# Add directory of the C++ tools to the path, if necessary.
if [ -n "$OO_SDK_CPP_HOME" ]
then
    PATH=$OO_SDK_CPP_HOME:$PATH
    export OO_SDK_CPP_HOME

    if [ -n "$OO_SDK_CC_55_OR_HIGHER" ]
    then
	export OO_SDK_CC_55_OR_HIGHER
    fi
fi

# Add directory of the Java tools to the path, if necessary.
if [ -n "$OO_SDK_JAVA_HOME" ]
then
    PATH=$OO_SDK_JAVA_HOME/bin:$PATH
#    JAVA_HOME=$OO_SDK_JAVA_HOME
#    export JAVA_HOME
    export OO_SDK_JAVA_HOME

    export PATH
#    UNO_JAVA_JFW_JREHOME=`sp2bv $OO_SDK_JAVA_HOME`
#    UNO_JAVA_JFW_ENV_CLASSPATH=true
#    UNO_JAVA_JFW_VENDOR_SETTINGS=`sp2bv $OFFICE_HOME/share/config/javavendors.xml`
#    export UNO_JAVA_JFW_JREHOME
#    export UNO_JAVA_JFW_ENV_CLASSPATH
#    export UNO_JAVA_JFW_VENDOR_SETTINGS
fi

export PATH

# Prepare shell with all necessary environment variables.
echo 
echo " ************************************************************************"
echo " *"                                                  
echo " * SDK environment is prepared for ${platform}"      
echo " *"                                                  
echo " * SDK = $OO_SDK_HOME"
echo " * Office = $OFFICE_HOME"
echo " * Make = $OO_SDK_MAKE_HOME"
echo " * Zip = $OO_SDK_ZIP_HOME"
echo " * C++ Compiler = $OO_SDK_CPP_HOME"
echo " * Java = $OO_SDK_JAVA_HOME"
echo " * Special Output directory = $OO_SDK_OUTPUT_DIR"
echo " * Auto deployment = $SDK_AUTO_DEPLOYMENT"
echo " *"
echo " ************************************************************************"

echo "]2;Shell prepared with the SDK environment"