Salome HOME
Process graphviz, tcltk and Python dependencies in *.la files of Graphviz.
[tools/install.git] / config_files / sip-4.7.3.sh
index b66465228c7e3d3833817467f1c9cf7c9138eefc..5f7ea1e869071d8cd82f313b6da89461d8baacaf 100755 (executable)
@@ -15,7 +15,7 @@
 check_version()
 {
 if [ -n "${SIPDIR}" ]; then
-    ver=`${SIPDIR}/sip -V | awk '{print $1}'`
+    ver=`${SIPDIR}/bin/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/'`
     min_ver=`echo $ver | awk -F. '{if(NF>1) print $2; else print 0}' | sed -e 's/^\([0-9]*\).*$/\1/'`
     rel_ver=`echo $ver | awk -F. '{if(NF>2) print $3; else print 0}' | sed -e 's/^\([0-9]*\).*$/\1/'`
@@ -29,12 +29,17 @@ return 1
 
 print_env_bin()
 {
+if test `uname -m` = "x86_64" ; then
+LIB_PREFIX=64
+else
+LIB_PREFIX=""
+fi
 cat > ${INSTALL_WORK}/env_${PRODUCT_TYPE}.sh <<EOF 
 #$DELIM ${PRODUCT_TYPE} $DELIM
-export SIPDIR=\${INSTALL_ROOT}/${PRODUCT}
-export PATH=\${SIPDIR}:\${PATH}
-export PYTHONPATH=\${SIPDIR}:\${PYTHONPATH}
-export LD_LIBRARY_PATH=\${SIPDIR}:\${LD_LIBRARY_PATH}
+export SIPDIR=\${INSTALL_ROOT}/${SINGLE_DIR:-${PRODUCT}}
+export PATH=\${SIPDIR}/bin:\${PATH}
+export PYTHONPATH=\${SIPDIR}/lib${LIB_PREFIX}/python\${PYTHON_VERSION}/site-packages:\${PYTHONPATH}
+export LD_LIBRARY_PATH=\${SIPDIR}/lib${LIB_PREFIX}/python\${PYTHON_VERSION}/site-packages:\${LD_LIBRARY_PATH}
 ##
 EOF
 (test -w ${PRODUCT_DIR} && cp ${INSTALL_WORK}/env_${PRODUCT_TYPE}.sh ${PRODUCT_DIR})
@@ -48,13 +53,13 @@ cat > ${INSTALL_WORK}/env_${PRODUCT_TYPE}_src.sh <<EOF
 # nothing to do
 ##
 EOF
-(test -w ${PRODUCT_DIR}_SRC && cp ${INSTALL_WORK}/env_${PRODUCT_TYPE}_src.sh ${PRODUCT_DIR}_SRC)
+(test -w ${PRODUCT_SRC_DIR} && cp ${INSTALL_WORK}/env_${PRODUCT_TYPE}_src.sh ${PRODUCT_SRC_DIR})
 make_env ${INSTALL_ROOT} ${INSTALL_WORK} "${PRODUCT_SEQUENCE}" "${INSTALL_PRODUCTS}"
 }
 
 try_preinstalled(){
 try_existing ${PRODUCT_DIR} ${INSTALL_ROOT} ${INSTALL_WORK} "${PRODUCT_SEQUENCE}" "${INSTALL_PRODUCTS}" ${PRODUCT_TYPE}
-try_existing ${PRODUCT_DIR}_SRC ${INSTALL_ROOT} ${INSTALL_WORK} "${PRODUCT_SEQUENCE}" "${INSTALL_PRODUCTS}" ${PRODUCT_TYPE}_src
+try_existing ${PRODUCT_SRC_DIR} ${INSTALL_ROOT} ${INSTALL_WORK} "${PRODUCT_SEQUENCE}" "${INSTALL_PRODUCTS}" ${PRODUCT_TYPE}_src
 return $?
 }
 
@@ -75,13 +80,13 @@ install_source_and_build()
 install_source
 
 # build sources
-makedir ${PRODUCT_DIR}
-cd ${PRODUCT_DIR}_SRC
+test -z ${SINGLE_DIR} && makedir ${PRODUCT_DIR} || mkdir -p ${PRODUCT_DIR}
+cd ${PRODUCT_SRC_DIR}
 
 if test `uname -m` = "x86_64" ; then
-    SIP_CONFIGURE_OPTIONS="-b ${PRODUCT_DIR} -d ${PRODUCT_DIR} -e ${PRODUCT_DIR} -v ${PRODUCT_DIR} -p linux-g++-64"
+    SIP_CONFIGURE_OPTIONS="-b ${PRODUCT_DIR}/bin -d ${PRODUCT_DIR}/lib64/python${PYTHON_VERSION}/site-packages -e ${PRODUCT_DIR}/include/python${PYTHON_VERSION} -v ${PRODUCT_DIR}/sip -p linux-g++-64"
 else
-    SIP_CONFIGURE_OPTIONS="-b ${PRODUCT_DIR} -d ${PRODUCT_DIR} -e ${PRODUCT_DIR} -v ${PRODUCT_DIR}"
+    SIP_CONFIGURE_OPTIONS="-b ${PRODUCT_DIR}/bin -d ${PRODUCT_DIR}/lib/python${PYTHON_VERSION}/site-packages -e ${PRODUCT_DIR}/include/python${PYTHON_VERSION} -v ${PRODUCT_DIR}/sip"
 fi
 
 check_job ${PRODUCT_DIR}/CONFIGURE.LOG \
@@ -93,12 +98,12 @@ EOF
 check_job ${PRODUCT_DIR}/MAKE.LOG make
 check_job ${PRODUCT_DIR}/INSTALL.LOG make install
 
-#du -sk ${PRODUCT_DIR}_SRC > ${PRODUCT_DIR}/size.log
+#du -sk ${PRODUCT_SRC_DIR} > ${PRODUCT_DIR}/size.log
 cd ${PRODUCT_DIR};
 
 # remove sources and temporary files after building
 if [ ${REMOVE_SRC_TMP} == "TRUE" ] ; then
-    test -d ${PRODUCT_DIR}_SRC && rm -fr ${PRODUCT_DIR}_SRC
+    test -d ${PRODUCT_SRC_DIR} && rm -fr ${PRODUCT_SRC_DIR}
 fi
 
 # to generate environment scripts
@@ -110,19 +115,27 @@ install_binary()
 make_env ${INSTALL_ROOT} ${INSTALL_WORK} "${PRODUCT_SEQUENCE}" "${INSTALL_PRODUCTS}" ${PRODUCT_TYPE}
 source ${INSTALL_WORK}/$SHRC
 
-check_jb tar xfz ${SOURCE_DIR}/${PRODUCT}.tar.gz -C ${INSTALL_ROOT}
+# create a product directory
+test -z ${SINGLE_DIR} && makedir ${PRODUCT_DIR} || mkdir -p ${PRODUCT_DIR}
+
+check_jb tar xfz ${SOURCE_DIR}/${PRODUCT}.tar.gz -C ${PRODUCT_DIR}
 
 # modify sipconfig.py file
 if [ -n "${PYTHONHOME}" ] && [ -n "${QTDIR}" ] ; then
-    cd ${PRODUCT_DIR}
+    if test `uname -m` = "x86_64" ; then
+       LIB_PREFIX=64
+    else
+       LIB_PREFIX=""
+    fi
+    cd ${PRODUCT_DIR}/lib${LIB_PREFIX}/python${PYTHON_VERSION}/site-packages
     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%\('default_sip_dir':[[:space:]]*\).*%\1'${PRODUCT_DIR}/sip',%g" sipconfig.py > sipconfig.py.1
+    sed -e "s%\('sip_bin':[[:space:]]*\).*%\1'${PRODUCT_DIR}/bin/sip',%g"                                                    sipconfig.py.1 > sipconfig.py
+    sed -e "s%\('sip_inc_dir':[[:space:]]*\).*%\1'${PRODUCT_DIR}/include/python${PYTHON_VERSION}',%g"                        sipconfig.py > sipconfig.py.1
+    sed -e "s%\('sip_mod_dir':[[:space:]]*\).*%\1'${PRODUCT_DIR}/lib${LIB_PREFIX}/python${PYTHON_VERSION}/site-packages',%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
@@ -149,8 +162,10 @@ export PRODUCT_TYPE=$6;
 export INSTALL_PRODUCTS=$7;
 shift
 REMOVE_SRC_TMP=$8;
+test $# == 10 && shift && SINGLE_DIR=$9
 export PRODUCT="sip-4.7.3"
-export PRODUCT_DIR=${INSTALL_ROOT}/${PRODUCT}
+export PRODUCT_DIR=${INSTALL_ROOT}/${SINGLE_DIR:-${PRODUCT}}
 export PRODUCT_WORK=${INSTALL_WORK}/${PRODUCT}
+export PRODUCT_SRC_DIR=${INSTALL_ROOT}/${PRODUCT}_SRC
 source ./common.sh
 $PROCEDURE