summaryrefslogtreecommitdiff
path: root/odk/setsdkenv_unix.csh.in
blob: d4ff4bdee05bc62e06b8813ed3e7ce0f10dbd6d5 (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
#! /usr/bin/csh

# 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 and Linux.
set setscript=`history 1 | sed "s/.*source //"`
set sdkdir=`dirname ${bla}`
unset setscript

# The SDK name
setenv OO_SDK_NAME @OO_SDK_NAME@

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

# Office installation directory.
# Example: setenv OFFICE_HOME /opt/staroffice
set OFFICE_HOME=@OFFICE_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/local/j2sdk1.4.1_01"
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@

# Set office program path.
setenv OFFICE_PROGRAM_PATH ${OFFICE_HOME}/program

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

# Set SDK example output directory
setenv OO_EXAMPLE_OUT ${OO_SDK_HOME}
if ( $?OO_SDK_OUTPUT_DIR ) then
    setenv OO_EXAMPLE_OUT ${OO_SDK_OUTPUT_DIR}/${OO_SDK_NAME}
endif

# check platform and set appropriate variables
switch (`${sdkdir}/config.guess | cut -d"-" -f3,4`)
  case "solaris*":
    if ( `${sdkdir}/config.guess | cut -d"-" -f1` == "sparc" ) then
        set directoryname=solsparc
	set platform=Solaris Sparc
    else
        set directoryname=solintel
	set platform=Solaris Intel
    endif
    set exampleout=SOLARISexample.out

    # set LD_LIBRARY_PATH
    if ( $?LD_LIBARY_PATH == 0) then
	setenv LD_LIBRARY_PATH ${OO_SDK_HOME}/${directoryname}/lib:${OO_EXAMPLE_OUT}/${exampleout}/lib:${OFFICE_PROGRAM_PATH}:.
    else
	setenv LD_LIBRARY_PATH ${OO_SDK_HOME}/${directoryname}/lib:${OO_EXAMPLE_OUT}/${exampleout}/lib:${OFFICE_PROGRAM_PATH}:.:${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 exampleout=LINUXexample.out
    set platform=Linux

    # set LD_LIBRARY_PATH
    if ( $?LD_LIBARY_PATH == 0) then
	setenv LD_LIBRARY_PATH ${OO_SDK_HOME}/${directoryname}/lib:${OO_EXAMPLE_OUT}/${exampleout}/lib:${OFFICE_PROGRAM_PATH}:.
    else
	setenv LD_LIBRARY_PATH ${OO_SDK_HOME}/${directoryname}/lib:${OO_EXAMPLE_OUT}/${exampleout}/lib:${OFFICE_PROGRAM_PATH}:.:${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 exampleout=MACOSXexample.out
    set platform=MacOSX

    # set DYLD_LIBRARY_PATH
    if ( $?DYLD_LIBRARY_PATH == 0) then
	setenv DYLD_LIBRARY_PATH ${OO_SDK_HOME}/${directoryname}/lib:${OO_EXAMPLE_OUT}/${exampleout}/lib:${OFFICE_PROGRAM_PATH}:.
    else
	setenv DYLD_LIBRARY_PATH ${OO_SDK_HOME}/${directoryname}/lib:${OO_EXAMPLE_OUT}/${exampleout}/lib:${OFFICE_PROGRAM_PATH}:.:${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 exampleout=FREEBSDexample.out
    set platform=FreeBSD

    # set LD_LIBRARY_PATH
    if ( $?LD_LIBARY_PATH == 0) then
	setenv LD_LIBRARY_PATH ${OO_SDK_HOME}/${directoryname}/lib:${OO_EXAMPLE_OUT}/${exampleout}/lib:${OFFICE_PROGRAM_PATH}:.
    else
	setenv LD_LIBRARY_PATH ${OO_SDK_HOME}/${directoryname}/lib:${OO_EXAMPLE_OUT}/${exampleout}/lib:${OFFICE_PROGRAM_PATH}:.:${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}/${directoryname}/bin:${OO_EXAMPLE_OUT}/${exampleout}:${OFFICE_PROGRAM_PATH}:.
else
    setenv PATH ${OO_SDK_ZIP_HOME}:${OO_SDK_MAKE_HOME}:${OO_SDK_HOME}/${directoryname}/bin:${OO_EXAMPLE_OUT}/${exampleout}:${OFFICE_PROGRAM_PATH}:.:${PATH}
endif

# Set CLASSPATH
if ( $?CLASSPATH == 0) then
    setenv 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
else
    setenv 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}
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}
#    setenv UNO_JAVA_JFW_JREHOME `sp2bv $OO_SDK_JAVA_HOME`
#    setenv UNO_JAVA_JFW_ENV_CLASSPATH true
#    setenv UNO_JAVA_JFW_VENDOR_SETTINGS `sp2bv $OFFICE_HOME/share/config/javavendors.xml`
endif

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}"
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 " * Special Output directory = ${OO_SDK_OUTPUT_DIR}"
endif
echo " * Auto deployment = ${SDK_AUTO_DEPLOYMENT}"
echo " *"
echo " ************************************************************************"

unset sdkdir
unset directoryname
unset exampleout
unset platform

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