Salome HOME
Update for version 2.2.7
[tools/install.git] / config_files / CAS-5.2.sh
1 #!/bin/sh
2
3 check_version()
4 {
5 if [ -z "$CASROOT" ]; then
6     return 1
7 fi
8 check_lib_version ${CASROOT}/inc/Standard_Version.hxx
9 if [ "$?" -ne "0" ] ; then
10     return 1
11 fi
12 ver_major=`grep "#define OCC_VERSION_MAJOR" ${CASROOT}/inc/Standard_Version.hxx | awk '{print $3}'`
13 ver_minor=`grep "#define OCC_VERSION_MINOR" ${CASROOT}/inc/Standard_Version.hxx | awk '{print $3}'`
14 ver="$ver_major.$ver_minor"
15 if [ "$ver" == "5.2" ] ; then
16     return 0
17 fi
18 return 1
19 }
20
21 print_env()
22 {
23 cat > ${INSTALL_WORK}/env_${PRODUCT_TYPE}.sh <<EOF 
24 #$DELIM ${PRODUCT_TYPE} $DELIM
25 export CASROOT=\${INSTALL_ROOT}/${PRODUCT}
26 export LD_LIBRARY_PATH=\${CASROOT}/lin/lib:\${CASROOT}/`uname`/lib:\${LD_LIBRARY_PATH}
27 # Variable for Foundation Classes : 
28 export CSF_UnitsLexicon=\${CASROOT}/src/UnitsAPI/Lexi_Expr.dat 
29 export CSF_UnitsDefinition=\${CASROOT}/src/UnitsAPI/Units.dat 
30 # Variable for DataExchange : 
31 export CSF_SHMessageStd=\${CASROOT}/src/SHMessageStd 
32 export CSF_XSMessage=\${CASROOT}/src/XSMessage 
33 # Variable for Font : 
34 export CSF_MDTVFontDirectory=\${CASROOT}/src/FontMFT 
35 export CSF_MDTVTexturesDirectory=\${CASROOT}/src/Textures 
36 ##
37 EOF
38 (test -w ${PRODUCT_DIR} && cp ${INSTALL_WORK}/env_${PRODUCT_TYPE}.sh ${PRODUCT_DIR})
39 make_env ${INSTALL_ROOT} ${INSTALL_WORK} "${PRODUCT_SEQUENCE}"
40 }
41
42 # looks for the native product and collects it's environment (used by make_env())
43 try_native(){
44 check_version
45 if [ $? -eq 0 ] ; then
46     cat > ${INSTALL_WORK}/env_${PRODUCT_TYPE}.sh <<EOF 
47 #$DELIM ${PRODUCT_TYPE} $DELIM
48 export CASROOT=${CASROOT}
49 export LD_LIBRARY_PATH=\${CASROOT}/lin/lib:\${CASROOT}/`uname`/lib:\${LD_LIBRARY_PATH}
50 # Variable for Foundation Classes : 
51 export CSF_UnitsLexicon=\${CASROOT}/src/UnitsAPI/Lexi_Expr.dat 
52 export CSF_UnitsDefinition=\${CASROOT}/src/UnitsAPI/Units.dat 
53 # Variable for DataExchange : 
54 export CSF_SHMessageStd=\${CASROOT}/src/SHMessageStd 
55 export CSF_XSMessage=\${CASROOT}/src/XSMessage 
56 # Variable for Font : 
57 export CSF_MDTVFontDirectory=\${CASROOT}/src/FontMFT 
58 export CSF_MDTVTexturesDirectory=\${CASROOT}/src/Textures 
59 ##
60 EOF
61     make_env ${INSTALL_ROOT} ${INSTALL_WORK} "${PRODUCT_SEQUENCE}"
62     return 0
63 fi
64 return 1;
65 }
66
67 try_preinstalled(){
68 try_existing ${PRODUCT_DIR} ${INSTALL_ROOT} ${INSTALL_WORK} "${PRODUCT_SEQUENCE}" ${PRODUCT_TYPE}
69 return $?
70 }
71
72 install_source()
73 {
74 echo "You can only install precompiled CAS-5.2"
75 return 1
76 }
77
78 install_binary()
79 {
80 make_env ${INSTALL_ROOT} ${INSTALL_WORK} "${PRODUCT_SEQUENCE}" ${PRODUCT_TYPE}
81 source ${INSTALL_WORK}/$SHRC
82
83 check_jb tar xfz ${SOURCE_DIR}/CAS-5.2.tar.gz -C ${INSTALL_ROOT}
84 ldir=${PRODUCT_DIR}/lib
85 if [ ! -d $ldir ]; then ldir=${PRODUCT_DIR}/Linux/lib; fi
86 if [ ! -d $ldir ]; then ldir=${PRODUCT_DIR}/lin/lib; fi
87 cd $ldir
88 for l in X `find . -name "*.la"`; do
89     if [ "$l" != "X" ] ; then
90         l=`basename $l`
91         libdir=`grep -e "libdir=.*" $l | sed -e "s/libdir=[\'|\"]\(.*\)[\'|\"]/\1/g"`
92         sed -e "s%${libdir}%${ldir}%g" $l > _$l
93         mv -f _$l $l
94         chmod a+x $l
95     fi
96 done
97
98 print_env
99 }
100
101 export PROCEDURE=$1;
102 export INSTALL_WORK=$2;
103 export SOURCE_DIR=$3;
104 export INSTALL_ROOT=$4;
105 export PRODUCT_SEQUENCE=$5;
106 if [ $# == 6 ] ; then export PRODUCT_TYPE=$6 ; else export PRODUCT_TYPE="cas" ; fi
107 export PRODUCT="CAS-5.2"
108 export PRODUCT_DIR=${INSTALL_ROOT}/${PRODUCT}
109 export PRODUCT_WORK=${INSTALL_WORK}/${PRODUCT}
110 source ./common.sh
111 $PROCEDURE