Compare commits

...

14 Commits

Author SHA1 Message Date
jfa
c2c6bf25cc Change version to 3.2.5 2007-02-01 10:32:18 +00:00
vsr
59ab1d8e2b Introducing check procedure for Fortran; correct compilation/linkage rules for Fortran source files. 2007-01-22 13:13:02 +00:00
jfa
29bdee2b25 Change version to 3.2.4 2006-12-04 09:05:02 +00:00
vsr
3797701125 Fix pb with 64bit patch 2006-11-02 08:00:30 +00:00
vsr
7004be4f8a NETGENPLUGIN: improve netgen performance 2006-10-31 11:51:53 +00:00
jfa
27a9ce955f Change version to 3.2.3 2006-10-30 14:52:41 +00:00
vsr
41ac578763 Improve netgen check script.
Add netgen mesh plugin check script.
2006-10-30 09:09:05 +00:00
skl
566aa2640b Corrected for IPAL13589. 2006-10-11 05:09:27 +00:00
maintenance team
0b1c10baab Addinng @LIB_LOCATION_SUFFIX@ 2006-09-29 16:13:59 +00:00
maintenance team
33346e31ba Update for gcc4.1.1 2006-09-26 08:18:38 +00:00
vsr
1dd5913e4e Increment version number: 3.2.2 2006-08-25 07:09:10 +00:00
jfa
9ab44e1f03 Change version name to 3.2.1 2006-07-11 09:35:46 +00:00
asv
30b91f7405 Fix to bug PAL10465.
Modification of resource files location in "build" and "installation" directories.  Now resource files are placed in share/salome/resources/<module_name>.  Various configuration files (configure.in.base, make_module/conclude/commence, etc.) are changed.
2006-06-27 07:45:55 +00:00
jfa
a1bb961bcb PAL12417: Readme of NETGENPLUGIN - CASROOT must be set. 2006-06-14 10:02:01 +00:00
11 changed files with 1355 additions and 344 deletions

View File

