Salome HOME
Update DISTENE tools: BLSurf 3.1, Hexotic 1.0
[tools/install.git] / config_files / SWIG-1.3.40.sh
1 #!/bin/bash -noprofile
2
3 ####################################################################################
4 #  File      : SWIG-1.3.40.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 SWIG_VERSION=1.3.40
16
17 check_version(){
18 if [ -n "`which swig 2>/dev/null`" ]; then
19     ver=`swig -version 2>&1 | grep -i version | awk '{ print $3 }' | sed -e 's/^\([0-9.]*\)\(.*\)/\1/'`
20     if [ "$ver" == "${SWIG_VERSION}" ] ;  then 
21         return 0;
22     fi
23 fi
24 return 1;
25 }
26
27 print_env_bin()
28 {
29 cat > ${INSTALL_WORK}/env_${PRODUCT_TYPE}.sh <<EOF 
30 #$DELIM ${PRODUCT_TYPE} $DELIM 
31 export SWIG_ROOT=\${INST_ROOT}/${SINGLE_DIR:-${PRODUCT}}
32 export PATH=\${SWIG_ROOT}/bin:\${PATH}
33 export SWIG_LIB=\${SWIG_ROOT}/share/swig/${SWIG_VERSION}
34 ##
35 EOF
36 (test -w ${PRODUCT_DIR} && cp ${INSTALL_WORK}/env_${PRODUCT_TYPE}.sh ${PRODUCT_DIR})
37 make_env ${INST_ROOT} ${INSTALL_WORK} "${PRODUCT_SEQUENCE}" "${INSTALL_PRODUCTS}"
38 }
39
40 print_env_src()
41 {
42 cat > ${INSTALL_WORK}/env_${PRODUCT_TYPE}_src.sh <<EOF
43 #$DELIM ${PRODUCT_TYPE}_src $DELIM
44 # nothing to do
45 ##
46 EOF
47 (test -w ${PRODUCT_SRC_DIR} && cp ${INSTALL_WORK}/env_${PRODUCT_TYPE}_src.sh ${PRODUCT_SRC_DIR})
48 make_env ${INST_ROOT} ${INSTALL_WORK} "${PRODUCT_SEQUENCE}" "${INSTALL_PRODUCTS}"
49 }
50
51 try_preinstalled(){
52 try_existing ${PRODUCT_DIR} ${INST_ROOT} ${INSTALL_WORK} "${PRODUCT_SEQUENCE}" "${INSTALL_PRODUCTS}" ${PRODUCT_TYPE}
53 try_existing ${PRODUCT_SRC_DIR} ${INST_ROOT} ${INSTALL_WORK} "${PRODUCT_SEQUENCE}" "${INSTALL_PRODUCTS}" ${PRODUCT_TYPE}_src
54 return $?
55 }
56
57 install_source()
58 {
59 make_env ${INST_ROOT} ${INSTALL_WORK} "${PRODUCT_SEQUENCE}" "${INSTALL_PRODUCTS}" ${PRODUCT_TYPE}_src
60 source ${INSTALL_WORK}/$SHRC
61
62 check_jb tar xfz ${SRC_DIR}/${PRODUCT}.tar.gz -C ${INST_ROOT}
63
64 # to generate environment scripts
65 try_preinstalled
66 }
67
68 install_source_and_build()
69 {
70 # install sources
71 install_source
72
73 # build sources
74 if test `uname -m` = "x86_64" ; then
75 export CFLAGS=-m64 
76 export CXXFLAGS=-m64
77 fi
78
79 cd ${PRODUCT_SRC_DIR}
80 test -z ${SINGLE_DIR} && makedir ${PRODUCT_DIR} || mkdir -p ${PRODUCT_DIR}
81
82 check_job ${PRODUCT_DIR}/CONFIGURE.LOG \
83   ./configure --prefix=${PRODUCT_DIR} 
84 GCC=`which gcc`
85 cat >> ${PRODUCT_DIR}/MAKE.LOG <<EOF
86 used gcc=$GCC
87 EOF
88 check_job ${PRODUCT_DIR}/MAKE.LOG make
89 check_job ${PRODUCT_DIR}/INSTALL.LOG make install 
90
91 cd ${PRODUCT_DIR};
92
93 # remove sources and temporary files after building
94 if [ ${REMOVE_SRC_TMP} == "TRUE" ] ; then
95     test -d ${PRODUCT_SRC_DIR} && rm -fr ${PRODUCT_SRC_DIR}
96 fi
97
98 # to generate environment scripts
99 try_preinstalled
100 }
101
102 install_binary()
103 {
104 make_env ${INST_ROOT} ${INSTALL_WORK} "${PRODUCT_SEQUENCE}" "${INSTALL_PRODUCTS}" ${PRODUCT_TYPE}
105 source ${INSTALL_WORK}/$SHRC
106
107 # create a product directory
108 test -z ${SINGLE_DIR} && makedir ${PRODUCT_DIR} || mkdir -p ${PRODUCT_DIR}
109
110 check_jb tar xfz ${SOURCE_DIR}/${PRODUCT}.tar.gz -C ${PRODUCT_DIR}
111
112 # to generate environment script for sources
113 try_preinstalled
114 }
115
116 export PROCEDURE=$1;
117 export INSTALL_WORK=$2;
118 export SOURCE_DIR=$3;
119 export INST_ROOT=$4;
120 export PRODUCT_SEQUENCE=$5;
121 export PRODUCT_TYPE=$6;
122 export INSTALL_PRODUCTS=$7;
123 SRC_DIR=$8;
124 shift
125 REMOVE_SRC_TMP=$8;
126 test $# == 10 && shift && SINGLE_DIR=$9
127 export PRODUCT="SWIG-${SWIG_VERSION}"
128 export PRODUCT_DIR=${INST_ROOT}/${SINGLE_DIR:-${PRODUCT}}
129 export PRODUCT_WORK=${INSTALL_WORK}/${PRODUCT}
130 export PRODUCT_SRC_DIR=${INST_ROOT}/${PRODUCT}_SRC
131 source ./common.sh
132 $PROCEDURE