Salome HOME
SALOME 6.5.0 preparation: update script for netgen (4.9.13)
authorinv <inv@opencascade.com>
Wed, 4 Apr 2012 07:38:53 +0000 (07:38 +0000)
committerinv <inv@opencascade.com>
Wed, 4 Apr 2012 07:38:53 +0000 (07:38 +0000)
13 files changed:
config_CentOS_5.5_64bit.xml
config_Debian_4.0.xml
config_Debian_4.0_64bit.xml
config_Debian_5.0_64bit.xml
config_Debian_6.0_64bit.xml
config_Mandriva_2008.0.xml
config_Mandriva_2008.0_64bit.xml
config_Mandriva_2010.0.xml
config_Mandriva_2010.0_64bit.xml
config_Red_Hat_Enterprise_WS_4_64bit.xml
config_Scientific_SL_5.1_64bit.xml
config_files/netgen-4.9.13.sh [deleted file]
config_files/netgen.sh [new file with mode: 0755]

index 2855fe874c21e5e8a89cba80f1a2148265f6328d..ecf8468474f2903ed1dbd6f4ad250a7408309a74 100755 (executable)
                     version="4.9.13" 
                    disable="false"
                    installdiskspace="5615,51450,17231"
-                   script="netgen-4.9.13.sh"/>
+                   script="netgen.sh"/>
     </product>
     <product name="DISTENE" 
             type="prerequisite"
       <dep>Python</dep>
     </product>    
     <product name="netgen">
+      <dep>tcltk</dep>
       <dep>OpenCascade</dep>
     </product>
     <product name="libBatch">
index e648eadc6fe4b1d0eb094c916e12e7dde48cf172..e1dc1ba644812eaf4b83661f161a909b64f3f154 100755 (executable)
                     version="4.9.13" 
                    disable="false"
                    installdiskspace="5615,51450,17231"
-                   script="netgen-4.9.13.sh"/>
+                   script="netgen.sh"/>
     </product>
     <product name="DISTENE" 
             type="prerequisite"
       <dep>Python</dep>
     </product>    
     <product name="netgen">
+      <dep>tcltk</dep>
       <dep>OpenCascade</dep>
     </product>
     <product name="libBatch">
index 8f8a99c50b7ff275a43e7a7b20d0a8f523b34e9a..491a5a7707eb6a6f5dfa833f0a8953bbbf268120 100755 (executable)
                     version="4.9.13" 
                    disable="false"
                    installdiskspace="5615,51450,17231"
-                   script="netgen-4.9.13.sh"/>
+                   script="netgen.sh"/>
     </product>
     <product name="DISTENE" 
             type="prerequisite"
       <dep>Python</dep>
     </product>    
     <product name="netgen">
+      <dep>tcltk</dep>
       <dep>OpenCascade</dep>
     </product>
     <product name="libBatch">
index 74ba246f4d1fa33f912385b5443c078897e55432..ee7c7bbe91f2a99aea63c44c9a22c86d76aa09b8 100755 (executable)
                     version="4.9.13" 
                    disable="false"
                    installdiskspace="5615,51450,17231"
-                   script="netgen-4.9.13.sh"/>
+                   script="netgen.sh"/>
     </product>
     <product name="DISTENE" 
             type="prerequisite"
       <dep>Python</dep>
     </product>    
     <product name="netgen">
+      <dep>tcltk</dep>
       <dep>OpenCascade</dep>
     </product>
     <product name="libBatch">
index 9fed88daa9ceb65568fd45f8382ac1bb6666232f..50063d65554b75e847669ef465e05b297ca39010 100755 (executable)
                     version="4.9.13" 
                    disable="false"
                    installdiskspace="5615,51450,17231"
-                   script="netgen-4.9.13.sh"/>
+                   script="netgen.sh"/>
     </product>
     <product name="DISTENE" 
             type="prerequisite"
       <dep>Python</dep>
     </product>    
     <product name="netgen">
+      <dep>tcltk</dep>
       <dep>OpenCascade</dep>
     </product>
     <product name="libBatch">
index d5f81e0ddb529ba2d381d26446ee9ba1efa4feca..1593fd78aac59a2c9c0b5c2029a816a01f71cad6 100755 (executable)
                     version="4.9.13" 
                    disable="false"
                    installdiskspace="5615,51450,17231"
