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