Salome HOME
Update configuration files till Salome V3.2.4
[tools/install.git] / config_files / sip-4.2.1.sh
index f315d73793334b2fb6fd7def8741bb2f0c86cbf0..585551bcbd5c8e02fc750660d7ac110802200575 100755 (executable)
@@ -1,4 +1,16 @@
-#!/bin/sh
+#!/bin/bash -noprofile
+
+####################################################################################
+#  File      : sip-4.2.1.sh
+#  Created   : Thu Dec 18 12:01:00 2002
+#  Author    : Vadim SANDLER, Open CASCADE SAS (vadim.sandler@opencascade.com)
+#  Project   : SALOME
+#  Module    : Installation Wizard
+#  Copyright : 2002-2006 CEA
+#
+#  This script is the part of the SALOME installation procedure.
+#
+####################################################################################
 
 check_version()
 {
@@ -35,7 +47,11 @@ try_native(){
 sipdir="`find_in_path sip ${PATH}:/usr/bin`"
 if [ -n "${sipdir}" ] ; then
     python_version="`python -c 'import sys; print sys.version[:3]'`"
+if test `uname -m` = "x86_64" ; then
+    sippython="`find_in_path sip.so ${PYTHONPATH}:/usr/lib64/python${python_version}/site-packages`"
+else
     sippython="`find_in_path sip.so ${PYTHONPATH}:/usr/lib/python${python_version}/site-packages`"
+fi
     if [ -n "${sippython}" ]; then
        ver=`${sipdir}/sip -V | awk '{print $1}'`
        maj_ver=`echo $ver | awk -F. '{if(NF>0) print $1; else print 0}' | sed -e 's/^\([0-9]*\).*$/\1/'`
@@ -78,10 +94,25 @@ source ${INSTALL_WORK}/$SHRC
 makedir ${PRODUCT_DIR}
 
 check_jb tar xfz ${SOURCE_DIR}/sip-4.2.1.tar.gz -C ${INSTALL_WORK}
+
+# apply patch for 64-bit platforms
+if test `uname -m` = "x86_64" ; then
+    if [ -f patches/sip-4.2.1-lib64.patch ] ; then
+       cp patches/sip-4.2.1-lib64.patch ${PRODUCT_WORK}
+       ( cd ${PRODUCT_WORK} ; patch -p1 < sip-4.2.1-lib64.patch )
+    fi
+fi
+
 cd ${PRODUCT_WORK}
 
+if test `uname -m` = "x86_64" ; then
+    SIP_CONFIGURE_OPTIONS="-b ${PRODUCT_DIR} -d ${PRODUCT_DIR} -e ${PRODUCT_DIR} -v ${PRODUCT_DIR} -l qt-mt -p linux-g++-64"
+else
+    SIP_CONFIGURE_OPTIONS="-b ${PRODUCT_DIR} -d ${PRODUCT_DIR} -e ${PRODUCT_DIR} -v ${PRODUCT_DIR} -l qt-mt"
+fi
+
 check_job ${PRODUCT_DIR}/CONFIGURE.LOG \
-    python configure.py -b ${PRODUCT_DIR} -d ${PRODUCT_DIR} -e ${PRODUCT_DIR} -v ${PRODUCT_DIR} -l qt-mt 
+    python configure.py $SIP_CONFIGURE_OPTIONS
 GCC=`which gcc`
 cat >> ${PRODUCT_DIR}/MAKE.LOG <<EOF
 used gcc=$GCC
@@ -102,22 +133,28 @@ source ${INSTALL_WORK}/$SHRC
 check_jb tar xfz ${SOURCE_DIR}/sip-4.2.1.tar.gz -C ${INSTALL_ROOT}
 
 # modify sipconfig.py file
-cd ${PRODUCT_DIR}
-python_version=`python -V 2>&1 | awk '{print $2}' | awk -F. '{printf("0x%02d%02d%02d",$1,$2,$3)}'`
-sed -e "s%\('default_sip_dir':[[:space:]]*\).*%\1'${PRODUCT_DIR}',%g" sipconfig.py > sipconfig.py.1
-sed -e "s%\('sip_bin':[[:space:]]*\).*%\1'${PRODUCT_DIR}/sip',%g" sipconfig.py.1 > sipconfig.py
-sed -e "s%\('sip_inc_dir':[[:space:]]*\).*%\1'${PRODUCT_DIR}',%g" sipconfig.py > sipconfig.py.1
-sed -e "s%\('sip_mod_dir':[[:space:]]*\).*%\1'${PRODUCT_DIR}',%g" sipconfig.py.1 > sipconfig.py
-sed -e "s%\('qt_dir':[[:space:]]*\).*%\1'${QTDIR}',%g" sipconfig.py > sipconfig.py.1
-sed -e "s%\('qt_inc_dir':[[:space:]]*\).*%\1'${QTDIR}/include',%g" sipconfig.py.1 > sipconfig.py
-sed -e "s%\('qt_lib_dir':[[:space:]]*\).*%\1'${QTDIR}/lib',%g" sipconfig.py > sipconfig.py.1
-sed -e "s%\('INCDIR_QT':[[:space:]]*\).*%\1'${QTDIR}/include',%g" sipconfig.py.1 > sipconfig.py
-sed -e "s%\('LIBDIR_QT':[[:space:]]*\).*%\1'${QTDIR}/lib',%g" sipconfig.py > sipconfig.py.1
-sed -e "s%\('MOC':[[:space:]]*\).*%\1'${QTDIR}/bin/moc',%g" sipconfig.py.1 > sipconfig.py
-sed -e "s%\('py_inc_dir':[[:space:]]*\).*%\1'${PYTHONHOME}/include/python${PYTHON_VERSION}',%g" sipconfig.py > sipconfig.py.1
-sed -e "s%\('py_lib_dir':[[:space:]]*\).*%\1'${PYTHONHOME}/lib/python${PYTHON_VERSION}/config',%g" sipconfig.py.1 > sipconfig.py
-sed -e "s%\('py_version':[[:space:]]*\).*%\1${python_version},%g" sipconfig.py > sipconfig.py.1
-mv sipconfig.py.1 sipconfig.py
+if [ -n "${PYTHONHOME}" ] && [ -n "${QTDIR}" ] ; then
+    cd ${PRODUCT_DIR}
+    python_version=`python -V 2>&1 | awk '{print $2}' | awk -F. '{printf("0x%02d%02d%02d",$1,$2,$3)}'`
+    qt_version=`grep -e "^#define[[:space:]]\+QT_VERSION[[:space:]]\+" ${QTDIR}/include/qglobal.h | sed -e 's%^#define[[:space:]\+QT_VERSION[[:space:]]\+\(.*\)$%\1%g'`
+    sed -e "s%\('default_bin_dir':[[:space:]]*\).*%\1'${PYTHONHOME}/bin',%g" sipconfig.py > sipconfig.py.1
+    sed -e "s%\('default_mod_dir':[[:space:]]*\).*%\1'${PYTHONHOME}/lib/python${PYTHON_VERSION}/site-packages',%g" sipconfig.py.1 > sipconfig.py
+    sed -e "s%\('default_sip_dir':[[:space:]]*\).*%\1'${PRODUCT_DIR}',%g" sipconfig.py > sipconfig.py.1
+    sed -e "s%\('sip_bin':[[:space:]]*\).*%\1'${PRODUCT_DIR}/sip',%g"     sipconfig.py.1 > sipconfig.py
+    sed -e "s%\('sip_inc_dir':[[:space:]]*\).*%\1'${PRODUCT_DIR}',%g"     sipconfig.py > sipconfig.py.1
+    sed -e "s%\('sip_mod_dir':[[:space:]]*\).*%\1'${PRODUCT_DIR}',%g"     sipconfig.py.1 > sipconfig.py
+    sed -e "s%\('qt_dir':[[:space:]]*\).*%\1'${QTDIR}',%g"                sipconfig.py > sipconfig.py.1
+    sed -e "s%\('qt_version':[[:space:]]*\).*%\1${qt_version},%g"         sipconfig.py.1 > sipconfig.py
+    sed -e "s%\('qt_inc_dir':[[:space:]]*\).*%\1'${QTDIR}/include',%g"    sipconfig.py > sipconfig.py.1
+    sed -e "s%\('qt_lib_dir':[[:space:]]*\).*%\1'${QTDIR}/lib',%g"        sipconfig.py.1 > sipconfig.py
+    sed -e "s%\('INCDIR_QT':[[:space:]]*\).*%\1'${QTDIR}/include',%g"     sipconfig.py > sipconfig.py.1
+    sed -e "s%\('LIBDIR_QT':[[:space:]]*\).*%\1'${QTDIR}/lib',%g"         sipconfig.py.1 > sipconfig.py
+    sed -e "s%\('MOC':[[:space:]]*\).*%\1'${QTDIR}/bin/moc',%g"           sipconfig.py > sipconfig.py.1
+    sed -e "s%\('py_inc_dir':[[:space:]]*\).*%\1'${PYTHONHOME}/include/python${PYTHON_VERSION}',%g"    sipconfig.py.1 > sipconfig.py
+    sed -e "s%\('py_lib_dir':[[:space:]]*\).*%\1'${PYTHONHOME}/lib/python${PYTHON_VERSION}/config',%g" sipconfig.py > sipconfig.py.1
+    sed -e "s%\('py_version':[[:space:]]*\).*%\1${python_version},%g"     sipconfig.py.1 > sipconfig.py
+    rm sipconfig.py.1
+fi
 
 print_env
 }