-                   script="netgen-4.9.13.sh"/>
+                   script="netgen.sh"/>
     </product>
     <product name="DISTENE" 
             type="prerequisite"
       <dep>Python</dep>
     </product>    
     <product name="netgen">
+      <dep>tcltk</dep>
       <dep>OpenCascade</dep>
     </product>
     <product name="libBatch">
index 28935a63b7f00e6dd148114adaed54262412b7df..09ea5adb9da4df7868769eb50a85e415d143e7d6 100755 (executable)
                     version="4.9.13" 
                    disable="false"
                    installdiskspace="5615,51450,17231"
-                   script="netgen-4.9.13.sh"/>
+                   script="netgen.sh"/>
     </product>
     <product name="DISTENE" 
             type="prerequisite"
       <dep>Python</dep>
     </product>    
     <product name="netgen">
+      <dep>tcltk</dep>
       <dep>OpenCascade</dep>
     </product>
     <product name="libBatch">
index 9136be04013f321d8fd8633e7f6bfa851389eb3d..4ac6cb230cb699235fe42a84c2597956735c9948 100755 (executable)
                     version="4.9.13" 
                    disable="false"
                    installdiskspace="5615,51450,17231"
-                   script="netgen-4.9.13.sh"/>
+                   script="netgen.sh"/>
     </product>
     <product name="DISTENE" 
             type="prerequisite"
       <dep>Python</dep>
     </product>
     <product name="netgen">
+      <dep>tcltk</dep>
       <dep>OpenCascade</dep>
     </product>
     <product name="libBatch">
index 08ac83bc6fbb55a52cd41c05787b2f7b050c3aaa..f351ec2a57fa236c63f51a77e1bf177a4ff3ea38 100755 (executable)
                     version="4.9.13" 
                    disable="false"
                    installdiskspace="5615,51450,17231"
-                   script="netgen-4.9.13.sh"/>
+                   script="netgen.sh"/>
     </product>
     <product name="DISTENE" 
             type="prerequisite"
       <dep>Python</dep>
     </product>
     <product name="netgen">
+      <dep>tcltk</dep>
       <dep>OpenCascade</dep>
     </product>
     <product name="libBatch">
index 3cc6cfa5081016d964719df42f8b7dd2adb57c5f..f578eb226fb37539fbb77067fab2ddf900a261c3 100755 (executable)
                     version="4.9.13" 
                    disable="false"
                    installdiskspace="5615,51450,17231"
-                   script="netgen-4.9.13.sh"/>
+                   script="netgen.sh"/>
     </product>
     <product name="DISTENE" 
             type="prerequisite"
       <dep>Python</dep>
     </product>    
     <product name="netgen">
+      <dep>tcltk</dep>
       <dep>OpenCascade</dep>
     </product>
     <product name="libBatch">
index 4367064241081aee8c698e5c0d33d66e56b3514a..feb27ffa3c89b08c41bb63f4e70949071b0caa63 100755 (executable)
                     version="4.9.13" 
                    disable="false"
                    installdiskspace="5615,51450,17231"
-                   script="netgen-4.9.13.sh"/>
+                   script="netgen.sh"/>
     </product>
     <product name="DISTENE" 
             type="prerequisite"
       <dep>Python</dep>
     </product>    
     <product name="netgen">
+      <dep>tcltk</dep>
       <dep>OpenCascade</dep>
     </product>
     <product name="libBatch">
