Salome HOME
Using AutoTools for build procedure
[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 dnl Library libdl :
119 AC_CHECK_LIB(dl,dlopen)
120
121 dnl add library libm :
122 AC_CHECK_LIB(m,ceil)
123
124 dnl
125 dnl Well we use sstream which is not in gcc pre-2.95.3
126 dnl We must test if it exists. If not, add it in include !
127 dnl
128
129 AC_CXX_HAVE_SSTREAM
130
131 dnl
132 dnl ---------------------------------------------
133 dnl testing MPICH
134 dnl ---------------------------------------------
135 dnl
136
137 CHECK_MPICH
138
139 echo
140 echo ---------------------------------------------
141 echo testing LEX \& YACC
142 echo ---------------------------------------------
143 echo
144
145 lex_yacc_ok=no
146 AC_PROG_YACC
147 AC_PROG_LEX
148 lex_yacc_ok=yes
149
150 echo
151 echo ---------------------------------------------
152 echo testing python
153 echo ---------------------------------------------
154 echo
155
156 CHECK_PYTHON
157
158 dnl echo
159 dnl echo ---------------------------------------------
160 dnl echo testing java
161 dnl echo ---------------------------------------------
162 dnl echo
163
164 dnl CHECK_JAVA
165
166 echo
167 echo ---------------------------------------------
168 echo testing swig
169 echo ---------------------------------------------
170 echo
171
172 AM_PATH_PYTHON(2.3)
173 CHECK_SWIG
174
175 echo
176 echo ---------------------------------------------
177 echo testing threads
178 echo ---------------------------------------------
179 echo
180
181 ENABLE_PTHREADS
182
183 if test "x${GUI_DISABLE_CORBA}" != "xyes" ; then
184 echo
185 echo ---------------------------------------------
186 echo testing omniORB
187 echo ---------------------------------------------
188 echo
189
190 CHECK_OMNIORB
191
192 dnl echo
193 dnl echo ---------------------------------------------
194 dnl echo testing mico
195 dnl echo ---------------------------------------------
196 dnl echo
197
198 dnl CHECK_MICO
199
200 echo
201 echo ---------------------------------------------
202 echo default ORB : omniORB
203 echo ---------------------------------------------
204 echo
205
206 DEFAULT_ORB=omniORB
207
208 echo
209 echo ---------------------------------------------
210 echo testing Corba
211 echo ---------------------------------------------
212 echo
213
214 CHECK_CORBA
215
216 AC_SUBST_FILE(CORBA)
217 corba=make_$ORB
218 CORBA=adm_local/unix/$corba
219
220 fi
221 echo
222 echo ---------------------------------------------
223 echo testing openGL
224 echo ---------------------------------------------
225 echo
226
227 CHECK_OPENGL
228
229 echo
230 echo ---------------------------------------------
231 echo testing QT
232 echo ---------------------------------------------
233 echo
234
235 CHECK_QT
236
237 echo
238 echo ---------------------------------------------
239 echo testing msg2qm
240 echo ---------------------------------------------
241 echo
242
243 CHECK_MSG2QM
244
245 echo
246 echo ---------------------------------------------
247 echo testing VTK
248 echo ---------------------------------------------
249 echo
250
251 CHECK_VTK
252
253 echo
254 echo ---------------------------------------------
255 echo testing HDF5
256 echo ---------------------------------------------
257 echo
258
259 CHECK_HDF5
260
261 echo
262 echo ---------------------------------------------
263 echo BOOST Library
264 echo ---------------------------------------------
265 echo
266
267 CHECK_BOOST
268
269 echo
270 echo ---------------------------------------------
271 echo Testing OpenCascade
272 echo ---------------------------------------------
273 echo
274
275 CHECK_CAS
276
277 echo
278 echo ---------------------------------------------
279 echo Testing qwt
280 echo ---------------------------------------------
281 echo
282
283 CHECK_QWT
284
285 echo
286 echo ---------------------------------------------
287 echo Testing html generators
288 echo ---------------------------------------------
289 echo
290
291 CHECK_HTML_GENERATORS
292
293 echo
294 echo ---------------------------------------------
295 echo Testing GUI
296 echo ---------------------------------------------
297 echo
298
299 CHECK_SALOME_GUI
300
301 echo
302 echo ---------------------------------------------
303 echo Testing full GUI
304 echo ---------------------------------------------
305 echo
306
307 CHECK_CORBA_IN_GUI
308 if test "x${CORBA_IN_GUI}" != "xyes"; then
309   echo "failed : For configure SMESH module necessary full GUI !"
310   exit
311 fi
312
313 echo
314 echo ---------------------------------------------
315 echo Testing Kernel
316 echo ---------------------------------------------
317 echo
318
319 CHECK_KERNEL
320
321 echo
322 echo ---------------------------------------------
323 echo Testing Geom
324 echo ---------------------------------------------
325 echo
326
327 CHECK_GEOM
328
329 echo
330 echo ---------------------------------------------
331 echo Testing Med
332 echo ---------------------------------------------
333 echo
334
335 CHECK_MED
336
337
338 AM_CONDITIONAL( USE_GFORTRAN, [test "$F77" = "gfortran"])
339
340 echo
341 echo ---------------------------------------------
342 echo Summary
343 echo ---------------------------------------------
344 echo
345
346 echo Configure
347 variables="cc_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"
348
349 for var in $variables
350 do
351    printf "   %10s : " `echo \$var | sed -e "s,_ok,,"`
352    eval echo \$$var
353 done
354
355 echo
356 echo "Default ORB   : $DEFAULT_ORB"
357 echo
358
359 dnl We don t need to say when we re entering directories if we re using
360 dnl GNU make becuase make does it for us.
361 if test "X$GMAKE" = "Xyes"; then
362    AC_SUBST(SETX) SETX=":"
363 else
364    AC_SUBST(SETX) SETX="set -x"
365 fi
366
367 dnl AM_CONDITIONAL(GUI_ENABLE_CORBA, [test "$GUI_DISABLE_CORBA" = no])
368 dnl AM_CONDITIONAL(ENABLE_PYCONSOLE, [test "$DISABLE_PYCONSOLE" = no])
369 dnl AM_CONDITIONAL(ENABLE_GLVIEWER, [test "$DISABLE_GLVIEWER" = no])
370 dnl AM_CONDITIONAL(ENABLE_PLOT2DVIEWER, [test "$DISABLE_PLOT2DVIEWER" = no])
371 dnl AM_CONDITIONAL(ENABLE_SUPERVGRAPHVIEWER, [test "$DISABLE_SUPERVGRAPHVIEWER" = no])
372 dnl AM_CONDITIONAL(ENABLE_OCCVIEWER, [test "$DISABLE_OCCVIEWER" = no])
373 dnl AM_CONDITIONAL(ENABLE_VTKVIEWER, [test "$DISABLE_VTKVIEWER" = no])
374 dnl AM_CONDITIONAL(ENABLE_SALOMEOBJECT, [test "$DISABLE_SALOMEOBJECT" = no])
375
376 echo
377 echo ---------------------------------------------
378 echo copying resource files, shell scripts, and
379 echo xml files
380 echo ---------------------------------------------
381 echo
382
383
384 dnl copy shells and utilities contained in the bin directory
385 dnl excluding .in files (treated in AC-OUTPUT below) and CVS
386 dnl directory
387
388 mkdir -p bin/salome
389 cd bin/salome
390
391 for i in $ROOT_SRCDIR/bin/*
392 do
393   local_bin=`echo $i | sed -e "s,$ROOT_SRCDIR,.,"`
394   case "$local_bin" in
395         *.in | *~)                    ;;
396         ./bin/CVS | ./bin/salome)                    ;;
397         *) $INSTALL $i . ; echo $local_bin ;;
398   esac
399 done
400 cd $ROOT_BUILDDIR
401
402 echo
403 echo ---------------------------------------------
404 echo generating Makefiles and configure files
405 echo ---------------------------------------------
406 echo
407
408 AC_OUTPUT_COMMANDS([ \
409   chmod +x ./bin/*; \
410   chmod +x ./bin/salome/*; \
411 ])
412
413 # This list is initiated using autoscan and must be updated manually
414 # when adding a new file <filename>.in to manage. When you execute
415 # autoscan, the Makefile list is generated in the output file configure.scan.
416 # This could be helpfull to update de configuration.
417 AC_OUTPUT([ \
418   ./salome_adm/unix/SALOMEconfig.h \
419   ./adm_local/Makefile \
420   ./adm_local/unix/Makefile \
421   ./adm_local/unix/config_files/Makefile \
422   ./bin/VERSION \
423   ./bin/Makefile \
424   ./SMESH_version.h \
425   ./doc/Makefile \
426   ./doc/salome/Makefile \
427   ./doc/salome/gui/Makefile \
428   ./doc/salome/tui/Makefile \
429   ./doc/salome/tui/SMESH/doxyfile \
430   ./doc/salome/tui/SMESH/sources/static/tree.js \
431   ./src/Makefile \
432   ./src/Controls/Makefile \
433   ./src/Driver/Makefile \
434   ./src/DriverDAT/Makefile \
435   ./src/DriverMED/Makefile \
436   ./src/DriverSTL/Makefile \
437   ./src/DriverUNV/Makefile \
438   ./src/MEFISTO2/Makefile \
439   ./src/OBJECT/Makefile \
440   ./src/SMDS/Makefile \
441   ./src/SMESH/Makefile \
442   ./src/SMESHClient/Makefile \
443   ./src/SMESHDS/Makefile \
444   ./src/SMESHFiltersSelection/Makefile \
445   ./src/SMESHGUI/Makefile \
446   ./src/SMESH_I/Makefile \
447   ./src/SMESH_SWIG/Makefile \
448   ./src/StdMeshers/Makefile \
449   ./src/StdMeshersGUI/Makefile \
450   ./src/StdMeshers_I/Makefile \
451   ./resources/Makefile \
452   ./resources/SMESHCatalog.xml \
453   ./idl/Makefile \
454   Makefile
455 ])