@ -0,0 +1,145 @@
AC_DEFUN([CHECK_NETGEN],[
AC_REQUIRE([AC_PROG_CXX])dnl
AC_REQUIRE([AC_PROG_CXXCPP])dnl
AC_CHECKING(for Netgen 4.5 and higher Libraries)
AC_LANG_SAVE
AC_LANG_CPLUSPLUS
AC_ARG_WITH(netgen,
[ --with-netgen=DIR root directory path of NETGEN installation],
NETGEN_HOME=$withval,NETGEN_HOME="")
NETGEN_INCLUDES=""
NETGEN_LIBS_DIR=""
Netgen_ok=no
if test "x$NETGEN_HOME" == "x" ; then
# no --with-netgen option used
if test "x$NETGENHOME" != "x" ; then
# NETGENHOME environment variable defined
NETGEN_HOME=$NETGENHOME
fi
#
fi
if test "x$NETGEN_HOME" != "x"; then
echo
echo
echo -------------------------------------------------
echo You are about to choose to use somehow the
echo Netgen Library to generate Tetrahedric mesh.
echo
echo WARNING
echo ----------------------------------------------------------
echo ----------------------------------------------------------
echo You are strongly advised to consult the file
echo NETGENPLUGIN_SRC/src/NETGEN/ReadMeForNgUsers, particularly about
echo assumptions made on the installation of the Netgen
echo application and libraries.
echo Ask your system administrator for those details.
echo ----------------------------------------------------------
echo ----------------------------------------------------------
echo
echo
NETGEN_INCLUDES="-I${NETGEN_HOME}/include"
# check ${NETGEN_HOME}/lib/LINUX directory for libraries
if test -f ${NETGEN_HOME}/lib/LINUX/libcsg.a ; then
NETGEN_LIBS_DIR="${NETGEN_HOME}/lib/LINUX"
else
# check ${NETGEN_HOME}/lib/LINUX64 directory for libraries
if test -f ${NETGEN_HOME}/lib/LINUX64/libcsg.a ; then
NETGEN_LIBS_DIR="${NETGEN_HOME}/lib/LINUX64"
else
NETGEN_LIBS_DIR="${NETGEN_HOME}/lib"
fi
fi
echo "NETGEN_LIBS_DIR = $NETGEN_LIBS_DIR"
CPPFLAGS_old="$CPPFLAGS"
CXXFLAGS_old="$CXXFLAGS"
CPPFLAGS="$NETGEN_INCLUDES $CAS_CPPFLAGS $CPPFLAGS"
CXXFLAGS="$NETGEN_INCLUDES $CAS_CPPFLAGS $CXXFLAGS"
AC_MSG_CHECKING(for Netgen header file)
AC_CHECK_HEADER(nglib.h,Netgen_ok=yes,Netgen_ok=no)
if test "x$Netgen_ok" == "xyes"; then
AC_MSG_CHECKING(for Netgen libraries)
LDFLAGS_old="$LDFLAGS"
LDFLAGS="-L. -lNETGEN $CAS_LDPATH -lTKBRep -lTKShHealing -lTKSTEP -lTKXSBase -lTKIGES -lTKSTL -lTKTopAlgo $LDFLAGS"
AC_TRY_COMPILE(#include <iostream.h>
#include <fstream.h>
namespace nglib {
#include "nglib.h"
}
#define OCCGEOMETRY
#include <occgeom.hpp>
,nglib::Ng_Init();
netgen::OCCGeometry occgeo;
nglib::Ng_Exit();,Netgen_ok=yes;ar x "$NETGEN_LIBS_DIR/libnginterface.a";
ar x "$NETGEN_LIBS_DIR/libocc.a";
ar x "$NETGEN_LIBS_DIR/libcsg.a";
ar x "$NETGEN_LIBS_DIR/libgprim.a";
ar x "$NETGEN_LIBS_DIR/libmesh.a";
ar x "$NETGEN_LIBS_DIR/libopti.a";
ar x "$NETGEN_LIBS_DIR/libgen.a";
ar x "$NETGEN_LIBS_DIR/libla.a";
ar x "$NETGEN_LIBS_DIR/libstlgeom.a";
ar x "$NETGEN_LIBS_DIR/libgeom2d.a";
$CXX -shared linopt.o bfgs.o linsearch.o global.o bisect.o meshtool.o refine.o ruler3.o improve3.o adfront3.o tetrarls.o prism2rls.o profiler.o pyramidrls.o pyramid2rls.o netrule3.o ruler2.o meshclass.o improve2.o adfront2.o netrule2.o triarls.o geomsearch.o secondorder.o meshtype.o parser3.o quadrls.o specials.o parser2.o meshing2.o meshing3.o meshfunc.o localh.o improve2gen.o delaunay.o boundarylayer.o msghandler.o meshfunc2d.o smoothing2.o smoothing3.o topology.o curvedelems_new.o clusters.o zrefine.o ngexception.o geomtest3d.o geom2d.o geom2dmesh.o geom3d.o adtree.o transform3d.o geomfuncs.o polynomial.o densemat.o vector.o basemat.o sparsmat.o algprim.o brick.o manifold.o bspline2d.o meshsurf.o csgeom.o polyhedra.o curve2d.o singularref.o edgeflw.o solid.o explicitcurve2d.o specpoin.o gencyl.o revolution.o genmesh.o genmesh2d.o spline3d.o surface.o identify.o triapprox.o meshstlsurface.o stlline.o stltopology.o stltool.o stlgeom.o stlgeomchart.o stlgeommesh.o table.o optmem.o spbita2d.o hashtabl.o sort.o flags.o seti.o bitarray.o array.o symbolta.o mystring.o moveablemem.o spline.o splinegeometry.o ngnewdelete.o nglib.o hprefinement.o Partition_Inter2d.o Partition_Loop.o Partition_Loop3d.o Partition_Inter3d.o Partition_Loop2d.o Partition_Spliter.o occgeom.o occgenmesh.o occmeshsurf.o -o libNETGEN.so;
rm -rf linopt.o bfgs.o linsearch.o global.o bisect.o meshtool.o refine.o ruler3.o improve3.o adfront3.o tetrarls.o prism2rls.o profiler.o pyramidrls.o pyramid2rls.o netrule3.o ruler2.o meshclass.o improve2.o adfront2.o netrule2.o triarls.o geomsearch.o secondorder.o meshtype.o parser3.o quadrls.o specials.o parser2.o meshing2.o meshing3.o meshfunc.o localh.o improve2gen.o delaunay.o boundarylayer.o msghandler.o meshfunc2d.o smoothing2.o smoothing3.o topology.o curvedelems_new.o clusters.o zrefine.o ngexception.o geomtest3d.o geom2d.o geom2dmesh.o geom3d.o adtree.o transform3d.o geomfuncs.o polynomial.o densemat.o vector.o basemat.o sparsmat.o algprim.o brick.o manifold.o bspline2d.o meshsurf.o csgeom.o polyhedra.o curve2d.o singularref.o edgeflw.o solid.o explicitcurve2d.o specpoin.o gencyl.o revolution.o genmesh.o genmesh2d.o spline3d.o surface.o identify.o triapprox.o meshstlsurface.o stlline.o stltopology.o stltool.o stlgeom.o stlgeomchart.o stlgeommesh.o table.o optmem.o spbita2d.o hashtabl.o sort.o flags.o seti.o bitarray.o array.o symbolta.o mystring.o moveablemem.o spline.o splinegeometry.o ngnewdelete.o nglib.o hprefinement.o Partition_Inter2d.o Partition_Loop.o Partition_Loop3d.o Partition_Inter3d.o Partition_Loop2d.o Partition_Spliter.o occgeom.o occgenmesh.o occmeshsurf.o csgparser.o dynamicmem.o extrusion.o occconstruction.o parthreads.o readuser.o writeabaqus.o writediffpack.o writeelmer.o writefeap.o writefluent.o writegmsh.o writejcm.o writepermas.o writetecplot.o writetochnog.o writeuser.o wuchemnitz.o,
Netgen_ok=no)
AC_CACHE_VAL(salome_netgen_lib,[
AC_TRY_LINK(
#include <iostream.h>
#include <fstream.h>
namespace nglib {
#include "nglib.h"
}
#define OCCGEOMETRY
#include <occgeom.hpp>
,nglib::Ng_Init();
netgen::OCCGeometry occgeo;
nglib::Ng_Exit();,
eval "salome_netgen_lib=yes";rm -rf libNETGEN.so,eval "salome_netgen_lib=no";rm -rf libNETGEN.so)
])
Netgen_ok="$salome_netgen_lib"
LDFLAGS="$LDFLAGS_old"
fi
CPPFLAGS="$CPPFLAGS_old"
CXXFLAGS="$CXXFLAGS_old"
if test "x$Netgen_ok" == xno ; then
AC_MSG_RESULT(no)
AC_MSG_WARN(Netgen libraries not found or not properly installed)
else
AC_MSG_RESULT(yes)
fi
fi
AC_SUBST(NETGEN_INCLUDES)
AC_SUBST(NETGEN_LIBS_DIR)
AC_LANG_RESTORE
])dnl

