]> SALOME platform Git repositories - tools/install.git/blob - config_files/omniORB-4.0.7.sh
Salome HOME
To share SIERPINSKY libraries.
[tools/install.git] / config_files / omniORB-4.0.7.sh
1 #!/bin/bash -noprofile
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-2007 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_bin()
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}" "${INSTALL_PRODUCTS}"
62 }
63
64 print_env_src()
65 {
66 cat > ${INSTALL_WORK}/env_${PRODUCT_TYPE}_src.sh <<EOF
67 #$DELIM ${PRODUCT_TYPE}_src $DELIM
68 # nothing to do
69 ##
70 EOF
71 (test -w ${PRODUCT_DIR}_SRC && cp ${INSTALL_WORK}/env_${PRODUCT_TYPE}_src.sh ${PRODUCT_DIR}_SRC)
72 make_env ${INSTALL_ROOT} ${INSTALL_WORK} "${PRODUCT_SEQUENCE}" "${INSTALL_PRODUCTS}"
73 }
74
75 try_preinstalled(){
76 try_existing ${PRODUCT_DIR} ${INSTALL_ROOT} ${INSTALL_WORK} "${PRODUCT_SEQUENCE}" "${INSTALL_PRODUCTS}" ${PRODUCT_TYPE}
77 try_existing ${PRODUCT_DIR}_SRC ${INSTALL_ROOT} ${INSTALL_WORK} "${PRODUCT_SEQUENCE}" "${INSTALL_PRODUCTS}" ${PRODUCT_TYPE}_src
78 return $?
79 }
80
81 install_source()
82 {
83 make_env ${INSTALL_ROOT} ${INSTALL_WORK} "${PRODUCT_SEQUENCE}" "${INSTALL_PRODUCTS}" ${PRODUCT_TYPE}_src
84 source ${INSTALL_WORK}/$SHRC
85
86 makedir ${PRODUCT_DIR}_SRC
87 # unpack
88 check_jb tar xfz ${SOURCE_DIR}/${PRODUCT}.tar.gz -C ${PRODUCT_DIR}_SRC
89 check_jb tar xfz ${SOURCE_DIR}/omniORBpy-2.7.tar.gz -C ${PRODUCT_DIR}_SRC
90 check_jb tar xfz ${SOURCE_DIR}/omniNotify-2.1.tar.gz -C ${PRODUCT_DIR}_SRC
91
92 # apply patches for 64-bit platforms
93 if test `uname -m` = "x86_64" ; then
94     if [ -f patches/omniORB-4.0.7-lib64.patch ] ; then
95         cp patches/omniORB-4.0.7-lib64.patch ${PRODUCT_DIR}_SRC/${PRODUCT}_SRC
96         ( cd ${PRODUCT_DIR}_SRC/${PRODUCT}_SRC ; patch -p1 < omniORB-4.0.7-lib64.patch )
97     fi
98     if [ -f patches/omniORBpy-2.7-lib64.patch ] ; then
99         cp patches/omniORBpy-2.7-lib64.patch ${PRODUCT_DIR}_SRC/omniORBpy-2.7_SRC
100         ( cd ${PRODUCT_DIR}_SRC/omniORBpy-2.7_SRC ; patch -p1 < omniORBpy-2.7-lib64.patch )
101     fi
102     if [ -f patches/omniNotify-2.1-lib64.patch ] ; then
103         cp patches/omniNotify-2.1-lib64.patch ${PRODUCT_DIR}_SRC/omniNotify-2.1_SRC
104         ( cd ${PRODUCT_DIR}_SRC/omniNotify-2.1_SRC ; patch -p1 < omniNotify-2.1-lib64.patch )
105     fi
106 fi
107
108 # to generate environment scripts
109 try_preinstalled
110 }
111
112 install_source_and_build()
113 {
114 # install sources
115 install_source
116
117 # build sources
118 makedir ${PRODUCT_DIR}
119 # install omniORB
120 cd ${PRODUCT_DIR}_SRC/omniORB-4.0.7_SRC
121 mkdir build
122 cd build
123
124 check_job ${PRODUCT_DIR}/CONFIGURE_OMNIORB.LOG \
125     ../configure --prefix=${PRODUCT_DIR}
126
127 GCC=`which gcc`
128 cat >> ${PRODUCT_DIR}/MAKE_OMNIORB.LOG <<EOF
129 used gcc=$GCC
130 EOF
131 check_job ${PRODUCT_DIR}/MAKE_OMNIORB.LOG make
132 check_job ${PRODUCT_DIR}/INSTALL_OMNIORB.LOG make install
133
134 if test `uname -m` = "x86_64" ; then
135 cd ${PRODUCT_DIR}/lib; ln -s ../lib64/python2.4 .
136 fi
137
138 # install omniORBpy
139 cd ${PRODUCT_DIR}_SRC/omniORBpy-2.7_SRC
140 mkdir build
141 cd build
142
143 check_job ${PRODUCT_DIR}/CONFIGURE_OMNIORBPY.LOG \
144     ../configure --prefix=${PRODUCT_DIR}
145
146 GCC=`which gcc`
147 cat >> ${PRODUCT_DIR}/MAKE_OMNIORBPY.LOG <<EOF
148 used gcc=$GCC
149 EOF
150 check_job ${PRODUCT_DIR}/MAKE_OMNIORBPY.LOG make
151 check_job ${PRODUCT_DIR}/INSTALL_OMNIORBPY.LOG make install
152
153 # install omniNotify
154 cd ${PRODUCT_DIR}_SRC/omniNotify-2.1_SRC
155
156 mkdir build
157 cd build
158
159 check_job ${PRODUCT_DIR}/CONFIGURE_OMNINOTIFY.LOG \
160     ../configure --prefix=${PRODUCT_DIR}
161
162 GCC=`which gcc`
163 cat >> ${PRODUCT_DIR}/MAKE_OMNINOTIFY.LOG <<EOF
164 used gcc=$GCC
165 EOF
166 check_job ${PRODUCT_DIR}/MAKE_OMNINOTIFY.LOG make
167 check_job ${PRODUCT_DIR}/INSTALL_OMNINOTIFY.LOG make install
168
169 cd ${PRODUCT_DIR}/bin
170 sed -e "s%#\!.*python%#\!/usr/bin/env python%" omniidl > _omniidl
171 mv -f _omniidl omniidl
172 chmod a+x omniidl
173 sed -e "s%#\!.*python%#\!/usr/bin/env python%" omniidlrun.py > _omniidlrun.py
174 mv -f _omniidlrun.py omniidlrun.py
175 chmod a+x omniidlrun.py
176
177 #du -sk ${PRODUCT_DIR}_SRC > ${PRODUCT_DIR}/size.log
178 cd ${PRODUCT_DIR}
179
180 # remove sources and temporary files after building
181 if [ ${REMOVE_SRC_TMP} == "TRUE" ] ; then
182     test -d ${PRODUCT_DIR}_SRC && rm -fr ${PRODUCT_DIR}_SRC
183 fi
184
185 # to generate environment scripts
186 try_preinstalled
187 }
188
189 install_binary()
190 {
191 make_env ${INSTALL_ROOT} ${INSTALL_WORK} "${PRODUCT_SEQUENCE}" "${INSTALL_PRODUCTS}" ${PRODUCT_TYPE}
192 source ${INSTALL_WORK}/$SHRC
193
194 check_jb tar xfz ${SOURCE_DIR}/${PRODUCT}.tar.gz -C ${INSTALL_ROOT}
195
196 ln -sf ${PRODUCT_DIR} ${INSTALL_ROOT}/omni
197
198 cd ${PRODUCT_DIR}/bin
199 sed -e "s%#\!.*python%#\!/usr/bin/env python%" omniidl > _omniidl
200 mv -f _omniidl omniidl
201 chmod a+x omniidl
202 sed -e "s%#\!.*python%#\!/usr/bin/env python%" omniidlrun.py > _omniidlrun.py
203 mv -f _omniidlrun.py omniidlrun.py
204 chmod a+x omniidlrun.py
205
206 # to generate environment script for sources
207 try_preinstalled
208 }
209
210 export PROCEDURE=$1;
211 export INSTALL_WORK=$2;
212 export SOURCE_DIR=$3;
213 export INSTALL_ROOT=$4;
214 export PRODUCT_SEQUENCE=$5;
215 export PRODUCT_TYPE=$6;
216 export INSTALL_PRODUCTS=$7;
217 shift
218 REMOVE_SRC_TMP=$8;
219 export PRODUCT="omniORB-4.0.7"
220 export PRODUCT_DIR=${INSTALL_ROOT}/${PRODUCT}
221 export PRODUCT_WORK=${INSTALL_WORK}/${PRODUCT}
222 source ./common.sh
223 $PROCEDURE