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