Salome HOME
Update copyright notes
[tools/install.git] / config_files / omniORB-4.0.7.sh
1 #!/bin/sh
2
3 ####################################################################################
4 #  File      : omniORB-4.0.7.sh
5 #  Created   : Thu Dec 18 12:01:00 2002
6 #  Author    : Vadim SANDLER, Open CASCADE SAS (vadim.sandler@opencascade.com)
7 #  Project   : SALOME
8 #  Module    : Installation Wizard
9 #  Copyright : 2002-2006 CEA
10 #
11 #  This script is the part of the SALOME installation procedure.
12 #
13 ####################################################################################
14
15 check_version()
16 {
17 if [ -z "${OMNIORBDIR}" ]; then
18    #echo "OMNIORBDIR doesn't set"
19    return 1
20 fi
21 python_version="`python -c 'import sys; print sys.version[:3]'`"
22 check_lib_version libomniORB4.so.0.6 ${OMNIORBDIR}/lib
23 if [ "$?" -ne "0" ]; then
24    return 1
25 fi
26 check_lib_version _omnipymodule.so.2.6 ${OMNIORBDIR}/lib/python${python_version}/site-packages
27 if [ "$?" -ne "0" ]; then
28    return 1
29 fi
30 check_lib_version libCOSNotify4.so.0.1 ${OMNIORBDIR}/lib
31 if [ "$?" -ne "0" ]; then
32    return 1
33 fi
34 check_lib_version notifd ${OMNIORBDIR}/bin
35 if [ "$?" -ne "0" ]; then
36    return 1
37 fi
38 return 0
39 }
40
41 print_env()
42 {
43
44 if test `uname -m` = "x86_64" ; then
45 export OMNI_LIB_PREFIX="64"
46 fi
47
48 cat > ${INSTALL_WORK}/env_${PRODUCT_TYPE}.sh <<EOF 
49 #$DELIM ${PRODUCT_TYPE} $DELIM
50 export OMNIORBDIR=\${INSTALL_ROOT}/${PRODUCT}
51 export OMNIORB_CONFIG=\${OMNIORBDIR}/.omniORB.cfg
52 export PYTHONPATH=\${OMNIORBDIR}/lib\${OMNI_LIB_PREFIX}:\${OMNIORBDIR}/lib\${OMNI_LIB_PREFIX}/python\${PYTHON_VERSION}/site-packages:\${PYTHONPATH}
53 export PATH=\$OMNIORBDIR/bin:\$PATH
54 export LD_LIBRARY_PATH=\$OMNIORBDIR/lib:\$LD_LIBRARY_PATH 
55 ##
56 EOF
57 cat > ${PRODUCT_DIR}/.omniORB.cfg <<EOF
58 InitRef = NameService=corbaname::`hostname`:2810
59 EOF
60 (test -w ${PRODUCT_DIR} && cp ${INSTALL_WORK}/env_${PRODUCT_TYPE}.sh ${PRODUCT_DIR})
61 make_env ${INSTALL_ROOT} ${INSTALL_WORK} "${PRODUCT_SEQUENCE}"
62 }
63
64 # looks for the native product and collects it's environment (used by make_env())
65 try_native(){
66 omnidir="`find_in_path omniidl ${PATH}:/usr/bin`"
67 if [ -n "${omnidir}" ] ; then
68   omnidir=`cd ${omnidir}/..; pwd`
69   OMNIORBDIR=${omnidir}
70   python_version="`python -c 'import sys; print sys.version[:3]'`"
71   check_lib_version libomniORB4.so.0.6 ${OMNIORBDIR}/lib
72   if [ "$?" -ne "0" ]; then return 1 ; fi
73   check_lib_version _omnipymodule.so.2.6 ${OMNIORBDIR}/lib/python${python_version}/site-packages
74   if [ "$?" -ne "0" ]; then return 1 ; fi
75   tmp="${omnidir}/bin ${omnidir}/bin \${PATH} ${PATH}";  
76   path=`sort_path ${tmp}`
77   tmp="${omnidir}/lib ${omnidir}/lib \${LD_LIBRARY_PATH} ${LD_LIBRARY_PATH}";  
78   ld_library_path=`sort_path ${tmp}`
79   tmp="${omnidir}/lib:${omnidir}/lib/python\${PYTHON_VERSION}:${omnidir}/lib/python\${PYTHON_VERSION}/site-packages ${omnidir}/lib:${omnidir}/lib/python${python_version}/site-packages \${PYTHONPATH} ${PYTHONPATH}";  
80   pythonpath=`sort_path ${tmp}`
81   cat > ${INSTALL_WORK}/env_${PRODUCT_TYPE}.sh <<EOF 
82 #$DELIM ${PRODUCT_TYPE} $DELIM
83 export OMNIORB_CONFIG=\${HOME}/.omniORB.cfg
84 export PYTHONPATH=${pythonpath}
85 export PATH=${path}
86 export LD_LIBRARY_PATH=${ld_library_path}
87 ##
88 EOF
89   make_env ${INSTALL_ROOT} ${INSTALL_WORK} "${PRODUCT_SEQUENCE}"
90   return 0
91 fi
92 return 1;
93 }
94
95 try_preinstalled(){
96 try_existing ${PRODUCT_DIR} ${INSTALL_ROOT} ${INSTALL_WORK} "${PRODUCT_SEQUENCE}" ${PRODUCT_TYPE}
97 return $?
98 }
99
100 install_source()
101 {
102 make_env ${INSTALL_ROOT} ${INSTALL_WORK} "${PRODUCT_SEQUENCE}" ${PRODUCT_TYPE}
103 source ${INSTALL_WORK}/$SHRC
104
105
106 makedir ${PRODUCT_DIR}
107
108 check_jb tar xfz ${SOURCE_DIR}/omniORB-4.0.7.tar.gz -C ${INSTALL_WORK}
109 check_jb tar xfz ${SOURCE_DIR}/omniORBpy-2.7.tar.gz -C ${INSTALL_WORK}
110 check_jb tar xfz ${SOURCE_DIR}/omniNotify-2.1.tar.gz -C ${INSTALL_WORK}
111
112 # apply patches for 64-bit platforms
113 if test `uname -m` = "x86_64" ; then
114     if [ -f patches/omniORB-4.0.7-lib64.patch ] ; then
115         cp patches/omniORB-4.0.7-lib64.patch ${INSTALL_WORK}/omniORB-4.0.7
116         ( cd ${INSTALL_WORK}/omniORB-4.0.7 ; patch -p1 < omniORB-4.0.7-lib64.patch )
117     fi
118     if [ -f patches/omniORBpy-2.7-lib64.patch ] ; then
119         cp patches/omniORBpy-2.7-lib64.patch ${INSTALL_WORK}/omniORBpy-2.7
120         ( cd ${INSTALL_WORK}/omniORBpy-2.7 ; patch -p1 < omniORBpy-2.7-lib64.patch )
121     fi
122     if [ -f patches/omniNotify-2.1-lib64.patch ] ; then
123         cp patches/omniNotify-2.1-lib64.patch ${INSTALL_WORK}/omniNotify
124         ( cd ${INSTALL_WORK}/omniNotify ; patch -p1 < omniNotify-2.1-lib64.patch )
125     fi
126 fi
127
128 # install omniORB
129 cd ${INSTALL_WORK}/omniORB-4.0.7
130 mkdir build
131 cd build
132
133 check_job ${PRODUCT_DIR}/CONFIGURE_OMNIORB.LOG \
134     ../configure --prefix=${PRODUCT_DIR}
135
136 GCC=`which gcc`
137 cat >> ${PRODUCT_DIR}/MAKE_OMNIORB.LOG <<EOF
138 used gcc=$GCC
139 EOF
140 check_job ${PRODUCT_DIR}/MAKE_OMNIORB.LOG make
141 check_job ${PRODUCT_DIR}/INSTALL_OMNIORB.LOG make install
142
143 if test `uname -m` = "x86_64" ; then
144 cd ${PRODUCT_DIR}/lib; ln -s ../lib64/python2.4 .
145 fi
146
147 # install omniORBpy
148 cd ${INSTALL_WORK}/omniORBpy-2.7
149 mkdir build
150 cd build
151
152 check_job ${PRODUCT_DIR}/CONFIGURE_OMNIORBPY.LOG \
153     ../configure --prefix=${PRODUCT_DIR}
154
155 GCC=`which gcc`
156 cat >> ${PRODUCT_DIR}/MAKE_OMNIORBPY.LOG <<EOF
157 used gcc=$GCC
158 EOF
159 check_job ${PRODUCT_DIR}/MAKE_OMNIORBPY.LOG make
160 check_job ${PRODUCT_DIR}/INSTALL_OMNIORBPY.LOG make install
161
162 # install omniNotify
163 cd ${INSTALL_WORK}/omniNotify
164
165 mkdir build
166 cd build
167
168 check_job ${PRODUCT_DIR}/CONFIGURE_OMNINOTIFY.LOG \
169     ../configure --prefix=${PRODUCT_DIR}
170
171 GCC=`which gcc`
172 cat >> ${PRODUCT_DIR}/MAKE_OMNINOTIFY.LOG <<EOF
173 used gcc=$GCC
174 EOF
175 check_job ${PRODUCT_DIR}/MAKE_OMNINOTIFY.LOG make
176 check_job ${PRODUCT_DIR}/INSTALL_OMNINOTIFY.LOG make install
177
178 cd ${PRODUCT_DIR}/bin
179 sed -e "s%#\!.*python%#\!/usr/bin/env python%" omniidl > _omniidl
180 mv -f _omniidl omniidl
181 chmod a+x omniidl
182 sed -e "s%#\!.*python%#\!/usr/bin/env python%" omniidlrun.py > _omniidlrun.py
183 mv -f _omniidlrun.py omniidlrun.py
184 chmod a+x omniidlrun.py
185
186 #du -sk ${PRODUCT_WORK} > ${PRODUCT_DIR}/size.log
187 cd ${PRODUCT_DIR}
188 rm -fr ${INSTALL_WORK}/omniORB-4.0.7
189 rm -fr ${INSTALL_WORK}/omniORBpy-2.7
190 rm -fr ${INSTALL_WORK}/omniNotify
191 print_env
192 }
193
194 install_binary()
195 {
196 make_env ${INSTALL_ROOT} ${INSTALL_WORK} "${PRODUCT_SEQUENCE}" ${PRODUCT_TYPE}
197 source ${INSTALL_WORK}/$SHRC
198
199 check_jb tar xfz ${SOURCE_DIR}/omniORB-4.0.7.tar.gz -C ${INSTALL_ROOT}
200
201 ln -sf ${PRODUCT_DIR} ${INSTALL_ROOT}/omni
202
203 cd ${PRODUCT_DIR}/bin
204 sed -e "s%#\!.*python%#\!/usr/bin/env python%" omniidl > _omniidl
205 mv -f _omniidl omniidl
206 chmod a+x omniidl
207 sed -e "s%#\!.*python%#\!/usr/bin/env python%" omniidlrun.py > _omniidlrun.py
208 mv -f _omniidlrun.py omniidlrun.py
209 chmod a+x omniidlrun.py
210
211 print_env
212 }
213
214 export PROCEDURE=$1;
215 export INSTALL_WORK=$2;
216 export SOURCE_DIR=$3;
217 export INSTALL_ROOT=$4;
218 export PRODUCT_SEQUENCE=$5;
219 if [ $# == 6 ] ; then export PRODUCT_TYPE=$6 ; else export PRODUCT_TYPE="omni" ; fi
220 export PRODUCT="omniORB-4.0.7"
221 export PRODUCT_DIR=${INSTALL_ROOT}/${PRODUCT}
222 export PRODUCT_WORK=${INSTALL_WORK}/${PRODUCT}
223 source ./common.sh
224 $PROCEDURE