Salome HOME
replace /bin/sh by /bin/bash to avoid ambiguity
[tools/install.git] / config_files / omniORB-4.0.6.sh
1 #!/bin/bash -noprofile
2
3 ####################################################################################
4 #  File      : omniORB-4.0.6.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 cat > ${INSTALL_WORK}/env_${PRODUCT_TYPE}.sh <<EOF 
44 #$DELIM ${PRODUCT_TYPE} $DELIM
45 export OMNIORBDIR=\${INSTALL_ROOT}/${PRODUCT}
46 export OMNIORB_CONFIG=\${OMNIORBDIR}/.omniORB.cfg
47 export PYTHONPATH=\${OMNIORBDIR}/lib:\${OMNIORBDIR}/lib/python\${PYTHON_VERSION}/site-packages:\${PYTHONPATH}
48 export PATH=\$OMNIORBDIR/bin:\$PATH
49 export LD_LIBRARY_PATH=\$OMNIORBDIR/lib:\$LD_LIBRARY_PATH 
50 ##
51 EOF
52 cat > ${PRODUCT_DIR}/.omniORB.cfg <<EOF
53 InitRef = NameService=corbaname::`hostname`:2810
54 EOF
55 (test -w ${PRODUCT_DIR} && cp ${INSTALL_WORK}/env_${PRODUCT_TYPE}.sh ${PRODUCT_DIR})
56 make_env ${INSTALL_ROOT} ${INSTALL_WORK} "${PRODUCT_SEQUENCE}"
57 }
58
59 # looks for the native product and collects it's environment (used by make_env())
60 try_native(){
61 omnidir="`find_in_path omniidl ${PATH}:/usr/bin`"
62 if [ -n "${omnidir}" ] ; then
63   omnidir=`cd ${omnidir}/..; pwd`
64   OMNIORBDIR=${omnidir}
65   python_version="`python -c 'import sys; print sys.version[:3]'`"
66   check_lib_version libomniORB4.so.0.6 ${OMNIORBDIR}/lib
67   if [ "$?" -ne "0" ]; then return 1 ; fi
68   check_lib_version _omnipymodule.so.2.6 ${OMNIORBDIR}/lib/python${python_version}/site-packages
69   if [ "$?" -ne "0" ]; then return 1 ; fi
70   tmp="${omnidir}/bin ${omnidir}/bin \${PATH} ${PATH}";  
71   path=`sort_path ${tmp}`
72   tmp="${omnidir}/lib ${omnidir}/lib \${LD_LIBRARY_PATH} ${LD_LIBRARY_PATH}";  
73   ld_library_path=`sort_path ${tmp}`
74   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}";  
75   pythonpath=`sort_path ${tmp}`
76   cat > ${INSTALL_WORK}/env_${PRODUCT_TYPE}.sh <<EOF 
77 #$DELIM ${PRODUCT_TYPE} $DELIM
78 export OMNIORB_CONFIG=\${HOME}/.omniORB.cfg
79 export PYTHONPATH=${pythonpath}
80 export PATH=${path}
81 export LD_LIBRARY_PATH=${ld_library_path}
82 ##
83 EOF
84   make_env ${INSTALL_ROOT} ${INSTALL_WORK} "${PRODUCT_SEQUENCE}"
85   return 0
86 fi
87 return 1;
88 }
89
90 try_preinstalled(){
91 try_existing ${PRODUCT_DIR} ${INSTALL_ROOT} ${INSTALL_WORK} "${PRODUCT_SEQUENCE}" ${PRODUCT_TYPE}
92 return $?
93 }
94
95 install_source()
96 {
97 make_env ${INSTALL_ROOT} ${INSTALL_WORK} "${PRODUCT_SEQUENCE}" ${PRODUCT_TYPE}
98 source ${INSTALL_WORK}/$SHRC
99
100 makedir ${PRODUCT_DIR}
101
102 check_jb tar xfz ${SOURCE_DIR}/omniORB-4.0.6.tar.gz -C ${INSTALL_WORK}
103 check_jb tar xfz ${SOURCE_DIR}/omniORBpy-2.6.tar.gz -C ${INSTALL_WORK}
104 check_jb tar xfz ${SOURCE_DIR}/omniNotify-2.1.tar.gz -C ${INSTALL_WORK}
105
106 # install omniORB
107 cd ${INSTALL_WORK}/omniORB-4.0.6
108 mkdir build
109 cd build
110
111 check_job ${PRODUCT_DIR}/CONFIGURE_OMNIORB.LOG \
112     ../configure --prefix=${PRODUCT_DIR}
113
114 GCC=`which gcc`
115 cat >> ${PRODUCT_DIR}/MAKE_OMNIORB.LOG <<EOF
116 used gcc=$GCC
117 EOF
118 check_job ${PRODUCT_DIR}/MAKE_OMNIORB.LOG make
119 check_job ${PRODUCT_DIR}/INSTALL_OMNIORB.LOG make install
120
121 # install omniORBpy
122 cd ${INSTALL_WORK}/omniORBpy-2.6
123 mkdir build
124 cd build
125
126 check_job ${PRODUCT_DIR}/CONFIGURE_OMNIORBPY.LOG \
127     ../configure --prefix=${PRODUCT_DIR}
128
129 GCC=`which gcc`
130 cat >> ${PRODUCT_DIR}/MAKE_OMNIORBPY.LOG <<EOF
131 used gcc=$GCC
132 EOF
133 check_job ${PRODUCT_DIR}/MAKE_OMNIORBPY.LOG make
134 check_job ${PRODUCT_DIR}/INSTALL_OMNIORBPY.LOG make install
135
136 # install omniNotify
137 cd ${INSTALL_WORK}/omniNotify
138 mkdir build
139 cd build
140
141 check_job ${PRODUCT_DIR}/CONFIGURE_OMNINOTIFY.LOG \
142     ../configure --prefix=${PRODUCT_DIR}
143
144 GCC=`which gcc`
145 cat >> ${PRODUCT_DIR}/MAKE_OMNINOTIFY.LOG <<EOF
146 used gcc=$GCC
147 EOF
148 check_job ${PRODUCT_DIR}/MAKE_OMNINOTIFY.LOG make
149 check_job ${PRODUCT_DIR}/INSTALL_OMNINOTIFY.LOG make install
150
151 cd ${PRODUCT_DIR}/bin
152 sed -e "s%#\!.*python%#\!/usr/bin/env python%" omniidl > _omniidl
153 mv -f _omniidl omniidl
154 chmod a+x omniidl
155 sed -e "s%#\!.*python%#\!/usr/bin/env python%" omniidlrun.py > _omniidlrun.py
156 mv -f _omniidlrun.py omniidlrun.py
157 chmod a+x omniidlrun.py
158
159 #du -sk ${PRODUCT_WORK} > ${PRODUCT_DIR}/size.log
160 cd ${PRODUCT_DIR}
161 rm -fr ${INSTALL_WORK}/omniORB-4.0.6
162 rm -fr ${INSTALL_WORK}/omniORBpy-2.6
163 rm -fr ${INSTALL_WORK}/omniNotify
164 print_env
165 }
166
167 install_binary()
168 {
169 make_env ${INSTALL_ROOT} ${INSTALL_WORK} "${PRODUCT_SEQUENCE}" ${PRODUCT_TYPE}
170 source ${INSTALL_WORK}/$SHRC
171
172 check_jb tar xfz ${SOURCE_DIR}/omniORB-4.0.6.tar.gz -C ${INSTALL_ROOT}
173
174 ln -sf ${PRODUCT_DIR} ${INSTALL_ROOT}/omni
175
176 cd ${PRODUCT_DIR}/bin
177 sed -e "s%#\!.*python%#\!/usr/bin/env python%" omniidl > _omniidl
178 mv -f _omniidl omniidl
179 chmod a+x omniidl
180 sed -e "s%#\!.*python%#\!/usr/bin/env python%" omniidlrun.py > _omniidlrun.py
181 mv -f _omniidlrun.py omniidlrun.py
182 chmod a+x omniidlrun.py
183
184 print_env
185 }
186
187 export PROCEDURE=$1;
188 export INSTALL_WORK=$2;
189 export SOURCE_DIR=$3;
190 export INSTALL_ROOT=$4;
191 export PRODUCT_SEQUENCE=$5;
192 if [ $# == 6 ] ; then export PRODUCT_TYPE=$6 ; else export PRODUCT_TYPE="omni" ; fi
193 export PRODUCT="omniORB-4.0.6"
194 export PRODUCT_DIR=${INSTALL_ROOT}/${PRODUCT}
195 export PRODUCT_WORK=${INSTALL_WORK}/${PRODUCT}
196 source ./common.sh
197 $PROCEDURE