5 # check existance of netgen
6 # unfortunarely we can't find anything about netgen version
7 if [ -n "$NETGENROOT" ]; then
15 cat > ${INSTALL_WORK}/env_${PRODUCT_TYPE}.sh <<EOF
16 #$DELIM ${PRODUCT_TYPE} $DELIM
17 export NETGENHOME=\${INSTALL_ROOT}/${PRODUCT}
20 (test -w ${PRODUCT_DIR} && cp ${INSTALL_WORK}/env_${PRODUCT_TYPE}.sh ${PRODUCT_DIR})
21 make_env ${INSTALL_ROOT} ${INSTALL_WORK} "${PRODUCT_SEQUENCE}"
24 # looks for the native product and collects it's environment (used by make_env())
27 if [ $? -eq 0 ] ; then
28 cat > ${INSTALL_WORK}/env_${PRODUCT_TYPE}.sh <<EOF
29 #$DELIM ${PRODUCT_TYPE} $DELIM
30 export NETGENHOME=\${NETGENROOT}
33 make_env ${INSTALL_ROOT} ${INSTALL_WORK} "${PRODUCT_SEQUENCE}"
40 try_existing ${PRODUCT_DIR} ${INSTALL_ROOT} ${INSTALL_WORK} "${PRODUCT_SEQUENCE}" ${PRODUCT_TYPE}
46 make_env ${INSTALL_ROOT} ${INSTALL_WORK} "${PRODUCT_SEQUENCE}" ${PRODUCT_TYPE}
47 source ${INSTALL_WORK}/$SHRC
49 makedir ${PRODUCT_DIR}
51 check_jb tar xfz ${SOURCE_DIR}/netgen-4.5.tar.gz -C ${INSTALL_WORK}
53 # apply general patch for SALOME
54 if [ -f patches/netgen-4.5-for-SALOME.patch ] ; then
55 cp patches/netgen-4.5-for-SALOME.patch ${PRODUCT_WORK}
56 ( cd ${PRODUCT_WORK}; patch -p1 < netgen-4.5-for-SALOME.patch )
59 # apply patch for 64-bit platforms
60 if test `uname -m` = "x86_64" ; then
61 if [ -f patches/netgen-4.5-lib64.patch ] ; then
62 cp patches/netgen-4.5-lib64.patch ${PRODUCT_WORK}
63 ( cd ${PRODUCT_WORK}; patch -p1 < netgen-4.5-lib64.patch )
67 # additional patching for SALOME
68 (cd ${PRODUCT_WORK}; cp ngtcltk/ngnewdelete.* libsrc/interface)
70 # apply patch: to make compilable on latest versions of gcc
71 (cd ${PRODUCT_WORK}/libsrc/meshing; echo -e '16s/^$/class Mesh;\nwq' | ed - meshtype.hpp > /dev/null)
73 # apply patch: to make compilable with CASCADE-6.1.1
74 (cd ${PRODUCT_WORK}/libsrc; sed -e "s%\(.*\)-DHAVE_LIMITS\'%\1-DHAVE_LIMITS_H%g" makefile.inc > makefile.inc.new; mv makefile.inc.new makefile.inc)
76 # set platform type variable
77 if test `uname -m` = "x86_64" ; then
78 export MACHINE=LINUX64
84 for directory in csg general geom2d gprim interface linalg occ meshing opti stlgeom ; do
85 cd ${PRODUCT_WORK}/libsrc/${directory}
86 check_job ${PRODUCT_DIR}/MAKE.LOG make
90 mkdir -p ${PRODUCT_DIR}/lib
91 cp -f ${PRODUCT_WORK}/lib/${MACHINE}/* ${PRODUCT_DIR}/lib
92 mkdir -p ${PRODUCT_DIR}/include
93 cp -f ${PRODUCT_WORK}/libsrc/interface/nglib.h ${PRODUCT_DIR}/include
94 for directory in csg general geom2d gprim linalg occ meshing opti stlgeom ; do
95 cp -f ${PRODUCT_WORK}/libsrc/${directory}/*.hpp ${PRODUCT_DIR}/include
97 cp -f ${PRODUCT_WORK}/libsrc/include/mystdlib.h ${PRODUCT_WORK}/libsrc/include/mydefs.hpp ${PRODUCT_DIR}/include
99 #du -sk ${PRODUCT_WORK} > ${PRODUCT_DIR}/size.log
100 cd ${PRODUCT_DIR}; rm -fr ${PRODUCT_WORK}
106 make_env ${INSTALL_ROOT} ${INSTALL_WORK} "${PRODUCT_SEQUENCE}" ${PRODUCT_TYPE}
107 source ${INSTALL_WORK}/$SHRC
109 check_jb tar xfz ${SOURCE_DIR}/netgen-4.5.tar.gz -C ${INSTALL_ROOT}
115 export INSTALL_WORK=$2;
116 export SOURCE_DIR=$3;
117 export INSTALL_ROOT=$4;
118 export PRODUCT_SEQUENCE=$5;
119 if [ $# == 6 ] ; then export PRODUCT_TYPE=$6 ; else export PRODUCT_TYPE="netgen" ; fi
120 export PRODUCT="netgen-4.5"
121 export PRODUCT_DIR=${INSTALL_ROOT}/${PRODUCT}
122 export PRODUCT_WORK=${INSTALL_WORK}/${PRODUCT}