Salome HOME
b7395d0f98831d5f78f1b1e1207d2e5f442dfc10
[tools/install.git] / config_files / CALCULATOR_BIN.sh
1 #!/bin/bash -noprofile
2
3 ####################################################################################
4 #  File      : CALCULATOR_BIN.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-2007 CEA
10 #
11 #  This script is the part of the SALOME installation procedure.
12 #
13 ####################################################################################
14
15 VERSION="3.2.5"
16
17 check_version(){
18 if [ -n "${CALCULATOR_ROOT_DIR}" ]; then
19     check_lib_version VERSION ${CALCULATOR_ROOT_DIR}/bin/salome
20     if [ "$?" -eq "0" ]; then
21         ver=`cat ${CALCULATOR_ROOT_DIR}/bin/salome/VERSION | awk -F: '{print $2}' | tr -d '[:space:]' ` 
22         if [ "$ver" = "${VERSION}" ]; then
23             return 0
24         fi
25     fi
26 fi
27 return 1
28 }
29
30 print_env(){
31
32 if test `uname -m` = "x86_64" ; then
33 export LIB_PREFIX=64
34 else
35 export LIB_PREFIX=""
36 fi
37
38 cat > ${INSTALL_WORK}/env_${PRODUCT_TYPE}.sh <<EOF 
39 #$DELIM ${PRODUCT_TYPE} $DELIM
40 export CALCULATOR_ROOT_DIR=\${INSTALL_ROOT}/${PRODUCT}
41 if [ -n "\${ENV_FOR_LAUNCH}" ] ; then
42   if [ "\${ENV_FOR_LAUNCH}" == "1" ] ; then
43     export PATH=\${CALCULATOR_ROOT_DIR}/bin/salome:\${PATH}
44     export LD_LIBRARY_PATH=\${CALCULATOR_ROOT_DIR}/lib${LIB_PREFIX}/salome:\${LD_LIBRARY_PATH}
45     export PYTHONPATH=\${CALCULATOR_ROOT_DIR}/bin/salome:\${CALCULATOR_ROOT_DIR}/lib${LIB_PREFIX}/salome:\${CALCULATOR_ROOT_DIR}/lib${LIB_PREFIX}/python\${PYTHON_VERSION}/site-packages/salome:\${PYTHONPATH}
46   fi
47 fi
48 ##
49 EOF
50 (test -w ${PRODUCT_DIR} && cp ${INSTALL_WORK}/env_${PRODUCT_TYPE}.sh ${PRODUCT_DIR})
51 make_env ${INSTALL_ROOT} ${INSTALL_WORK} "${PRODUCT_SEQUENCE}"
52 }
53
54 # looks for the native product and collects it's environment (used by make_env())
55 try_native(){
56 check_version
57 if test `uname -m` = "x86_64" ; then
58 export LIB_PREFIX=64
59 else
60 export LIB_PREFIX=""
61 fi
62 if [ $? -eq 0 ] ; then
63     cat > ${INSTALL_WORK}/env_${PRODUCT_TYPE}.sh <<EOF 
64 #$DELIM ${PRODUCT_TYPE} $DELIM
65 export CALCULATOR_ROOT_DIR=\${INSTALL_ROOT}/${PRODUCT}
66 if [ -n "\${ENV_FOR_LAUNCH}" ] ; then
67   if [ "\${ENV_FOR_LAUNCH}" == "1" ] ; then
68     export PATH=\${CALCULATOR_ROOT_DIR}/bin/salome:\${PATH}
69     export LD_LIBRARY_PATH=\${CALCULATOR_ROOT_DIR}/lib${LIB_PREFIX}/salome:\${LD_LIBRARY_PATH}
70     export PYTHONPATH=\${CALCULATOR_ROOT_DIR}/bin/salome:\${CALCULATOR_ROOT_DIR}/lib${LIB_PREFIX}/salome:\${CALCULATOR_ROOT_DIR}/lib${LIB_PREFIX}/python\${PYTHON_VERSION}/site-packages/salome:\${PYTHONPATH}
71   fi
72 fi
73 ##
74 EOF
75     make_env ${INSTALL_ROOT} ${INSTALL_WORK} "${PRODUCT_SEQUENCE}"
76     return 0
77 fi
78 return 1;
79 }
80
81 try_preinstalled(){
82 try_existing ${PRODUCT_DIR} ${INSTALL_ROOT} ${INSTALL_WORK} "${PRODUCT_SEQUENCE}" ${PRODUCT_TYPE}
83 return $?
84 }
85
86 install_source()
87 {
88 return 1
89 }
90
91 install_binary()
92 {
93 make_env ${INSTALL_ROOT} ${INSTALL_WORK} "${PRODUCT_SEQUENCE}" ${PRODUCT_TYPE}
94 source ${INSTALL_WORK}/$SHRC
95
96 check_jb tar xfz ${SOURCE_DIR}/CALCULATORbinariesV${VERSION}.tar.gz -C ${INSTALL_ROOT}
97
98 # modify all *.la files
99 export CALCULATOR_ROOT_DIR=${PRODUCT_DIR}
100 modif_la_files ${PRODUCT_DIR}
101
102 cd ${PRODUCT_DIR}/bin/salome
103 sed -e "s%export KERNEL_ROOT_DIR=.*%export KERNEL_ROOT_DIR=${KERNEL_ROOT_DIR}%g"             runAppli > _runAppli
104 sed -e "s%export CALCULATOR_ROOT_DIR=.*%export CALCULATOR_ROOT_DIR=${CALCULATOR_ROOT_DIR}%g" _runAppli > runAppli
105 rm -f _runAppli
106 chmod a+x runAppli
107
108 print_env
109 }
110
111 export PROCEDURE=$1;
112 export INSTALL_WORK=$2;
113 export SOURCE_DIR=$3;
114 export INSTALL_ROOT=$4;
115 export PRODUCT_SEQUENCE=$5;
116 if [ $# == 6 ] ; then export PRODUCT_TYPE=$6 ; else export PRODUCT_TYPE="CALCULATORbin" ; fi
117 export PRODUCT="CALCULATOR_${VERSION}"
118 export PRODUCT_DIR=${INSTALL_ROOT}/${PRODUCT}
119 export PRODUCT_WORK=${INSTALL_WORK}/${PRODUCT}
120 source ./common.sh
121 $PROCEDURE