Salome HOME
Modify fmod() by '%' operator to operate with integers.
[modules/smesh.git] / configure.ac
1 #  Copyright (C) 2007-2008  CEA/DEN, EDF R&D, OPEN CASCADE
2 #
3 #  Copyright (C) 2003-2007  OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
4 #  CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
5 #
6 #  This library is free software; you can redistribute it and/or
7 #  modify it under the terms of the GNU Lesser General Public
8 #  License as published by the Free Software Foundation; either
9 #  version 2.1 of the License.
10 #
11 #  This library is distributed in the hope that it will be useful,
12 #  but WITHOUT ANY WARRANTY; without even the implied warranty of
13 #  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
14 #  Lesser General Public License for more details.
15 #
16 #  You should have received a copy of the GNU Lesser General Public
17 #  License along with this library; if not, write to the Free Software
18 #  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
19 #
20 #  See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
21 #
22 # Author : Marc Tajchman (CEA)
23 # Date : 28/06/2001
24 # Modified by : Patrick GOLDBRONN (CEA)
25 # Modified by : Marc Tajchman (CEA)
26 # Modified by : Alexander BORODIN (OCN) - autotools usage
27 # Created from configure.in.base
28 #
29 AC_INIT([Salome2 Project SMESH module], [5.1.0], [webmaster.salome@opencascade.com], [SalomeSMESH])
30 AC_CONFIG_AUX_DIR(salome_adm/unix/config_files)
31 AC_CANONICAL_HOST
32 AC_CANONICAL_TARGET
33 AM_INIT_AUTOMAKE
34
35 XVERSION=`echo $VERSION | awk -F. '{printf("0x%02x%02x%02x",$1,$2,$3)}'`
36 AC_SUBST(XVERSION)
37
38 # set up MODULE_NAME variable for dynamic construction of directories (resources, etc.)
39 MODULE_NAME=smesh
40 AC_SUBST(MODULE_NAME)
41
42 echo
43 echo ---------------------------------------------
44 echo Initialize source and build root directories
45 echo ---------------------------------------------
46 echo
47
48 dnl
49 dnl Initialize source and build root directories
50 dnl
51
52 ROOT_BUILDDIR=`pwd`
53 ROOT_SRCDIR=`echo $0 | sed -e "s,[[^/]]*$,,;s,/$,,;s,^$,.,"`
54 cd $ROOT_SRCDIR
55 ROOT_SRCDIR=`pwd`
56 cd $ROOT_BUILDDIR
57
58 AC_SUBST(ROOT_SRCDIR)
59 AC_SUBST(ROOT_BUILDDIR)
60
61 echo
62 echo Source root directory : $ROOT_SRCDIR
63 echo Build  root directory : $ROOT_BUILDDIR
64 echo
65 echo
66
67 if test -z "$AR"; then
68    AC_CHECK_PROGS(AR,ar xar,:,$PATH)
69 fi
70 AC_SUBST(AR)
71
72 dnl Export the AR macro so that it will be placed in the libtool file
73 dnl correctly.
74 export AR
75
76 echo
77 echo ---------------------------------------------
78 echo testing make
79 echo ---------------------------------------------
80 echo
81
82 AC_PROG_MAKE_SET
83 AC_PROG_INSTALL
84 dnl
85 dnl libtool macro check for CC, LD, NM, LN_S, RANLIB, STRIP + pour les librairies dynamiques !
86
87 echo
88 echo ---------------------------------------------
89 echo Coniguring production
90 echo ---------------------------------------------
91 echo
92 AC_ENABLE_DEBUG(yes)
93 AC_DISABLE_PRODUCTION
94
95 echo ---------------------------------------------
96 echo testing libtool
97 echo ---------------------------------------------
98
99 dnl first, we set static to no!
100 dnl if we want it, use --enable-static
101 AC_ENABLE_STATIC(no)
102
103 AC_LIBTOOL_DLOPEN
104 AC_PROG_LIBTOOL
105
106 dnl Fix up the INSTALL macro if it s a relative path. We want the
107 dnl full-path to the binary instead.
108 case "$INSTALL" in
109    *install-sh*)
110       INSTALL='\${ROOT_BUILDDIR}'/salome_adm/unix/config_files/install-sh
111       ;;
112 esac
113
114 echo
115 echo ---------------------------------------------
116 echo testing C/C++
117 echo ---------------------------------------------
118 echo
119
120 cc_ok=no
121 dnl inutil car libtool
122 dnl AC_PROG_CC
123 AC_PROG_CXX
124 AC_CXX_WARNINGS
125 AC_CXX_TEMPLATE_OPTIONS
126 AC_DEPEND_FLAG
127 # AC_CC_WARNINGS([ansi])
128 cc_ok=yes
129
130 echo
131 echo ---------------------------------------------
132 echo testing Fortran
133 echo ---------------------------------------------
134 echo
135
136 fortran_ok=no
137 AC_PROG_F77
138 AC_F77_LIBRARY_LDFLAGS
139 AC_PROG_FC
140 AC_FC_LIBRARY_LDFLAGS
141 if test "X$FC" != "X" ; then
142    fortran_ok=yes
143    F77=$FC
144 fi
145
146 dnl AM_CONDITIONAL( USE_GFORTRAN, [test "$F77" = "gfortran"])
147
148 echo
149
150 dnl Library libdl :
151 AC_CHECK_LIB(dl,dlopen)
152
153 dnl add library libm :
154 AC_CHECK_LIB(m,ceil)
155
156 dnl
157 dnl Well we use sstream which is not in gcc pre-2.95.3
158 dnl We must test if it exists. If not, add it in include !
159 dnl
160
161 AC_CXX_HAVE_SSTREAM
162
163 dnl
164 dnl ---------------------------------------------
165 dnl testing MPICH
166 dnl ---------------------------------------------
167 dnl
168
169 CHECK_MPICH
170
171 echo
172 echo ---------------------------------------------
173 echo testing LEX \& YACC
174 echo ---------------------------------------------
175 echo
176
177 lex_yacc_ok=no
178 AC_PROG_YACC
179 AC_PROG_LEX
180 lex_yacc_ok=yes
181
182 echo
183 echo ---------------------------------------------
184 echo testing python
185 echo ---------------------------------------------
186 echo
187
188 CHECK_PYTHON
189
190 dnl echo
191 dnl echo ---------------------------------------------
192 dnl echo testing java
193 dnl echo ---------------------------------------------
194 dnl echo
195
196 dnl CHECK_JAVA
197
198 echo
199 echo ---------------------------------------------
200 echo testing swig
201 echo ---------------------------------------------
202 echo
203
204 AM_PATH_PYTHON(2.3)
205 CHECK_SWIG
206
207 echo
208 echo ---------------------------------------------
209 echo testing threads
210 echo ---------------------------------------------
211 echo
212
213 ENABLE_PTHREADS
214
215 SMESH_WITH_GUI=yes
216
217 AM_CONDITIONAL(SMESH_ENABLE_GUI, [test "${SMESH_WITH_GUI}" = "yes"])
218
219 if test "x${GUI_DISABLE_CORBA}" != "xyes" ; then
220     echo
221     echo ---------------------------------------------
222     echo testing omniORB
223     echo ---------------------------------------------
224     echo
225
226     CHECK_OMNIORB
227
228 dnl echo
229 dnl echo ---------------------------------------------
230 dnl echo testing mico
231 dnl echo ---------------------------------------------
232 dnl echo
233
234 dnl CHECK_MICO
235
236     echo
237     echo ---------------------------------------------
238     echo default ORB : omniORB
239     echo ---------------------------------------------
240     echo
241
242     DEFAULT_ORB=omniORB
243
244     echo
245     echo ---------------------------------------------
246     echo testing Corba
247     echo ---------------------------------------------
248     echo
249
250     CHECK_CORBA
251
252     AC_SUBST_FILE(CORBA)
253     corba=make_$ORB
254     CORBA=adm_local/unix/$corba
255
256 fi
257
258
259 if test "${SMESH_WITH_GUI}" = "yes"; then
260     echo
261     echo ---------------------------------------------
262     echo testing openGL
263     echo ---------------------------------------------
264     echo
265
266     CHECK_OPENGL
267
268     echo
269     echo ---------------------------------------------
270     echo testing QT
271     echo ---------------------------------------------
272     echo
273
274     CHECK_QT
275
276     echo
277     echo ---------------------------------------------
278     echo testing VTK
279     echo ---------------------------------------------
280     echo
281
282     CHECK_VTK
283
284     echo
285     echo ---------------------------------------------
286     echo Testing GUI
287     echo ---------------------------------------------
288     echo
289
290     CHECK_SALOME_GUI
291
292     echo
293     echo ---------------------------------------------
294     echo Testing full GUI
295     echo ---------------------------------------------
296     echo
297
298     CHECK_CORBA_IN_GUI
299     if test "x${CORBA_IN_GUI}" != "xyes"; then
300       echo "failed : For configure SMESH module necessary full GUI !"
301       exit
302     fi
303 fi
304
305 echo
306 echo ---------------------------------------------
307 echo testing HDF5
308 echo ---------------------------------------------
309 echo
310
311 CHECK_HDF5
312
313 echo
314 echo ---------------------------------------------
315 echo BOOST Library
316 echo ---------------------------------------------
317 echo
318
319 CHECK_BOOST
320
321 echo
322 echo ---------------------------------------------
323 echo Testing OpenCascade
324 echo ---------------------------------------------
325 echo
326
327 CHECK_CAS
328
329 if test "${SMESH_WITH_GUI}" = "yes"; then
330
331 echo
332 echo ---------------------------------------------
333 echo Testing qwt
334 echo ---------------------------------------------
335 echo
336
337 CHECK_QWT
338
339 fi
340
341 echo
342 echo ---------------------------------------------
343 echo Testing html generators
344 echo ---------------------------------------------
345 echo
346
347 CHECK_HTML_GENERATORS
348
349 echo
350 echo ---------------------------------------------
351 echo Testing Kernel
352 echo ---------------------------------------------
353 echo
354
355 CHECK_KERNEL
356
357 echo
358 echo ---------------------------------------------
359 echo Testing Geom
360 echo ---------------------------------------------
361 echo
362
363 CHECK_GEOM
364
365 echo
366 echo ---------------------------------------------
367 echo Testing Med
368 echo ---------------------------------------------
369 echo
370
371 CHECK_MED
372
373 CHECK_PLATFORM
374
375 echo
376 echo ---------------------------------------------
377 echo Summary
378 echo ---------------------------------------------
379 echo
380
381 echo Configure
382 if test "${SMESH_WITH_GUI}" = "yes"; then
383 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 qwt_ok Kernel_ok Geom_ok Med_ok SalomeGUI_ok"
384 fi
385
386 if test "${SMESH_WITH_GUI}" = "no"; then
387 variables="cc_ok fortran_ok boost_ok lex_yacc_ok python_ok swig_ok threads_ok hdf5_ok omniORB_ok occ_ok doxygen_ok graphviz_ok Kernel_ok Geom_ok Med_ok"
388 fi
389
390 for var in $variables
391 do
392    printf "   %10s : " `echo \$var | sed -e "s,_ok,,"`
393    eval echo \$$var
394 done
395
396 echo
397 echo "Default ORB   : $DEFAULT_ORB"
398 echo
399
400 dnl We don t need to say when we re entering directories if we re using
401 dnl GNU make becuase make does it for us.
402 if test "X$GMAKE" = "Xyes"; then
403    AC_SUBST(SETX) SETX=":"
404 else
405    AC_SUBST(SETX) SETX="set -x"
406 fi
407
408 dnl AM_CONDITIONAL(GUI_ENABLE_CORBA, [test "$GUI_DISABLE_CORBA" = no])
409 dnl AM_CONDITIONAL(ENABLE_PYCONSOLE, [test "$DISABLE_PYCONSOLE" = no])
410 dnl AM_CONDITIONAL(ENABLE_GLVIEWER, [test "$DISABLE_GLVIEWER" = no])
411 dnl AM_CONDITIONAL(ENABLE_PLOT2DVIEWER, [test "$DISABLE_PLOT2DVIEWER" = no])
412 dnl AM_CONDITIONAL(ENABLE_SUPERVGRAPHVIEWER, [test "$DISABLE_SUPERVGRAPHVIEWER" = no])
413 dnl AM_CONDITIONAL(ENABLE_OCCVIEWER, [test "$DISABLE_OCCVIEWER" = no])
414 dnl AM_CONDITIONAL(ENABLE_VTKVIEWER, [test "$DISABLE_VTKVIEWER" = no])
415 dnl AM_CONDITIONAL(ENABLE_SALOMEOBJECT, [test "$DISABLE_SALOMEOBJECT" = no])
416
417 echo
418 echo ---------------------------------------------
419 echo generating Makefiles and configure files
420 echo ---------------------------------------------
421 echo
422
423 #AC_OUTPUT_COMMANDS([ \
424 #  chmod +x ./bin/*; \
425 #  chmod +x ./bin/salome/*; \
426 #])
427
428 # This list is initiated using autoscan and must be updated manually
429 # when adding a new file <filename>.in to manage. When you execute
430 # autoscan, the Makefile list is generated in the output file configure.scan.
431 # This could be helpfull to update de configuration.
432 AC_OUTPUT([ \
433   ./salome_adm/unix/SALOMEconfig.h \
434   ./adm_local/Makefile \
435   ./adm_local/unix/Makefile \
436   ./adm_local/unix/config_files/Makefile \
437   ./bin/VERSION \
438   ./bin/Makefile \
439   ./SMESH_version.h \
440   ./doc/Makefile \
441   ./doc/salome/Makefile \
442   ./doc/salome/gui/Makefile \
443   ./doc/salome/gui/SMESH/Makefile \
444   ./doc/salome/gui/SMESH/doxyfile \
445   ./doc/salome/gui/SMESH/doxyfile_py \
446   ./doc/salome/tui/Makefile \
447   ./doc/salome/tui/doxyfile \
448   ./src/Makefile \
449   ./src/Controls/Makefile \
450   ./src/Driver/Makefile \
451   ./src/DriverDAT/Makefile \
452   ./src/DriverMED/Makefile \
453   ./src/DriverSTL/Makefile \
454   ./src/DriverUNV/Makefile \
455   ./src/MEFISTO2/Makefile \
456   ./src/OBJECT/Makefile \
457   ./src/SMDS/Makefile \
458   ./src/SMESH/Makefile \
459   ./src/SMESHClient/Makefile \
460   ./src/SMESHDS/Makefile \
461   ./src/SMESHFiltersSelection/Makefile \
462   ./src/SMESHGUI/Makefile \
463   ./src/SMESH_I/Makefile \
464   ./src/SMESH_SWIG/Makefile \
465   ./src/SMESH_SWIG_WITHIHM/Makefile \
466   ./src/StdMeshers/Makefile \
467   ./src/StdMeshersGUI/Makefile \
468   ./src/StdMeshers_I/Makefile \
469   ./resources/Makefile \
470   ./resources/SMESHCatalog.xml \
471   ./idl/Makefile \
472   Makefile
473 ])