check_job ${PRODUCT_DIR}/SETUPPYTHON.LOG python setup.py install --prefix=${PRODUCT_DIR}
#du -sk ${PRODUCT_WORK} > ${PRODUCT_DIR}/size.log
-#du -sk ${INSTALL_WORK}/cmake-1.6.6 > ${PRODUCT_DIR}/size1.log
+#du -sk ${INSTALL_WORK}/cmake-1.6.6 >> ${PRODUCT_DIR}/size.log
rm -fr ${PRODUCT_WORK} ${INSTALL_WORK}/cmake-1.6.6
# set correct symbolic links - bug of python wrappings installation
check_job ${PRODUCT_DIR}/SETUPPYTHON.LOG python setup.py install --prefix=${PRODUCT_DIR}
#du -sk ${PRODUCT_WORK} > ${PRODUCT_DIR}/size.log
-#du -sk ${INSTALL_WORK}/cmake-1.6.6 > ${PRODUCT_DIR}/size1.log
+#du -sk ${INSTALL_WORK}/cmake-1.6.6 >> ${PRODUCT_DIR}/size.log
rm -fr ${PRODUCT_WORK} ${INSTALL_WORK}/cmake-1.6.6
# set correct symbolic links - bug of python wrappings installation
set verbose_level=2
set params=""
set b_params=""
-set modules=(KERNEL GEOM MED SMESH VISU SUPERV NETGENPLUGIN GHS3DPLUGIN COMPONENT PYCALCULATOR HELLO PYHELLO)
+set modules=(KERNEL GEOM MED SMESH VISU SUPERV NETGENPLUGIN GHS3DPLUGIN COMPONENT PYCALCULATOR CALCULATOR HELLO PYHELLO)
set optim=""
set is_install=0
set is_help=0
echo $arg1:$arg2
fi
return $to_tail
-}
\ No newline at end of file
+}
+
+where_tcl(){
+if test -z "${TCLHOME}"; then
+ TCLHOME=/usr
+fi
+tclcfg=`find ${TCLHOME}/lib -name "tclConfig.sh" 2> /dev/null`
+file=""
+maxver=0
+for f in $tclcfg; do
+ ver=`cat $f | grep -e "TCL_VERSION=.*" | sed -e "s%TCL_VERSION=[\'|\"]\(.*\)[\'|\"]%\1%g" | awk -F. '{x=0;for(i=1;i<=3;i++){x=x*100;if(i<=NF)x+=$i;}print x;}'`
+ if [ $maxver -lt $ver ]; then
+ maxver=$ver
+ file=$f
+ fi
+done
+if test -n "$file"; then
+ echo `dirname $file`
+ return 0
+else
+ echo ""
+ return 1
+fi
+}
+
+where_tk(){
+if test -z "${TCLHOME}"; then
+ TCLHOME=/usr
+fi
+tclcfg=`find ${TCLHOME}/lib -name "tkConfig.sh" 2> /dev/null`
+file=""
+maxver=0
+for f in $tclcfg; do
+ ver=`cat $f | grep -e "TK_VERSION=.*" | sed -e "s%TK_VERSION=[\'|\"]\(.*\)[\'|\"]%\1%g" | awk -F. '{x=0;for(i=1;i<=3;i++){x=x*100;if(i<=NF)x+=$i;}print x;}'`
+ if [ $maxver -lt $ver ]; then
+ maxver=$ver
+ file=$f
+ fi
+done
+if test -n "$file"; then
+ echo `dirname $file`
+ return 0
+else
+ echo ""
+ return 1
+fi
+}
install_source()
{
-make_env ${INSTALL_ROOT} ${INSTALL_WORK} "${PRODUCT_SEQUENCE}" env_${PRODUCT_TYPE}.sh
+make_env ${INSTALL_ROOT} ${INSTALL_WORK} "${PRODUCT_SEQUENCE}" ${PRODUCT_TYPE}
source ${INSTALL_WORK}/$SHRC
check_jb tar xfz ${SOURCE_DIR}/doxygen-1.3-rc2.tar.gz -C ${INSTALL_WORK}
# vsr: fix bug - configure fails on Red Hat 9 because of incorrect autodetect check for install tool
# so it is necessary to put it directly
f_install="--install "`which install`
-check_job ${PRODUCT_DIR}/CONFIGURE.LOG configure --with-doxywizard --prefix ${PRODUCT_DIR} $f_install
+check_job ${PRODUCT_DIR}/CONFIGURE.LOG ./configure --with-doxywizard --prefix ${PRODUCT_DIR} $f_install
GCC=`which gcc`
cat >> ${PRODUCT_DIR}/MAKE.LOG <<EOF
used gcc=$GCC
SALOME DOCUMENTATION ALSO CAN NOT BE BUILT!
EOF
check_job ${PRODUCT_DIR}/MAKEDOCS.LOG make docs
- rm -fr ${PRODUCT_WORK}
+# rm -fr ${PRODUCT_WORK}
# echo -e "Can't find \"epstopdf\" and \"latex\" or another executables on the computer."
# echo -e "doxygen documentation will not be built!"
# echo -e "SALOME DOCUMENTATION ALSO CAN NOT BE BUILT!"
# fi
fi
+#du -sk ${PRODUCT_WORK} > ${PRODUCT_DIR}/size.log
rm -fr ${PRODUCT_WORK}
print_env
}
install_binary()
{
-make_env ${INSTALL_ROOT} ${INSTALL_WORK} "${PRODUCT_SEQUENCE}" env_${PRODUCT_TYPE}.sh
+make_env ${INSTALL_ROOT} ${INSTALL_WORK} "${PRODUCT_SEQUENCE}" ${PRODUCT_TYPE}
source ${INSTALL_WORK}/$SHRC
check_jb tar xfz ${SOURCE_DIR}/doxygen-1.3-rc2.tar.gz -C ${INSTALL_ROOT}
SALOME DOCUMENTATION ALSO CAN NOT BE BUILT!
EOF
check_job ${PRODUCT_DIR}/DOCS.LOG make
- rm -fr ${PRODUCT_WORK}
+# rm -fr ${PRODUCT_WORK}
# echo -e "Can't find \"epstopdf\" and \"latex\" or another executables on the computer."
# echo -e "doxygen documentation will not be built!"
# echo -e "SALOME DOCUMENTATION ALSO CAN NOT BE BUILT!"
install_source()
{
-echo "The installation of doxygen 1.3.7 from sources is not provided! Use native doxygen."
-return 1
+make_env ${INSTALL_ROOT} ${INSTALL_WORK} "${PRODUCT_SEQUENCE}" ${PRODUCT_TYPE}
+source ${INSTALL_WORK}/$SHRC
+
+check_jb tar xfz ${SOURCE_DIR}/doxygen-1.3.7.tar.gz -C ${INSTALL_WORK}
+
+cd ${PRODUCT_WORK}
+makedir ${PRODUCT_DIR}
+# vsr: fix a bug on Mandrake-10.1: wrong qt library reference
+sed -e "s/-lqt/-lqt-mt/g" ./tmake/lib/linux-g++/tmake.conf > ./tmake/lib/linux-g++/tmake.conf.new
+mv ./tmake/lib/linux-g++/tmake.conf.new ./tmake/lib/linux-g++/tmake.conf
+# vsr: fix bug - configure fails on Red Hat 9 because of incorrect autodetect check for install tool
+# so it is necessary to put it directly
+f_install="--install "`which install`
+check_job ${PRODUCT_DIR}/CONFIGURE.LOG ./configure --with-doxywizard --prefix ${PRODUCT_DIR} $f_install
+GCC=`which gcc`
+cat >> ${PRODUCT_DIR}/MAKE.LOG <<EOF
+used gcc=$GCC
+EOF
+check_job ${PRODUCT_DIR}/MAKE.LOG make
+check_job ${PRODUCT_DIR}/MAKEINSTALL.LOG make install
+
+which epstopdf >/dev/null 2>&1; ISFOUND=$?
+if [ ${ISFOUND} -eq 0 ] ; then which makeindex >/dev/null 2>&1; ISFOUND=$?; fi
+if [ ${ISFOUND} -eq 0 ] ; then which latex >/dev/null 2>&1; ISFOUND=$?; fi
+#if [ ${ISFOUND} -eq 0 ] ; then which latex2html >/dev/null 2>&1; ISFOUND=$?; fi
+if [ ${ISFOUND} -eq 0 ] ; then which pdflatex >/dev/null 2>&1; ISFOUND=$?; fi
+if [ ${ISFOUND} -eq 0 ] ; then which pslatex >/dev/null 2>&1; ISFOUND=$?; fi
+#if [ ${ISFOUND} -eq 0 ] ; then which pstoimg >/dev/null 2>&1; ISFOUND=$?; fi
+if [ ${ISFOUND} -eq 0 ] ; then
+ check_job ${PRODUCT_DIR}/MAKEDOCS.LOG make docs
+ check_job ${PRODUCT_DIR}/MAKEINSTALLDOCS.LOG make install_docs
+else
+ cat >> ${PRODUCT_DIR}/MAKEDOCS.LOG <<EOF
+Can't find \"epstopdf\" and \"latex\" or another executables on the computer.
+doxygen documentation will not be built!
+SALOME DOCUMENTATION ALSO CAN NOT BE BUILT!
+EOF
+# check_job ${PRODUCT_DIR}/MAKEDOCS.LOG make docs
+# rm -fr ${PRODUCT_WORK}
+# echo -e "Can't find \"epstopdf\" and \"latex\" or another executables on the computer."
+# echo -e "doxygen documentation will not be built!"
+# echo -e "SALOME DOCUMENTATION ALSO CAN NOT BE BUILT!"
+# echo -n "Would you like continue : (Y,N) [Y] : "
+# read rep;
+# rep=`echo $rep | tr "[A-Z]" "[a-z]"`
+# if test -z $rep || [ $rep != "y" ] ; then
+# rm -fr ${PRODUCT_WORK}
+# exit 1
+# fi
+fi
+
+#du -sk ${PRODUCT_WORK} > ${PRODUCT_DIR}/size.log
+rm -fr ${PRODUCT_WORK}
+print_env
}
install_binary()
cd ${PRODUCT_WORK}
makedir ${PRODUCT_DIR}
-check_job ${PRODUCT_DIR}/CONFIGURE.LOG configure --prefix=${PRODUCT_DIR} --with-tcl=$TCLHOME --disable-rpath
+check_job ${PRODUCT_DIR}/CONFIGURE.LOG configure --prefix=${PRODUCT_DIR} --with-tcl=${TCLHOME} --disable-rpath
GCC=`which gcc`
cat >> ${PRODUCT_DIR}/MAKE.LOG <<EOF
used gcc=$GCC
check_job ${PRODUCT_DIR}/MAKE.LOG make
check_job ${PRODUCT_DIR}/MAKEINSTALL.LOG make install
+#du -sk ${PRODUCT_WORK} > ${PRODUCT_DIR}/size.log
rm -fr ${PRODUCT_WORK}
print_env
}
source ${INSTALL_WORK}/$SHRC
check_jb tar xfz ${SOURCE_DIR}/graphviz-1.9.tar.gz -C ${INSTALL_ROOT}
+cd ${PRODUCT_DIR}/lib/graphviz
+for l in `ls *.la`; do
+ libdir=`grep -e "libdir=.*" $l | sed -e "s/libdir=[\'|\"]\(.*\)[\'|\"]/\1/g"`
+ sed -e "s%${libdir}%${PRODUCT_DIR}/lib/graphviz%g" $l > _$l
+ libdir=`dirname $libdir`
+ sed -e "s%${libdir}%${PRODUCT_DIR}/lib/graphviz%g" _$l > $l
+ rm -f _$l
+ chmod a+x $l
+done
print_env
}
used gcc=$GCC
EOF
check_job ${PRODUCT_DIR}/MAKE.LOG make
-check_job ${PRODUCT_DIR}/INSTALL.LOG make install
+check_job ${PRODUCT_DIR}/MAKEINSTALL.LOG make install
#du -sk ${PRODUCT_WORK} > ${PRODUCT_DIR}/size.log
rm -fr ${PRODUCT_WORK}
source ${INSTALL_WORK}/$SHRC
check_jb tar xfz ${SOURCE_DIR}/graphviz-2.2.1.tar.gz -C ${INSTALL_ROOT}
+cd ${PRODUCT_DIR}/lib/graphviz
+for l in `ls *.la`; do
+ libdir=`grep -e "libdir=.*" $l | sed -e "s/libdir=[\'|\"]\(.*\)[\'|\"]/\1/g"`
+ sed -e "s%${libdir}%${PRODUCT_DIR}/lib/graphviz%g" $l > _$l
+ libdir=`dirname $libdir`
+ sed -e "s%${libdir}%${PRODUCT_DIR}/lib/graphviz%g" _$l > $l
+ rm -f _$l
+ chmod a+x $l
+done
print_env
}
check_version()
{
if [ -z "$HDF5HOME" ]; then
- #echo "HDF5HOME doesn't set"
return 1
fi
check_lib_version libhdf5.so.0.0.0 ${HDF5HOME}/lib
if [ "$?" -ne "0" ]; then
return 1
fi
-#check libhdf5.settings file in a ${HDF5HOME}/lib
check_lib_version libhdf5.settings ${HDF5HOME}/lib
if [ "$?" -eq "0" ]; then
- #check that libhdf5.settings file contains following entry:
- #HDF5 Version: hdf5-1.4.4
- entry=`grep "HDF5 Version:" ${HDF5HOME}/lib/libhdf5.settings`
- ver=`echo $entry | awk '{print $3}'`
+ ver=`grep "HDF5 Version:" ${HDF5HOME}/lib/libhdf5.settings | awk '{print $3}'`
if [ "$ver" = "1.4.4" ]; then
- #echo "The product ${PRODUCT} has been already installed on yours system"
return 0
fi
fi
{
cat > ${INSTALL_WORK}/env_${PRODUCT_TYPE}.sh <<EOF
#$DELIM ${PRODUCT_TYPE} $DELIM
-export HDF5HOME=\${INSTALL_ROOT}/hdf5-1.4.4
+export HDF5HOME=\${INSTALL_ROOT}/${PRODUCT}
export PATH=\${HDF5HOME}/bin:\$PATH
export LD_LIBRARY_PATH=\${HDF5HOME}/lib:\${LD_LIBRARY_PATH}
##
check_job ${PRODUCT_DIR}/CONFIGURE.LOG \
./configure --prefix=${PRODUCT_DIR} --enable-threadsafe --enable-hdf5v1_2 \
--enable-stream-vfd --disable-hsizet --with-pthread=/usr/include,/usr/lib
-# find . -name .depend ! -size 0 -print
GCC=`which gcc`
cat >> ${PRODUCT_DIR}/MAKE0.LOG <<EOF
used gcc=$GCC
#check_job ${PRODUCT_DIR}/MAKECHECK.LOG make check
check_job ${PRODUCT_DIR}/MAKEINSTALL.LOG make install
+#du -sk ${PRODUCT_WORK} > ${PRODUCT_DIR}/size.log
rm -fr ${PRODUCT_WORK}
print_env
}
check_version()
{
-if [ -z "$OMNIORBDIR" ]; then
+if [ -z "${OMNIORBDIR}" ]; then
#echo "OMNIORBDIR doesn't set"
return 1
fi
check_jb tar xfz ${SOURCE_DIR}/omniORB-3.0.5.tar.gz -C ${INSTALL_ROOT}
ln -s ${PRODUCT_DIR} ${INSTALL_ROOT}/omni
+
+cd ${PRODUCT_DIR}/bin/i586_linux_2.0_glibc2.1
+sed -e "s%\(#\!/usr/bin/env.*\)python%\1`which python`%" omniidlrun.py > _omniidlrun.py
+mv -f _omniidlrun.py omniidlrun.py
+chmod a+x omniidlrun.py
+
print_env
}
#du -sk ${PRODUCT_WORK} > ${PRODUCT_DIR}/size.log
rm -fr ${PRODUCT_WORK}
+rm -fr ${PRODUCT_WORK}/omniORBpy-2.5
+rm -fr ${PRODUCT_WORK}/omniNotify
print_env
}
install_source()
{
-echo "The installation of Qt 3.3.3 from sources is not provided! Use native Qt."
-return 1
+make_env ${INSTALL_ROOT} ${INSTALL_WORK} "${PRODUCT_SEQUENCE}" ${PRODUCT_TYPE}
+source ${INSTALL_WORK}/$SHRC
+
+makedir ${PRODUCT_DIR}
+
+check_jb tar xfz ${SOURCE_DIR}/qt-3.3.3.tar.gz -C ${INSTALL_WORK}
+cd ${PRODUCT_WORK}
+
+mv -f configure configure-orig
+sed -e "s%read acceptance%acceptance=yes%" configure-orig > configure
+chmod +x configure
+
+export QTDIR=${PRODUCT_WORK}
+export LD_LIBRARY_PATH=${QTDIR}/lib:$LD_LIBRARY_PATH
+
+# basic flags
+QT_FLAGS="-release -thread -shared -qt-gif -platform linux-g++"
+# use system graphics libraries
+QT_FLAGS=$QT_FLAGS" -system-libpng -system-libjpeg -system-libmng -lpng -lmng -ljpeg"
+# prefix
+
+check_job ${PRODUCT_DIR}/CONFIGURE.LOG ./configure $QT_FLAGS -prefix ${PRODUCT_DIR}
+
+sed -e "s%^all: symlinks src-qmake src-moc sub-src sub-tools sub-tutorial sub-examples%all: symlinks src-qmake src-moc sub-src sub-tools%g" Makefile > _Makefile
+mv -f _Makefile Makefile
+
+GCC=`which gcc`
+cat >> ${PRODUCT_DIR}/MAKE.LOG <<EOF
+used gcc=$GCC
+EOF
+check_job ${PRODUCT_DIR}/MAKE.LOG make
+check_job ${PRODUCT_DIR}/MAKEINSTALL.LOG make install
+
+for b in `ls ${PRODUCT_WORK}/bin`; do
+ if [ ! -e ${PRODUCT_DIR}/bin/$b ] || [ -h ${PRODUCT_DIR}/bin/$b ]; then
+ if [ -h ${PRODUCT_DIR}/bin/$b ]; then
+ rm -f ${PRODUCT_DIR}/bin/$b
+ fi
+ cp -f ${PRODUCT_WORK}/bin/$b ${PRODUCT_DIR}/bin/$b
+ fi
+done
+#rm -rf ${PRODUCT_DIR}/doc
+
+#du -sk ${PRODUCT_WORK} > ${PRODUCT_DIR}/size.log
+rm -fr ${PRODUCT_WORK}
+print_env
}
install_binary()
cd ${PRODUCT_DIR}/lib
sed -e "s%^libdir='\(.*\)'%libdir='${PRODUCT_DIR}/lib'%g" libqt-mt.la > libqt-mt.la.new
mv -f libqt-mt.la.new libqt-mt.la
-cd ${PRODUCT_DIR}/bin
-sed -e "s%export QTDIR=\(.*\)%export QTDIR=${PRODUCT_DIR}%g" designer > designer.new
-mv -f designer.new designer
-chmod 755 designer
+cd ${PRODUCT_DIR}/lib/pkgconfig
+sed -e "s%^prefix='\(.*\)'%prefix='${PRODUCT_DIR}/lib'%g" qt-mt.pc > qt-mt.pc.new
+mv -f qt-mt.pc.new qt-mt.pc
print_env
}
check_job ${PRODUCT_DIR}/MAKE.LOG make
cp -rf include lib ${PRODUCT_DIR}
+#du -sk ${PRODUCT_WORK} > ${PRODUCT_DIR}/size.log
rm -rf ${PRODUCT_WORK}
print_env
check_job ${PRODUCT_DIR}/MAKE.LOG make
check_job ${PRODUCT_DIR}/INSTALL.LOG make install
+#du -sk ${PRODUCT_WORK} > ${PRODUCT_DIR}/size.log
rm -fr ${PRODUCT_WORK}
print_env
}