Salome HOME
0020576: EDF 1163 SMESH: Random type of group at MED import
[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.5], [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([-Wno-portability])
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 AC_LOCAL_INSTALL
85 dnl
86 dnl libtool macro check for CC, LD, NM, LN_S, RANLIB, STRIP + pour les librairies dynamiques !
87
88 echo
89 echo ---------------------------------------------
90 echo Coniguring production
91 echo ---------------------------------------------
92 echo
93 AC_ENABLE_DEBUG(yes)
94 AC_DISABLE_PRODUCTION
95
96 echo ---------------------------------------------
97 echo testing libtool
98 echo ---------------------------------------------
99
100 dnl first, we set static to no!
101 dnl if we want it, use --enable-static
102 AC_ENABLE_STATIC(no)
103
104 AC_LIBTOOL_DLOPEN
105 AC_PROG_LIBTOOL
106
107 dnl Fix up the INSTALL macro if it s a relative path. We want the
108 dnl full-path to the binary instead.
109 case "$INSTALL" in
110    *install-sh*)
111       INSTALL='\${ROOT_BUILDDIR}'/salome_adm/unix/config_files/install-sh
112       ;;
113 esac
114
115 echo
116 echo ---------------------------------------------
117 echo testing C/C++
118 echo ---------------------------------------------
119 echo
120
121 cc_ok=no
122 dnl inutil car libtool
123 dnl AC_PROG_CC
124 AC_PROG_CXX
125 AC_CXX_WARNINGS
126 AC_CXX_TEMPLATE_OPTIONS
127 AC_DEPEND_FLAG
128 # AC_CC_WARNINGS([ansi])
129 cc_ok=yes
130
131 echo
132 echo ---------------------------------------------
133 echo testing Fortran
134 echo ---------------------------------------------
135 echo
136
137 fortran_ok=no
138 AC_PROG_F77
139 AC_F77_LIBRARY_LDFLAGS
140 AC_PROG_FC
141 AC_FC_LIBRARY_LDFLAGS
142 if test "X$FC" != "X" ; then
143     fortran_ok=yes
144     F77=$FC
145 fi
146
147 dnl AM_CONDITIONAL( USE_GFORTRAN, [test "$F77" = "gfortran"])
148
149 echo
150
151 dnl Library libdl :
152 AC_CHECK_LIB(dl,dlopen)
153
154 dnl add library libm :
155 AC_CHECK_LIB(m,ceil)
156
157 dnl
158 dnl Well we use sstream which is not in gcc pre-2.95.3
159 dnl We must test if it exists. If not, add it in include !
160 dnl
161
162 AC_CXX_HAVE_SSTREAM
163
164 dnl
165 dnl ---------------------------------------------
166 dnl testing MPICH
167 dnl ---------------------------------------------
168 dnl
169
170 CHECK_MPICH
171
172 echo
173 echo ---------------------------------------------
174 echo testing LEX \& YACC
175 echo ---------------------------------------------
176 echo
177
178 lex_yacc_ok=no
179 AC_PROG_YACC
180 AC_PROG_LEX
181 lex_yacc_ok=yes
182
183 echo
184 echo ---------------------------------------------
185 echo testing python
186 echo ---------------------------------------------
187 echo
188
189 CHECK_PYTHON
190
191 dnl echo
192 dnl echo ---------------------------------------------
193 dnl echo testing java
194 dnl echo ---------------------------------------------
195 dnl echo
196
197 dnl CHECK_JAVA
198
199 echo
200 echo ---------------------------------------------
201 echo testing swig
202 echo ---------------------------------------------
203 echo
204
205 AM_PATH_PYTHON(2.3)
206 CHECK_SWIG
207
208 echo
209 echo ---------------------------------------------
210 echo testing threads
211 echo ---------------------------------------------
212 echo
213
214 ENABLE_PTHREADS
215
216 SMESH_WITH_GUI=yes
217
218 AM_CONDITIONAL(SMESH_ENABLE_GUI, [test "${SMESH_WITH_GUI}" = "yes"])
219
220 if test "${SMESH_WITH_GUI}" = "yes"; then
221
222 echo
223 echo ---------------------------------------------
224 echo testing msg2qm
225 echo ---------------------------------------------
226 echo
227
228 CHECK_MSG2QM
229
230 fi
231
232 if test "x${GUI_DISABLE_CORBA}" != "xyes" ; then
233     echo
234     echo ---------------------------------------------
235     echo testing omniORB
236     echo ---------------------------------------------
237     echo
238
239     CHECK_OMNIORB
240
241 dnl echo
242 dnl echo ---------------------------------------------
243 dnl echo testing mico
244 dnl echo ---------------------------------------------
245 dnl echo
246
247 dnl CHECK_MICO
248
249     echo
250     echo ---------------------------------------------
251     echo default ORB : omniORB
252     echo ---------------------------------------------
253     echo
254
255     DEFAULT_ORB=omniORB
256
257     echo
258     echo ---------------------------------------------
259     echo testing Corba
260     echo ---------------------------------------------
261     echo
262
263     CHECK_CORBA
264
265     AC_SUBST_FILE(CORBA)
266     corba=make_$ORB
267     CORBA=adm_local/unix/$corba
268
269 fi
270
271
272 if test "${SMESH_WITH_GUI}" = "yes"; then
273     echo
274     echo ---------------------------------------------
275     echo testing openGL
276     echo ---------------------------------------------
277     echo
278
279     CHECK_OPENGL
280
281     echo
282     echo ---------------------------------------------
283     echo testing QT
284     echo ---------------------------------------------
285     echo
286
287     CHECK_QT
288
289     echo
290     echo ---------------------------------------------
291     echo testing VTK
292     echo ---------------------------------------------
293     echo
294
295     CHECK_VTK
296
297     echo
298     echo ---------------------------------------------
299     echo Testing GUI
300     echo ---------------------------------------------
301     echo
302
303     CHECK_SALOME_GUI
304
305     echo
306     echo ---------------------------------------------
307     echo Testing full GUI
308     echo ---------------------------------------------
309     echo
310
311     CHECK_CORBA_IN_GUI
312     if test "x${CORBA_IN_GUI}" != "xyes"; then
313       echo "failed : For configure SMESH module necessary full GUI !"
314       exit
315     fi
316 fi
317
318 echo
319 echo ---------------------------------------------
320 echo testing HDF5
321 echo ---------------------------------------------
322 echo
323
324 CHECK_HDF5
325
326 echo
327 echo ---------------------------------------------
328 echo BOOST Library
329 echo ---------------------------------------------
330 echo
331
332 CHECK_BOOST
333
334 echo
335 echo ---------------------------------------------
336 echo Testing OpenCascade
337 echo ---------------------------------------------
338 echo
339
340 CHECK_CAS
341
342 if test "${SMESH_WITH_GUI}" = "yes"; then
343
344 echo
345 echo ---------------------------------------------
346 echo Testing qwt
347 echo ---------------------------------------------
348 echo
349
350 CHECK_QWT
351
352 fi
353
354 echo
355 echo ---------------------------------------------
356 echo Testing html generators
357 echo ---------------------------------------------
358 echo
359
360 CHECK_HTML_GENERATORS
361
362 echo
363 echo ---------------------------------------------
364 echo Testing Kernel
365 echo ---------------------------------------------
366 echo
367
368 CHECK_KERNEL
369
370 echo
371 echo ---------------------------------------------
372 echo Testing Geom
373 echo ---------------------------------------------
374 echo
375
376 CHECK_GEOM
377
378 echo
379 echo ---------------------------------------------
380 echo Testing Med
381 echo ---------------------------------------------
382 echo
383
384 CHECK_MED
385
386 CHECK_PLATFORM
387
388 echo
389 echo ---------------------------------------------
390 echo Summary
391 echo ---------------------------------------------
392 echo
393
394 echo Configure
395 if test "${SMESH_WITH_GUI}" = "yes"; then
396 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"
397 fi
398
399 if test "${SMESH_WITH_GUI}" = "no"; then
400 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"
401 fi
402
403 for var in $variables
404 do
405    printf "   %10s : " `echo \$var | sed -e "s,_ok,,"`
406    eval echo \$$var
407 done
408
409 echo
410 echo "Default ORB   : $DEFAULT_ORB"
411 echo
412
413 dnl We don t need to say when we re entering directories if we re using
414 dnl GNU make becuase make does it for us.
415 if test "X$GMAKE" = "Xyes"; then
416    AC_SUBST(SETX) SETX=":"
417 else
418    AC_SUBST(SETX) SETX="set -x"
419 fi
420
421 dnl AM_CONDITIONAL(GUI_ENABLE_CORBA, [test "$GUI_DISABLE_CORBA" = no])
422 dnl AM_CONDITIONAL(ENABLE_PYCONSOLE, [test "$DISABLE_PYCONSOLE" = no])
423 dnl AM_CONDITIONAL(ENABLE_GLVIEWER, [test "$DISABLE_GLVIEWER" = no])
424 dnl AM_CONDITIONAL(ENABLE_PLOT2DVIEWER, [test "$DISABLE_PLOT2DVIEWER" = no])
425 dnl AM_CONDITIONAL(ENABLE_SUPERVGRAPHVIEWER, [test "$DISABLE_SUPERVGRAPHVIEWER" = no])
426 dnl AM_CONDITIONAL(ENABLE_OCCVIEWER, [test "$DISABLE_OCCVIEWER" = no])
427 dnl AM_CONDITIONAL(ENABLE_VTKVIEWER, [test "$DISABLE_VTKVIEWER" = no])
428 dnl AM_CONDITIONAL(ENABLE_SALOMEOBJECT, [test "$DISABLE_SALOMEOBJECT" = no])
429
430 echo
431 echo ---------------------------------------------
432 echo copying resource files, shell scripts, and
433 echo xml files
434 echo ---------------------------------------------
435 echo
436
437
438 dnl copy shells and utilities contained in the bin directory
439 dnl excluding .in files (treated in AC-OUTPUT below) and CVS
440 dnl directory
441
442 mkdir -p bin/salome
443 cd bin/salome
444
445 for i in $ROOT_SRCDIR/bin/*
446 do
447   local_bin=`echo $i | sed -e "s,$ROOT_SRCDIR,.,"`
448   case "$local_bin" in
449         *.in | *~)                    ;;
450         ./bin/CVS | ./bin/salome)                    ;;
451         *) $INSTALL $i . ; echo $local_bin ;;
452   esac
453 done
454 cd $ROOT_BUILDDIR
455
456 echo
457 echo ---------------------------------------------
458 echo generating Makefiles and configure files
459 echo ---------------------------------------------
460 echo
461
462 AC_OUTPUT_COMMANDS([ \
463   chmod +x ./bin/*; \
464   chmod +x ./bin/salome/*; \
465 ])
466
467 # This list is initiated using autoscan and must be updated manually
468 # when adding a new file <filename>.in to manage. When you execute
469 # autoscan, the Makefile list is generated in the output file configure.scan.
470 # This could be helpfull to update de configuration.
471 AC_OUTPUT([ \
472   salome_adm/unix/SALOMEconfig.h \
473   adm_local/Makefile \
474   adm_local/unix/Makefile \
475   adm_local/unix/config_files/Makefile \
476   bin/VERSION \
477   bin/Makefile \
478   SMESH_version.h \
479   doc/Makefile \
480   doc/salome/Makefile \
481   doc/salome/gui/Makefile \
482   doc/salome/gui/SMESH/doxyfile \
483   doc/salome/gui/SMESH/doxyfile_py \
484   doc/salome/tui/Makefile \
485   doc/salome/tui/SMESH/doxyfile \
486   doc/salome/tui/SMESH/sources/static/tree.js \
487   src/Makefile \
488   src/Controls/Makefile \
489   src/Driver/Makefile \
490   src/DriverDAT/Makefile \
491   src/DriverMED/Makefile \
492   src/DriverSTL/Makefile \
493   src/DriverUNV/Makefile \
494   src/MEFISTO2/Makefile \
495   src/OBJECT/Makefile \
496   src/SMDS/Makefile \
497   src/SMESH/Makefile \
498   src/SMESHClient/Makefile \
499   src/SMESHDS/Makefile \
500   src/SMESHFiltersSelection/Makefile \
501   src/SMESHGUI/Makefile \
502   src/SMESH_I/Makefile \
503   src/SMESH_SWIG/Makefile \
504   src/SMESH_SWIG_WITHIHM/Makefile \
505   src/StdMeshers/Makefile \
506   src/StdMeshersGUI/Makefile \
507   src/StdMeshers_I/Makefile \
508   resources/Makefile \
509   resources/SMESHCatalog.xml \
510   idl/Makefile \
511   Makefile
512 ])