]> SALOME platform Git repositories - tools/install.git/blob - config_files/SWIG-1.3.24.sh
Salome HOME
9ae3ab932a4a12da32a02c83b77f9b6d5f4114ed
[tools/install.git] / config_files / SWIG-1.3.24.sh
1 #!/bin/sh
2
3 check_version(){
4 if [ -n "`which swig 2>/dev/null`" ]; then
5     ver=`swig -version 2>&1 | grep -i version | awk '{ print $3 }' | sed -e 's/^\([0-9.]*\)\(.*\)/\1/'`
6     if [ "$ver" == "1.3.24" ] ;  then 
7         return 0;
8     fi
9 fi
10 return 1;
11 }
12
13 print_env()
14 {
15 cat > ${INSTALL_WORK}/env_${PRODUCT_TYPE}.sh <<EOF 
16 #$DELIM ${PRODUCT_TYPE} $DELIM 
17 export SWIG_ROOT=\${INSTALL_ROOT}/${PRODUCT}
18 export PATH=\${SWIG_ROOT}/bin:\${PATH}
19 ##
20 EOF
21 (test -w ${PRODUCT_DIR} && cp ${INSTALL_WORK}/env_${PRODUCT_TYPE}.sh ${PRODUCT_DIR})
22 make_env ${INSTALL_ROOT} ${INSTALL_WORK} "${PRODUCT_SEQUENCE}"
23 }
24
25 # looks for the native product and collects it's environment (used by make_env())
26 try_native(){
27 swig_root="`find_in_path swig ${PATH}`"
28 if [ -z "${swig_root}" ] ; then
29     swig_root="`find_in_path swig /usr/bin`"
30 fi
31 if [ -n "${swig_root}" ] ; then
32     swig_root=`cd ${swig_root}/..; pwd`
33     ver=`swig -version 2>&1 | grep -i version | awk '{ print $3 }' | sed -e 's/^\([0-9.]*\)\(.*\)/\1/'`
34     if [ "$ver" == "1.3.24" ] ;  then 
35         tmp="\${SWIG_ROOT}/bin ${swig_root}/bin \${PATH} ${PATH}";
36         path=`sort_path ${tmp}`
37         cat > ${INSTALL_WORK}/env_${PRODUCT_TYPE}.sh <<EOF 
38 #$DELIM ${PRODUCT_TYPE} $DELIM 
39 export SWIG_ROOT=${swig_root}
40 export PATH=${path}
41 #
42 EOF
43         make_env ${INSTALL_ROOT} ${INSTALL_WORK} "${PRODUCT_SEQUENCE}"
44         return 0;
45     fi
46 fi
47 return 1
48 }
49
50 try_preinstalled(){
51 try_existing ${PRODUCT_DIR} ${INSTALL_ROOT} ${INSTALL_WORK} "${PRODUCT_SEQUENCE}" ${PRODUCT_TYPE}
52 return $?
53 }
54
55 install_source()
56 {
57 make_env ${INSTALL_ROOT} ${INSTALL_WORK} "${PRODUCT_SEQUENCE}" ${PRODUCT_TYPE}
58 source ${INSTALL_WORK}/$SHRC
59
60 if test `uname -m` = "x86_64" ; then
61 export CFLAGS=-m64 
62 export CXXFLAGS=-m64
63 fi
64
65 check_jb tar xfz ${SOURCE_DIR}/swig-1.3.24.tar.gz -C ${INSTALL_WORK}
66 cd ${PRODUCT_WORK}
67 makedir ${PRODUCT_DIR}
68
69 check_job ${PRODUCT_DIR}/CONFIGURE.LOG \
70   ./configure --prefix=${PRODUCT_DIR} 
71 GCC=`which gcc`
72 cat >> ${PRODUCT_DIR}/MAKE.LOG <<EOF
73 used gcc=$GCC
74 EOF
75 check_job ${PRODUCT_DIR}/MAKE.LOG make
76 check_job ${PRODUCT_DIR}/INSTALL.LOG make install 
77
78 #du -sk ${PRODUCT_WORK} > ${PRODUCT_DIR}/size.log
79 cd ${PRODUCT_DIR}; rm -fr ${PRODUCT_WORK}
80 print_env
81 }
82
83 install_binary()
84 {
85 echo "It impossible to install SWIG 1.3.24 from binaries, try to install it from sources."
86 return 1
87 }
88
89 export PROCEDURE=$1;
90 export INSTALL_WORK=$2;
91 export SOURCE_DIR=$3;
92 export INSTALL_ROOT=$4;
93 export PRODUCT_SEQUENCE=$5;
94 if [ $# == 6 ] ; then export PRODUCT_TYPE=$6 ; else export PRODUCT_TYPE="swig" ; fi
95 export PRODUCT="SWIG-1.3.24"
96 export PRODUCT_DIR=${INSTALL_ROOT}/${PRODUCT}
97 export PRODUCT_WORK=${INSTALL_WORK}/${PRODUCT}
98 source ./common.sh
99 $PROCEDURE