2004-03-26 12:05:19 +05:00
|
|
|
AC_DEFUN([CHECK_NETGEN],[
|
|
|
|
|
|
|
|
AC_REQUIRE([AC_PROG_CXX])dnl
|
|
|
|
AC_REQUIRE([AC_PROG_CXXCPP])dnl
|
|
|
|
|
2006-05-06 14:54:13 +06:00
|
|
|
AC_CHECKING(for Netgen 4.5 and higher Libraries)
|
2004-03-26 12:05:19 +05:00
|
|
|
|
|
|
|
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/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"
|
|
|
|
NETGEN_LIBS_DIR="$NETGEN_HOME/lib/LINUX"
|
|
|
|
|
|
|
|
CPPFLAGS_old="$CPPFLAGS"
|
|
|
|
CXXFLAGS_old="$CXXFLAGS"
|
2006-05-06 14:54:13 +06:00
|
|
|
CPPFLAGS="$NETGEN_INCLUDES $CAS_CPPFLAGS $CPPFLAGS"
|
|
|
|
CXXFLAGS="$NETGEN_INCLUDES $CAS_CPPFLAGS $CXXFLAGS"
|
2004-03-26 12:05:19 +05:00
|
|
|
|
|
|
|
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"
|
2006-05-06 14:54:13 +06:00
|
|
|
LDFLAGS="-L. -lNETGEN $CAS_LDPATH -lTKBRep -lTKShHealing -lTKSTEP -lTKXSBase -lTKIGES -lTKSTL -lTKTopAlgo $LDFLAGS"
|
2004-03-26 12:05:19 +05:00
|
|
|
|
|
|
|
AC_TRY_COMPILE(#include <iostream.h>
|
|
|
|
#include <fstream.h>
|
2006-05-06 14:54:13 +06:00
|
|
|
namespace nglib {
|
2004-03-26 12:05:19 +05:00
|
|
|
#include "nglib.h"
|
2006-05-06 14:54:13 +06:00
|
|
|
}
|
|
|
|
#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";
|
2004-03-26 12:05:19 +05:00
|
|
|
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";
|
2006-05-06 14:54:13 +06:00
|
|
|
$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,
|
2004-03-26 12:05:19 +05:00
|
|
|
Netgen_ok=no)
|
|
|
|
|
|
|
|
AC_CACHE_VAL(salome_netgen_lib,[
|
|
|
|
AC_TRY_LINK(
|
|
|
|
#include <iostream.h>
|
|
|
|
#include <fstream.h>
|
2006-05-06 14:54:13 +06:00
|
|
|
namespace nglib {
|
2004-03-26 12:05:19 +05:00
|
|
|
#include "nglib.h"
|
2006-05-06 14:54:13 +06:00
|
|
|
}
|
|
|
|
#define OCCGEOMETRY
|
|
|
|
#include <occgeom.hpp>
|
|
|
|
,nglib::Ng_Init();
|
|
|
|
netgen::OCCGeometry occgeo;
|
|
|
|
nglib::Ng_Exit();,
|
2004-03-26 12:05:19 +05:00
|
|
|
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
|