]> SALOME platform Git repositories - modules/med.git/blob - configure.ac
Salome HOME
cb4879c026ce8b3a2fde52fd84d6c50b8dd53def
[modules/med.git] / configure.ac
1 # Author : Marc Tajchman (CEA)
2 # Date : 28/06/2001
3 # Modified by : Patrick GOLDBRONN (CEA)
4 # Modified by : Marc Tajchman (CEA)
5 # Modified by : Mikhail PONIKAROV (OCN)
6 #
7
8 AC_INIT([Salome2 Project MED module], [4.1.1], [webmaster.salome@opencascade.com], [salome])
9 AC_CONFIG_AUX_DIR(salome_adm/unix/config_files)
10 AC_CANONICAL_HOST
11 AC_CANONICAL_TARGET
12 AM_INIT_AUTOMAKE
13
14 XVERSION=`echo $VERSION | awk -F. '{printf("0x%02x%02x%02x",$1,$2,$3)}'`
15 AC_SUBST(XVERSION)
16
17 # set up MODULE_NAME variable for dynamic construction of directories (resources, etc.)
18 MODULE_NAME=med
19 AC_SUBST(MODULE_NAME)
20
21 dnl
22 dnl Initialize source and build root directories
23 dnl
24 ROOT_BUILDDIR=`pwd`
25 ROOT_SRCDIR=`echo $0 | sed -e "s,[[^/]]*$,,;s,/$,,;s,^$,.,"`
26 cd $ROOT_SRCDIR
27 ROOT_SRCDIR=`pwd`
28 cd $ROOT_BUILDDIR
29
30 AC_SUBST(ROOT_SRCDIR)
31 AC_SUBST(ROOT_BUILDDIR)
32
33 echo
34 echo Source root directory : $ROOT_SRCDIR
35 echo Build  root directory : $ROOT_BUILDDIR
36 echo
37 echo
38
39 dnl remember MED_WITH_KERNEL set by build configure
40 MED_WITH_KERNEL=yes
41 MED_WITH_GUI=yes
42 old_with_kernel=${MED_WITH_KERNEL}
43
44 dnl
45 dnl Check --with-kernel option
46 echo
47 dnl  ---------------------------------------------
48                  WITH_KERNEL
49 dnl  ---------------------------------------------
50 dnl
51
52 dnl   Update and re-run configure if there was  build_configure --without-kernel
53 dnl   but configure --with-kernel=DIR is being called
54
55 if test "x${old_with_kernel}" != "x${MED_WITH_KERNEL}"; then
56     if test "x${old_with_kernel}" = "xno" ; then
57          if test ! -d "${KERNEL_ROOT_DIR}"; then
58              echo "failed : KERNEL_ROOT_DIR variable is not correct !"
59              exit
60          fi
61          kernel_check_in_aclocal=`grep KERNEL_ROOT_DIR ${ROOT_SRCDIR}/aclocal.m4`
62          if test "x${kernel_check_in_aclocal}" = "x"; then
63              echo "Configuration changed: without KERNEL -> with KERNEL"
64              echo -n "Updating 'configure' script ...  "
65              cd $ROOT_SRCDIR
66              if build_configure --with-kernel={MED_WITH_KERNEL} --with-gui={MED_WITH_GUI}; then
67                echo "... done"
68              else
69                echo "... failed"
70                cd $ROOT_BUILDDIR
71                exit 1
72              fi
73              cd $ROOT_BUILDDIR
74              $0 $*
75              exit
76          fi
77     fi
78 fi
79
80 AM_CONDITIONAL(MED_ENABLE_KERNEL, [test "$MED_WITH_KERNEL" = yes])
81 AM_CONDITIONAL(MED_ENABLE_GUI, [test "$MED_WITH_GUI" = yes])
82
83 dnl Modification B. Secher portage sur osf CCRT
84 AC_CHECK_PROG(SHELL,sh,,)
85 AC_SUBST(SHELL)
86
87 if test -z "$AR"; then
88    AC_CHECK_PROGS(AR,ar xar,:,$PATH)
89 fi
90 AC_SUBST(AR)
91
92 dnl Export the AR macro so that it will be placed in the libtool file
93 dnl correctly.
94 export AR
95
96 echo
97 echo ---------------------------------------------
98 echo testing make
99 echo ---------------------------------------------
100 echo
101
102 AC_PROG_MAKE_SET
103 AC_PROG_INSTALL
104 dnl 
105 dnl libtool macro check for CC, LD, NM, LN_S, RANLIB, STRIP + pour les librairies dynamiques !
106
107 AC_ENABLE_DEBUG(yes)
108 AC_DISABLE_PRODUCTION
109
110 echo ---------------------------------------------
111 echo testing libtool
112 echo ---------------------------------------------
113
114 dnl first, we set static to no!
115 dnl if we want it, use --enable-static
116 AC_ENABLE_STATIC(no)
117
118 AC_LIBTOOL_DLOPEN
119 AC_PROG_LIBTOOL
120
121 dnl Fix up the INSTALL macro if it s a relative path. We want the
122 dnl full-path to the binary instead.
123 case "$INSTALL" in
124    *install-sh*)
125       INSTALL='\${ROOT_BUILDDIR}'/salome_adm/unix/config_files/install-sh
126       ;;
127 esac
128
129 echo
130 echo ---------------------------------------------
131 echo testing C/C++
132 echo ---------------------------------------------
133 echo
134
135 cc_ok=no
136 dnl inutil car libtool
137 dnl AC_PROG_CC
138 AC_PROG_CXX
139 AC_CXX_WARNINGS
140 AC_CXX_TEMPLATE_OPTIONS
141 AC_DEPEND_FLAG
142 # AC_CC_WARNINGS([ansi])
143 cc_ok=yes
144
145 dnl Library libdl :
146 AC_CHECK_LIB(dl,dlopen)
147
148 dnl Library librt : for alpha/osf
149 AC_CHECK_LIB(rt,nanosleep)
150
151 dnl add library libm :
152 AC_CHECK_LIB(m,ceil)
153
154 dnl 
155 dnl Check if we use std iostream by default or if we must add
156 dnl a compiler directive for that
157 dnl
158
159 AC_CXX_USE_STD_IOSTREAM
160
161 dnl 
162 dnl Well we use sstream which is not in gcc pre-2.95.3
163 dnl We must test if it exists. If not, add it in include !
164 dnl
165
166 AC_CXX_HAVE_SSTREAM
167 AM_CONDITIONAL(MED_ENABLE_SSTREAM, [test "$HAVE_SSTREAM" = yes])
168
169 dnl
170 dnl ---------------------------------------------
171 dnl testing linker
172 dnl ---------------------------------------------
173 dnl
174
175 AC_LINKER_OPTIONS
176
177 echo
178 echo ---------------------------------------------
179 echo testing threads
180 echo ---------------------------------------------
181 echo
182
183 ENABLE_PTHREADS
184
185 echo
186 echo ---------------------------------------------
187 echo testing python
188 echo ---------------------------------------------
189 echo
190
191 CHECK_PYTHON
192
193 echo
194 echo ---------------------------------------------
195 echo testing swig
196 echo ---------------------------------------------
197 echo
198
199 AM_PATH_PYTHON(2.3)
200 CHECK_SWIG
201 AM_CONDITIONAL(MED_SWIG_1_3_21, [test "$SWIG_VERSION" = 1.3.21])
202
203 echo
204 echo ---------------------------------------------
205 echo testing HDF5
206 echo ---------------------------------------------
207 echo
208
209 CHECK_HDF5
210
211
212 echo
213 echo ---------------------------------------------
214 echo BOOST Library
215 echo ---------------------------------------------
216 echo
217
218 CHECK_BOOST
219
220
221 echo
222 echo ---------------------------------------------
223 echo testing MED2
224 echo ---------------------------------------------
225 echo
226
227 CHECK_MED2
228
229 echo
230 echo ---------------------------------------------
231 echo "MED_WITH_KERNEL: ${MED_WITH_KERNEL}"
232 echo "MED_WITH_GUI   : ${MED_WITH_GUI}"
233 echo ---------------------------------------------
234
235 openpbs_ok=no
236 # CHECK_OPENPBS ONLY if MED_WITH_KERNEL=yes
237 # echo
238 # echo ---------------------------------------------
239 # echo testing OpenPBS
240 # echo ---------------------------------------------
241 # echo
242
243 # CHECK_OPENPBS
244 # dnl openpbs_ok is set to yes by CHECK_OPENPBS
245
246 # CHECK_LSF ONLY if MED_WITH_KERNEL=yes
247 # echo
248 # echo ---------------------------------------------
249 # echo testing LSF
250 # echo ---------------------------------------------
251 # echo
252
253 lsf_ok=no
254 # CHECK_LSF
255 # dnl lsf_ok is set to yes by CHECK_LSF
256
257 echo
258 echo ----------------------------------------------
259 echo testing CPPUNIT only required for unit testing
260 echo ----------------------------------------------
261 echo
262 CHECK_CPPUNIT
263 #AM_CONDITIONAL(CPPUNIT_IS_OK, test)
264
265 echo
266 echo ---------------------------------------------
267 echo checking SPLITTER
268 echo ---------------------------------------------
269 echo
270 AC_ENABLE_SPLITTER(yes)
271 AM_CONDITIONAL(MED_ENABLE_SPLITTER, [test "$ENABLE_SPLITTER" = yes])
272
273 if test "x$ENABLE_SPLITTER" = "xyes"; then
274
275     echo  
276     echo --------------------------------------------- 
277     echo testing METIS 
278     echo ---------------------------------------------
279     echo 
280     metis_ok=no 
281     CHECK_METIS dnl metis_ok is set to yes by CHECK_METIS
282     
283
284     echo  
285     echo --------------------------------------------- 
286     echo testing SCOTCH 
287     echo ---------------------------------------------
288     echo scotch_ok=no 
289     CHECK_SCOTCH 
290     dnl scotch_ok is set to yes by CHECK_SCOTCH  
291
292
293     echo        
294     echo --------------------------------------------- 
295     echo testing LIBXML2
296     echo ---------------------------------------------
297     echo libxml_ok=no 
298     CHECK_LIBXML 
299     dnl libxml_ok is set to yes by CHECK_LIBXML         
300
301 fi
302
303 AM_CONDITIONAL(MED_ENABLE_METIS, [test "$ENABLE_METIS" = yes])
304 AM_CONDITIONAL(MED_ENABLE_SCOTCH, [test "$ENABLE_SCOTCH" = yes])
305
306
307 if test "${MED_WITH_KERNEL}" = "yes"; then
308 {
309
310
311         echo
312         echo ---------------------------------------------
313         echo testing OpenPBS
314         echo ---------------------------------------------
315         echo
316
317         CHECK_OPENPBS
318
319         echo
320         echo ---------------------------------------------
321         echo testing LSF
322         echo ---------------------------------------------
323         echo
324
325         CHECK_LSF
326
327         dnl
328         dnl ---------------------------------------------
329         dnl testing sockets
330         dnl ---------------------------------------------
331         dnl
332
333         CHECK_SOCKETS
334
335         dnl
336         dnl ---------------------------------------------
337         dnl testing Batch
338         dnl ---------------------------------------------
339         dnl
340
341         WITH_BATCH=no
342         test x$openpbs_ok = xyes || test x$lsf_ok = xyes && WITH_BATCH=yes
343         AC_SUBST(WITH_BATCH)
344
345         if test "${MED_WITH_GUI}" = "yes"; then
346                 echo
347                 echo ---------------------------------------------
348                 echo testing LEX \& YACC
349                 echo ---------------------------------------------
350                 echo
351
352                 lex_yacc_ok=no
353                 AC_PROG_YACC
354                 AC_PROG_LEX
355                 lex_yacc_ok=yes
356         fi
357
358         dnl
359         dnl ---------------------------------------------
360         dnl testing MPI
361         dnl ---------------------------------------------
362         dnl
363
364         CHECK_MPI
365         CHECK_MPICH
366
367         dnl echo
368         dnl echo ---------------------------------------------
369         dnl echo testing java
370         dnl echo ---------------------------------------------
371         dnl echo
372
373         dnl CHECK_JAVA
374
375         echo
376         echo ---------------------------------------------
377         echo testing omniORB
378         echo ---------------------------------------------
379         echo
380
381         CHECK_OMNIORB
382
383         echo
384         echo ---------------------------------------------
385         echo default ORB : omniORB
386         echo ---------------------------------------------
387         echo
388
389         DEFAULT_ORB=omniORB
390         CHECK_CORBA
391
392         AC_SUBST_FILE(CORBA)
393         corba=make_$ORB
394         CORBA=adm_local/unix/$corba
395
396         if test "${MED_WITH_GUI}" = "yes"; then
397
398                 echo
399                 echo ---------------------------------------------
400                 echo testing openGL
401                 echo ---------------------------------------------
402                 echo
403
404                 CHECK_OPENGL
405
406                 echo
407                 echo ---------------------------------------------
408                 echo testing QT
409                 echo ---------------------------------------------
410                 echo
411
412                 CHECK_QT
413
414                 echo
415                 echo ---------------------------------------------
416                 echo testing VTK
417                 echo ---------------------------------------------
418                 echo
419
420                 CHECK_VTK
421         fi
422
423         echo
424         echo ---------------------------------------------
425         echo Testing OpenCascade
426         echo ---------------------------------------------
427         echo
428
429         CHECK_CAS
430
431         echo
432         echo ---------------------------------------------
433         echo Testing Kernel
434         echo ---------------------------------------------
435         echo
436
437         CHECK_KERNEL
438
439         dnl echo
440         dnl echo ---------------------------------------------
441         dnl echo testing mico
442         dnl echo ---------------------------------------------
443         dnl echo
444
445         dnl CHECK_MICO
446
447         if test "${MED_WITH_GUI}" = "yes"; then
448                 echo
449                 echo ---------------------------------------------
450                 echo testing MSG2QM
451                 echo ---------------------------------------------
452                 echo
453
454                 CHECK_MSG2QM
455         fi
456
457         echo
458         echo ---------------------------------------------
459         echo Testing html generators
460         echo ---------------------------------------------
461         echo
462
463         CHECK_HTML_GENERATORS
464 }
465 else
466 {
467         WITHIHM="no"
468         WITHOPENPBS="no"
469         
470         AC_SUBST(WITHIHM)
471         AC_SUBST(WITHOPENPBS)
472         CPPFLAGS="$CPPFLAGS -DMED_WITHOUT_KERNEL"
473 }
474 fi # MED_WITH_KERNEL
475
476 if test "${MED_WITH_GUI}" = "yes"; then
477 {
478     echo
479     echo ---------------------------------------------
480     echo Testing GUI
481     echo ---------------------------------------------
482     echo
483
484     CHECK_SALOME_GUI
485
486     echo
487     echo ---------------------------------------------
488     echo Testing full GUI
489     echo ---------------------------------------------
490     echo
491
492     CHECK_CORBA_IN_GUI
493     if test "x${CORBA_IN_GUI}" != "xyes"; then
494       echo "failed : For configure MED module necessary full GUI !"
495       exit
496     fi
497 }
498 fi # MED_WITH_GUI
499
500 echo
501 echo ---------------------------------------------
502 echo Summary
503 echo ---------------------------------------------
504 echo
505
506 if test "$MED_WITH_KERNEL" = "no"; then 
507    echo "Configure (without Kernel)"
508 else
509    echo Configure
510 fi
511
512 #variables="cc_ok lex_yacc_ok python_ok swig_ok threads_ok hdf5_ok med2_ok boost_ok doxygen_ok graphviz_ok OpenGL_ok qt_ok vtk_ok omniORB_ok occ_ok Kernel_ok"
513
514 if test "${MED_WITH_GUI}" = "yes"; then
515 variables="cc_ok lex_yacc_ok mpi_ok python_ok swig_ok threads_ok OpenGL_ok qt_ok vtk_ok hdf5_ok med2_ok omniORB_ok occ_ok sip_ok pyqt_ok qwt_ok Kernel_ok cppunit_ok"
516 fi
517
518 if test "${MED_WITH_GUI}" = "no"; then
519 variables="cc_ok mpi_ok python_ok swig_ok threads_ok hdf5_ok med2_ok omniORB_ok occ_ok Kernel_ok cppunit_ok"
520 fi
521
522 for var in $variables
523 do
524    eval toto=\$$var
525    if test x$toto != "x"; then
526      printf "   %10s : " `echo \$var | sed -e "s,_ok,,"`
527      eval echo \$$var
528    fi
529 done
530
531 dnl optional variables 
532
533 echo "---Optional:"
534 variables="metis_ok scotch_ok libxml_ok"
535 for var in $variables
536      do
537          eval toto=\$$var
538          if test x$toto != "x"; then
539                 printf "   %10s : " `echo \$var | sed -e "s,_ok,,"`
540                 eval echo \$$var
541          fi
542      done
543
544 if test "${MED_WITH_KERNEL}" = "yes"; then
545 {
546         variables="openpbs_ok lsf_ok doxygen_ok graphviz_ok"
547  
548         for var in $variables
549         do
550            eval toto=\$$var
551            if test x$toto != "x"; then
552                 printf "   %10s : " `echo \$var | sed -e "s,_ok,,"`
553                 eval echo \$$var
554            fi
555         done
556 }
557 fi
558
559 echo
560 echo "Default ORB   : $DEFAULT_ORB"
561 echo
562
563 dnl We don t need to say when we re entering directories if we re using
564 dnl GNU make becuase make does it for us.
565 if test "X$GMAKE" = "Xyes"; then
566    AC_SUBST(SETX) SETX=":"
567 else
568    AC_SUBST(SETX) SETX="set -x"
569 fi
570
571 echo
572 echo ---------------------------------------------
573 echo generating Makefiles and configure files
574 echo ---------------------------------------------
575 echo
576
577 AC_OUTPUT_COMMANDS([ \
578         chmod +x ./bin/* \
579 ])
580
581 AC_OUTPUT([ \
582         ./salome_adm/unix/SALOMEconfig.h \
583         ./adm_local_without_kernel/unix/sstream \
584         Makefile \
585         ./MED_version.h \
586         ./adm_local/unix/config_files/Makefile \
587         ./adm_local/unix/Makefile \
588         ./adm_local/Makefile \
589         ./adm_local_without_kernel/unix/config_files/Makefile \
590         ./adm_local_without_kernel/unix/Makefile \
591         ./adm_local_without_kernel/Makefile \
592         ./resources/Makefile
593         ./resources/MEDCatalog.xml \
594         ./bin/Makefile \
595         ./bin/VERSION \
596         ./idl/Makefile \
597         ./src/Makefile \
598         ./src/MEDWrapper/Makefile \
599         ./src/MEDWrapper/Base/Makefile \
600         ./src/MEDWrapper/Factory/Makefile \
601         ./src/MEDWrapper/V2_1/Makefile \
602         ./src/MEDWrapper/V2_1/Core/Makefile \
603         ./src/MEDWrapper/V2_1/Wrapper/Makefile \
604         ./src/MEDWrapper/V2_2/Makefile \
605         ./src/MEDMEM/Doxyfile_med_devel \
606         ./src/MEDMEM/Doxyfile_med_user \
607         ./src/MEDMEM/Makefile \
608         ./src/MEDMEM/Test/Makefile \
609         ./src/INTERPOLATION/Makefile \
610         ./src/MEDMEM_SWIG/Makefile \
611         ./src/MEDSPLITTER/Makefile \
612         ./src/MEDSPLITTER/Test/Makefile \
613         ./src/MULTIPR/Makefile \
614         ./src/MEDMEM_I/Makefile \
615         ./src/MED/Makefile \
616         ./src/MedCorba_Swig/Makefile \
617         ./src/MED_SWIG/Makefile \
618         ./src/MedClient/Makefile \
619         ./src/MedClient/src/Makefile \
620         ./src/MedClient/test/Makefile \
621         ./src/MedClient/test/environ/Makefile \
622         ./src/MedClient/test/environ/runContainer \
623         ./src/MedClient/test/environ/runEnvironTests \
624         ./src/MedClient/test/environ/runTestMedCorba \
625         ./src/MedClient/test/environ/stopContainer \
626         ./src/MedClient/test/environ/csh/init1 \
627         ./src/MedClient/test/environ/csh/init2 \
628         ./src/MedClient/test/environ/csh/init3 \
629         ./src/MedClient/test/environ/csh/Makefile \
630         ./src/MedClient/test/environ/csh/runContainer \
631         ./src/MedClient/test/environ/csh/runEnvironTests \
632         ./src/MedClient/test/environ/csh/stopContainer \
633         ./src/MedClient/test/test1/Makefile \
634         ./src/MedClient/test/test2/Makefile \
635         ./src/MEDGUI/Makefile \
636         ./doc/Makefile \
637         ./doc/MEDMEM/Makefile \
638         ./doc/MEDMEM/MEDMEM_Content.tex \
639         ./doc/MEDMEM/MEDMEM_UML_light.png \
640         ./doc/MEDMEM/MEDMEM_UML.png \
641         ./doc/MEDMEM/MEDMEM_UsersGuide.tex \
642         ./doc/salome/Makefile \
643         ./doc/salome/tui/Makefile \
644         ./doc/salome/tui/MED/Makefile \
645         ./doc/salome/tui/MED/sources/Makefile \
646         ./doc/salome/tui/MED/sources/static/Makefile \
647         ./doc/salome/tui/MED/doxyfile \
648         ./doc/salome/tui/MED/sources/static/tree.js
649 ])
650
651 dnl To avoid recompiling half of the sources because of SALOMEconfig.h recreating
652 touch -d 01Jan2007 ./salome_adm/unix/SALOMEconfig.h