Salome HOME
Issue 20406: Time compilation when recompiling
[plugins/ghs3dplugin.git] / configure.ac
1 #  Copyright (C) 2004-2008  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 #  PLEASE DO NOT MODIFY configure.in FILE
20 #  ALL CHANGES WILL BE DISCARDED BY THE NEXT
21 #  build_configure COMMAND
22 #  CHANGES MUST BE MADE IN configure.in.base FILE
23 # Author : Marc Tajchman (CEA)
24 # Date : 28/06/2001
25 # Modified by : Patrick GOLDBRONN (CEA)
26 # Modified by : Marc Tajchman (CEA)
27 # Created from configure.in.base
28 #
29 AC_INIT([Salome2 Project GHS3DPLUGIN module],[5.1.2], [webmaster.salome@opencascade.com], [SalomeGHS3DPLUGIN])
30 AC_CONFIG_AUX_DIR(adm_local/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=ghs3dplugin
40 AC_SUBST(MODULE_NAME)
41
42 dnl
43 dnl Initialize source and build root directories
44 dnl
45
46 ROOT_BUILDDIR=`pwd`
47 ROOT_SRCDIR=`echo $0 | sed -e "s,[[^/]]*$,,;s,/$,,;s,^$,.,"`
48 cd $ROOT_SRCDIR
49 ROOT_SRCDIR=`pwd`
50 cd $ROOT_BUILDDIR
51
52 AC_SUBST(ROOT_SRCDIR)
53 AC_SUBST(ROOT_BUILDDIR)
54
55 echo
56 echo Source root directory : $ROOT_SRCDIR
57 echo Build  root directory : $ROOT_BUILDDIR
58 echo
59 echo
60
61 AC_CHECK_PROG(SHELL,sh)
62 AC_SUBST(SHELL)
63
64 if test -z "$AR"; then
65    AC_CHECK_PROGS(AR,ar xar,:,$PATH)
66 fi
67 AC_SUBST(AR)
68
69 dnl Export the AR macro so that it will be placed in the libtool file
70 dnl correctly.
71 export AR
72
73 echo
74 echo ---------------------------------------------
75 echo testing make
76 echo ---------------------------------------------
77 echo
78
79 AC_PROG_MAKE_SET
80 AC_PROG_INSTALL
81 AC_LOCAL_INSTALL
82 dnl 
83 dnl libtool macro check for CC, LD, NM, LN_S, RANLIB, STRIP + pour les librairies dynamiques !
84
85 AC_ENABLE_DEBUG(yes)
86 AC_DISABLE_PRODUCTION
87
88 echo ---------------------------------------------
89 echo testing libtool
90 echo ---------------------------------------------
91
92 dnl first, we set static to no!
93 dnl if we want it, use --enable-static
94 AC_ENABLE_STATIC(no)
95
96 AC_LIBTOOL_DLOPEN
97 AC_PROG_LIBTOOL
98
99 dnl Fix up the INSTALL macro if it s a relative path. We want the
100 dnl full-path to the binary instead.
101 case "$INSTALL" in
102    *install-sh*)
103       INSTALL="${KERNEL_ROOT_DIR}/adm_local/unix/config_files/install-sh -c"
104       ;;
105 esac
106
107 echo
108 echo ---------------------------------------------
109 echo testing C/C++
110 echo ---------------------------------------------
111 echo
112
113 cc_ok=no
114 dnl inutil car libtool
115 dnl AC_PROG_CC
116 AC_PROG_CXX
117 AC_CXX_WARNINGS
118 AC_CXX_TEMPLATE_OPTIONS
119 AC_DEPEND_FLAG
120 # AC_CC_WARNINGS([ansi])
121 cc_ok=yes
122
123 dnl Library libdl :
124 AC_CHECK_LIB(dl,dlopen)
125
126 dnl Library librt : for alpha/osf
127 AC_CHECK_LIB(rt,nanosleep)
128
129 dnl add library libm :
130 AC_CHECK_LIB(m,ceil)
131
132 dnl 
133 dnl Well we use sstream which is not in gcc pre-2.95.3
134 dnl We must test if it exists. If not, add it in include !
135 dnl
136
137 AC_CXX_HAVE_SSTREAM
138
139 dnl
140 dnl ---------------------------------------------
141 dnl testing MPICH
142 dnl ---------------------------------------------
143 dnl
144
145 CHECK_MPICH
146
147 echo
148 echo ---------------------------------------------
149 echo testing LEX \& YACC
150 echo ---------------------------------------------
151 echo
152
153 lex_yacc_ok=no
154 AC_PROG_YACC
155 AC_PROG_LEX
156 lex_yacc_ok=yes
157
158 echo
159 echo ---------------------------------------------
160 echo testing python
161 echo ---------------------------------------------
162 echo
163
164 CHECK_PYTHON
165
166 AM_PATH_PYTHON(2.3)
167
168 dnl echo
169 dnl echo ---------------------------------------------
170 dnl echo testing java
171 dnl echo ---------------------------------------------
172 dnl echo
173
174 dnl CHECK_JAVA
175
176 echo
177 echo ---------------------------------------------
178 echo testing swig
179 echo ---------------------------------------------
180 echo
181
182 CHECK_SWIG
183
184 echo
185 echo ---------------------------------------------
186 echo testing threads
187 echo ---------------------------------------------
188 echo
189
190 ENABLE_PTHREADS
191
192 echo
193 echo ---------------------------------------------
194 echo testing omniORB
195 echo ---------------------------------------------
196 echo
197
198 CHECK_OMNIORB
199
200 dnl echo
201 dnl echo ---------------------------------------------
202 dnl echo testing mico
203 dnl echo ---------------------------------------------
204 dnl echo
205
206 dnl CHECK_MICO
207
208 echo
209 echo ---------------------------------------------
210 echo default ORB : omniORB
211 echo ---------------------------------------------
212 echo
213
214 DEFAULT_ORB=omniORB
215 CHECK_CORBA
216
217 AC_SUBST_FILE(CORBA)
218 corba=make_$ORB
219 CORBA=adm_local/unix/$corba
220
221 echo
222 echo ---------------------------------------------
223 echo Testing GUI
224 echo ---------------------------------------------
225 echo
226
227 CHECK_GUI_MODULE
228
229 gui_ok=no
230 if test "${SalomeGUI_need}" != "no" -a "${FullGUI_ok}" = "yes" ; then 
231   gui_ok=yes
232 fi
233
234 AM_CONDITIONAL(GHS3DPLUGIN_ENABLE_GUI, [test "${gui_ok}" = "yes"])
235
236 if test "${SalomeGUI_need}" == "yes"; then
237   if test "${FullGUI_ok}" != "yes"; then
238     AC_MSG_WARN(For configure GHS3DPLUGIN module necessary full GUI!)
239   fi
240 elif test "${SalomeGUI_need}" == "auto"; then
241   if test "${FullGUI_ok}" != "yes"; then
242     AC_MSG_WARN(Full GUI not found. Build will be done without GUI!)
243   fi
244 elif test "${SalomeGUI_need}" == "no"; then
245   echo Build without GUI option has been chosen
246 fi
247
248 if test "${gui_ok}" = "yes"; then
249
250     echo
251     echo ---------------------------------------------
252     echo testing openGL
253     echo ---------------------------------------------
254     echo
255
256     CHECK_OPENGL
257
258     echo
259     echo ---------------------------------------------
260     echo testing QT
261     echo ---------------------------------------------
262     echo
263
264     CHECK_QT
265
266     echo
267     echo ---------------------------------------------
268     echo testing VTK
269     echo ---------------------------------------------
270     echo
271
272     CHECK_VTK
273 fi
274
275 echo
276 echo ---------------------------------------------
277 echo Testing HDF5
278 echo ---------------------------------------------
279 echo
280
281 CHECK_HDF5
282
283 echo
284 echo ---------------------------------------------
285 echo BOOST Library
286 echo ---------------------------------------------
287 echo
288
289 CHECK_BOOST
290
291 echo
292 echo ---------------------------------------------
293 echo Testing OpenCascade
294 echo ---------------------------------------------
295 echo
296
297 CHECK_CAS
298
299 echo
300 echo ---------------------------------------------
301 echo Testing html generators
302 echo ---------------------------------------------
303 echo
304
305 CHECK_HTML_GENERATORS
306
307 echo
308 echo ---------------------------------------------
309 echo Testing Kernel
310 echo ---------------------------------------------
311 echo
312
313 CHECK_KERNEL
314
315 echo
316 echo ---------------------------------------------
317 echo Testing Geom
318 echo ---------------------------------------------
319 echo
320
321 CHECK_GEOM
322
323 echo
324 echo ---------------------------------------------
325 echo Testing Med
326 echo ---------------------------------------------
327 echo
328
329 CHECK_MED
330
331 echo
332 echo ---------------------------------------------
333 echo Testing SMesh
334 echo ---------------------------------------------
335 echo
336
337 CHECK_SMESH
338
339 echo
340 echo ---------------------------------------------
341 echo Testing GHS3D
342 echo ---------------------------------------------
343 echo
344
345 CHECK_GHS3D
346
347 echo
348 echo ---------------------------------------------
349 echo Summary
350 echo ---------------------------------------------
351 echo
352
353 echo Configure
354 if test "${gui_ok}" = "yes"; then
355   variables="cc_ok boost_ok threads_ok omniORB_ok occ_ok doxygen_ok Kernel_ok gui_ok Geom_ok Med_ok SMesh_ok GHS3D_ok OpenGL_ok qt_ok vtk_ok"
356 elif test "${SalomeGUI_need}" != "no"; then
357   variables="cc_ok boost_ok threads_ok omniORB_ok occ_ok doxygen_ok Kernel_ok gui_ok Geom_ok Med_ok SMesh_ok GHS3D_ok"
358 else
359   variables="cc_ok boost_ok threads_ok omniORB_ok occ_ok doxygen_ok Kernel_ok Geom_ok Med_ok SMesh_ok GHS3D_ok"
360 fi
361
362 for var in $variables
363 do
364    printf "   %10s : " `echo \$var | sed -e "s,_ok,,"`
365    eval echo \$$var
366 done
367
368 echo
369 echo "Default ORB   : $DEFAULT_ORB"
370 echo
371
372 dnl We don t need to say when we re entering directories if we re using
373 dnl GNU make becuase make does it for us.
374 if test "X$GMAKE" = "Xyes"; then
375    AC_SUBST(SETX) SETX=":"
376 else
377    AC_SUBST(SETX) SETX="set -x"
378 fi
379 echo
380 echo ---------------------------------------------
381 echo generating Makefiles and configure files
382 echo ---------------------------------------------
383 echo
384
385 AC_OUTPUT_COMMANDS([ \
386       chmod +x ./bin/*; \
387 ])
388
389 # This list is initiated using autoscan and must be updated manually
390 # when adding a new file <filename>.in to manage. When you execute
391 # autoscan, the Makefile list is generated in the output file configure.scan.
392 # This could be helpfull to update de configuration.
393 AC_OUTPUT([ \
394   adm_local/Makefile \
395   adm_local/unix/Makefile \
396   adm_local/unix/config_files/Makefile \
397   bin/VERSION \
398   bin/Makefile \
399   GHS3DPLUGIN_version.h \
400   src/Makefile \
401   src/GUI/Makefile \
402   resources/Makefile \
403   idl/Makefile \
404   Makefile \
405 ])