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