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