]> SALOME platform Git repositories - modules/yacs.git/blob - salome_adm/unix/config_files/check_vtk.m4
Salome HOME
PR: mergefrom_BSEC_br1_14Mar04
[modules/yacs.git] / salome_adm / unix / config_files / check_vtk.m4
1 dnl  Copyright (C) 2003  OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
2 dnl  CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS 
3 dnl 
4 dnl  This library is free software; you can redistribute it and/or 
5 dnl  modify it under the terms of the GNU Lesser General Public 
6 dnl  License as published by the Free Software Foundation; either 
7 dnl  version 2.1 of the License. 
8 dnl 
9 dnl  This library is distributed in the hope that it will be useful, 
10 dnl  but WITHOUT ANY WARRANTY; without even the implied warranty of 
11 dnl  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU 
12 dnl  Lesser General Public License for more details. 
13 dnl 
14 dnl  You should have received a copy of the GNU Lesser General Public 
15 dnl  License along with this library; if not, write to the Free Software 
16 dnl  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA 
17 dnl 
18 dnl  See http://www.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org 
19 dnl
20 dnl
21 dnl
22
23 AC_DEFUN([CHECK_VTK],[
24 AC_REQUIRE([AC_PROG_CC])dnl
25 AC_REQUIRE([AC_PROG_CXX])dnl
26 AC_REQUIRE([AC_PROG_CPP])dnl
27 AC_REQUIRE([AC_PROG_CXXCPP])dnl
28
29 AC_CHECKING(for VTK)
30
31 AC_LANG_SAVE
32 AC_LANG_CPLUSPLUS
33
34 AC_SUBST(VTK_INCLUDES)
35 AC_SUBST(VTK_LIBS)
36 AC_SUBST(VTKPY_MODULES)
37
38 VTK_INCLUDES=""
39 VTK_LIBS=""
40 VTKPY_MODULES=""
41
42 vtk_ok=no
43
44 AC_PATH_X
45
46 if test "x$OpenGL_ok" != "xyes"
47 then
48    AC_MSG_WARN(vtk needs OpenGL correct configuration, check configure output)
49 fi
50
51 if test "x$x_libraries" != "x"
52 then
53    LXLIB="-L$x_libraries"
54 else
55    LXLIB=""
56 fi
57
58 LOCAL_INCLUDES="$OGL_INCLUDES"
59 LOCAL_LIBS="-lvtkCommon -lvtkGraphics -lvtkImaging -lvtkFiltering -lvtkIO -lvtkRendering -lvtkHybrid $OGL_LIBS $LXLIB -lX11 -lXt"
60 TRY_LINK_LIBS="-lvtkCommon $OGL_LIBS $LXLIB -lX11 -lXt"
61
62 if test -z $VTKHOME
63 then 
64    AC_MSG_WARN(undefined VTKHOME variable which specify where vtk was compiled)
65 else
66    LOCAL_INCLUDES="-I$VTKHOME/include/vtk $LOCAL_INCLUDES"
67    LOCAL_LIBS="-L$VTKHOME/lib/vtk $LOCAL_LIBS"
68    TRY_LINK_LIBS="-L$VTKHOME/lib/vtk $TRY_LINK_LIBS"
69 fi
70
71 dnl vtk headers
72 CPPFLAGS_old="$CPPFLAGS"
73 CPPFLAGS="$CPPFLAGS $LOCAL_INCLUDES"
74
75 AC_CHECK_HEADER(vtkPlane.h,vtk_ok="yes",vtk_ok="no")
76
77  CPPFLAGS="$CPPFLAGS_old"
78
79  if  test "x$vtk_ok" = "xyes"
80  then
81    VTK_INCLUDES="$LOCAL_INCLUDES"
82
83  dnl vtk libraries
84
85    AC_MSG_CHECKING(linking VTK library)
86
87   LIBS_old="$LIBS"
88 #  LIBS="$LIBS $TRY_LINK_LIBS"
89   LIBS="$LIBS $LOCAL_LIBS"
90   CPPFLAGS_old="$CPPFLAGS"
91   CPPFLAGS="$CPPFLAGS $VTK_INCLUDES"
92
93  dnl  VTKPY_MODULES="$VTKHOME/python"
94
95    AC_CACHE_VAL(salome_cv_lib_vtk,[
96      AC_TRY_LINK(
97 #include "vtkPlane.h"
98 ,   vtkPlane *p = vtkPlane::New();,
99     eval "salome_cv_lib_vtk=yes",eval "salome_cv_lib_vtk=no")
100   ])
101   vtk_ok="$salome_cv_lib_vtk"
102   LIBS="$LIBS_old"
103   CPPFLAGS="$CPPFLAGS_old"
104
105 fi
106
107 if  test "x$vtk_ok" = "xno"
108 then
109   AC_MSG_RESULT("no")
110   AC_MSG_WARN(unable to link with vtk library)
111 else
112   AC_MSG_RESULT("yes")
113   VTK_LIBS="$LOCAL_LIBS"
114   VTK_MT_LIBS="$LOCAL_LIBS"
115 fi
116
117 AC_MSG_RESULT("for vtk: $vtk_ok")
118
119 AC_LANG_RESTORE
120
121 # Save cache
122 AC_CACHE_SAVE
123
124 ])dnl
125
126