diff --git a/config_files/netgen-4.9.13.sh b/config_files/netgen-4.9.13.sh
deleted file mode 100755 (executable)
index a4f470f..0000000
+++ /dev/null
@@ -1,202 +0,0 @@
-#!/bin/bash -noprofile
-
-####################################################################################
-#  File      : netgen-4.9.13.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-2008 CEA
-#
-#  This script is the part of the SALOME installation procedure.
-#
-####################################################################################
-
-check_version()
-{
-# check existance of netgen
-# unfortunarely we can't find anything about netgen version
-if [ -n "$NETGENROOT" ]; then
-  return 0
-fi
-return 1
-}
-
-print_env_bin()
-{
-cat > ${INSTALL_WORK}/env_${PRODUCT_TYPE}.sh <<EOF 
-#$DELIM ${PRODUCT_TYPE} $DELIM
-export NETGENHOME=\${INST_ROOT}/${SINGLE_DIR:-${PRODUCT}}
-export LD_LIBRARY_PATH=\${NETGENHOME}/lib:\${LD_LIBRARY_PATH}
-##
-EOF
-(test -w ${PRODUCT_DIR} && cp ${INSTALL_WORK}/env_${PRODUCT_TYPE}.sh ${PRODUCT_DIR})
-make_env ${INST_ROOT} ${INSTALL_WORK} "${PRODUCT_SEQUENCE}" "${INSTALL_PRODUCTS}"
-}
-
-print_env_src()
-{
-cat > ${INSTALL_WORK}/env_${PRODUCT_TYPE}_src.sh <<EOF
-#$DELIM ${PRODUCT_TYPE}_src $DELIM
-# nothing to do
-##
-EOF
-(test -w ${PRODUCT_SRC_DIR} && cp ${INSTALL_WORK}/env_${PRODUCT_TYPE}_src.sh ${PRODUCT_SRC_DIR})
-make_env ${INST_ROOT} ${INSTALL_WORK} "${PRODUCT_SEQUENCE}" "${INSTALL_PRODUCTS}"
-}
-
-try_preinstalled(){
-try_existing ${PRODUCT_DIR} ${INST_ROOT} ${INSTALL_WORK} "${PRODUCT_SEQUENCE}" "${INSTALL_PRODUCTS}" ${PRODUCT_TYPE}
-try_existing ${PRODUCT_SRC_DIR} ${INST_ROOT} ${INSTALL_WORK} "${PRODUCT_SEQUENCE}" "${INSTALL_PRODUCTS}" ${PRODUCT_TYPE}_src
-return $?
-}
-
-install_source()
-{
-make_env ${INST_ROOT} ${INSTALL_WORK} "${PRODUCT_SEQUENCE}" "${INSTALL_PRODUCTS}" ${PRODUCT_TYPE}_src
-source ${INSTALL_WORK}/$SHRC
-# unpack
-check_jb tar xfz ${SOURCE_DIR}/${PRODUCT}.tar.gz -C ${INST_ROOT}
-
-# apply general patch for SALOME
-if [ -f patches/netgen-4.9.13-for-SALOME.patch ] ; then
-    cp patches/netgen-4.9.13-for-SALOME.patch ${PRODUCT_SRC_DIR}
-    ( cd ${PRODUCT_SRC_DIR}; patch -p1 < netgen-4.9.13-for-SALOME.patch )
-fi
-
-# to make nglib only:
-# -SUBDIRS = libsrc ng nglib tutorials doc windows
-# +SUBDIRS = libsrc nglib #ng tutorials doc windows
-(cd ${PRODUCT_SRC_DIR}; sed -e "s/ng nglib/nglib #ng/g" Makefile.in > Makefile.in.1 ; mv -f Makefile.in.1 Makefile.in )
-
-# patch for gcc 4.3
-(cd ${PRODUCT_SRC_DIR}; sed -e "s%#include <string>%#include <string>\n#include <string.h>%g" libsrc/include/mystdlib.h > libsrc/include/mystdlib.h.1 ; mv -f libsrc/include/mystdlib.h.1 libsrc/include/mystdlib.h )
-
-# to generate environment scripts
-try_preinstalled
-}
-
-install_source_and_build()
-{
-# install sources
-install_source
-
-# build sources
-test -z ${SINGLE_DIR} && makedir ${PRODUCT_DIR} || mkdir -p ${PRODUCT_DIR}
-
-cd ${PRODUCT_SRC_DIR}
-
-#configure
-NETGEN_CONFIGURE_OPTIONS="--with-occ=${CASROOT} --prefix=${PRODUCT_DIR}"
-NETGEN_CONFIGURE_OPTIONS="${NETGEN_CONFIGURE_OPTIONS} --with-tcl=${TCLHOME}/lib --with-tk=${TCLHOME}/lib --with-tclinclude=${TCLHOME}/include"
-if test `uname -m` = "x86_64" ; then
-    ./configure ${NETGEN_CONFIGURE_OPTIONS} CXXFLAGS='-O2 -m64' >> ${PRODUCT_DIR}/CONFIGURE.LOG 
-else
-    ./configure ${NETGEN_CONFIGURE_OPTIONS} CXXFLAGS=-O2 >> ${PRODUCT_DIR}/CONFIGURE.LOG 
-fi
-
-# compile
-check_job ${PRODUCT_DIR}/MAKE.LOG make
-
-# install
-check_job ${PRODUCT_DIR}/INSTALL.LOG make install 
-
-for directory in general gprim linalg meshing ; do
-    cp -f ${PRODUCT_SRC_DIR}/libsrc/${directory}/*.hpp ${PRODUCT_DIR}/include
-done
-cp -f ${PRODUCT_SRC_DIR}/libsrc/include/mystdlib.h ${PRODUCT_SRC_DIR}/libsrc/include/mydefs.hpp ${PRODUCT_DIR}/include
-cp -f ${PRODUCT_SRC_DIR}/libsrc/occ/occgeom.hpp ${PRODUCT_SRC_DIR}/libsrc/occ/occmeshsurf.hpp ${PRODUCT_DIR}/include
-
-cd ${PRODUCT_DIR};
-
-# remove sources and temporary files after building
-if [ ${REMOVE_SRC_TMP} == "TRUE" ] ; then
-    test -d ${PRODUCT_SRC_DIR} && rm -fr ${PRODUCT_SRC_DIR}
-fi
-
-# to generate environment scripts
-try_preinstalled
-}
-
-install_binary()
-{
-make_env ${INST_ROOT} ${INSTALL_WORK} "${PRODUCT_SEQUENCE}" "${INSTALL_PRODUCTS}" ${PRODUCT_TYPE}
-source ${INSTALL_WORK}/$SHRC
-
-# 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}
-
-### modifing la files
-cd ${PRODUCT_DIR}/lib
-freetypedir=`printenv FREETYPEDIR`
-ftgldir=`printenv FTGLDIR`
-gl2psdir=`printenv GL2PSHOME`
-freeimagedir=`printenv FREEIMAGEDIR`
-tbbbasedir=`printenv TBBHOME`
-
-TBBKERNEL='cc4.1.0_libc2.4_kernel2.6.16.21'
-if test `uname -m` = "x86_64" ; then
-    export TBBMODE="intel64/$TBBKERNEL"
-else
-    export TBBMODE="ia32/$TBBKERNEL"
-fi
-
-tbbdir=${tbbbasedir}/lib/$TBBMODE
-
-       if [ -n "${freetypedir}" ] && [ -d "${freetypedir}" ] ; then
-           sed -e "s%\(.*\)\([[:space:]].*-L.*/freetype-[0-9]\.[0-9]\.[0-9]/lib[[:space:]]\)\(.*\)%\1 -L${freetypedir}/lib \3%g" \
-               -e 's%\(.*\)\([[:space:]].*libfreetype.la\)\(.*\)%\1 -lfreetype \3%g' libnglib.la > _libnglib.la
-           mv -f _libnglib.la libnglib.la
-       fi
-       chmod a+x libnglib.la
-       if [ -n "${ftgldir}" ] && [ -d "${ftgldir}" ] ; then
-           sed -e "s%\(.*\)\([[:space:]].*-L.*/ftgl-[0-9]\.[0-9]\.[0-9]/lib[[:space:]]\)\(.*\)%\1 -L${ftgldir}/lib \3%g" \
-               -e 's%\(.*\)\([[:space:]].*libftgl.la\)\(.*\)%\1 -lftgl \3%g' libnglib.la > _libnglib.la
-           mv -f _libnglib.la libnglib.la
-       fi
-       chmod a+x libnglib.la
-       if [ -n "${gl2psdir}" ] && [ -d "${gl2psdir}" ] ; then
-           sed -e "s%\(.*\)\([[:space:]].*-L.*/gl2ps-[0-9]\.[0-9]\.[0-9]/lib[[:space:]]\)\(.*\)%\1 -L${gl2psdir}/lib \3%g" libnglib.la > _libnglib.la
-           mv -f _libnglib.la libnglib.la
-       fi
-       chmod a+x libnglib.la
-       if [ -n "${freeimagedir}" ] && [ -d "${freeimagedir}" ] ; then
-           sed -e "s%\(.*\)\([[:space:]].*-L.*/freeimage-[0-9]\.[0-9]\.[0-9]/lib[[:space:]]\)\(.*\)%\1 -L${freeimagedir}/lib \3%g" libnglib.la > _libnglib.la
-           mv -f _libnglib.la libnglib.la
-       fi
-       chmod a+x libnglib.la
-       if [ -n "${freeimagedir}" ] && [ -d "${freeimagedir}" ] ; then
-           sed -e "s%\(.*\)\([[:space:]].*-L.*/freeimage-[0-9]\.[0-9][0-9]\.[0-9]/lib[[:space:]]\)\(.*\)%\1 -L${freeimagedir}/lib \3%g" libnglib.la > _libnglib.la
-           mv -f _libnglib.la libnglib.la
-       fi
-       chmod a+x libnglib.la
-       if [ -n "${tbbdir}" ] && [ -d "${tbbdir}" ] ; then
-           sed -e "s%\(.*\)\([[:space:]].*-L.*/tbb[^[:space:]]*/lib[^[:space:]]*\)\(.*\)%\1 -L${tbbdir} \3%g" libnglib.la > _libnglib.la
-           mv -f _libnglib.la libnglib.la
-       fi
-       chmod a+x libnglib.la
-
-sed -i "s%^libdir='\(.*\)'%libdir='${PRODUCT_DIR}/lib'%g;s%[[:space:]]-L[^[:space:]]*\(OCCT\|CAS\)[^[:space:]]*/lib\?% -L${CASROOT}/lib%g;s%[[:space:]][^[:space:]]*\(OCCT\|CAS\)[^[:space:]]*/lib/lib\?% ${CASROOT}/lib/lib%g" libnglib.la
-
-# to generate environment script for sources
-try_preinstalled
-}
-
-export PROCEDURE=$1;
-export INSTALL_WORK=$2;
-export SOURCE_DIR=$3;
-export INST_ROOT=$4;
-export PRODUCT_SEQUENCE=$5;
-export PRODUCT_TYPE=$6;
-export INSTALL_PRODUCTS=$7;
-shift
-REMOVE_SRC_TMP=$8;
-test $# == 10 && shift && SINGLE_DIR=$9
-export PRODUCT="netgen-4.9.13"
-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 
diff --git a/config_files/netgen.sh b/config_files/netgen.sh
new file mode 100755 (executable)
index 0000000..b24b81a
--- /dev/null
@@ -0,0 +1,207 @@
+#!/bin/bash -noprofile
+
+####################################################################################
+#  File      : netgen.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-2012 CEA
+#
+#  This script is the part of the SALOME installation procedure.
+#
+####################################################################################
+
+#
+# netgen version
+#
+NETGEN_VERSION=4.9.13
+
+check_version()
+{
+# check existance of netgen
+# unfortunarely we can't find anything about netgen version
+if [ -n "$NETGENROOT" ]; then
+  return 0
+fi
+return 1
+}
+
+print_env_bin()
+{
+cat > ${INSTALL_WORK}/env_${PRODUCT_TYPE}.sh <<EOF 
+#$DELIM ${PRODUCT_TYPE} $DELIM
+export NETGENHOME=\${INST_ROOT}/${SINGLE_DIR:-${PRODUCT}}
+export LD_LIBRARY_PATH=\${NETGENHOME}/lib:\${LD_LIBRARY_PATH}
+##
+EOF
+(test -w ${PRODUCT_DIR} && cp ${INSTALL_WORK}/env_${PRODUCT_TYPE}.sh ${PRODUCT_DIR})
+make_env ${INST_ROOT} ${INSTALL_WORK} "${PRODUCT_SEQUENCE}" "${INSTALL_PRODUCTS}"
+}
+
+print_env_src()
+{
+cat > ${INSTALL_WORK}/env_${PRODUCT_TYPE}_src.sh <<EOF
+#$DELIM ${PRODUCT_TYPE}_src $DELIM
+# nothing to do
+##
+EOF
+(test -w ${PRODUCT_SRC_DIR} && cp ${INSTALL_WORK}/env_${PRODUCT_TYPE}_src.sh ${PRODUCT_SRC_DIR})
+make_env ${INST_ROOT} ${INSTALL_WORK} "${PRODUCT_SEQUENCE}" "${INSTALL_PRODUCTS}"
+}
+
+try_preinstalled(){
+try_existing ${PRODUCT_DIR} ${INST_ROOT} ${INSTALL_WORK} "${PRODUCT_SEQUENCE}" "${INSTALL_PRODUCTS}" ${PRODUCT_TYPE}
+try_existing ${PRODUCT_SRC_DIR} ${INST_ROOT} ${INSTALL_WORK} "${PRODUCT_SEQUENCE}" "${INSTALL_PRODUCTS}" ${PRODUCT_TYPE}_src
+return $?
+}
+
+install_source()
+{
+make_env ${INST_ROOT} ${INSTALL_WORK} "${PRODUCT_SEQUENCE}" "${INSTALL_PRODUCTS}" ${PRODUCT_TYPE}_src
+source ${INSTALL_WORK}/$SHRC
+# unpack
+check_jb tar xfz ${SOURCE_DIR}/${PRODUCT}.tar.gz -C ${INST_ROOT}
+
+# apply general patch for SALOME
+if [ -f patches/netgen-${NETGEN_VERSION}-for-SALOME.patch ] ; then
+    cp patches/netgen-${NETGEN_VERSION}-for-SALOME.patch ${PRODUCT_SRC_DIR}
+    ( cd ${PRODUCT_SRC_DIR}; patch -p1 < netgen-${NETGEN_VERSION}-for-SALOME.patch )
+fi
+
+# to make nglib only:
+# -SUBDIRS = libsrc ng nglib tutorials doc windows
+# +SUBDIRS = libsrc nglib #ng tutorials doc windows
+( cd ${PRODUCT_SRC_DIR} && sed -i "s/ng nglib/nglib #ng/g" Makefile.in )
+
+# patch for gcc 4.3
+( cd ${PRODUCT_SRC_DIR} && sed -i "s%#include <string>%#include <string>\n#include <string.h>%g" libsrc/include/mystdlib.h )
+
+# to generate environment scripts
+try_preinstalled
+}
+
+install_source_and_build()
+{
+# install sources
+install_source
+
+# build sources
+test -z ${SINGLE_DIR} && makedir ${PRODUCT_DIR} || mkdir -p ${PRODUCT_DIR}
+
+cd ${PRODUCT_SRC_DIR}
+
+# configure
+NETGEN_CONFIGURE_OPTIONS="--with-occ=${CASROOT} --prefix=${PRODUCT_DIR}"
+NETGEN_CONFIGURE_OPTIONS="${NETGEN_CONFIGURE_OPTIONS} --with-tcl=${TCLHOME}/lib --with-tk=${TCLHOME}/lib --with-tclinclude=${TCLHOME}/include"
+if test `uname -m` = "x86_64" ; then
+    ./configure ${NETGEN_CONFIGURE_OPTIONS} CXXFLAGS='-O2 -m64' >> ${PRODUCT_DIR}/CONFIGURE.LOG 
+else
+    ./configure ${NETGEN_CONFIGURE_OPTIONS} CXXFLAGS=-O2 >> ${PRODUCT_DIR}/CONFIGURE.LOG 
+fi
+
+# compile
+check_job ${PRODUCT_DIR}/MAKE.LOG make
+
+# install
+check_job ${PRODUCT_DIR}/INSTALL.LOG make install 
+
+for directory in general gprim linalg meshing ; do
+    cp -f ${PRODUCT_SRC_DIR}/libsrc/${directory}/*.hpp ${PRODUCT_DIR}/include
+done
+cp -f ${PRODUCT_SRC_DIR}/libsrc/include/mystdlib.h ${PRODUCT_SRC_DIR}/libsrc/include/mydefs.hpp ${PRODUCT_DIR}/include
+cp -f ${PRODUCT_SRC_DIR}/libsrc/occ/occgeom.hpp ${PRODUCT_SRC_DIR}/libsrc/occ/occmeshsurf.hpp ${PRODUCT_DIR}/include
+
+cd ${PRODUCT_DIR};
+
+# remove sources and temporary files after building
+if [ ${REMOVE_SRC_TMP} == "TRUE" ] ; then
+    test -d ${PRODUCT_SRC_DIR} && rm -fr ${PRODUCT_SRC_DIR}
+fi
+
+# to generate environment scripts
+try_preinstalled
+}
+
+install_binary()
+{
+make_env ${INST_ROOT} ${INSTALL_WORK} "${PRODUCT_SEQUENCE}" "${INSTALL_PRODUCTS}" ${PRODUCT_TYPE}
+source ${INSTALL_WORK}/$SHRC
+
+# 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}
+
+### modifing la files
+cd ${PRODUCT_DIR}/lib
+freetypedir=`printenv FREETYPEDIR`
+ftgldir=`printenv FTGLDIR`
+gl2psdir=`printenv GL2PSHOME`
+freeimagedir=`printenv FREEIMAGEDIR`
+tbbbasedir=`printenv TBBHOME`
+
+TBBKERNEL='cc4.1.0_libc2.4_kernel2.6.16.21'
+if test `uname -m` = "x86_64" ; then
+    export TBBMODE="intel64/$TBBKERNEL"
+else
+    export TBBMODE="ia32/$TBBKERNEL"
+fi
+
+tbbdir=${tbbbasedir}/lib/$TBBMODE
+
+if [ -n "${freetypedir}" ] && [ -d "${freetypedir}" ] ; then
+    sed -e "s%\(.*\)\([[:space:]].*-L.*/freetype-[0-9]\.[0-9]\.[0-9]/lib[[:space:]]\)\(.*\)%\1 -L${freetypedir}/lib \3%g" \
+        -e 's%\(.*\)\([[:space:]].*libfreetype.la\)\(.*\)%\1 -lfreetype \3%g' libnglib.la > _libnglib.la
+    mv -f _libnglib.la libnglib.la
+fi
+chmod a+x libnglib.la
+if [ -n "${ftgldir}" ] && [ -d "${ftgldir}" ] ; then
+    sed -e "s%\(.*\)\([[:space:]].*-L.*/ftgl-[0-9]\.[0-9]\.[0-9]/lib[[:space:]]\)\(.*\)%\1 -L${ftgldir}/lib \3%g" \
+        -e 's%\(.*\)\([[:space:]].*libftgl.la\)\(.*\)%\1 -lftgl \3%g' libnglib.la > _libnglib.la
+    mv -f _libnglib.la libnglib.la
+fi
+chmod a+x libnglib.la
+if [ -n "${gl2psdir}" ] && [ -d "${gl2psdir}" ] ; then
+    sed -e "s%\(.*\)\([[:space:]].*-L.*/gl2ps-[0-9]\.[0-9]\.[0-9]/lib[[:space:]]\)\(.*\)%\1 -L${gl2psdir}/lib \3%g" libnglib.la > _libnglib.la
+    mv -f _libnglib.la libnglib.la
+fi
+chmod a+x libnglib.la
+if [ -n "${freeimagedir}" ] && [ -d "${freeimagedir}" ] ; then
+    sed -e "s%\(.*\)\([[:space:]].*-L.*/freeimage-[0-9]\.[0-9]\.[0-9]/lib[[:space:]]\)\(.*\)%\1 -L${freeimagedir}/lib \3%g" libnglib.la > _libnglib.la
+    mv -f _libnglib.la libnglib.la
+fi
+chmod a+x libnglib.la
+if [ -n "${freeimagedir}" ] && [ -d "${freeimagedir}" ] ; then
+    sed -e "s%\(.*\)\([[:space:]].*-L.*/freeimage-[0-9]\.[0-9][0-9]\.[0-9]/lib[[:space:]]\)\(.*\)%\1 -L${freeimagedir}/lib \3%g" libnglib.la > _libnglib.la
+    mv -f _libnglib.la libnglib.la
+fi
+chmod a+x libnglib.la
+if [ -n "${tbbdir}" ] && [ -d "${tbbdir}" ] ; then
+    sed -e "s%\(.*\)\([[:space:]].*-L.*/tbb[^[:space:]]*/lib[^[:space:]]*\)\(.*\)%\1 -L${tbbdir} \3%g" libnglib.la > _libnglib.la
+    mv -f _libnglib.la libnglib.la
+fi
+chmod a+x libnglib.la
+
+sed -i "s%^libdir='\(.*\)'%libdir='${PRODUCT_DIR}/lib'%g;s%[[:space:]]-L[^[:space:]]*\(OCCT\|CAS\)[^[:space:]]*/lib\?% -L${CASROOT}/lib%g;s%[[:space:]][^[:space:]]*\(OCCT\|CAS\)[^[:space:]]*/lib/lib\?% ${CASROOT}/lib/lib%g" libnglib.la
+
+# to generate environment script for sources
+try_preinstalled
+}
+
+export PROCEDURE=$1;
+export INSTALL_WORK=$2;
+export SOURCE_DIR=$3;
+export INST_ROOT=$4;
+export PRODUCT_SEQUENCE=$5;
+export PRODUCT_TYPE=$6;
+export INSTALL_PRODUCTS=$7;
+shift
+REMOVE_SRC_TMP=$8;
+test $# == 10 && shift && SINGLE_DIR=$9
+export PRODUCT="netgen-4.9.13"
+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