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