Salome HOME
Update from BR_V5_DEV 13Feb2009
[modules/geom.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 GEOM module], [5.1.0], [webmaster.salome@opencascade.com], [SalomeGEOM])
30 AC_CONFIG_AUX_DIR(salome_adm/unix/config_files)
31 AC_CANONICAL_HOST
32 AC_CANONICAL_TARGET
33 AM_INIT_AUTOMAKE([tar-pax])
34
35
36 XVERSION=`echo $VERSION | awk -F. '{printf("0x%02x%02x%02x",$1,$2,$3)}'`
37 AC_SUBST(XVERSION)
38
39 # set up MODULE_NAME variable for dynamic construction of directories (resources, etc.)
40 MODULE_NAME=geom
41 AC_SUBST(MODULE_NAME)
42
43 echo
44 echo ---------------------------------------------
45 echo Initialize source and build root directories
46 echo ---------------------------------------------
47 echo
48
49 dnl
50 dnl Initialize source and build root directories
51 dnl
52
53 ROOT_BUILDDIR=`pwd`
54 ROOT_SRCDIR=`echo $0 | sed -e "s,[[^/]]*$,,;s,/$,,;s,^$,.,"`
55 cd $ROOT_SRCDIR
56 ROOT_SRCDIR=`pwd`
57 cd $ROOT_BUILDDIR
58
59 AC_SUBST(ROOT_SRCDIR)
60 AC_SUBST(ROOT_BUILDDIR)
61
62 echo
63 echo Source root directory : $ROOT_SRCDIR
64 echo Build  root directory : $ROOT_BUILDDIR
65 echo
66 echo
67
68 if test -z "$AR"; then
69    AC_CHECK_PROGS(AR,ar xar,:,$PATH)
70 fi
71 AC_SUBST(AR)
72
73 dnl Export the AR macro so that it will be placed in the libtool file
74 dnl correctly.
75 export AR
76
77 echo
78 echo ---------------------------------------------
79 echo testing make
80 echo ---------------------------------------------
81 echo
82
83 AC_PROG_MAKE_SET
84 AC_PROG_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 Configuring 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 dnl Library libdl :
132 AC_CHECK_LIB(dl,dlopen)
133
134 dnl add library libm :
135 AC_CHECK_LIB(m,ceil)
136
137 dnl
138 dnl Well we use sstream which is not in gcc pre-2.95.3
139 dnl We must test if it exists. If not, add it in include !
140 dnl
141
142 AC_CXX_HAVE_SSTREAM
143
144 dnl
145 dnl ---------------------------------------------
146 dnl testing MPICH
147 dnl ---------------------------------------------
148 dnl
149
150 CHECK_MPICH
151
152 echo
153 echo ---------------------------------------------
154 echo testing LEX \& YACC
155 echo ---------------------------------------------
156 echo
157
158 lex_yacc_ok=no
159 AC_PROG_YACC
160 AC_PROG_LEX
161 lex_yacc_ok=yes
162
163 echo
164 echo ---------------------------------------------
165 echo testing python
166 echo ---------------------------------------------
167 echo
168
169 CHECK_PYTHON
170
171 dnl echo
172 dnl echo ---------------------------------------------
173 dnl echo testing java
174 dnl echo ---------------------------------------------
175 dnl echo
176
177 dnl CHECK_JAVA
178
179 echo
180 echo ---------------------------------------------
181 echo testing swig
182 echo ---------------------------------------------
183 echo
184
185 AM_PATH_PYTHON(2.3)
186 CHECK_SWIG
187
188 echo
189 echo ---------------------------------------------
190 echo testing threads
191 echo ---------------------------------------------
192 echo
193
194 ENABLE_PTHREADS
195
196 if test "x${GUI_DISABLE_CORBA}" != "xyes" ; then
197 echo
198 echo ---------------------------------------------
199 echo testing omniORB
200 echo ---------------------------------------------
201 echo
202
203 CHECK_OMNIORB
204
205 dnl echo
206 dnl echo ---------------------------------------------
207 dnl echo testing mico
208 dnl echo ---------------------------------------------
209 dnl echo
210
211 dnl CHECK_MICO
212
213 echo
214 echo ---------------------------------------------
215 echo default ORB : omniORB
216 echo ---------------------------------------------
217 echo
218
219 DEFAULT_ORB=omniORB
220
221 echo
222 echo ---------------------------------------------
223 echo testing Corba
224 echo ---------------------------------------------
225 echo
226
227 CHECK_CORBA
228
229 AC_SUBST_FILE(CORBA)
230 corba=make_$ORB
231 CORBA=adm_local/unix/$corba
232
233 fi
234
235 GEOM_WITH_GUI=yes
236
237 AM_CONDITIONAL(GEOM_ENABLE_GUI, [test "${GEOM_WITH_GUI}" = "yes"])
238
239 if test "${GEOM_WITH_GUI}" = "yes"; then
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 VTK
259     echo ---------------------------------------------
260     echo
261
262     CHECK_VTK
263
264     echo
265     echo ---------------------------------------------
266     echo Testing GUI
267     echo ---------------------------------------------
268     echo
269
270     CHECK_SALOME_GUI
271
272     echo
273     echo ---------------------------------------------
274     echo Testing full GUI
275     echo ---------------------------------------------
276     echo
277
278     CHECK_CORBA_IN_GUI
279     if test "x${CORBA_IN_GUI}" != "xyes"; then
280       echo "failed : For configure GEOM module necessary full GUI !"
281       exit
282     fi
283 fi
284
285 echo
286 echo ---------------------------------------------
287 echo testing HDF5
288 echo ---------------------------------------------
289 echo
290
291 CHECK_HDF5
292
293 echo
294 echo ---------------------------------------------
295 echo BOOST Library
296 echo ---------------------------------------------
297 echo
298
299 CHECK_BOOST
300
301 echo
302 echo ---------------------------------------------
303 echo Testing OpenCascade
304 echo ---------------------------------------------
305 echo
306
307 CHECK_CAS
308
309 echo
310 echo ---------------------------------------------
311 echo Testing html generators
312 echo ---------------------------------------------
313 echo
314
315 CHECK_HTML_GENERATORS
316
317 echo
318 echo ---------------------------------------------
319 echo Testing Kernel
320 echo ---------------------------------------------
321 echo
322
323 CHECK_KERNEL
324
325 echo
326 echo ---------------------------------------------
327 echo Summary
328 echo ---------------------------------------------
329 echo
330
331 echo Configure
332
333 if test "${GEOM_WITH_GUI}" = "yes"; then
334 variables="cc_ok lex_yacc_ok python_ok swig_ok threads_ok OpenGL_ok qt_ok vtk_ok hdf5_ok omniORB_ok boost_ok occ_ok doxygen_ok graphviz_ok Kernel_ok SalomeGUI_ok"
335 fi
336 if test "${GEOM_WITH_GUI}" = "no"; then
337 variables="cc_ok lex_yacc_ok python_ok swig_ok threads_ok hdf5_ok omniORB_ok boost_ok occ_ok doxygen_ok graphviz_ok Kernel_ok"
338 fi
339
340 for var in $variables
341 do
342    printf "   %10s : " `echo \$var | sed -e "s,_ok,,"`
343    eval echo \$$var
344 done
345
346 echo
347 echo "Default ORB   : $DEFAULT_ORB"
348 echo
349
350 dnl We don t need to say when we re entering directories if we re using
351 dnl GNU make because make does it for us.
352 if test "X$GMAKE" = "Xyes"; then
353    AC_SUBST(SETX) SETX=":"
354 else
355    AC_SUBST(SETX) SETX="set -x"
356 fi
357
358 echo
359 echo ---------------------------------------------
360 echo generating Makefiles and configure files
361 echo ---------------------------------------------
362 echo
363
364 #AC_OUTPUT_COMMANDS([ \
365 #  chmod +x ./bin/*; \
366 #])
367
368 # This list is initiated using autoscan and must be updated manually
369 # when adding a new file <filename>.in to manage. When you execute
370 # autoscan, the Makefile list is generated in the output file configure.scan.
371 # This could be helpfull to update de configuration.
372 AC_OUTPUT([ \
373   ./salome_adm/unix/SALOMEconfig.h \
374   ./adm_local/Makefile \
375   ./adm_local/unix/Makefile \
376   ./adm_local/unix/config_files/Makefile \
377   ./bin/VERSION \
378   ./bin/Makefile \
379   ./GEOM_version.h \
380   ./doc/Makefile \
381   ./doc/salome/Makefile \
382   ./doc/salome/gui/Makefile \
383   ./doc/salome/gui/GEOM/Makefile \
384   ./doc/salome/gui/GEOM/doxyfile \
385   ./doc/salome/gui/GEOM/doxyfile_py \
386   ./doc/salome/gui/GEOM/doxyfile_tui \
387   ./doc/salome/tui/Makefile \
388   ./doc/salome/tui/doxyfile \
389   ./src/Makefile \
390   ./src/ARCHIMEDE/Makefile \
391   ./src/BREPExport/Makefile \
392   ./src/BREPImport/Makefile \
393   ./src/BasicGUI/Makefile \
394   ./src/BlocksGUI/Makefile \
395   ./src/BooleanGUI/Makefile \
396   ./src/BuildGUI/Makefile \
397   ./src/DisplayGUI/Makefile \
398   ./src/DlgRef/Makefile \
399   ./src/EntityGUI/Makefile \
400   ./src/GEOM/Makefile \
401   ./src/GEOMAlgo/Makefile \
402   ./src/GEOMBase/Makefile \
403   ./src/GEOMClient/Makefile \
404   ./src/GEOMFiltersSelection/Makefile \
405   ./src/GEOMGUI/Makefile \
406   ./src/GEOMImpl/Makefile \
407   ./src/GEOMToolsGUI/Makefile \
408   ./src/GEOM_I/Makefile \
409   ./src/GEOM_I_Superv/Makefile \
410   ./src/GEOM_SWIG/Makefile \
411   ./src/GEOM_SWIG_WITHIHM/Makefile \
412   ./src/GenerationGUI/Makefile \
413   ./src/GroupGUI/Makefile \
414   ./src/IGESExport/Makefile \
415   ./src/IGESImport/Makefile \
416   ./src/MeasureGUI/Makefile \
417   ./src/NMTDS/Makefile \
418   ./src/NMTTools/Makefile \
419   ./src/OBJECT/Makefile \
420   ./src/OperationGUI/Makefile \
421   ./src/PrimitiveGUI/Makefile \
422   ./src/RepairGUI/Makefile \
423   ./src/SKETCHER/Makefile \
424   ./src/STEPExport/Makefile \
425   ./src/STEPImport/Makefile \
426   ./src/STLExport/Makefile \
427   ./src/ShHealOper/Makefile \
428   ./src/TransformationGUI/Makefile \
429   ./resources/Makefile \
430   ./resources/GEOMCatalog.xml \
431   ./idl/Makefile \
432   Makefile \
433 ])