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 WITHNETGEN="yes",WITHNETGEN="no")
20 if test "$WITHNETGEN" = yes; then
24 echo -------------------------------------------------
25 echo You are about to choose to use somehow the
26 echo Netgen Library to generate Tetrahedric mesh.
29 echo ----------------------------------------------------------
30 echo ----------------------------------------------------------
31 echo You are strongly advised to consult the file
32 echo SMESH_SRC/src/NETGEN/ReadMeForNgUsers, particularly about
33 echo assumptions made on the installation of the Netgen
34 echo application and libraries.
35 echo Ask your system administrator for those details.
36 echo ----------------------------------------------------------
37 echo ----------------------------------------------------------
43 if test "$NETGEN_HOME"; then
44 NETGEN_INCLUDES="-I$NETGEN_HOME/include"
45 NETGEN_LIBS_DIR="$NETGEN_HOME/lib/LINUX"
46 NETGEN_LIBS="-L$NETGEN_LIBS_DIR"
49 CPPFLAGS_old="$CPPFLAGS"
50 CPPFLAGS="$NETGEN_INCLUDES $CPPFLAGS"
51 CXXFLAGS_old="$CXXFLAGS"
52 CXXFLAGS="$NETGEN_INCLUDES $CXXFLAGS"
54 AC_MSG_CHECKING(for Netgen header file)
56 AC_CHECK_HEADER(nglib.h,Netgen_ok=yes,Netgen_ok=no)
57 CPPFLAGS="$CPPFLAGS_old"
58 CXXFLAGS="$CXXFLAGS_old"
60 if test "$WITHNETGEN" = "yes";then
61 NETGEN_LIBS="-L. -lNETGEN"
63 AC_MSG_CHECKING(for Netgen libraries)
65 CPPFLAGS_old="$CPPFLAGS"
66 CPPFLAGS="$NETGEN_INCLUDES $CPPFLAGS"
67 CXXFLAGS_old="$CXXFLAGS"
68 CXXFLAGS="$NETGEN_INCLUDES $CXXFLAGS"
70 LDFLAGS_old="$LDFLAGS"
71 LDFLAGS="$NETGEN_LIBS $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"
103 CPPFLAGS="$CPPFLAGS_old"
104 CXXFLAGS="$CXXFLAGS_old"
108 if test "x$Netgen_ok" = xno ; then
110 AC_MSG_WARN(Netgen libraries not found or not properly installed)
113 NETGEN_LIBS="-lNETGEN"
114 CPPFLAGS="${CPPFLAGS} -DHAVE_NETGEN"
117 AC_SUBST(NETGEN_INCLUDES)
118 AC_SUBST(NETGEN_LIBS)
119 AC_SUBST(NETGEN_LIBS_DIR)