View File

@ -1,132 +1,53 @@
AC_DEFUN([CHECK_NETGEN],[
#------------------------------------------------------------
# Check availability of Salome NETGEN mesh plugin module
# distribution
#------------------------------------------------------------
AC_REQUIRE([AC_PROG_CXX])dnl
AC_REQUIRE([AC_PROG_CXXCPP])dnl
AC_DEFUN([CHECK_NETGENPLUGIN],[
AC_CHECKING(for Netgen 4.5 and higher Libraries)
AC_CHECKING(for NETGEN mesh plugin)
AC_LANG_SAVE
AC_LANG_CPLUSPLUS
NGplugin_ok=no
AC_ARG_WITH(netgen,
[ --with-netgen=DIR root directory path of NETGEN installation],
NETGEN_HOME=$withval,NETGEN_HOME="")
NETGENPLUGIN_LDLAGS=""
NETGENPLUGIN_CXXFLAGS=""
NETGEN_INCLUDES=""
NETGEN_LIBS_DIR=""
AC_ARG_WITH(netgenplugin,
[ --with-netgenplugin=DIR root directory path of NETGEN mesh plugin installation ],
NETGENPLUGIN_DIR="$withval",NETGENPLUGIN_DIR="")
Netgen_ok=no
if test "x$NETGENPLUGIN_DIR" == "x" ; then
if test "x$NETGEN_HOME" == "x" ; then
# no --with-netgenplugin-dir option used
# no --with-netgen option used
if test "x$NETGENHOME" != "x" ; then
if test "x$NETGENPLUGIN_ROOT_DIR" != "x" ; then
# NETGENHOME environment variable defined
NETGEN_HOME=$NETGENHOME
# NETGENPLUGIN_ROOT_DIR environment variable defined
NETGENPLUGIN_DIR=$NETGENPLUGIN_ROOT_DIR
fi
#
fi
if test "x$NETGEN_HOME" != "x"; then
if test -f ${NETGENPLUGIN_DIR}/lib${LIB_LOCATION_SUFFIX}/salome/libNETGENEngine.so ; then
NGplugin_ok=yes
AC_MSG_RESULT(Using NETGEN mesh plugin distribution in ${NETGENPLUGIN_DIR})
echo
echo
echo -------------------------------------------------
echo You are about to choose to use somehow the
echo Netgen Library to generate Tetrahedric mesh.
echo
echo WARNING
echo ----------------------------------------------------------
echo ----------------------------------------------------------
echo You are strongly advised to consult the file
echo NETGENPLUGIN_SRC/src/ReadMeForNgUsers, particularly about
echo assumptions made on the installation of the Netgen
echo application and libraries.
echo Ask your system administrator for those details.
echo ----------------------------------------------------------
echo ----------------------------------------------------------
echo
echo
if test "x$NETGENPLUGIN_ROOT_DIR" == "x" ; then
NETGENPLUGIN_ROOT_DIR=${NETGENPLUGIN_DIR}
fi
AC_SUBST(NETGENPLUGIN_ROOT_DIR)
NETGENPLUGIN_LDFLAGS=-L${NETGENPLUGIN_DIR}/lib${LIB_LOCATION_SUFFIX}/salome
NETGENPLUGIN_CXXFLAGS=-I${NETGENPLUGIN_DIR}/include/salome
AC_SUBST(NETGENPLUGIN_LDFLAGS)
AC_SUBST(NETGENPLUGIN_CXXFLAGS)
NETGEN_INCLUDES="-I$NETGEN_HOME/include"
NETGEN_LIBS_DIR="$NETGEN_HOME/lib/LINUX"
CPPFLAGS_old="$CPPFLAGS"
CXXFLAGS_old="$CXXFLAGS"
CPPFLAGS="$NETGEN_INCLUDES $CAS_CPPFLAGS $CPPFLAGS"
CXXFLAGS="$NETGEN_INCLUDES $CAS_CPPFLAGS $CXXFLAGS"
AC_MSG_CHECKING(for Netgen header file)
AC_CHECK_HEADER(nglib.h,Netgen_ok=yes,Netgen_ok=no)
if test "x$Netgen_ok" == "xyes"; then
AC_MSG_CHECKING(for Netgen libraries)
LDFLAGS_old="$LDFLAGS"
LDFLAGS="-L. -lNETGEN $CAS_LDPATH -lTKBRep -lTKShHealing -lTKSTEP -lTKXSBase -lTKIGES -lTKSTL -lTKTopAlgo $LDFLAGS"
AC_TRY_COMPILE(#include <iostream.h>
#include <fstream.h>
namespace nglib {
#include "nglib.h"
}
#define OCCGEOMETRY
#include <occgeom.hpp>
,nglib::Ng_Init();
netgen::OCCGeometry occgeo;
nglib::Ng_Exit();,Netgen_ok=yes;ar x "$NETGEN_LIBS_DIR/libnginterface.a";
ar x "$NETGEN_LIBS_DIR/libocc.a";
ar x "$NETGEN_LIBS_DIR/libcsg.a";
ar x "$NETGEN_LIBS_DIR/libgprim.a";
ar x "$NETGEN_LIBS_DIR/libmesh.a";
ar x "$NETGEN_LIBS_DIR/libopti.a";
ar x "$NETGEN_LIBS_DIR/libgen.a";
ar x "$NETGEN_LIBS_DIR/libla.a";
ar x "$NETGEN_LIBS_DIR/libstlgeom.a";
ar x "$NETGEN_LIBS_DIR/libgeom2d.a";
$CXX -shared linopt.o bfgs.o linsearch.o global.o bisect.o meshtool.o refine.o ruler3.o improve3.o adfront3.o tetrarls.o prism2rls.o profiler.o pyramidrls.o pyramid2rls.o netrule3.o ruler2.o meshclass.o improve2.o adfront2.o netrule2.o triarls.o geomsearch.o secondorder.o meshtype.o parser3.o quadrls.o specials.o parser2.o meshing2.o meshing3.o meshfunc.o localh.o improve2gen.o delaunay.o boundarylayer.o msghandler.o meshfunc2d.o smoothing2.o smoothing3.o topology.o curvedelems_new.o clusters.o zrefine.o ngexception.o geomtest3d.o geom2d.o geom2dmesh.o geom3d.o adtree.o transform3d.o geomfuncs.o polynomial.o densemat.o vector.o basemat.o sparsmat.o algprim.o brick.o manifold.o bspline2d.o meshsurf.o csgeom.o polyhedra.o curve2d.o singularref.o edgeflw.o solid.o explicitcurve2d.o specpoin.o gencyl.o revolution.o genmesh.o genmesh2d.o spline3d.o surface.o identify.o triapprox.o meshstlsurface.o stlline.o stltopology.o stltool.o stlgeom.o stlgeomchart.o stlgeommesh.o table.o optmem.o spbita2d.o hashtabl.o sort.o flags.o seti.o bitarray.o array.o symbolta.o mystring.o moveablemem.o spline.o splinegeometry.o ngnewdelete.o nglib.o hprefinement.o Partition_Inter2d.o Partition_Loop.o Partition_Loop3d.o Partition_Inter3d.o Partition_Loop2d.o Partition_Spliter.o occgeom.o occgenmesh.o occmeshsurf.o -o libNETGEN.so;
rm -rf linopt.o bfgs.o linsearch.o global.o bisect.o meshtool.o refine.o ruler3.o improve3.o adfront3.o tetrarls.o prism2rls.o profiler.o pyramidrls.o pyramid2rls.o netrule3.o ruler2.o meshclass.o improve2.o adfront2.o netrule2.o triarls.o geomsearch.o secondorder.o meshtype.o parser3.o quadrls.o specials.o parser2.o meshing2.o meshing3.o meshfunc.o localh.o improve2gen.o delaunay.o boundarylayer.o msghandler.o meshfunc2d.o smoothing2.o smoothing3.o topology.o curvedelems_new.o clusters.o zrefine.o ngexception.o geomtest3d.o geom2d.o geom2dmesh.o geom3d.o adtree.o transform3d.o geomfuncs.o polynomial.o densemat.o vector.o basemat.o sparsmat.o algprim.o brick.o manifold.o bspline2d.o meshsurf.o csgeom.o polyhedra.o curve2d.o singularref.o edgeflw.o solid.o explicitcurve2d.o specpoin.o gencyl.o revolution.o genmesh.o genmesh2d.o spline3d.o surface.o identify.o triapprox.o meshstlsurface.o stlline.o stltopology.o stltool.o stlgeom.o stlgeomchart.o stlgeommesh.o table.o optmem.o spbita2d.o hashtabl.o sort.o flags.o seti.o bitarray.o array.o symbolta.o mystring.o moveablemem.o spline.o splinegeometry.o ngnewdelete.o nglib.o hprefinement.o Partition_Inter2d.o Partition_Loop.o Partition_Loop3d.o Partition_Inter3d.o Partition_Loop2d.o Partition_Spliter.o occgeom.o occgenmesh.o occmeshsurf.o csgparser.o dynamicmem.o extrusion.o occconstruction.o parthreads.o readuser.o writeabaqus.o writediffpack.o writeelmer.o writefeap.o writefluent.o writegmsh.o writejcm.o writepermas.o writetecplot.o writetochnog.o writeuser.o wuchemnitz.o,
Netgen_ok=no)
AC_CACHE_VAL(salome_netgen_lib,[
AC_TRY_LINK(
#include <iostream.h>
#include <fstream.h>
namespace nglib {
#include "nglib.h"
}
#define OCCGEOMETRY
#include <occgeom.hpp>
,nglib::Ng_Init();
netgen::OCCGeometry occgeo;
nglib::Ng_Exit();,
eval "salome_netgen_lib=yes";rm -rf libNETGEN.so,eval "salome_netgen_lib=no";rm -rf libNETGEN.so)
])
Netgen_ok="$salome_netgen_lib"
LDFLAGS="$LDFLAGS_old"
fi
CPPFLAGS="$CPPFLAGS_old"
CXXFLAGS="$CXXFLAGS_old"
if test "x$Netgen_ok" == xno ; then
AC_MSG_RESULT(no)
AC_MSG_WARN(Netgen libraries not found or not properly installed)
else
AC_MSG_RESULT(yes)
fi
else
AC_MSG_WARN("Cannot find compiled NETGEN mesh plugin distribution")
fi
AC_SUBST(NETGEN_INCLUDES)
AC_SUBST(NETGEN_LIBS_DIR)
AC_LANG_RESTORE
AC_MSG_RESULT(for NETGEN mesh plugin: $NGplugin_ok)
])dnl

View File

@ -1,6 +1,8 @@
# common directories to put headerfiles
inc_builddir=$(top_builddir)/include/salome
MODULE_NAME=@MODULE_NAME@
@SET_MAKE@
SHELL=/bin/sh
@ -10,7 +12,7 @@ HAVE_SSTREAM=@HAVE_SSTREAM@
LIBS=@LIBS@
LDFLAGS=@LDFLAGS@ -L$(top_builddir)/lib/salome -Xlinker -rpath-link -Xlinker $(top_builddir)/lib/salome
LDFLAGS=@LDFLAGS@ -L$(top_builddir)/lib@LIB_LOCATION_SUFFIX@/salome -Xlinker -rpath-link -Xlinker $(top_builddir)/lib@LIB_LOCATION_SUFFIX@/salome
# add libstdc++ to link c++ library with libtool !
LDFLAGS+= -lstdc++
@ -34,6 +36,15 @@ CXX = @CXX@
CXXFLAGS = @CXXFLAGS@
CXX_DEPEND_FLAG = @CXX_DEPEND_FLAG@
# FORTRAN
F77 = @F77@
FC = @FC@
FFLAGS = @FFLAGS@
FCFLAGS = @FCFLAGS@
FLIBS = @FLIBS@
FCLIBS = @FCLIBS@
# BOOST Library
BOOST_CPPFLAGS = @BOOST_CPPFLAGS@
@ -173,7 +184,7 @@ SALOME_INCLUDES = \
CPPFLAGS += -DSOLIDGEOM -DLINUX $(OCC_INCLUDES) $(SALOME_INCLUDES) $(BOOST_CPPFLAGS)
CXXFLAGS += -DSOLIDGEOM -DLINUX $(OCC_CXXFLAGS) $(SALOME_INCLUDES)
LDFLAGS += -lSMESHimpl -lSMESHEngine -lStdMeshers -lStdMeshersEngine -L${KERNEL_ROOT_DIR}/lib/salome -L${SMESH_ROOT_DIR}/lib/salome -L${GEOM_ROOT_DIR}/lib/salome -lSalomeGenericObj
LDFLAGS += -lSMESHimpl -lSMESHEngine -lStdMeshers -lStdMeshersEngine -L${KERNEL_ROOT_DIR}/lib@LIB_LOCATION_SUFFIX@/salome -L${SMESH_ROOT_DIR}/lib@LIB_LOCATION_SUFFIX@/salome -L${GEOM_ROOT_DIR}/lib@LIB_LOCATION_SUFFIX@/salome -lSalomeGenericObj
# add corba libs when link salome application !
#LDFLAGS+= $(CORBA_LIBS)
@ -203,7 +214,7 @@ LN_S=@LN_S@
prefix=@prefix@
exec_prefix=@exec_prefix@
bindir=@bindir@/salome
libdir=@libdir@/salome
libdir=@exec_prefix@/lib@LIB_LOCATION_SUFFIX@/salome
# warning : if user give this path in configure we could have salome/salome :-(
includedir=@includedir@/salome
datadir=@datadir@/salome

View File

@ -22,11 +22,15 @@ AC_CANONICAL_HOST
PACKAGE=salome
AC_SUBST(PACKAGE)
VERSION=3.2.0
XVERSION=0x030200
VERSION=3.2.5
XVERSION=0x030205
AC_SUBST(VERSION)
AC_SUBST(XVERSION)
# set up MODULE_NAME variable for dynamic construction of directories (resources, etc.)
MODULE_NAME=netgenplugin
AC_SUBST(MODULE_NAME)
dnl
dnl Initialize source and build root directories
dnl
@ -102,6 +106,23 @@ AC_DEPEND_FLAG
# AC_CC_WARNINGS([ansi])
cc_ok=yes
echo
echo ---------------------------------------------
echo testing Fortran
echo ---------------------------------------------
echo
fortran_ok=no
AC_PROG_F77
AC_F77_LIBRARY_LDFLAGS
AC_PROG_FC
AC_FC_LIBRARY_LDFLAGS
if test "X$FC" != "X" ; then
fortran_ok=yes
fi
echo
dnl Library libdl :
AC_CHECK_LIB(dl,dlopen)
@ -326,7 +347,7 @@ echo ---------------------------------------------
echo
echo Configure
variables="cc_ok boost_ok lex_yacc_ok python_ok swig_ok threads_ok OpenGL_ok qt_ok vtk_ok hdf5_ok omniORB_ok occ_ok doxygen_ok graphviz_ok Kernel_ok Geom_ok SMesh_ok Netgen_ok"
variables="cc_ok fortran_ok boost_ok lex_yacc_ok python_ok swig_ok threads_ok OpenGL_ok qt_ok vtk_ok hdf5_ok omniORB_ok occ_ok doxygen_ok graphviz_ok Kernel_ok Geom_ok SMesh_ok Netgen_ok"
for var in $variables
do
@ -356,7 +377,7 @@ else
fi
# make other build directories
for rep in salome_adm adm_local doc bin/salome include/salome lib/salome share/salome/resources idl
for rep in salome_adm adm_local doc bin/salome include/salome lib${LIB_LOCATION_SUFFIX}/salome share/salome/resources/${MODULE_NAME} idl
do
# if test ! -d $rep ; then
# eval mkdir $rep

View File

@ -46,7 +46,7 @@ $(IDL_FILES:%=$(top_builddir)/idl/salome/%):$(IDL_FILES:%=$(top_srcdir)/idl/%)
# python wrap
lib: pyidl
PYTHON_BUILD_SITE=$(top_builddir)/lib/python$(PYTHON_VERSION)/site-packages/@PACKAGE@
PYTHON_BUILD_SITE=$(top_builddir)/lib@LIB_LOCATION_SUFFIX@/python$(PYTHON_VERSION)/site-packages/@PACKAGE@
pyidl: $(PYTHON_BUILD_SITE) $(IDL_FILES:%.idl=$(PYTHON_BUILD_SITE)/%_idl.py)

View File

@ -67,8 +67,7 @@ CPPFLAGS += $(QT_INCLUDES) $(OCC_INCLUDES) $(PYTHON_INCLUDES) \
CXXFLAGS += -I${KERNEL_ROOT_DIR}/include/salome -I${GUI_ROOT_DIR}/include/salome \
-I${GEOM_ROOT_DIR}/include/salome -I${SMESH_ROOT_DIR}/include/salome
LDFLAGS += -lSMESH $(OCC_KERNEL_LIBS) -L${KERNEL_ROOT_DIR}/lib/salome \
-L${GUI_ROOT_DIR}/lib/salome -L${GEOM_ROOT_DIR}/lib/salome \
-L${SMESH_ROOT_DIR}/lib/salome
LDFLAGS += $(OCC_KERNEL_LIBS) $(KERNEL_LDFLAGS) $(GUI_LDFLAGS) ${GEOM_LDFLAGS} ${SMESH_LDFLAGS} -lSMESH
@CONCLUDE@

View File

@ -77,12 +77,6 @@ LIB_OBJ_LO = $(LIB_OBJ_O:%.o=%.lo)
$(LIB): $(LIB_OBJ_O) $(LIB_OBJ_LO)
LIB_OBJ = $(LIB_OBJ_LO)
ifeq ($(F77),gfortran)
LDFLAGS += -lgfortran
else
LDFLAGS += -lg2c
endif
LDFLAGS += $(OCC_LDPATH) -lTKBRep -lTKShHealing -lTKSTEP -lTKXSBase -lTKIGES
LDFLAGS += $(OCC_LDPATH) $(FCLIBS) -lTKBRep -lTKShHealing -lTKSTEP -lTKXSBase -lTKIGES
MOSTLYCLEAN += $(LIB_OBJ_O)

View File

@ -1,23 +1,40 @@
The Netgen 4.5 from the web location : http://www.hpfem.jku.at/netgen/
(CVS access) is used in the SMESH Module of Salome3 distribution.
How to build Netgen for Salome
1. How to build Netgen for Salome
------------------------------
Patch the netgen 4.5 distribution:
1.1. Download Netgen 4.5 from the NETGEN home site (see above).
1.2. Unpack the downloaded Netgen 4.5 archive
(hereafter we assume that this is netgen45 directory)
1.3. Patch the netgen 4.5 distribution for SALOME:
$ cd netgen45
$ patch -p1 < patch_directory/netgen45ForSalome.patch
Then run makeForSalome.sh (it will be created by the patch):
1.4. For 64-bit platform you also need to apply another patch:
$ cd netgen45
$ patch -p1 < patch_directory/netgen45lib64.patch
1.5. Set CASROOT environment variable to OCCT installation path,
since Netgen 4.5 requires Open CASCADE Technology:
$ setenv CASROOT <occt_installation_path>
1.6. Compile and install netgen 4.5. To do this, simply run
makeForSalome.sh script (it is created from the patch):
$ sh makeForSalome.sh
Additional information for maintainers
2. Additional information for maintainers
--------------------------------------
The file check_NETGENPLUGIN.m4 assumes
that Netgen is installed in the directory <netgen_installation_path> as follow:
The file check_NETGEN.m4 assumes that Netgen is installed in
the directory <netgen_installation_path> as follow:
prompt> ls <netgen_installation_path>
@ -50,17 +67,16 @@ edgeflw.hpp hpref_pyramid.hpp msghandler.hpp sparsmat.hpp
prompt> ls <netgen_installation_path>/lib
LINUX/
prompt> ls <netgen_installation_path>/lib/LINUX
libcsg.a libgeom2d.a libla.a libnginterface.a libopti.a
libgen.a libgprim.a libmesh.a libocc.a libstlgeom.a
The library files can be also installed in the LINUX or LINUX64
subfolder of the lib directory.
All the libraries *.a should be compiled without the option -DOPENGL.
netgen45 is assumed to be the directory downloaded from the above web
location archive of Netgen. The library
<netgen_installation_path>/lib/LINUX/libnginterface.a should contain the objects
<netgen_installation_path>/lib/libnginterface.a should contain the objects
nglib.o (from netgen45/libsrc/interface/nglib.cpp) and ngnewdelete.o
(from netgen45/ngtcltk/ngnewdelete.cpp).
@ -72,7 +88,7 @@ nglib.o and ngnewdelete.o to the library libnginterface.a and
recompile the libraries only.
All this job is done by applying the patch and running the script makeForSalome.sh.
Th suggested patch alters some Netgen sources to compile them.
The suggested patch alters some Netgen sources to compile them.
Michael SAZONOV
m-sazonov@opencascade.com

File diff suppressed because it is too large Load Diff

45
src/NETGEN/netgen45lib64.patch Executable file
View File

@ -0,0 +1,45 @@
diff -ur netgen-4.5.old/libsrc/makefile.inc netgen-4.5.new/libsrc/makefile.inc
--- netgen-4.5/libsrc/makefile.inc 2006-04-27 13:12:54.000000000 +0400
+++ netgen-4.5/libsrc/makefile.inc 2006-09-05 14:16:32.000000000 +0400
@@ -14,7 +14,7 @@
#
include $(LIBSRC_DIR)/makefile.mach.$(MACHINE)
#
-CPLUSPLUSFLAGS1 = -c -I$(LIBSRC_DIR)/include -I$(OCCINC_DIR) \
+CPLUSPLUSFLAGS1 = -c -m64 -fPIC -I$(LIBSRC_DIR)/include -I$(OCCINC_DIR) \
-DOCCGEOMETRY -DOCC52 -DHAVE_IOSTREAM -DHAVE_LIMITS_H
#
ARFLAGS = r
diff -ur netgen-4.5.old/libsrc/makefile.mach.LINUX64 netgen-4.5.new/libsrc/makefile.mach.LINUX64
--- netgen-4.5/libsrc/makefile.mach.LINUX64 2006-03-29 15:09:32.000000000 +0400
+++ netgen-4.5/libsrc/makefile.mach.LINUX64 2006-09-07 15:48:39.000000000 +0400
@@ -11,7 +11,7 @@
#
#
CFLAGS2 =
-CPLUSPLUSFLAGS2 = -pg -march=nocona -O2 -DLINUX -DOPENGL \
+CPLUSPLUSFLAGS2 = -pg -march=nocona -O2 -DLINUX \
-ftemplate-depth-99 -finline-limit=100000 \
-fforce-addr -funroll-loops \
-DTRAFO -DNGSOLVE -DnoADDON -DnoLAPACK -DnoFAST \
@@ -23,7 +23,7 @@
#
#
-LINKFLAGS2 = -pg -L/usr/openwin/lib64 -L/usr/X11R6/lib64 -L/usr/lib/GL3.5 -L/usr/lib64
+LINKFLAGS2 = -fPIC -pg -L/usr/openwin/lib64 -L/usr/X11R6/lib64 -L/usr/lib/GL3.5 -L/usr/lib64
SYSLIB2 = -lstdc++
diff -ur netgen-4.5.old/Makefile netgen-4.5.new/Makefile
--- netgen-4.5/Makefile 2006-03-29 15:09:12.000000000 +0400
+++ netgen-4.5/Makefile 2006-09-07 15:46:07.000000000 +0400
@@ -72,7 +72,7 @@
#
#CPLUSPLUSFLAGS1 = -c -I$(LIBSRC_DIR)/include -DOPENGL
-CPLUSPLUSFLAGS1 = -c -I$(LIBSRC_DIR)/include -I$(OCCINC_DIR) -I./ngsolve/include -Ilibsrc/interface -DOPENGL -I$(METISINC)
+CPLUSPLUSFLAGS1 = -c -m64 -I$(LIBSRC_DIR)/include -I$(OCCINC_DIR) -I./ngsolve/include -Ilibsrc/interface -I$(METISINC)
LINKFLAGS1 = -lGL -lGLU -lX11 -lXext -lXmu
#

View File

@ -52,6 +52,9 @@ LIB_SERVER_IDL = NETGENPlugin_Algorithm.idl
LIB_CLIENT_IDL = \
SALOME_Component.idl \
SALOME_Comm.idl \
SALOME_Exception.idl \
SALOME_GenericObj.idl \
SMESH_Hypothesis.idl \
GEOM_Gen.idl \
MED.idl
@ -61,6 +64,6 @@ LIB = libNETGENEngine.la
NETGEN_INCLUDES = @NETGEN_INCLUDES@
CPPFLAGS += $(NETGEN_INCLUDES)
CXXFLAGS += $(NETGEN_INCLUDES)
LDFLAGS += -lNETGEN
LDFLAGS += -L${NETGENPLUGIN_ROOT_DIR}/lib@LIB_LOCATION_SUFFIX@/salome -lNETGEN
@CONCLUDE@