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