]> SALOME platform Git repositories - modules/geom.git/blob - configure.ac
Salome HOME
Mantis issue 20052: RemoveExtraEdges signature changed (integer parameter theOptimumN...
[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], [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=geom
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 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 msg2qm
243     echo ---------------------------------------------
244     echo
245
246     CHECK_MSG2QM
247
248     echo
249     echo ---------------------------------------------
250     echo testing openGL
251     echo ---------------------------------------------
252     echo
253
254     CHECK_OPENGL
255
256     echo
257     echo ---------------------------------------------
258     echo testing QT
259     echo ---------------------------------------------
260     echo
261
262     CHECK_QT
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 GUI
275     echo ---------------------------------------------
276     echo
277
278     CHECK_SALOME_GUI
279
280     echo
281     echo ---------------------------------------------
282     echo Testing full GUI
283     echo ---------------------------------------------
284     echo
285
286     CHECK_CORBA_IN_GUI
287     if test "x${CORBA_IN_GUI}" != "xyes"; then
288       echo "failed : For configure GEOM module necessary full GUI !"
289       exit
290     fi
291 fi
292
293 echo
294 echo ---------------------------------------------
295 echo testing HDF5
296 echo ---------------------------------------------
297 echo
298
299 CHECK_HDF5
300
301 echo
302 echo ---------------------------------------------
303 echo BOOST Library
304 echo ---------------------------------------------
305 echo
306
307 CHECK_BOOST
308
309 echo
310 echo ---------------------------------------------
311 echo Testing OpenCascade
312 echo ---------------------------------------------
313 echo
314
315 CHECK_CAS
316
317 echo
318 echo ---------------------------------------------
319 echo Testing html generators
320 echo ---------------------------------------------
321 echo
322
323 CHECK_HTML_GENERATORS
324
325 echo
326 echo ---------------------------------------------
327 echo Testing Kernel
328 echo ---------------------------------------------
329 echo
330
331 CHECK_KERNEL
332
333 echo
334 echo ---------------------------------------------
335 echo Summary
336 echo ---------------------------------------------
337 echo
338
339 echo Configure
340
341 if test "${GEOM_WITH_GUI}" = "yes"; then
342 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"
343 fi
344 if test "${GEOM_WITH_GUI}" = "no"; then
345 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"
346 fi
347
348 for var in $variables
349 do
350    printf "   %10s : " `echo \$var | sed -e "s,_ok,,"`
351    eval echo \$$var
352 done
353
354 echo
355 echo "Default ORB   : $DEFAULT_ORB"
356 echo
357
358 dnl We don t need to say when we re entering directories if we re using
359 dnl GNU make becuase make does it for us.
360 if test "X$GMAKE" = "Xyes"; then
361    AC_SUBST(SETX) SETX=":"
362 else
363    AC_SUBST(SETX) SETX="set -x"
364 fi
365
366 dnl copy shells and utilities contained in the bin directory
367 dnl excluding .in files (treated in AC-OUTPUT below) and CVS
368 dnl directory
369
370
371 echo
372 echo ---------------------------------------------
373 echo generating Makefiles and configure files
374 echo ---------------------------------------------
375 echo
376
377 AC_OUTPUT_COMMANDS([ \
378   chmod +x ./bin/*; \
379 ])
380
381 # This list is initiated using autoscan and must be updated manually
382 # when adding a new file <filename>.in to manage. When you execute
383 # autoscan, the Makefile list is generated in the output file configure.scan.
384 # This could be helpfull to update de configuration.
385 AC_OUTPUT([ \
386   salome_adm/unix/SALOMEconfig.h \
387   adm_local/Makefile \
388   adm_local/unix/Makefile \
389   adm_local/unix/config_files/Makefile \
390   bin/VERSION \
391   bin/Makefile \
392   GEOM_version.h \
393   doc/Makefile \
394   doc/salome/Makefile \
395   doc/salome/gui/Makefile \
396   doc/salome/gui/GEOM/doxyfile \
397   doc/salome/gui/GEOM/doxyfile_py \
398   doc/salome/gui/GEOM/doxyfile_tui \
399   doc/salome/tui/Makefile \
400   doc/salome/tui/GEOM/doxyfile \
401   doc/salome/tui/GEOM/sources/static/tree.js \
402   src/Makefile \
403   src/ARCHIMEDE/Makefile \
404   src/BREPExport/Makefile \
405   src/BREPImport/Makefile \
406   src/BasicGUI/Makefile \
407   src/BlocksGUI/Makefile \
408   src/BooleanGUI/Makefile \
409   src/BuildGUI/Makefile \
410   src/DisplayGUI/Makefile \
411   src/DlgRef/Makefile \
412   src/EntityGUI/Makefile \
413   src/GEOM/Makefile \
414   src/GEOMAlgo/Makefile \
415   src/GEOMBase/Makefile \
416   src/GEOMClient/Makefile \
417   src/GEOMFiltersSelection/Makefile \
418   src/GEOMGUI/Makefile \
419   src/GEOMImpl/Makefile \
420   src/GEOMToolsGUI/Makefile \
421   src/GEOM_I/Makefile \
422   src/GEOM_I_Superv/Makefile \
423   src/GEOM_SWIG/Makefile \
424   src/GEOM_SWIG_WITHIHM/Makefile \
425   src/GenerationGUI/Makefile \
426   src/GroupGUI/Makefile \
427   src/IGESExport/Makefile \
428   src/IGESImport/Makefile \
429   src/MeasureGUI/Makefile \
430   src/NMTAlgo/Makefile \
431   src/NMTDS/Makefile \
432   src/NMTTools/Makefile \
433   src/OBJECT/Makefile \
434   src/OperationGUI/Makefile \
435   src/PrimitiveGUI/Makefile \
436   src/RepairGUI/Makefile \
437   src/SKETCHER/Makefile \
438   src/STEPExport/Makefile \
439   src/STEPImport/Makefile \
440   src/STLExport/Makefile \
441   src/ShHealOper/Makefile \
442   src/TransformationGUI/Makefile \
443   resources/Makefile \
444   resources/GEOMCatalog.xml \
445   idl/Makefile \
446   Makefile \
447 ])