1 AC_DEFUN([CHECK_NETGEN],[
3 AC_REQUIRE([AC_PROG_CXX])dnl
4 AC_REQUIRE([AC_PROG_CXXCPP])dnl
6 AC_CHECKING(for Netgen Libraries)
12 [ --with-netgen=DIR root directory path of NETGEN installation],
13 NETGEN_HOME=$withval,NETGEN_HOME="")
20 if test "x$NETGEN_HOME" == "x" ; then
22 # no --with-netgen option used
23 if test "x$NETGENHOME" != "x" ; then
25 # NETGENHOME environment variable defined
26 NETGEN_HOME=$NETGENHOME
32 if test "x$NETGEN_HOME" != "x"; then
36 echo -------------------------------------------------
37 echo You are about to choose to use somehow the
38 echo Netgen Library to generate Tetrahedric mesh.
41 echo ----------------------------------------------------------
42 echo ----------------------------------------------------------
43 echo You are strongly advised to consult the file
44 echo NETGENPLUGIN_SRC/src/ReadMeForNgUsers, particularly about
45 echo assumptions made on the installation of the Netgen
46 echo application and libraries.
47 echo Ask your system administrator for those details.
48 echo ----------------------------------------------------------
49 echo ----------------------------------------------------------
55 NETGEN_INCLUDES="-I$NETGEN_HOME/include"
56 NETGEN_LIBS_DIR="$NETGEN_HOME/lib/LINUX"
58 CPPFLAGS_old="$CPPFLAGS"
59 CXXFLAGS_old="$CXXFLAGS"
60 CPPFLAGS="$NETGEN_INCLUDES $CPPFLAGS"
61 CXXFLAGS="$NETGEN_INCLUDES $CXXFLAGS"
63 AC_MSG_CHECKING(for Netgen header file)
65 AC_CHECK_HEADER(nglib.h,Netgen_ok=yes,Netgen_ok=no)
66 if test "x$Netgen_ok" == "xyes"; then
68 AC_MSG_CHECKING(for Netgen libraries)
70 LDFLAGS_old="$LDFLAGS"
71 LDFLAGS="-L. -lNETGEN $LDFLAGS"
73 AC_TRY_COMPILE(#include <iostream.h>
77 Ng_Exit();,Netgen_ok=yes;ar x "$NETGEN_LIBS_DIR/libnginterface.a";
78 ar x "$NETGEN_LIBS_DIR/libcsg.a";
79 ar x "$NETGEN_LIBS_DIR/libgprim.a";
80 ar x "$NETGEN_LIBS_DIR/libmesh.a";
81 ar x "$NETGEN_LIBS_DIR/libopti.a";
82 ar x "$NETGEN_LIBS_DIR/libgen.a";
83 ar x "$NETGEN_LIBS_DIR/libla.a";
84 ar x "$NETGEN_LIBS_DIR/libstlgeom.a";
85 ar x "$NETGEN_LIBS_DIR/libgeom2d.a";
86 $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 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.o clusters.o zrefine.o ngexception.o geomtest3d.o geom2d.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 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 spline2d.o splinegeometry2.o ngnewdelete.o nglib.o -o libNETGEN.so;
87 rm -rf adfront2.o adfront3.o adtree.o algprim.o array.o basemat.o bfgs.o bisect.o bitarray.o boundarylayer.o brick.o bspline2d.o clusters.o csgeom.o csgparser.o curve2d.o curvedelems.o delaunay.o densemat.o dynamicmem.o edgeflw.o explicitcurve2d.o extrusion.o flags.o gencyl.o genmesh.o geom2dmesh.o geom2d.o geom3d.o geomfuncs.o geomsearch.o geomtest3d.o global.o hashtabl.o hprefinement.o identify.o importsolution.o improve2gen.o improve2.o improve3.o linopt.o linsearch.o localh.o manifold.o meshclass.o meshfunc2d.o meshfunc.o meshing2.o meshing3.o meshstlsurface.o meshsurf.o meshtool.o meshtype.o moveablemem.o msghandler.o mystring.o netrule2.o netrule3.o ngexception.o nglib.o ngnewdelete.o optmem.o parser2.o parser3.o parthreads.o polyhedra.o polynomial.o prism2rls.o pyramid2rls.o pyramidrls.o quadrls.o readuser.o refine.o revolution.o ruler2.o ruler3.o secondorder.o seti.o singularref.o smoothing2.o smoothing3.o solid.o sort.o sparsmat.o spbita2d.o specials.o specpoin.o spline2d.o spline3d.o splinegeometry2.o stlgeomchart.o stlgeommesh.o stlgeom.o stlline.o stltool.o stltopology.o surface.o symbolta.o table.o tetrarls.o topology.o transform3d.o triapprox.o triarls.o vector.o writeabaqus.o writediffpack.o writefeap.o writefluent.o writepermas.o writetecplot.o writetochnog.o writeuser.o wuchemnitz.o zrefine.o,
90 AC_CACHE_VAL(salome_netgen_lib,[
97 eval "salome_netgen_lib=yes";rm -rf libNETGEN.so,eval "salome_netgen_lib=no";rm -rf libNETGEN.so)
99 Netgen_ok="$salome_netgen_lib"
102 LDFLAGS="$LDFLAGS_old"
105 CPPFLAGS="$CPPFLAGS_old"
106 CXXFLAGS="$CXXFLAGS_old"
108 if test "x$Netgen_ok" == xno ; then
110 AC_MSG_WARN(Netgen libraries not found or not properly installed)
116 AC_SUBST(NETGEN_INCLUDES)
117 AC_SUBST(NETGEN_LIBS_DIR)