Salome HOME
fix a bug with 'test -n' option
[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="$ver_major.$ver_minor"
15 if [ "$ver" != "5.2" ] ; then
16     return 1
17 fi
18 # above check if only for major and minor version numbers
19 # we need also the check for the release version number
20 # unfortunately there is no appropriate method to define the release version number,
21 # so we use a little trick here:
22 check_lib_version libStdPlugin.so ${CASROOT}/lin/lib
23 if [ "$?" -eq "0" ] ; then
24     return 0
25 fi
26 return 1
27 }
28
29 print_env()
30 {
31 cat > ${INSTALL_WORK}/env_${PRODUCT_TYPE}.sh <<EOF 
32 #$DELIM ${PRODUCT_TYPE} $DELIM
33 export CASROOT=\${INSTALL_ROOT}/${PRODUCT}
34 export LD_LIBRARY_PATH=\${CASROOT}/lin/lib:\${CASROOT}/`uname`/lib:\${LD_LIBRARY_PATH}
35 # Variable for Foundation Classes : 
36 export CSF_UnitsLexicon=\${CASROOT}/src/UnitsAPI/Lexi_Expr.dat 
37 export CSF_UnitsDefinition=\${CASROOT}/src/UnitsAPI/Units.dat 
38 # Variable for DataExchange : 
39 export CSF_SHMessageStd=\${CASROOT}/src/SHMessage
40 export CSF_XSMessage=\${CASROOT}/src/XSMessage 
41 # Variable for Font : 
42 export CSF_MDTVFontDirectory=\${CASROOT}/src/FontMFT 
43 export CSF_MDTVTexturesDirectory=\${CASROOT}/src/Textures 
44 ##
45 EOF
46 (test -w ${PRODUCT_DIR} && cp ${INSTALL_WORK}/env_${PRODUCT_TYPE}.sh ${PRODUCT_DIR})
47 make_env ${INSTALL_ROOT} ${INSTALL_WORK} "${PRODUCT_SEQUENCE}"
48 }
49
50 # looks for the native product and collects it's environment (used by make_env())
51 try_native(){
52 check_version
53 if [ $? -eq 0 ] ; then
54     cat > ${INSTALL_WORK}/env_${PRODUCT_TYPE}.sh <<EOF 
55 #$DELIM ${PRODUCT_TYPE} $DELIM
56 export CASROOT=${CASROOT}
57 export LD_LIBRARY_PATH=\${CASROOT}/lin/lib:\${CASROOT}/`uname`/lib:\${LD_LIBRARY_PATH}
58 # Variable for Foundation Classes : 
59 export CSF_UnitsLexicon=\${CASROOT}/src/UnitsAPI/Lexi_Expr.dat 
60 export CSF_UnitsDefinition=\${CASROOT}/src/UnitsAPI/Units.dat 
61 # Variable for DataExchange : 
62 export CSF_SHMessageStd=\${CASROOT}/src/SHMessage
63 export CSF_XSMessage=\${CASROOT}/src/XSMessage 
64 # Variable for Font : 
65 export CSF_MDTVFontDirectory=\${CASROOT}/src/FontMFT 
66 export CSF_MDTVTexturesDirectory=\${CASROOT}/src/Textures 
67 ##
68 EOF
69     make_env ${INSTALL_ROOT} ${INSTALL_WORK} "${PRODUCT_SEQUENCE}"
70     return 0
71 fi
72 return 1;
73 }
74
75 try_preinstalled(){
76 try_existing ${PRODUCT_DIR} ${INSTALL_ROOT} ${INSTALL_WORK} "${PRODUCT_SEQUENCE}" ${PRODUCT_TYPE}
77 return $?
78 }
79
80 install_source()
81 {
82 echo "You can only install precompiled CAS-5.2.4a"
83 return 1
84 }
85
86 install_binary()
87 {
88 make_env ${INSTALL_ROOT} ${INSTALL_WORK} "${PRODUCT_SEQUENCE}" ${PRODUCT_TYPE}
89 source ${INSTALL_WORK}/$SHRC
90
91 check_jb tar xfz ${SOURCE_DIR}/CAS-5.2.4a.tar.gz -C ${INSTALL_ROOT}
92
93 print_env
94 }
95
96 export PROCEDURE=$1;
97 export INSTALL_WORK=$2;
98 export SOURCE_DIR=$3;
99 export INSTALL_ROOT=$4;
100 export PRODUCT_SEQUENCE=$5;
101 if [ $# == 6 ] ; then export PRODUCT_TYPE=$6 ; else export PRODUCT_TYPE="cas" ; fi
102 export PRODUCT="CAS-5.2.4a"
103 export PRODUCT_DIR=${INSTALL_ROOT}/${PRODUCT}
104 export PRODUCT_WORK=${INSTALL_WORK}/${PRODUCT}
105 source ./common.sh
106 $PROCEDURE