Salome HOME
Update for Salome IW 5.X
[tools/install.git] / config_files / xdata-0.6.3.sh
1 #!/bin/bash -noprofile
2
3 ####################################################################################
4 #  File      : xdata-0.6.3.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-2008 CEA
10 #
11 #  This script is the part of the SALOME installation procedure.
12 #
13 ####################################################################################
14
15 check_version(){
16 # No way to check version!
17 return 0
18 }
19
20 print_env_bin()
21 {
22 if [ `uname -m` = "x86_64" ] && [ -d ${PRODUCT_DIR}/lib64 ] ; then 
23     PYTHON_LIB_PREFIX=64
24 elif [ -d ${PRODUCT_DIR}/lib ] ; then 
25     PYTHON_LIB_PREFIX=""
26 else 
27     PYTHON_LIB_PREFIX=64
28 fi
29 cat > ${INSTALL_WORK}/env_${PRODUCT_TYPE}.sh <<EOF 
30 #$DELIM ${PRODUCT_TYPE} $DELIM 
31 export XDATAROOT=\${INST_ROOT}/${SINGLE_DIR:-${PRODUCT}}
32 export PATH=\${XDATAROOT}/bin:\${PATH}
33 export PYTHON_VERSION=\`python -c "import sys; print sys.version[:3]"\`
34 export PYTHONPATH=\${XDATAROOT}/lib${PYTHON_LIB_PREFIX}/python\${PYTHON_VERSION}/site-packages/xdata:\${PYTHONPATH}
35 ##
36 EOF
37 (test -w ${PRODUCT_DIR} && cp ${INSTALL_WORK}/env_${PRODUCT_TYPE}.sh ${PRODUCT_DIR})
38 make_env ${INST_ROOT} ${INSTALL_WORK} "${PRODUCT_SEQUENCE}" "${INSTALL_PRODUCTS}"
39 }
40
41 print_env_src()
42 {
43 cat > ${INSTALL_WORK}/env_${PRODUCT_TYPE}_src.sh <<EOF
44 #$DELIM ${PRODUCT_TYPE}_src $DELIM
45 # nothing to do
46 ##
47 EOF
48 (test -w ${PRODUCT_SRC_DIR} && cp ${INSTALL_WORK}/env_${PRODUCT_TYPE}_src.sh ${PRODUCT_SRC_DIR})
49 make_env ${INST_ROOT} ${INSTALL_WORK} "${PRODUCT_SEQUENCE}" "${INSTALL_PRODUCTS}"
50 }
51
52 try_preinstalled(){
53 try_existing ${PRODUCT_DIR} ${INST_ROOT} ${INSTALL_WORK} "${PRODUCT_SEQUENCE}" "${INSTALL_PRODUCTS}" ${PRODUCT_TYPE}
54 try_existing ${PRODUCT_SRC_DIR} ${INST_ROOT} ${INSTALL_WORK} "${PRODUCT_SEQUENCE}" "${INSTALL_PRODUCTS}" ${PRODUCT_TYPE}_src
55 return $?
56 }
57
58 install_source()
59 {
60 make_env ${INST_ROOT} ${INSTALL_WORK} "${PRODUCT_SEQUENCE}" "${INSTALL_PRODUCTS}" ${PRODUCT_TYPE}_src
61 source ${INSTALL_WORK}/$SHRC
62
63 check_jb tar xfz ${SRC_DIR}/${PRODUCT}.tar.gz -C ${INST_ROOT}
64
65 # to generate environment scripts
66 try_preinstalled
67 }
68
69 install_source_and_build()
70 {
71 # install sources
72 install_source
73
74 # build sources
75
76 cd ${PRODUCT_SRC_DIR}
77 test -z ${SINGLE_DIR} && makedir ${PRODUCT_DIR} || mkdir -p ${PRODUCT_DIR}
78
79 check_job ${PRODUCT_DIR}/CONFIGURE.LOG \
80   ./configure --prefix=${PRODUCT_DIR} 
81 GCC=`which gcc`
82 cat >> ${PRODUCT_DIR}/MAKE.LOG <<EOF
83 used gcc=$GCC
84 EOF
85 check_job ${PRODUCT_DIR}/MAKE.LOG make
86 check_job ${PRODUCT_DIR}/INSTALL.LOG make install
87
88 cd ${PRODUCT_DIR};
89
90 # remove sources and temporary files after building
91 if [ ${REMOVE_SRC_TMP} == "TRUE" ] ; then
92     test -d ${PRODUCT_SRC_DIR} && rm -fr ${PRODUCT_SRC_DIR}
93 fi
94
95 # to generate environment scripts
96 try_preinstalled
97 }
98
99 install_binary()
100 {
101 make_env ${INST_ROOT} ${INSTALL_WORK} "${PRODUCT_SEQUENCE}" "${INSTALL_PRODUCTS}" ${PRODUCT_TYPE}
102 source ${INSTALL_WORK}/$SHRC
103
104 # create a module directory
105 test -z ${SINGLE_DIR} && makedir ${PRODUCT_DIR} || mkdir -p ${PRODUCT_DIR}
106
107 check_jb tar xfz ${SOURCE_DIR}/${PRODUCT}.tar.gz -C ${PRODUCT_DIR}
108
109 # to generate environment scripts
110 try_preinstalled
111 }
112
113 source ./common.sh
114
115 export PROCEDURE=$1;
116 export INSTALL_WORK=$2;
117 export SOURCE_DIR=$3;
118 export INST_ROOT=$4;
119 export PRODUCT_SEQUENCE=$5;
120 export PRODUCT_TYPE=$6;
121 export INSTALL_PRODUCTS=$7;
122 SRC_DIR=$8;
123 shift
124 REMOVE_SRC_TMP=$8;
125 shift
126 SINGLE_DIR=$9;
127 if [ -n "$SINGLE_DIR" ] ; then SINGLE_DIR=$SDIR_NAME; fi
128 export PRODUCT="xdata-0.6.3"
129 export PRODUCT_DIR=${INST_ROOT}/${SINGLE_DIR:-${PRODUCT}}
130 export PRODUCT_SRC_DIR=${INST_ROOT}/${PRODUCT}_SRC
131 $PROCEDURE