Salome HOME
Merge from V6_main 13/12/2012
[plugins/hexablockplugin.git] / configure.ac
1 # Copyright (C) 2009-2012  CEA/DEN, EDF R&D
2 #
3 # This library is free software; you can redistribute it and/or
4 # modify it under the terms of the GNU Lesser General Public
5 # License as published by the Free Software Foundation; either
6 # version 2.1 of the License.
7 #
8 # This library is distributed in the hope that it will be useful,
9 # but WITHOUT ANY WARRANTY; without even the implied warranty of
10 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
11 # Lesser General Public License for more details.
12 #
13 # You should have received a copy of the GNU Lesser General Public
14 # License along with this library; if not, write to the Free Software
15 # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
16 #
17 # See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
18 #
19
20 #  PLEASE DO NOT MODIFY configure.in FILE
21 #  ALL CHANGES WILL BE DISCARDED BY THE NEXT
22 #  build_configure COMMAND
23 #  CHANGES MUST BE MADE IN configure.in.base FILE
24 # Author : Lioka RAZAFINDRAZAKA (CEA)
25 # Date : 2010/11/08
26 # Modified by : Patrick GOLDBRONN (CEA)
27 # Modified by : Marc Tajchman (CEA)
28 # Created from configure.in.base
29 #
30 AC_INIT([Salome2 Project HEXABLOCKPLUGIN module],[7.0.0], [webmaster.salome@opencascade.com], [SalomeHEXABLOCKPLUGIN])
31 AC_CONFIG_AUX_DIR(adm_local/unix/config_files)
32 AC_CANONICAL_HOST
33 AC_CANONICAL_TARGET
34 AM_INIT_AUTOMAKE([-Wno-portability])
35
36 XVERSION=`echo $VERSION | awk -F. '{printf("0x%02x%02x%02x",$1,$2,$3)}'`
37 AC_SUBST(XVERSION)
38 VERSION_DEV=1
39 AC_SUBST(VERSION_DEV)
40
41 # set up MODULE_NAME variable for dynamic construction of directories (resources, etc.)
42 MODULE_NAME=HEXABLOCKplugin
43 AC_SUBST(MODULE_NAME)
44
45 dnl
46 dnl Initialize source and build root directories
47 dnl
48
49 ROOT_BUILDDIR=`pwd`
50 ROOT_SRCDIR=`echo $0 | sed -e "s,[[^/]]*$,,;s,/$,,;s,^$,.,"`
51 cd $ROOT_SRCDIR
52 ROOT_SRCDIR=`pwd`
53 cd $ROOT_BUILDDIR
54
55 AC_SUBST(ROOT_SRCDIR)
56 AC_SUBST(ROOT_BUILDDIR)
57
58 echo
59 echo Source root directory : $ROOT_SRCDIR
60 echo Build  root directory : $ROOT_BUILDDIR
61 echo
62 echo
63
64 AC_CHECK_PROG(SHELL,sh)
65 AC_SUBST(SHELL)
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 AC_ENABLE_DEBUG(yes)
89 AC_DISABLE_PRODUCTION
90
91 echo ---------------------------------------------
92 echo testing libtool
93 echo ---------------------------------------------
94
95 dnl first, we set static to no!
96 dnl if we want it, use --enable-static
97 AC_ENABLE_STATIC(no)
98
99 AC_LIBTOOL_DLOPEN
100 AC_PROG_LIBTOOL
101
102 dnl Fix up the INSTALL macro if it s a relative path. We want the
103 dnl full-path to the binary instead.
104 case "$INSTALL" in
105    *install-sh*)
106       INSTALL="${KERNEL_ROOT_DIR}/adm_local/unix/config_files/install-sh -c"
107       ;;
108 esac
109
110 echo
111 echo ---------------------------------------------
112 echo testing C/C++
113 echo ---------------------------------------------
114 echo
115
116 cc_ok=no
117 dnl inutil car libtool
118 dnl AC_PROG_CC
119 AC_PROG_CXX
120 AC_CXX_WARNINGS
121 AC_CXX_TEMPLATE_OPTIONS
122 AC_DEPEND_FLAG
123 # AC_CC_WARNINGS([ansi])
124 cc_ok=yes
125
126 dnl Library libdl :
127 AC_CHECK_LIB(dl,dlopen)
128
129 dnl Library librt : for alpha/osf
130 AC_CHECK_LIB(rt,nanosleep)
131
132 dnl add library libm :
133 AC_CHECK_LIB(m,ceil)
134
135 dnl 
136 dnl Well we use sstream which is not in gcc pre-2.95.3
137 dnl We must test if it exists. If not, add it in include !
138 dnl
139
140 AC_CXX_HAVE_SSTREAM
141
142 dnl
143 dnl ---------------------------------------------
144 dnl testing MPICH
145 dnl ---------------------------------------------
146 dnl
147
148 dnl CHECK_MPICH
149
150 echo
151 echo ---------------------------------------------
152 echo testing MPI
153 echo ---------------------------------------------
154 echo
155
156 CHECK_MPI
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 AM_PATH_PYTHON(2.3)
178
179 dnl echo
180 dnl echo ---------------------------------------------
181 dnl echo testing java
182 dnl echo ---------------------------------------------
183 dnl echo
184
185 dnl CHECK_JAVA
186
187 echo
188 echo ---------------------------------------------
189 echo testing swig
190 echo ---------------------------------------------
191 echo
192
193 CHECK_SWIG
194
195 echo
196 echo ---------------------------------------------
197 echo testing threads
198 echo ---------------------------------------------
199 echo
200
201 ENABLE_PTHREADS
202
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 CHECK_CORBA
227
228 AC_SUBST_FILE(CORBA)
229 corba=make_$ORB
230 CORBA=adm_local/unix/$corba
231
232 echo
233 echo ---------------------------------------------
234 echo Testing GUI
235 echo ---------------------------------------------
236 echo
237
238 CHECK_GUI_MODULE
239
240 gui_ok=no
241 if test "${SalomeGUI_need}" != "no" -a "${FullGUI_ok}" = "yes" ; then 
242   gui_ok=yes
243 fi
244
245 AM_CONDITIONAL(HEXABLOCKPLUGIN_ENABLE_GUI, [test "${gui_ok}" = "yes"])
246
247 if test "${SalomeGUI_need}" == "yes"; then
248   if test "${FullGUI_ok}" != "yes"; then
249     AC_MSG_WARN(For configure HEXABLOCKPLUGIN module necessary full GUI!)
250   fi
251 elif test "${SalomeGUI_need}" == "auto"; then
252   if test "${FullGUI_ok}" != "yes"; then
253     AC_MSG_WARN(Full GUI not found. Build will be done without GUI!)
254   fi
255 elif test "${SalomeGUI_need}" == "no"; then
256   echo Build without GUI option has been chosen
257 fi
258
259 if test "${gui_ok}" = "yes"; then
260
261     echo
262     echo ---------------------------------------------
263     echo testing openGL
264     echo ---------------------------------------------
265     echo
266
267     CHECK_OPENGL
268
269     echo
270     echo ---------------------------------------------
271     echo testing QT
272     echo ---------------------------------------------
273     echo
274
275     CHECK_QT
276
277     echo
278     echo ---------------------------------------------
279     echo testing VTK
280     echo ---------------------------------------------
281     echo
282
283     CHECK_VTK
284 fi
285
286 echo
287 echo ---------------------------------------------
288 echo Testing HDF5
289 echo ---------------------------------------------
290 echo
291
292 CHECK_HDF5
293
294 echo
295 echo ---------------------------------------------
296 echo BOOST Library
297 echo ---------------------------------------------
298 echo
299
300 CHECK_BOOST
301
302 echo
303 echo ---------------------------------------------
304 echo Testing OpenCascade
305 echo ---------------------------------------------
306 echo
307
308 CHECK_CAS
309
310 echo
311 echo ---------------------------------------------
312 echo Testing html generators
313 echo ---------------------------------------------
314 echo
315
316 CHECK_HTML_GENERATORS
317
318 echo
319 echo ---------------------------------------------
320 echo Testing Kernel
321 echo ---------------------------------------------
322 echo
323
324 CHECK_KERNEL
325
326 echo
327 echo ---------------------------------------------
328 echo Testing Geom
329 echo ---------------------------------------------
330 echo
331
332 CHECK_GEOM
333
334 echo
335 echo ---------------------------------------------
336 echo Testing Med
337 echo ---------------------------------------------
338 echo
339
340 CHECK_MED
341
342 echo
343 echo ---------------------------------------------
344 echo Testing SMesh
345 echo ---------------------------------------------
346 echo
347
348 CHECK_SMESH
349
350 echo
351 echo ---------------------------------------------
352 echo Testing HEXABLOCK
353 echo ---------------------------------------------
354 echo
355
356 CHECK_HEXABLOCK
357
358 echo
359 echo ---------------------------------------------
360 echo Summary
361 echo ---------------------------------------------
362 echo
363
364 echo Configure
365 if test "${gui_ok}" = "yes"; then
366   variables="cc_ok boost_ok threads_ok omniORB_ok occ_ok doxygen_ok OpenGL_ok qt_ok vtk_ok Kernel_ok gui_ok Geom_ok Med_ok SMesh_ok HEXABLOCK_ok"
367 elif test "${SalomeGUI_need}" != "no"; then
368   variables="cc_ok boost_ok threads_ok omniORB_ok occ_ok doxygen_ok Kernel_ok gui_ok Geom_ok Med_ok SMesh_ok HEXABLOCK_ok"
369 else
370   variables="cc_ok boost_ok threads_ok omniORB_ok occ_ok doxygen_ok Kernel_ok Geom_ok Med_ok SMesh_ok HEXABLOCK_ok"
371 fi
372
373 for var in $variables
374 do
375    printf "   %10s : " `echo \$var | sed -e "s,_ok,,"`
376    eval echo \$$var
377 done
378
379 echo
380 echo "Default ORB   : $DEFAULT_ORB"
381 echo
382
383 dnl We don t need to say when we re entering directories if we re using
384 dnl GNU make becuase make does it for us.
385 if test "X$GMAKE" = "Xyes"; then
386    AC_SUBST(SETX) SETX=":"
387 else
388    AC_SUBST(SETX) SETX="set -x"
389 fi
390 echo
391 echo ---------------------------------------------
392 echo generating Makefiles and configure files
393 echo ---------------------------------------------
394 echo
395
396 AC_OUTPUT_COMMANDS([ \
397       chmod +x ./bin/*; \
398 ])
399
400 # This list is initiated using autoscan and must be updated manually
401 # when adding a new file <filename>.in to manage. When you execute
402 # autoscan, the Makefile list is generated in the output file configure.scan.
403 # This could be helpfull to update de configuration.
404 AC_OUTPUT([ \
405   adm_local/Makefile \
406   adm_local/unix/Makefile \
407   adm_local/unix/config_files/Makefile \
408   bin/VERSION \
409   bin/Makefile \
410   HEXABLOCKPLUGIN_version.h \
411   src/Makefile \
412   src/HEXABLOCKPlugin/Makefile \
413   src/GUI/Makefile \
414   resources/Makefile \
415   idl/Makefile \
416   Makefile \
417 ])