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