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/'`
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})
# 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 $?
}
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 \
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
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
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