X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;ds=sidebyside;f=config_files%2FPyQt.sh;h=b48b3b8aa2fa35b90fac60a4993ee9f36d61a693;hb=f297b35e917a810cf0fd7bed6a0b08b8055c4ed7;hp=0f52d4b61db9693bb5bb87c97a08c1c2178f78d0;hpb=b5a3a5b81b36ead3a6f4929d3677e92b1b0a4449;p=tools%2Finstall.git diff --git a/config_files/PyQt.sh b/config_files/PyQt.sh index 0f52d4b..b48b3b8 100755 --- a/config_files/PyQt.sh +++ b/config_files/PyQt.sh @@ -6,7 +6,7 @@ # Author : Vadim SANDLER, Open CASCADE SAS (vadim.sandler@opencascade.com) # Project : SALOME # Module : Installation Wizard -# Copyright : 2002-2013 CEA +# Copyright : 2002-2014 CEA # # This script is the part of the SALOME installation procedure. # @@ -15,19 +15,19 @@ # # PyQt version # -PYQT_VERSION=4.9.6 -PYQT_XVERSION=`echo ${PYQT_VERSION} | awk -F. '{printf("%d",$1*10000+$2*100+$3)}'` +VERSION_PYQT=4.9.6 +PYQT_XVERSION=`echo ${VERSION_PYQT} | awk -F. '{printf("%d",$1*10000+$2*100+$3)}'` check_version() { -if [ -n "${PYQTDIR}" ] && [ -f ${PYQTDIR}/pyqtconfig.py ] ; then - ver=`cd ${PYQTDIR} && python -c "from pyqtconfig import Configuration; c=Configuration();print c.__getattr__('pyqt_version_str')" 2>/dev/null` - if [ -n "$ver" ] ; then - 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/'` - let ver=$maj_ver*10000+$min_ver*100+$rel_ver - if [ $ver -eq ${PYQT_XVERSION} ] ; then +if [ -n "${PYQT4_ROOT_DIR}" ] && [ -f ${PYQT4_ROOT_DIR}/pyqtconfig.py ] ; then + ver=`cd ${PYQT4_ROOT_DIR} && python -c "from pyqtconfig import Configuration; c=Configuration();print c.__getattr__('pyqt_version_str')" 2>/dev/null` + if [ -n "${ver}" ] ; then + 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/'` + let ver=${maj_ver}*10000+${min_ver}*100+${rel_ver} + if [ ${ver} -eq ${PYQT_XVERSION} ] ; then return 0 fi fi @@ -38,13 +38,12 @@ return 1 print_env_bin() { cat > ${INSTALL_WORK}/env_${PRODUCT_TYPE}.sh < ${INSTALL_WORK}/env_${PRODUCT_TYPE}_src.sh < ${INST_ROOT}/${PRODUCT_TYPE}.src.size +fi + # to generate environment scripts try_preinstalled } @@ -106,20 +109,30 @@ cd ${PRODUCT_SRC_DIR} # configure PYQT_CONFIGURE_OPTIONS="-b ${PRODUCT_DIR}/bin -d ${PRODUCT_DIR} -v ${PRODUCT_DIR}/sip -p ${PRODUCT_DIR}/plugins --confirm-license" - -check_job ${PRODUCT_DIR}/CONFIGURE.LOG python ./configure.py ${PYQT_CONFIGURE_OPTIONS} - -GCC=`which gcc` -cat >> ${PRODUCT_DIR}/MAKE.LOG <> ${PRODUCT_DIR}/CONFIGURE.LOG < ${INST_ROOT}/${PRODUCT_TYPE}.build.size + du -sk ${PRODUCT_DIR} > ${INST_ROOT}/${PRODUCT_TYPE}.bin.size +fi + # remove sources and temporary files after building -if [ ${REMOVE_SRC_TMP} == "TRUE" ] ; then +if [ ${REMOVE_SRC_TMP} = "TRUE" ] ; then test -d ${PRODUCT_SRC_DIR} && rm -fr ${PRODUCT_SRC_DIR} fi @@ -130,7 +143,7 @@ try_preinstalled install_binary() { make_env ${INST_ROOT} ${INSTALL_WORK} "${PRODUCT_SEQUENCE}" "${INSTALL_PRODUCTS}" ${PRODUCT_TYPE} -source ${INSTALL_WORK}/$SHRC +source ${INSTALL_WORK}/${SHRC} # create a product directory test -z ${SINGLE_DIR} && makedir ${PRODUCT_DIR} || mkdir -p ${PRODUCT_DIR} @@ -138,28 +151,21 @@ test -z ${SINGLE_DIR} && makedir ${PRODUCT_DIR} || mkdir -p ${PRODUCT_DIR} check_jb tar xfz ${SOURCE_DIR}/${PRODUCT}.tar.gz -C ${PRODUCT_DIR} PYQT_CONFIGURE_OPTIONS="-b ${PRODUCT_DIR}/bin -d ${PRODUCT_DIR} -v ${PRODUCT_DIR}/sip -p ${PRODUCT_DIR}/plugins --confirm-license" +if [ "${CXX}" != "" ] ; then + PYQT_CONFIGURE_OPTIONS="${PYQT_CONFIGURE_OPTIONS} CC=${CC} CXX=${CXX} LINK=${CXX} LINK_SHLIB=${CXX}" +fi # modify pyqtconfig.py file -if [ -n "${PYTHONROOT}" ] && [ -n "${QTDIR}" ] ; then - cd ${PRODUCT_DIR}/PyQt4 +if [ -n "${PYTHON_ROOT_DIR}" ] && [ -n "${QT4_ROOT_DIR}" ] ; then 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/Qt/qglobal.h | sed -e 's%^#define[[:space:]\+QT_VERSION[[:space:]]\+\(.*\)$%\1%g'` - sed -e "s%\('pyqt_bin_dir':[[:space:]]*\).*%\1'${PRODUCT_DIR}',%g" \ - -e "s%\('pyqt_mod_dir':[[:space:]]*\).*%\1'${PRODUCT_DIR}',%g" \ - -e "s%\('pyqt_sip_dir':[[:space:]]*\).*%\1'${PRODUCT_DIR}/sip',%g" \ - -e "s%\('qt_dir':[[:space:]]*\).*%\1'${QTDIR}',%g" \ - -e "s%\('qt_data_dir':[[:space:]]*\).*%\1'${QTDIR}',%g" \ - -e "s%\('qt_version':[[:space:]]*\).*%\1${qt_version},%g" \ - -e "s%\('qt_inc_dir':[[:space:]]*\).*%\1'${QTDIR}/include',%g" \ - -e "s%\('qt_lib_dir':[[:space:]]*\).*%\1'${QTDIR}/lib',%g" \ - -e "s%\('INCDIR_QT':[[:space:]]*\).*%\1'${QTDIR}/include',%g" \ - -e "s%\('LIBDIR_QT':[[:space:]]*\).*%\1'${QTDIR}/lib',%g" \ - -e "s%\('MOC':[[:space:]]*\).*%\1'${QTDIR}/bin/moc',%g" \ - -e "s%\('pyqt_config_args':[[:space:]]*\).*%\1'${PYQT_CONFIGURE_OPTIONS}',%g" \ - pyqtconfig.py > pyqtconfig.py.1 - mv -f pyqtconfig.py.1 pyqtconfig.py - cd ${PRODUCT_DIR}/bin - sed -i "s%exec.*pyuic.py%exec ${PYTHONROOT}/bin/python ${PRODUCT_DIR}/PyQt4/uic/pyuic.py%g" pyuic4 + qt_version=`grep -e "^#define[[:space:]]\+QT_VERSION[[:space:]]\+" ${QT4_ROOT_DIR}/include/Qt/qglobal.h | sed -e 's%^#define[[:space:]\+QT_VERSION[[:space:]]\+\(.*\)$%\1%g'` + sed -i "s%\('pyqt_bin_dir':[[:space:]]*\).*%\1'${PRODUCT_DIR}',%g;s%\('pyqt_mod_dir':[[:space:]]*\).*%\1'${PRODUCT_DIR}',%g" ${PRODUCT_DIR}/PyQt4/pyqtconfig.py + sed -i "s%\('pyqt_sip_dir':[[:space:]]*\).*%\1'${PRODUCT_DIR}/sip',%g;s%\('qt_dir':[[:space:]]*\).*%\1'${QT4_ROOT_DIR}',%g" ${PRODUCT_DIR}/PyQt4/pyqtconfig.py + sed -i "s%\('qt_data_dir':[[:space:]]*\).*%\1'${QT4_ROOT_DIR}',%g;s%\('qt_version':[[:space:]]*\).*%\1${qt_version},%g" ${PRODUCT_DIR}/PyQt4/pyqtconfig.py + sed -i "s%\('qt_inc_dir':[[:space:]]*\).*%\1'${QT4_ROOT_DIR}/include',%g;s%\('qt_lib_dir':[[:space:]]*\).*%\1'${QT4_ROOT_DIR}/lib',%g" ${PRODUCT_DIR}/PyQt4/pyqtconfig.py + sed -i "s%\('INCDIR_QT':[[:space:]]*\).*%\1'${QT4_ROOT_DIR}/include',%g;s%\('LIBDIR_QT':[[:space:]]*\).*%\1'${QT4_ROOT_DIR}/lib',%g" ${PRODUCT_DIR}/PyQt4/pyqtconfig.py + sed -i "s%\('MOC':[[:space:]]*\).*%\1'${QT4_ROOT_DIR}/bin/moc',%g;s%\('pyqt_config_args':[[:space:]]*\).*%\1'${PYQT_CONFIGURE_OPTIONS}',%g" ${PRODUCT_DIR}/PyQt4/pyqtconfig.py + sed -i "s%exec.*pyuic.py%exec ${PYTHON_ROOT_DIR}/bin/python ${PRODUCT_DIR}/PyQt4/uic/pyuic.py%g" ${PRODUCT_DIR}/bin/pyuic4 fi # to generate environment script for sources @@ -175,10 +181,10 @@ export PRODUCT_TYPE=$6; export INSTALL_PRODUCTS=$7; shift REMOVE_SRC_TMP=$8; -test $# == 10 && shift && SINGLE_DIR=$9 -export PRODUCT="PyQt-${PYQT_VERSION}" +test $# = 10 && shift && SINGLE_DIR=$9 +export PRODUCT="PyQt-${VERSION_PYQT}" export PRODUCT_DIR=${INST_ROOT}/${SINGLE_DIR:-${PRODUCT}} export PRODUCT_WORK=${INSTALL_WORK}/${PRODUCT} export PRODUCT_SRC_DIR=${INST_ROOT}/${PRODUCT}_SRC source ./common.sh -$PROCEDURE +${PROCEDURE}