Salome HOME
0020168: EDF SMESH 953: uncomplete selection with filter 'belong on geom'
[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], [4.1.4], [webmaster.salome@opencascade.com], [salome])
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 "${SMESH_WITH_GUI}" = "yes"; then
220
221 echo
222 echo ---------------------------------------------
223 echo testing msg2qm
224 echo ---------------------------------------------
225 echo
226
227 CHECK_MSG2QM
228
229 fi
230
231 if test "x${GUI_DISABLE_CORBA}" != "xyes" ; then
232     echo
233     echo ---------------------------------------------
234     echo testing omniORB
235     echo ---------------------------------------------
236     echo
237
238     CHECK_OMNIORB
239
240 dnl echo
241 dnl echo ---------------------------------------------
242 dnl echo testing mico
243 dnl echo ---------------------------------------------
244 dnl echo
245
246 dnl CHECK_MICO
247
248     echo
249     echo ---------------------------------------------
250     echo default ORB : omniORB
251     echo ---------------------------------------------
252     echo
253
254     DEFAULT_ORB=omniORB
255
256     echo
257     echo ---------------------------------------------
258     echo testing Corba
259     echo ---------------------------------------------
260     echo
261
262     CHECK_CORBA
263
264     AC_SUBST_FILE(CORBA)
265     corba=make_$ORB
266     CORBA=adm_local/unix/$corba
267
268 fi
269
270
271 if test "${SMESH_WITH_GUI}" = "yes"; then
272     echo
273     echo ---------------------------------------------
274     echo testing openGL
275     echo ---------------------------------------------
276     echo
277
278     CHECK_OPENGL
279
280     echo
281     echo ---------------------------------------------
282     echo testing QT
283     echo ---------------------------------------------
284     echo
285
286     CHECK_QT
287
288     echo
289     echo ---------------------------------------------
290     echo testing VTK
291     echo ---------------------------------------------
292     echo
293
294     CHECK_VTK
295
296     echo
297     echo ---------------------------------------------
298     echo Testing GUI
299     echo ---------------------------------------------
300     echo
301
302     CHECK_SALOME_GUI
303
304     echo
305     echo ---------------------------------------------
306     echo Testing full GUI
307     echo ---------------------------------------------
308     echo
309
310     CHECK_CORBA_IN_GUI
311     if test "x${CORBA_IN_GUI}" != "xyes"; then
312       echo "failed : For configure SMESH module necessary full GUI !"
313       exit
314     fi
315 fi
316
317 echo
318 echo ---------------------------------------------
319 echo testing HDF5
320 echo ---------------------------------------------
321 echo
322
323 CHECK_HDF5
324
325 echo
326 echo ---------------------------------------------
327 echo BOOST Library
328 echo ---------------------------------------------
329 echo
330
331 CHECK_BOOST
332
333 echo
334 echo ---------------------------------------------
335 echo Testing OpenCascade
336 echo ---------------------------------------------
337 echo
338
339 CHECK_CAS
340
341 if test "${SMESH_WITH_GUI}" = "yes"; then
342
343 echo
344 echo ---------------------------------------------
345 echo Testing qwt
346 echo ---------------------------------------------
347 echo
348
349 CHECK_QWT
350
351 fi
352
353 echo
354 echo ---------------------------------------------
355 echo Testing html generators
356 echo ---------------------------------------------
357 echo
358
359 CHECK_HTML_GENERATORS
360
361 echo
362 echo ---------------------------------------------
363 echo Testing Kernel
364 echo ---------------------------------------------
365 echo
366
367 CHECK_KERNEL
368
369 echo
370 echo ---------------------------------------------
371 echo Testing Geom
372 echo ---------------------------------------------
373 echo
374
375 CHECK_GEOM
376
377 echo
378 echo ---------------------------------------------
379 echo Testing Med
380 echo ---------------------------------------------
381 echo
382
383 CHECK_MED
384
385 CHECK_PLATFORM
386
387 echo
388 echo ---------------------------------------------
389 echo Summary
390 echo ---------------------------------------------
391 echo
392
393 echo Configure
394 if test "${SMESH_WITH_GUI}" = "yes"; then
395 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"
396 fi
397
398 if test "${SMESH_WITH_GUI}" = "no"; then
399 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"
400 fi
401
402 for var in $variables
403 do
404    printf "   %10s : " `echo \$var | sed -e "s,_ok,,"`
405    eval echo \$$var
406 done
407
408 echo
409 echo "Default ORB   : $DEFAULT_ORB"
410 echo
411
412 dnl We don t need to say when we re entering directories if we re using
413 dnl GNU make becuase make does it for us.
414 if test "X$GMAKE" = "Xyes"; then
415    AC_SUBST(SETX) SETX=":"
416 else
417    AC_SUBST(SETX) SETX="set -x"
418 fi
419
420 dnl AM_CONDITIONAL(GUI_ENABLE_CORBA, [test "$GUI_DISABLE_CORBA" = no])
421 dnl AM_CONDITIONAL(ENABLE_PYCONSOLE, [test "$DISABLE_PYCONSOLE" = no])
422 dnl AM_CONDITIONAL(ENABLE_GLVIEWER, [test "$DISABLE_GLVIEWER" = no])
423 dnl AM_CONDITIONAL(ENABLE_PLOT2DVIEWER, [test "$DISABLE_PLOT2DVIEWER" = no])
424 dnl AM_CONDITIONAL(ENABLE_SUPERVGRAPHVIEWER, [test "$DISABLE_SUPERVGRAPHVIEWER" = no])
425 dnl AM_CONDITIONAL(ENABLE_OCCVIEWER, [test "$DISABLE_OCCVIEWER" = no])
426 dnl AM_CONDITIONAL(ENABLE_VTKVIEWER, [test "$DISABLE_VTKVIEWER" = no])
427 dnl AM_CONDITIONAL(ENABLE_SALOMEOBJECT, [test "$DISABLE_SALOMEOBJECT" = no])
428
429 echo
430 echo ---------------------------------------------
431 echo copying resource files, shell scripts, and
432 echo xml files
433 echo ---------------------------------------------
434 echo
435
436
437 dnl copy shells and utilities contained in the bin directory
438 dnl excluding .in files (treated in AC-OUTPUT below) and CVS
439 dnl directory
440
441 mkdir -p bin/salome
442 cd bin/salome
443
444 for i in $ROOT_SRCDIR/bin/*
445 do
446   local_bin=`echo $i | sed -e "s,$ROOT_SRCDIR,.,"`
447   case "$local_bin" in
448         *.in | *~)                    ;;
449         ./bin/CVS | ./bin/salome)                    ;;
450         *) $INSTALL $i . ; echo $local_bin ;;
451   esac
452 done
453 cd $ROOT_BUILDDIR
454
455 echo
456 echo ---------------------------------------------
457 echo generating Makefiles and configure files
458 echo ---------------------------------------------
459 echo
460
461 AC_OUTPUT_COMMANDS([ \
462   chmod +x ./bin/*; \
463   chmod +x ./bin/salome/*; \
464 ])
465
466 # This list is initiated using autoscan and must be updated manually
467 # when adding a new file <filename>.in to manage. When you execute
468 # autoscan, the Makefile list is generated in the output file configure.scan.
469 # This could be helpfull to update de configuration.
470 AC_OUTPUT([ \
471   ./salome_adm/unix/SALOMEconfig.h \
472   ./adm_local/Makefile \
473   ./adm_local/unix/Makefile \
474   ./adm_local/unix/config_files/Makefile \
475   ./bin/VERSION \
476   ./bin/Makefile \
477   ./SMESH_version.h \
478   ./doc/Makefile \
479   ./doc/salome/Makefile \
480   ./doc/salome/gui/Makefile \
481   ./doc/salome/gui/SMESH/doxyfile \
482   ./doc/salome/gui/SMESH/doxyfile_py \
483   ./doc/salome/tui/Makefile \
484   ./doc/salome/tui/SMESH/doxyfile \
485   ./doc/salome/tui/SMESH/sources/static/tree.js \
486   ./src/Makefile \
487   ./src/Controls/Makefile \
488   ./src/Driver/Makefile \
489   ./src/DriverDAT/Makefile \
490   ./src/DriverMED/Makefile \
491   ./src/DriverSTL/Makefile \
492   ./src/DriverUNV/Makefile \
493   ./src/MEFISTO2/Makefile \
494   ./src/OBJECT/Makefile \
495   ./src/SMDS/Makefile \
496   ./src/SMESH/Makefile \
497   ./src/SMESHClient/Makefile \
498   ./src/SMESHDS/Makefile \
499   ./src/SMESHFiltersSelection/Makefile \
500   ./src/SMESHGUI/Makefile \
501   ./src/SMESH_I/Makefile \
502   ./src/SMESH_SWIG/Makefile \
503   ./src/SMESH_SWIG_WITHIHM/Makefile \
504   ./src/StdMeshers/Makefile \
505   ./src/StdMeshersGUI/Makefile \
506   ./src/StdMeshers_I/Makefile \
507   ./resources/Makefile \
508   ./resources/SMESHCatalog.xml \
509   ./idl/Makefile \
510   Makefile
511 ])