Salome HOME
Implement features:
[tools/install.git] / config_files / msg2qm.sh
1 #!/bin/bash -noprofile
2
3 ####################################################################################
4 #  File      : msg2qm.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-2006 CEA
10 #
11 #  This script is the part of the SALOME installation procedure.
12 #
13 ####################################################################################
14
15 check_version()
16 {
17 # unfortunately there is no way to check the version of msg2qm tool
18 if [ -n "${MSG2QM_ROOT}" ]; then
19     return 0
20 fi
21 return 1
22 }
23
24 print_env()
25 {
26 cat > ${INSTALL_WORK}/env_${PRODUCT_TYPE}.sh <<EOF 
27 #$DELIM ${PRODUCT_TYPE} $DELIM
28 export MSG2QM_ROOT=\${INSTALL_ROOT}/${PRODUCT}
29 export PATH=\${MSG2QM_ROOT}:\${PATH}
30 ##
31 EOF
32 (test -w ${PRODUCT_DIR} && cp ${INSTALL_WORK}/env_${PRODUCT_TYPE}.sh ${PRODUCT_DIR})
33 make_env ${INSTALL_ROOT} ${INSTALL_WORK} "${PRODUCT_SEQUENCE}"
34 }
35
36 # looks for the native product and collects it's environment (used by make_env())
37 try_native(){
38 msg2qmroot="`find_in_path msg2qm ${PATH}`"
39 if [ -n "${msg2qmroot}" ] ; then
40     tmp="\${MSG2QM_ROOT} ${msg2qmroot} \${PATH} ${PATH}";  
41     path=`sort_path ${tmp}`
42     cat > ${INSTALL_WORK}/env_${PRODUCT_TYPE}.sh <<EOF 
43 #$DELIM ${PRODUCT_TYPE} $DELIM
44 export MSG2QM_ROOT=${msg2qmroot}
45 export PATH=${path}
46 ##
47 EOF
48     make_env ${INSTALL_ROOT} ${INSTALL_WORK} "${PRODUCT_SEQUENCE}"
49     return 0
50 fi
51 return 1
52 }
53
54 try_preinstalled(){
55 try_existing ${PRODUCT_DIR} ${INSTALL_ROOT} ${INSTALL_WORK} "${PRODUCT_SEQUENCE}" ${PRODUCT_TYPE}
56 return $?
57 }
58
59 install_source()
60 {
61 make_env ${INSTALL_ROOT} ${INSTALL_WORK} "${PRODUCT_SEQUENCE}" ${PRODUCT_TYPE}
62 source ${INSTALL_WORK}/$SHRC
63
64 check_jb tar xfz ${SOURCE_DIR}/msg2qm.tar.gz -C ${INSTALL_WORK}
65 cd ${PRODUCT_WORK}
66 makedir ${PRODUCT_DIR}
67
68 qmake msg2qm.pro -o Makefile
69
70 GCC=`which gcc`
71 cat >> ${PRODUCT_DIR}/MAKE.LOG <<EOF
72 used gcc=$GCC
73 EOF
74
75 check_job ${PRODUCT_DIR}/MAKE.LOG make 
76 cp -f msg2qm ${PRODUCT_DIR}
77
78 #du -sk ${PRODUCT_WORK} > ${PRODUCT_DIR}/size.log
79 cd ${PRODUCT_DIR}; rm -rf ${PRODUCT_WORK}
80
81 print_env
82 }
83
84 install_binary()
85 {
86 make_env ${INSTALL_ROOT} ${INSTALL_WORK} "${PRODUCT_SEQUENCE}" ${PRODUCT_TYPE}
87 source ${INSTALL_WORK}/$SHRC
88
89 check_jb tar xfz ${SOURCE_DIR}/msg2qm.tar.gz -C ${INSTALL_ROOT}
90
91 print_env
92 }
93
94 export PROCEDURE=$1;
95 export INSTALL_WORK=$2;
96 export SOURCE_DIR=$3;
97 export INSTALL_ROOT=$4;
98 export PRODUCT_SEQUENCE=$5;
99 if [ $# == 6 ] ; then export PRODUCT_TYPE=$6 ; else export PRODUCT_TYPE="msg2qm" ; fi
100 export PRODUCT="msg2qm"
101 export PRODUCT_DIR=${INSTALL_ROOT}/${PRODUCT}
102 export PRODUCT_WORK=${INSTALL_WORK}/${PRODUCT}
103 source ./common.sh
104 $PROCEDURE