blob: 567f40653328be928673256b07a8f077df135bb7 (
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
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
|
#! /bin/csh
#
# 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/.
#
# This file incorporates work covered by the following license notice:
#
# Licensed to the Apache Software Foundation (ASF) under one or more
# contributor license agreements. See the NOTICE file distributed
# with this work for additional information regarding copyright
# ownership. The ASF licenses this file to you under the Apache
# License, Version 2.0 (the "License"); you may not use this file
# except in compliance with the License. You may obtain a copy of
# the License at http://www.apache.org/licenses/LICENSE-2.0 .
#
# This script 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, Linux and MacOS.
# The SDK name
setenv OO_SDK_NAME @OO_SDK_NAME@
# Installation directory of the Software Development Kit.
# Example: setenv OO_SDK_HOME /opt/libreoffice/basis3.4/sdk
setenv OO_SDK_HOME '@OO_SDK_HOME@'
# Office installation directory.
# Example: set OFFICE_HOME=/opt/libreoffice
setenv OFFICE_HOME '@OFFICE_HOME@'
# URE installation directory.
# Example: setenv OO_SDK_URE_HOME /opt/libreoffice/ure
setenv OO_SDK_URE_HOME '@OO_SDK_URE_HOME@'
# Directory of the make command.
# Example: setenv OO_SDK_MAKE_HOME /usr/bin
setenv OO_SDK_MAKE_HOME @OO_SDK_MAKE_HOME@
# Directory of the zip command.
# Example: setenv OO_SDK_ZIP_HOME /usr/bin
setenv OO_SDK_ZIP_HOME @OO_SDK_ZIP_HOME@
# Directory of the C++ compiler.
# Example: setenv OO_SDK_CPP_HOME /usr/bin
setenv OO_SDK_CPP_HOME @OO_SDK_CPP_HOME@
# Solaris only
setenv OO_SDK_CC_55_OR_HIGHER @OO_SDK_CC_55_OR_HIGHER@
# Directory of the Java SDK.
# Example: setenv OO_SDK_JAVA_HOME "/usr/jdk/jdk1.6.0_10"
setenv OO_SDK_JAVA_HOME @OO_SDK_JAVA_HOME@
# Special output directory
# Example: setenv OO_SDK_OUTPUT_DIR "$HOME"
setenv OO_SDK_OUTPUT_DIR @OO_SDK_OUTPUT_DIR@
# Environment variable to enable auto deployment of example components
# Example: set SDK_AUTO_DEPLOYMENT=YES
setenv SDK_AUTO_DEPLOYMENT @SDK_AUTO_DEPLOYMENT@
# Get the operating system.
set sdk_platform=`${OO_SDK_HOME}/config.guess | cut -d"-" -f3,4`
# Set the directory name.
set programdir=program
set javadir=bin
switch (${sdk_platform})
case "darwin*":
set programdir="Contents/MacOS"
set javacdir=Commands
breaksw
endsw
# Set office program path.
if ( "${OFFICE_HOME}" != "" ) then
setenv OFFICE_PROGRAM_PATH "${OFFICE_HOME}/${programdir}"
endif
# Set UNO path, necessary to ensure that the cpp examples using the
# new UNO bootstrap mechanism use the configured office installation.
if ( ${?OFFICE_PROGRAM_PATH} ) then
setenv UNO_PATH "${OFFICE_PROGRAM_PATH}"
endif
if ( "${OO_SDK_URE_HOME}" != "" ) then
setenv OO_SDK_URE_BIN_DIR "${OO_SDK_URE_HOME}/bin"
setenv OO_SDK_URE_LIB_DIR "${OO_SDK_URE_HOME}/lib"
setenv OO_SDK_URE_JAVA_DIR "${OO_SDK_URE_HOME}/share/java"
else
setenv OO_SDK_URE_BIN_DIR "${OFFICE_PROGRAM_PATH}"
setenv OO_SDK_URE_LIB_DIR "${OFFICE_PROGRAM_PATH}"
setenv OO_SDK_URE_JAVA_DIR "${OFFICE_PROGRAM_PATH}/classes"
endif
# Set SDK example output directory
setenv OO_SDK_OUT ${OO_SDK_HOME}
if ( $?OO_SDK_OUTPUT_DIR ) then
setenv OO_SDK_OUT ${OO_SDK_OUTPUT_DIR}/${OO_SDK_NAME}
endif
# check platform and set appropriate variables
switch (`${OO_SDK_HOME}/config.guess | cut -d"-" -f3,4`)
case "solaris*":
if ( `${OO_SDK_HOME}/config.guess | cut -d"-" -f1` == "sparc" ) then
set directoryname=solsparc
set platform=Solaris Sparc
else
set directoryname=solintel
set platform=Solaris Intel
endif
set comid=C52
set pltfrm=sunpro
set soext=so
set exampleout=SOLARISexample.out
# set LD_LIBRARY_PATH
if ( $?LD_LIBRARY_PATH == 0) then
setenv LD_LIBRARY_PATH ${OO_SDK_HOME}/lib:${OO_SDK_OUT}/${exampleout}/lib:${OO_SDK_URE_LIB_DIR}:.
else
setenv LD_LIBRARY_PATH ${OO_SDK_HOME}/lib:${OO_SDK_OUT}/${exampleout}/lib:${OO_SDK_URE_LIB_DIR}:.:${LD_LIBRARY_PATH}
endif
breaksw
case "linux-gnu":
if ( $?OO_SDK_CPP_HOME == 0) then
set sdk_gxx_include_path=`echo "#include <cstring>" | ${OO_SDK_CPP_HOME}/g++ -E -xc++ - | sed -n '/.*1*"\(.*\)\/cstring".*/s//\1/p' | head -n 1`
setenv SDK_GXX_INCLUDE_PATH ${sdk_gxx_include_path}
endif
set directoryname=linux
set comid=gcc3
set pltfrm=gcc
set soext=so
set exampleout=LINUXexample.out
set platform=Linux
# set LD_LIBRARY_PATH
if ( $?LD_LIBRARY_PATH == 0) then
setenv LD_LIBRARY_PATH ${OO_SDK_HOME}/lib:${OO_SDK_OUT}/${exampleout}/lib:${OO_SDK_URE_LIB_DIR}:.
else
setenv LD_LIBRARY_PATH ${OO_SDK_HOME}/lib:${OO_SDK_OUT}/${exampleout}/lib:${OO_SDK_URE_LIB_DIR}:.:${LD_LIBRARY_PATH}
endif
breaksw
case "darwin*":
if ( $?OO_SDK_CPP_HOME == 0) then
set sdk_gxx_include_path=`echo "#include <cstring>" | ${OO_SDK_CPP_HOME}/g++ -E -xc++ - | sed -n '/.*1*"\(.*\)\/cstring".*/s//\1/p' | head -n 1`
setenv SDK_GXX_INCLUDE_PATH ${sdk_gxx_include_path}
endif
set directoryname=macosx
set comid=gcc3
set pltfrm=gcc
set soext=dylib
set exampleout=MACOSXexample.out
set platform=MacOSX
# set DYLD_LIBRARY_PATH
if ( $?DYLD_LIBRARY_PATH == 0) then
setenv DYLD_LIBRARY_PATH ${OO_SDK_OUT}/${directoryname}/lib:${OO_SDK_OUT}/${exampleout}/lib:${OO_SDK_URE_LIB_DIR}:.
else
setenv DYLD_LIBRARY_PATH ${OO_SDK_OUT}/${directoryname}/lib:${OO_SDK_OUT}/${exampleout}/lib:${OO_SDK_URE_LIB_DIR}:.:${DYLD_LIBRARY_PATH}
endif
breaksw
case "freebsd*":
if ( $?OO_SDK_CPP_HOME == 0) then
set sdk_gxx_include_path=`echo "#include <cstring>" | ${OO_SDK_CPP_HOME}/g++ -E -xc++ - | sed -n '/.*1*"\(.*\)\/cstring".*/s//\1/p' | head -n 1`
setenv SDK_GXX_INCLUDE_PATH ${sdk_gxx_include_path}
endif
set directoryname=freebsd
set comid=gcc3
set pltfrm=gcc
set soext=so
set exampleout=FREEBSDexample.out
set platform=FreeBSD
# set LD_LIBRARY_PATH
if ( $?LD_LIBRARY_PATH == 0) then
setenv LD_LIBRARY_PATH ${OO_SDK_HOME}/lib:${OO_SDK_OUT}/${exampleout}/lib:${OO_SDK_URE_LIB_DIR}:.
else
setenv LD_LIBRARY_PATH ${OO_SDK_HOME}/lib:${OO_SDK_OUT}/${exampleout}/lib:${OO_SDK_URE_LIB_DIR}:.:${LD_LIBRARY_PATH}
endif
if ( -e "/sbin/sysctl" ) then
set OSVERSION=`/sbin/sysctl -n kern.osreldate`
else
set OSVERSION=`/usr/sbin/sysctl -n kern.osreldate`
endif
if ( ${OSVERSION} < 500016 ) then
setenv PTHREAD_CFLAGS -D_THREAD_SAFE
setenv PTHREAD_LIBS -pthread
else if ( ${OSVERSION} < 502102 ) then
setenv PTHREAD_CFLAGS -D_THREAD_SAFE
setenv PTHREAD_LIBS -lc_r
else
setenv PTHREAD_LIBS -pthread
endif
breaksw
endsw
# set PATH
if ( $?PATH == 0) then
setenv PATH ${OO_SDK_ZIP_HOME}:${OO_SDK_MAKE_HOME}:${OO_SDK_HOME}/bin:${OO_SDK_OUT}/${exampleout}:${OO_SDK_URE_BIN_DIR}:.
else
setenv PATH ${OO_SDK_ZIP_HOME}:${OO_SDK_MAKE_HOME}:${OO_SDK_HOME}/bin:${OO_SDK_OUT}/${exampleout}:${OO_SDK_URE_BIN_DIR}:.:${PATH}
endif
# Set CLASSPATH
if ( ${?OFFICE_PROGRAM_PATH} ) then
if ( ${?CLASSPATH} == 0 ) then
setenv CLASSPATH "${OFFICE_PROGRAM_PATH}/classes/unoil.jar"
else
setenv CLASSPATH "${OFFICE_PROGRAM_PATH}/classes/unoil.jar:${CLASSPATH}"
endif
endif
if ( $?CLASSPATH == 0) then
setenv CLASSPATH "${OO_SDK_URE_JAVA_DIR}/juh.jar:${OO_SDK_URE_JAVA_DIR}/jurt.jar:${OO_SDK_URE_JAVA_DIR}/ridl.jar:${OO_SDK_URE_JAVA_DIR}/unoloader.jar"
else
setenv CLASSPATH "${OO_SDK_URE_JAVA_DIR}/juh.jar:${OO_SDK_URE_JAVA_DIR}/jurt.jar:${OO_SDK_URE_JAVA_DIR}/ridl.jar:${OO_SDK_URE_JAVA_DIR}/unoloader.jar:${CLASSPATH}"
endif
if ( $?OO_SDK_CPP_HOME == 0) then
setenv PATH ${OO_SDK_CPP_HOME}:${PATH}
endif
if ( $?OO_SDK_JAVA_HOME == 0) then
setenv PATH ${OO_SDK_JAVA_HOME}:${PATH}
endif
if ( "${platform}" == "MacOSX" ) then
# For URE, prepare symbolic links for libraries:
# Only necessary on MacOSX, on other Unix systems the links are already prepared
# in the SDK installation.
# cleanup potential old links first
rm -f "${OO_SDK_OUT}/${directoryname}/lib/libuno_cppu.so" \
"${OO_SDK_OUT}/${directoryname}/lib/libuno_cppuhelper${comid}.${soext}" \
"${OO_SDK_OUT}/${directoryname}/lib/libuno_sal.${soext}" \
"${OO_SDK_OUT}/${directoryname}/lib/libuno_salhelper${comid}.${soext}" \
"${OO_SDK_OUT}/${directoryname}/lib/libuno_purpenvhelper${comid}.${soext}"
if ( "${OO_SDK_URE_HOME}" != "" ) then
mkdir -p "${OO_SDK_OUT}/${directoryname}/lib"
ln -s "${OO_SDK_URE_LIB_DIR}/libuno_cppu.${soext}.3" \
"${OO_SDK_OUT}/${directoryname}/lib/libuno_cppu.${soext}"
ln -s "${OO_SDK_URE_LIB_DIR}/libuno_cppuhelper${comid}.${soext}.3" \
"${OO_SDK_OUT}/${directoryname}/lib/libuno_cppuhelper${comid}.${soext}"
ln -s "${OO_SDK_URE_LIB_DIR}/libuno_sal.${soext}.3" \
"${OO_SDK_OUT}/${directoryname}/lib/libuno_sal.${soext}"
ln -s "${OO_SDK_URE_LIB_DIR}/libuno_salhelper${comid}.${soext}.3" \
"${OO_SDK_OUT}/${directoryname}/lib/libuno_salhelper${comid}.${soext}"
ln -s "${OO_SDK_URE_LIB_DIR}/libuno_purpenvhelper${comid}.${soext}.3" \
"${OO_SDK_OUT}/${directoryname}/lib/libuno_purpenvhelper${comid}.${soext}"
endif
endif
echo
echo " ************************************************************************"
echo " *"
echo " * SDK environment is prepared for ${platform}"
echo " *"
echo " * SDK = ${OO_SDK_HOME}"
echo " * Office = ${OFFICE_HOME}"
echo " * URE = ${OO_SDK_URE_HOME}"
echo " * Make = ${OO_SDK_MAKE_HOME}"
echo " * Zip = ${OO_SDK_ZIP_HOME}"
if ( $?OO_SDK_CPP_HOME == 0) then
echo " * C++ Compiler = "
else
echo " * C++ Compiler = ${OO_SDK_CPP_HOME}"
endif
if ( $?OO_SDK_JAVA_HOME == 0) then
echo " * Java = "
else
echo " * Java = ${OO_SDK_JAVA_HOME}"
endif
if ( $?OO_SDK_OUTPUT_DIR == 0) then
echo " * Special Output directory = "
else
echo " * SDK Output directory = ${OO_SDK_OUT}"
endif
echo " * Auto deployment = ${SDK_AUTO_DEPLOYMENT}"
echo " *"
echo " ************************************************************************"
unset sdkdir
unset directoryname
unset comid
unset exampleout
unset platform
echo "]2;Shell prepared with the SDK environment"
|