Merge remote-tracking branch 'origin/5.5'
[scilab.git] / scilab / configure.ac
1 #
2 # Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
3 # Copyright (C) INRIA - 2006-2008 - Sylvestre Ledru
4 # Copyright (C) DIGITEO - 2009-2011 - Sylvestre Ledru
5 # Copyright (C) DIGITEO - 2009 - Pierre MARECHAL <pierre.marechal@scilab.org>
6 # Copyright (C) Scilab Enterprises - 2014 - Clement DAVID <clement.david@scilab-enterprises.com>
7 #
8 # This file must be used under the terms of the CeCILL.
9 # This source file is licensed as described in the file COPYING, which
10 # you should have received as part of this distribution.  The terms
11 # are also available at
12 # http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
13 #
14
15 dnl Process this file with autoconf to produce a configure script.
16
17
18 AC_REVISION($Revision$)dnl
19 AC_INIT([Scilab],[5],[http://bugzilla.scilab.org/])
20 AC_PREREQ(2.68)
21 AC_CONFIG_MACRO_DIR([m4])
22
23 SCI_BUILDDIR="`pwd`"
24 SCI_SRCDIR="$srcdir"
25 SCI_SRCDIR_FULL="`cd $SCI_SRCDIR && pwd`"
26
27 SCILAB_VERSION_MAJOR=5
28 SCILAB_VERSION_MINOR=6
29 SCILAB_VERSION_MAINTENANCE=0
30 AC_SUBST(SCILAB_VERSION_MAJOR)
31 AC_SUBST(SCILAB_VERSION_MINOR)
32 AC_SUBST(SCILAB_VERSION_MAINTENANCE)
33
34
35 SCILAB_LIBRARY_VERSION=$SCILAB_VERSION_MAJOR:$SCILAB_VERSION_MINOR:$SCILAB_VERSION_MAINTENANCE
36 AC_SUBST(SCILAB_LIBRARY_VERSION)
37
38 SCILAB_BINARY_VERSION=$SCILAB_VERSION_MAJOR.$SCILAB_VERSION_MINOR.$SCILAB_VERSION_MAINTENANCE
39 AC_SUBST(SCILAB_BINARY_VERSION)
40
41 #shared library versioning
42 #GENERIC_LIBRARY_VERSION=1:2:0
43 #                       | | |
44 #                +------+ | +---+
45 #                |        |     |
46 #             current:revision:age
47 #                |        |     |
48 #                |        |     +- increment if interfaces have been added
49 #                |        |        set to zero if interfaces have been removed
50 #                                  or changed
51 #                |        +- increment if source code has changed
52 #                |           set to zero if current is incremented
53 #                +- increment if interfaces have been added, removed or changed
54
55 # Check if we have a space in the path to the source tree
56 SPACE_IN_PATH=`echo "$SCI_SRCDIR_FULL"|grep " " > /dev/null; echo $?`
57 if test "$SPACE_IN_PATH" = "0"; then
58    AC_MSG_WARN([=====================================])
59    AC_MSG_WARN([Configure thinks that there is a space in the path to the source. This may cause problem with libtool and some other things...])
60    AC_MSG_WARN([=====================================])
61    sleep 180
62 fi
63
64 AC_CONFIG_AUX_DIR(config)
65 AC_CONFIG_HEADERS([modules/core/includes/machine.h])
66
67 # strip executable
68 AM_PROG_INSTALL_STRIP
69 AC_PROG_LN_S
70 AM_PROG_AR
71
72 AC_CUSTOM_LARGE_FILE
73
74 # In order to be able to change the scilab directory
75 # See http://wiki.debian.org/RpathIssue
76 AC_RELOCATABLE
77 AC_RELOCATABLE_LIBRARY
78 AC_LIB_RPATH
79
80 # If configure detect that timestamp changed,
81 # it tries to rebuild configure & makefile which can be a painmaker
82 # if the version is different
83 AM_MAINTAINER_MODE
84
85 AM_INIT_AUTOMAKE([-Wall foreign serial-tests subdir-objects]) # Not using -Werror because we override {C,F}FLAGS in order to disable optimisation
86
87 AC_CANONICAL_HOST
88
89 #################################
90 ## all the --with-* argument help
91 #################################
92
93
94 AC_ARG_ENABLE(debug,
95    AC_HELP_STRING([--enable-debug],[Do not optimize and print warning messages (C/C++/Fortran/Java code)]))
96
97 AC_ARG_ENABLE(debug-C,
98    AC_HELP_STRING([--enable-debug-C],[Do not optimize and print warning messages (C code)]))
99
100 AC_ARG_ENABLE(debug-CXX,
101    AC_HELP_STRING([--enable-debug-CXX],[Do not optimize and print warning messages (C++ code)]))
102
103 AC_ARG_ENABLE(debug-java,
104    AC_HELP_STRING([--enable-debug-java],[Print warning messages and line numbers (Java code)]))
105
106 AC_ARG_ENABLE(debug-fortran,
107    AC_HELP_STRING([--enable-debug-fortran],[Do not optimize and print warning messages (Fortran code)]))
108
109 AC_ARG_ENABLE(debug-linker,
110    AC_HELP_STRING([--enable-debug-linker],[Print warning messages from the linker (ld)]))
111
112 AC_ARG_ENABLE(code-coverage,
113    AC_HELP_STRING([--enable-code-coverage],[Enable code coverage]))
114
115 AC_ARG_ENABLE(stop-on-warning,
116    AC_HELP_STRING([--enable-stop-on-warning],[Stop the compilation on the first warning found in the C/C++ code]))
117
118 AC_ARG_WITH(gcc,
119     AC_HELP_STRING([--with-gcc],[Use gcc C compiler ]))
120
121 AC_ARG_WITH(gfortran,
122     AC_HELP_STRING([--with-gfortran],[Use gfortran, GNU Fortran 95 compiler]))
123
124 AC_ARG_WITH(intelcompilers,
125     AC_HELP_STRING([--with-intelcompilers],[Use Intel C (icc) and Fortran (ifort) proprietary compilers (GNU/Linux only) ]))
126
127 AC_ARG_WITH(tk,
128     AC_HELP_STRING([--without-tk],[Disable the interface to Tcl/Tk ]))
129
130 AC_ARG_WITH(javasci,
131     AC_HELP_STRING([--without-javasci],[Disable the Java/Scilab interface (javasci)]))
132
133 AC_ARG_ENABLE(compilation-tests,
134     AC_HELP_STRING([--enable-compilation-tests],[Enable unitary tests and checks at compilation time]))
135
136 AC_ARG_WITH(gui,
137     AC_HELP_STRING([--without-gui],[Disable the Scilab Graphical User Interface (GUI). Intended for embedded/clustering/grid Scilab ]))
138
139 AC_ARG_WITH(build-swig,
140     AC_HELP_STRING([--enable-build-swig=path],[Regenerate Java => C and Scilab => C wrappers produces by Swig]),
141     [with_build_swig=$withval],
142     [with_build_swig=no]
143     )
144
145
146 AC_ARG_ENABLE(build-giws,
147     AC_HELP_STRING([--enable-build-giws],[Regenerate C/C++ => Java wrappers produces by Giws]))
148
149
150 ################################################
151 ########## compilator & misc programs detection
152 ################################################
153
154 AC_PROG_CPP
155 AC_PROG_GREP
156
157 ######
158 #### Mac OS X set of fink path with provided
159 ######
160
161 AC_ARG_WITH(fink_prefix,
162 AC_HELP_STRING([--with-fink-prefix],[Provide a fink prefix. Default: /sw/ ]))
163 # Need MacosX Version to specify some path.
164 case "$host_os" in
165      *Darwin* | *darwin*)
166                AC_GET_MACOSX_VERSION
167      ;;
168 esac
169
170 case "$host" in
171     *darwin*)
172         if test -n "$with_fink_prefix"; then
173             # If with-fink-prefix is provided, use the provided path to make sure that we will
174             # use it to detect dependencies (for example, gfortran is not provided in xcode.
175             # Therefor, we use the one in fink)
176             FINK_PREFIX="$with_fink_prefix/"
177
178             # Exec the init script of fink to make sure that the env is set
179             if test -f $with_fink_prefix/bin/init.sh; then
180                 echo "source $with_fink_prefix/bin/init.sh executed to set the env"
181                 source $with_fink_prefix/bin/init.sh
182             else
183                 AC_MSG_WARN([Could not find the fink init.sh script: $with_fink_prefix/bin/init.sh])
184             fi
185         else
186             FINK_PREFIX="/sw/"
187         fi
188
189         #Append to the default flags on Apple machines
190         CPPFLAGS="$CPPFLAGS -I$FINK_PREFIX/include/"
191         LDFLAGS="$LDFLAGS -L$FINK_PREFIX/lib/"
192         ;;
193 esac
194
195 AC_ARG_WITH(min_macosx_version,
196 AC_HELP_STRING([--with-min-macosx-version],[Force compilers to generate binaries compatible with MacOSX minimal version.]))
197 case "$host" in
198     *darwin*)
199     if test -n "$with_min_macosx_version"; then
200        MIN_MACOSX_VERSION=$with_min_macosx_version
201        #Append to the default flags on Apple machines
202        ARCH_CFLAGS="-mmacosx-version-min=$MIN_MACOSX_VERSION"
203        ARCH_CXXFLAGS="-mmacosx-version-min=$MIN_MACOSX_VERSION"
204        ARCH_FFLAGS="-mmacosx-version-min=$MIN_MACOSX_VERSION"
205        ARCH_LDFLAGS="-mmacosx-version-min=$MIN_MACOSX_VERSION"
206        # We need this to be passed to all linker commands
207        LDFLAGS="$LDFLAGS -mmacosx-version-min=$MIN_MACOSX_VERSION"
208     fi
209 ;;
210 esac
211
212
213 #####################################################
214 ## Look for pkg-config
215 #####################################################
216 PKG_PROG_PKG_CONFIG
217
218 #####################################################
219 ## check if options are correct (or not)
220 #####################################################
221
222 if test "$with_intelcompilers" = yes -a "$with_gcc" = yes; then
223     AC_MSG_ERROR([Conflicting options : you specified two compiler series])
224 fi
225
226 ######## fortran ########
227
228 if test "$with_gfortran" = yes; then
229    AC_PROG_F77(gfortran)
230    if test -z "$F77"; then
231      AC_MSG_ERROR([You asked me to use gfortran but i haven't been able to find it])
232     fi
233 fi
234
235 if test "$with_intelcompilers" = yes; then
236    AC_PROG_F77(ifc ifort)
237    if test -z "$F77"; then
238      AC_MSG_ERROR([You asked me to use ifc (intel fortran compiler) but i haven't been able to find it])
239     fi
240 fi
241
242 if test -z "$F77"; then
243 ## No Fortran compiler specified... Prefer gfortran and intel compilers
244    AC_PROG_F77([gfortran ifc ifort])
245    if test -z "$F77"; then
246         # Best effort to find a compiler (might be g77)
247     AC_PROG_F77
248    fi
249 fi
250
251
252 # case statements were introduced in fortran 90 so we can use that
253 # as a test to see if our compiler is fortran 90 compatible.
254 f90compatible=false
255 if test -z "$F77"; then
256   AC_MSG_ERROR([No fortran compiler found. Cannot compile scilab without a fortran compiler])
257 fi
258
259 AC_MSG_CHECKING([if $F77 is a fortran 90 compatible compiler])
260  f90compatible=false
261 AC_LANG_PUSH([Fortran 77])
262 AC_COMPILE_IFELSE([
263       PROGRAM hello
264         do 50 i = 1, 5
265            select case ( i )
266               case (1)
267                  print*, "case is 1, i is ", i
268               case ( 2 : 3 )
269                  print*, "case is 2 to 3, i is ", i
270               case default
271                  print*, "default case, i is ", i
272               end select
273  50           continue
274       END
275     ],
276     [AC_MSG_RESULT([yes])
277      AC_DEFINE([G95_FORTRAN],[],[uses G95 fortran])
278      f90compatible=true
279     ],
280     [AC_MSG_RESULT([no])]
281 )
282 AC_LANG_POP([Fortran 77])
283
284 ############ C ###############
285
286
287 if test "$with_gcc" = yes; then
288    AC_PROG_CC(gcc)
289    if test -z "$CC"; then
290      AC_MSG_ERROR([You asked me to use gcc but i haven't been able to find it])
291     fi
292 fi
293
294 if test "$with_intelcompilers" = yes; then
295    AC_PROG_CC(icc ecc)
296    if test -z "$CC"; then
297      AC_MSG_ERROR([You asked me to use icc (intel C compiler) but I haven't been able to find it])
298     fi
299 fi
300
301 if test -z "$CC"; then
302 # No C compiler specified... We rely on Autoconf to find the best
303    AC_PROG_CC
304 fi
305
306 if test -z "$CC"; then
307   AC_MSG_ERROR([No C Compiler found. Cannot compile Scilab without a C compiler])
308 fi
309
310 AC_CHECK_SIZEOF([int])
311 AC_CHECK_SIZEOF([long])
312
313 ### C++ ###
314 AC_PROG_CXX
315 # we can't just do something like
316 # AC_CHECK_PROG(cxx_present, $CXX, "yes", "no")
317 # because if the user has specified the full path of the desired C++ compiler then AC_CHECK_PROG
318 # will fail.  If AC_PROG_CXX fails to find a c++ compiler it will set CXX=g++ so just run AC_CHECK_PROG
319 # in this special case
320 case $CXX in
321     g++)
322         AC_CHECK_PROG([cxx_present], [$CXX], [yes], [no])
323         if test "x$cxx_present" != "xyes"; then
324             AC_MSG_ERROR([No C++ compiler found. Cannot compile scilab without a C++ compiler])
325         fi
326         ;;
327 esac
328
329 # for "subdir-objects"
330
331 AM_PROG_CC_C_O
332 AC_PROG_F77_C_O
333
334
335 if test "$enable_debug" = yes; then
336    enable_debug_fortran=yes
337    enable_debug_C=yes
338    enable_debug_CXX=yes
339    enable_debug_java=yes
340 else
341    enable_debug=no
342 fi
343
344 if test "$enable_debug_fortran" = yes; then
345    FFLAGS="`echo "$FFLAGS"| sed -e 's|-O[0-9+]|-O0|'`"
346 else
347    enable_debug_fortran=no
348 fi
349
350 if test "$enable_debug_C" = yes; then
351    CFLAGS="`echo "$CFLAGS"| sed -e 's|-O[0-9+]|-O0|'`"
352 else
353    enable_debug_C=no
354 fi
355
356 if test "$enable_debug_CXX" = yes; then
357    CXXFLAGS="`echo "$CXXFLAGS"| sed -e 's|-O[0-9+]|-O0|'`"
358 else
359    enable_debug_CXX=no
360 fi
361
362 if test "$enable_debug_java" = yes; then
363    LOGGING_LEVEL="INFO"
364 else
365    LOGGING_LEVEL="SEVERE"
366 fi
367 AC_SUBST(LOGGING_LEVEL)
368
369 if test "x${prefix}" = "xNONE"; then
370   prefix="${ac_default_prefix}"
371 fi
372
373 ###############################
374 ## get the version
375 ###############################
376
377 SCIVERSION=`cat $SCI_SRCDIR/Version.incl | sed -e "s/SCIVERSION=//" `
378
379 #############################################
380 ## Compilers and options according to machine
381 #############################################
382
383 ######################
384 ######## Set compilation options for intel C/Fortran compilers
385 ######################
386
387 if test "$with_intelcompilers" = yes; then
388    SCI_INTEL_COMPILER()
389 fi
390
391 ########### FORTRAN ######################
392
393
394 ######################
395 ######## With gfortran ...
396 ######################
397 if test -n "$F77"; then
398    case "$F77" in
399      gfortran*)
400         ## With GNU Compiler enable the code coverage
401         if test "$enable_code_coverage" = yes; then
402             CODECOVERAGE_FFLAGS="-fprofile-arcs -ftest-coverage"
403         fi
404      ;;
405      g77*)
406         AC_MSG_ERROR([g77 is no longer supported. Please consider switching to gfortran])
407      ;;
408    esac
409
410    if test "$enable_debug_fortran" = yes; then
411     AC_LANG_PUSH([Fortran 77])
412     for flag in -g -Wall -Wsurprising; do
413         case " ${FFLAGS} " in
414             *\ ${flag}\ *)
415                 # flag is already present
416                 ;;
417
418             *)
419                 AC_MSG_CHECKING([if the Fortran compiler accepts ${flag}])
420                 ac_save_FFLAGS="$FFLAGS"
421                 FFLAGS="$FFLAGS ${flag}"
422                 AC_COMPILE_IFELSE([AC_LANG_PROGRAM()],
423                     [AC_MSG_RESULT([yes])
424                      DEBUG_FFLAGS="${flag}"
425                     ],
426                     [AC_MSG_RESULT([no])]
427                 )
428                 ;;
429         esac
430     done
431     AC_LANG_POP([Fortran 77])
432    else
433       DEBUG_FFLAGS="-DNDEBUG"
434    fi
435       case "$host" in
436          x86_64-*-linux*)
437             ARCH_FFLAGS="-m64 -fPIC"
438                     ;;
439         # Dec Alpha OSF 4
440         alpha*-dec-osf4.*)
441           ARCH_FFLAGS="-fpe3"
442         ;;
443         alpha*-dec-osf*)
444             ARCH_FFLAGS="-fpe3 -switch nosqrt_recip"
445         ;;
446         rs6000-*-*)
447             ARCH_FFLAGS="-qcharlen=4096"
448             ;;
449         mips-*-ultrix*)
450             ARCH_FFLAGS="-O0 -fpe1"
451         ;;
452           *-*-hpux9.*)
453             ARCH_FFLAGS="+Obb1200 +E4 -Dhpux"
454         ;;
455           *-*-hpux10.*)
456             if test "$enable_debug_fortran" = yes; then
457                 ARCH_FFLAGS="+E4 +Z +DAportable -Dhpux"
458             else
459                 ARCH_FFLAGS="+O2 +E4 +Z +DAportable -Dhpux"
460             fi
461 #            ARCH_LDFLAGS="-Wl,+vnocompatwarnings,-E /usr/lib/libdld.sl"
462
463             ;;
464           *-*-hpux11.*)
465            if test "$enable_debug_fortran" = yes; then
466               ARCH_FFLAGS=" +Z +DAportable -Dhpux"
467              else
468               ARCH_FFLAGS="+O2 +Z +DAportable -Dhpux"
469            fi
470            ARCH_LDFLAGS="-ldld -lnsl -lU77 -lm"
471
472      ;;
473       esac
474
475 fi
476
477 #########################
478 # setting parameters according to system types
479 #########################
480
481 case "$host" in
482     *-*-hpux9.*|*-*-hpux10.*|*-*-hpux11.*)
483         HPUX=1
484     ;;
485     sparc-*)
486         SPARC=1
487     ;;
488     mips-sgi-irix*)
489       MIPS_SGI_IRIX=1
490     ;;
491      *-*-solaris*)
492      SOLARIS=1
493      ;;
494     *darwin*)
495       MACOSX=1
496     ;;
497 esac
498
499 AM_CONDITIONAL(IS_MACOSX, test -n "$MACOSX")
500 AM_CONDITIONAL(IS_HPUX, test -n "$HPUX")
501 AM_CONDITIONAL(IS_SPARC, test -n "$SPARC")
502 AM_CONDITIONAL(IS_SOLARIS, test -n "$SOLARIS")
503 AM_CONDITIONAL(IS_MIPS_SGI_IRIX, test -n "$MIPS_SGI_IRIX")
504
505
506
507 ############
508 ## C++
509 ############
510
511
512 if test -z "$CXX"; then
513   AC_MSG_ERROR([No C++ compiler found. Cannot compile scilab without a C++ compiler])
514 fi
515
516 case "$CXX" in
517     g++-* | g++ | ccache*g++ | ccache*g++-* )
518         ## With GNU C++ Compiler
519
520         # enable the code coverage
521         if test "$enable_code_coverage" = yes; then
522             CODECOVERAGE_CXXFLAGS="-fprofile-arcs -ftest-coverage"
523         fi
524
525         if test "$enable_debug_CXX" = yes; then
526             DEBUG_CXXFLAGS="-pipe -Wshadow -Wpointer-arith -Wcast-align -Wreturn-type -Wswitch -Wtrigraphs -Wcomment -W -Wchar-subscripts -Wformat -Wparentheses -Wsign-compare -Wwrite-strings -Wunused -Wno-strict-aliasing -Wextra -Wall -g3 -Wunsafe-loop-optimizations"
527             case "$host" in
528                 *-linux-gnu )
529                     # Only doing that under Linux
530                     DEBUG_CXXFLAGS="$DEBUG_CXXFLAGS -fdiagnostics-show-option -Werror=format-security"
531                 ;;
532             esac
533         else
534             DEBUG_CXXFLAGS="-DNDEBUG"
535         fi
536         COMPILER_CXXFLAGS="-fno-stack-protector " # bug 3131
537     ;;
538
539 esac
540
541 #### 64 bits detection
542 IS_64_BITS_CPU=false
543 case "$host" in
544          x86_64-*-linux-gnu | x86_64-linux-gnu | ia64-*-linux-gnu | alpha-*-linux-gnu | alpha-*-netbsd* | x86_64-*-netbsd* | sparc64-*-netbsd*)
545                 IS_64_BITS_CPU=true
546     ;;
547 esac
548
549 ##########"
550
551 case "$CC" in
552      gcc-* | gcc | ccache*gcc | ccache*gcc-* )
553    ## With GNU Compiler
554
555    # enable the code coverage
556    if test "$enable_code_coverage" = yes; then
557     CODECOVERAGE_CFLAGS="-fprofile-arcs -ftest-coverage"
558    fi
559
560    if test "$enable_debug_C" = yes; then
561       DEBUG_CFLAGS="-pipe -Wformat -Wshadow -Wfloat-equal -Wpointer-arith -Wcast-align -Wmissing-prototypes -Wmissing-declarations  -Wstrict-prototypes  -Wmissing-noreturn -Wendif-labels -Wpointer-arith -Wbad-function-cast -Wcast-qual -Wwrite-strings -Winline -Wredundant-decls -Wall -Wchar-subscripts -Wextra  -Wuninitialized -Wno-format-y2k -Wmissing-format-attribute -Wno-missing-field-initializers -Wno-strict-aliasing  -Wold-style-definition -g3 -Wunsafe-loop-optimizations"
562       # used to be -O0
563       case "$host" in
564       *-linux-gnu )
565       # Only doing that under Linux
566         if test "$enable_debug_linker" = yes; then
567             LDFLAGS="$LDFLAGS -Wl,--warn-common,-x"
568         fi
569           DEBUG_CFLAGS="$DEBUG_CFLAGS -fdiagnostics-show-option -Werror=format-security"
570           ;;
571           esac
572    else
573       DEBUG_CFLAGS="-DNDEBUG"
574    fi
575
576    COMPILER_CFLAGS="-fno-stack-protector " # bug 3131
577    # Explictly disable the as needed. It was disable by default but Ubuntu
578    # activated it by default since release 11.04. See bug #8961.
579    # Once all cyclic dependencies have been dropped, this line could be removed.
580    # Check if linker supports --as-needed and --no-as-needed options
581    if $LD --help 2>/dev/null | grep no-as-needed > /dev/null; then
582       LDFLAGS="$LDFLAGS -Wl,--no-as-needed"
583    fi
584
585
586    case "$host" in
587      x86_64-*-linux-gnu | x86_64-linux-gnu)
588         ARCH_CFLAGS="-m64"
589     ;;
590      alpha-*-linux-gnu)
591         ARCH_CFLAGS="-mieee-with-inexact"
592         ARCH_LDFLAGS="-mieee-with-inexact"
593     ;;
594      powerpc-*-linux-gnu)
595         ARCH_CFLAGS="-D_GNU_SOURCE"
596     ;;
597      *-*-solaris*)
598         ARCH_CFLAGS="-DSVR4 -DSYSV -Dsolaris"
599     ;;
600    *-*-freebsd*)
601      ARCH_CFLAGS="-Dfreebsd"
602      ARCH_LDFLAGS="-lm"
603      ;;
604
605   alpha-*-netbsd*)
606     ARCH_CFLAGS="-Dnetbsd -mieee"
607     ARCH_FFLAGS="-Dnetbsd -mieee"
608     ;;
609
610   *-*-netbsd*)
611     ARCH_CFLAGS="-Dnetbsd"
612     ;;
613
614   *-*-darwin*)
615     ARCH_CFLAGS="$ARCH_CFLAGS -no_compact_linkedit"
616     ARCH_CXXFLAGS="$ARCH_CXXFLAGS -no_compact_linkedit"
617     ARCH_LDFLAGS="$ARCH_LDFLAGS -no_compact_linkedit"
618     # We need this to be passed to all linker commands
619     LDFLAGS="$LDFLAGS -no_compact_linkedit"
620
621     case "$F77" in
622          gfortran-*|gfortran)
623              # Extract from gfortran -v the version it has been built for
624                MAC_DETECTED_ARCH="`$F77 -v 2>&1|grep "Target:"|sed -e "s/Target: \([[a-z0-9A-Z_]]*\).*/\1/g"`"
625          ;;
626          *)
627         AC_MSG_WARN([gfortran not used. Could not detect the architecture. Switch to the default case: x86_64])
628         MAC_DETECTED_ARCH="x86_64"
629          ;;
630     esac
631     CC="$CC -arch $MAC_DETECTED_ARCH"
632     CXX="$CXX -arch $MAC_DETECTED_ARCH"
633     ;;
634 esac
635 ;; # end of the gcc case on the $CC
636    *)
637
638         ## CC compiler (not GCC)
639         if test "$enable_debug_C" != yes; then
640              ARCH_CFLAGS="-DNDEBUG"
641         fi
642
643 case "$host" in
644 # Dec Alpha OSF 4
645   alpha*-dec-osf4.*)
646       ARCH_CFLAGS="-std -ieee_with_inexact"
647       ARCH_LDFLAGS="-ieee_with_inexact"
648       ;;
649   alpha*-dec-osf*)
650       ARCH_CFLAGS="-ieee_with_inexact"
651       ARCH_LDFLAGS="-ieee_with_inexact"
652       ;;
653   rs6000-*-*) # IBM AIX RS 6000 (NO LONGER SUPPORTED)
654     ARCH_CFLAGS="-Daix -DSYSV"
655   ;;
656   mips-sgi-irix*) # SGI
657     ARCH_CFLAGS="-DSYSV -DSVR4"
658   ;;
659   *-*-hpux9.*)
660     ARCH_CFLAGS="-DSYSV -Dhpux"
661   ;;
662   *-*-hpux10.*) # HP 10
663     if test "$enable_debug_C" = yes; then
664       ARCH_CFLAGS="-DSYSV -Dhpux"
665     else
666       ARCH_CFLAGS="-DSYSV -Dhpux +Z +DAportable"
667     fi
668   ;;
669
670   *-*-hpux11.*) # HP 11
671     ARCH_CFLAGS="-DSYSV -Dhpux -Dhppa +Z +DAportable"
672   ;;
673   *-*-solaris*) # SUN SOLARIS
674     ARCH_CFLAGS="-DSVR4 -DSYSV -Dsolaris -I/usr/local/include/"
675     ARCH_LDFLAGS="-L/usr/local/lib/"
676   ;;
677 esac
678 ;; # end of not a gcc compiler
679 esac
680
681
682 # enable the code coverage
683 if test "$enable_code_coverage" = yes; then
684    AC_PATH_PROG(LCOV, lcov)
685    if test -z "$LCOV" ; then
686         AC_MSG_ERROR([Cannot find lcov. Please install it (package lcov under Debian) or remove the option --enable-code-coverage])
687    fi
688    AC_PATH_PROG(GENHTML, genhtml)
689    if test -z "$GENHTML" ; then
690         AC_MSG_ERROR([Cannot find genhtml. Please install it (package lcov under Debian) or remove the option --enable-code-coverage])
691    fi
692    CODECOVERAGE_LDFLAGS="-coverage -lgcov"
693 fi
694 AM_CONDITIONAL(CODE_COVERAGE, test "$enable_code_coverage" = yes)
695
696 # flag for possible compilations in configure
697 SCILIBS_CFLAGS=''
698 SCILIBS_CXXFLAGS=''
699 SCILIBS_FFLAGS=''
700
701 if test $IS_64_BITS_CPU = true -o "$MACOSX" = "1"; then
702    if test $f90compatible = false; then
703       AC_MSG_ERROR([64 bits support needs a fortran 90 compiler (try --with-gfortran).])
704    fi
705 fi
706
707 AM_CONDITIONAL(IS_64_BITS_CPU, test $IS_64_BITS_CPU = true)
708
709 ################
710 ## SSE
711 ## By default, for x86 CPU, enable the SSE.
712 ## Note that it is already the case with 64 bits CPU
713 ## (these extensions are enabled by default by gcc)
714 ################
715
716 case "$host" in
717      i*86-linux-gnu|i*86-*-linux-gnu)
718         SSE_CFLAGS="-msse"
719         SSE_FFLAGS="-msse"
720         SSE_CXXFLAGS="-msse"
721      ;;
722 esac
723
724 #######################
725 ## test for underscores (name mangling issues between C and fortran)
726 #######################
727 AC_CHECK_UNDERSCORE_FORTRAN()
728
729
730 #################
731 ## HDF5
732 #################
733
734 AC_HDF5()
735 # The Java detection is done after in this file.
736
737
738 #################
739 ## scirenderer
740 #################
741
742 AC_ARG_WITH(external-scirenderer,
743     AC_HELP_STRING([--with-external-scirenderer],[Disable the usage of the internal copy of scirenderer. Intended for packaging of Scilab]))
744
745 AM_CONDITIONAL(EXTERNAL_SCIRENDERER, test "$with_external_scirenderer" = yes)
746
747
748 #################
749 ## XCOS
750 #################
751
752 AC_ARG_WITH(xcos,
753     AC_HELP_STRING([--without-xcos],[Disable Xcos]))
754
755 AC_ARG_WITH(modelica,
756     AC_HELP_STRING([--without-modelica],[Disable the OCaml module (modelica)]))
757
758
759 if test "$with_gui" = no; then
760    AC_MSG_WARN([GUI is disabled. Disabling then xcos])
761    with_xcos=no
762 fi
763
764 XCOS_ENABLE=no
765
766 if test "$with_xcos" != no -a "$with_gui" != no; then
767    AC_DEFINE([WITH_XCOS], [], [With XCOS])
768
769    save_LIBS="$LIBS"
770
771    AC_CHECK_LIB([rt], [clock_gettime],
772               [RT_LIB="-lrt";
773               AC_DEFINE([HAVE_CLOCK_GETTIME], [1],[Whether clock_gettime is available]) ],
774         [AC_MSG_WARN([librt: library missing (Cannot find symbol clock_gettime). Check if librt is installed (it is usually provided by the libc) and if the version is correct])]
775    )
776    LIBS="$save_LIBS"
777    AC_SUBST(RT_LIB)
778
779
780 #################
781 ## ocaml which only called when using Xcos
782 #################
783
784    if test "$with_modelica" != no; then
785       AC_CHECK_PROG_OCAML()
786    fi
787    XCOS_ENABLE=yes
788
789 fi
790
791 AC_SUBST(XCOS_ENABLE)
792
793 AM_CONDITIONAL(OCAML, test "$with_modelica" != no -a "$OCAMLC" != no -a "$OCAMLOPT" != no)
794 AM_CONDITIONAL(XCOS, test "$XCOS_ENABLE" != no)
795
796 ###########################
797 ## test for JAVA compiler
798 ###########################
799 if test "$with_javasci" != no -o "$with_gui" != no -o "$enable_build_help" != no; then
800
801      # See if --with-jdk command line argument is given
802      # Try to detect the installed JVM, this could be controlled
803      # by the above --with options
804      AC_JAVA_WITH_JDK
805      if test "$with_jdk" != no; then
806      
807      AC_JAVA_DETECT_JVM
808      case "$ac_java_jvm_version" in
809         1.6 | 1.7 | 1.8)
810         ;;
811         *)
812             AC_MSG_ERROR([Wrong version of Java. Expected at least 1.6. Found $ac_java_jvm_version])
813         ;;
814      esac
815
816    if test "$ac_java_jvm_name" = "jdk"; then
817         JAVA_HOME=$ac_java_jvm_dir
818         JAVA_VERSION=$ac_java_jvm_version
819 #     AC_JAVA_TOOLS
820
821         AC_JAVA_JNI_INCLUDE
822         JAVA_JNI_INCLUDE=$ac_java_jvm_jni_include_flags
823
824         case "$host_os" in
825              *Darwin* | *darwin*)
826                # Mac OS X does not link against the lib but uses -framework
827                JAVA_JNI_LIBS="-framework JavaVM"
828              ;;
829              *)
830                AC_JAVA_JNI_LIBS
831                JAVA_JNI_LIBS=$ac_java_jvm_jni_lib_flags
832                JAVA_JNI_LIBS_PRELOAD=$ac_java_jvm_ld_preload
833              ;;
834         esac
835
836         AC_JAVA_CLASSPATH
837         JAVA_CLASSPATH=$ac_java_classpath
838         AC_JAVA_TOOLS
839         AC_JAVA_ANT
840
841         case "$host_os" in
842              *Darwin* | *darwin*)
843                   JAVA_HOME=""
844              ;;
845         esac
846
847
848         if test "$with_gui" != no; then
849
850                 if test $XCOS_ENABLE = yes; then
851                    # jgraphx
852                    AC_JAVA_CHECK_PACKAGE([jgraphx],[com.mxgraph.model.mxCell],[Diagram design])
853                    JGRAPHX=$PACKAGE_JAR_FILE
854                    AC_SUBST(JGRAPHX)
855
856                    AC_JAVA_CHECK_VERSION_PACKAGE([jgraphx],[import com.mxgraph.view.mxGraph;],$JGRAPHX,[2.0.0.1],[mxGraph.VERSION],[],[])
857
858                 fi
859
860                 if test "$with_external_scirenderer" = yes; then
861                    # scirenderer
862                    AC_JAVA_CHECK_PACKAGE([scirenderer],[org.scilab.forge.scirenderer.PackageInfo],[Scilab Renderer])
863                    SCIRENDERER=$PACKAGE_JAR_FILE
864                    SCIRENDERER_CP=$PACKAGE_JAR_FILE
865
866                    AC_JAVA_CHECK_VERSION_PACKAGE([scirenderer],[import org.scilab.forge.scirenderer.PackageInfo;],$SCIRENDERER,[1.1.0],[PackageInfo.VERSION])
867                  else
868                    echo "Use external version of scirenderer"
869                    # Use the scirenderer in Scilab sources
870                    SCIRENDERER="\${modules.dir}/scirenderer/\${build.jar.dir}/scirenderer.jar"
871                    SCIRENDERER_CP="\$SCILAB/modules/scirenderer/jar/scirenderer.jar"
872                 fi
873                 AC_SUBST(SCIRENDERER)
874                 AC_SUBST(SCIRENDERER_CP)
875
876                # Docking system
877                 AC_JAVA_CHECK_PACKAGE([flexdock],[org.flexdock.docking.DockingManager],[Scilab Gui])
878                 FLEXDOCK=$PACKAGE_JAR_FILE
879                 AC_SUBST(FLEXDOCK)
880
881                 AC_JAVA_CHECK_VERSION_PACKAGE([flexdock],[import org.flexdock.util.Utilities;],$FLEXDOCK,[1.2.4],[Utilities.VERSION])
882
883                 # Swing look&feel implementations
884                 AC_JAVA_CHECK_PACKAGE([looks],[com.jgoodies.looks.common.MenuItemRenderer],[Scilab Gui - Look and feel],"yes")
885                 LOOKS=$PACKAGE_JAR_FILE
886
887                 # Named differently under ArchLinux or Fedora
888                 if test -z "$LOOKS"; then
889                     AC_JAVA_CHECK_PACKAGE([jgoodies-looks],[com.jgoodies.looks.common.MenuItemRenderer],[Scilab Gui - Look and feel])
890                     LOOKS=$PACKAGE_JAR_FILE
891                 fi
892                 AC_SUBST(LOOKS)
893
894                 #  Skin Look and Feel
895                 AC_JAVA_CHECK_PACKAGE([skinlf],[com.l2fprod.util.AccessUtils],[Scilab Gui - Skin Look and Feel])
896                 SKINLF=$PACKAGE_JAR_FILE
897                 AC_SUBST(SKINLF)
898
899                 # JOGL 2
900                 AC_JAVA_CHECK_PACKAGE([jogl2],[javax.media.opengl.glu.GLUnurbs],[Scilab 3D rendering - Version 2.0])
901                 JOGL2=$PACKAGE_JAR_FILE
902                 AC_SUBST(JOGL2)
903
904                 if test "$MACOSX" = 1; then
905                    echo "Check of the presence of libjogl.jnilib and libjogl_awt.jnilib disabled under Mac OS X"
906                 else
907                    LDFLAGS_save=$LDFLAGS
908                    # Provide known paths where distribs/OS can store JNI libs
909                    LDFLAGS="$LDFLAGS -L/usr/lib/jni -L/usr/lib64/jni"                   # Debian
910                    LDFLAGS="$LDFLAGS -L/usr/lib/java -L/usr/lib64/java"                 # jpackage.org
911                    LDFLAGS="$LDFLAGS -L/usr/lib/jogl2 -L/usr/lib64/jogl2"               # RedHat
912                    LDFLAGS="$LDFLAGS -L$SCI_SRCDIR/thirdparty -L$SCI_SRCDIR/lib/thirdparty -L$SCI_SRCDIR/bin"        # Scilab thirdparties
913                    AC_CHECK_LIB([jogl_desktop], [glTexParameterf], [JOGL2_LIBS="-ljogl_desktop"],[AC_MSG_WARN([Could not link against -ljogl_desktop. Will try against -ljogl_desktop -lGL])])
914                    if test -z "$JOGL2_LIBS"; then # The previous test failed add more options to the LDFLAGS
915                        # the space after "jogl" in the following line is on
916                        # purpose to disable the cache
917                           AC_CHECK_LIB([jogl_desktop ], [glTexParameterf],
918                        [JOGL2_LIBS="-ljogl_desktop -lGL"],
919                        [AC_MSG_ERROR(["libjogl: Library
920 missing (Cannot find symbol glTexParameterf). Check if libjogl - C/Java (JNI)
921 interface for JOGL2 - or libGL (OpenGL library) are installed and if the version is correct. Note that you might have to update etc/librarypath.xml to provide the actual path to the JNI libraries."])],
922                        [-lGL])
923                    fi
924
925                    LDFLAGS=$LDFLAGS_save
926                 fi
927
928                 # JoGL Native <=> Java connector
929                 AC_JAVA_CHECK_PACKAGE([gluegen2-rt],[jogamp.common.os.MachineDescriptionRuntime],[Scilab 3D rendering])
930                 GLUEGEN2_RT=$PACKAGE_JAR_FILE
931                 AC_SUBST(GLUEGEN2_RT)
932
933                 if test "$MACOSX" = 1; then
934                    echo "Check of the presence of libgluegen-rt.jnilib disabled under Mac OS X"
935                 else
936                    LDFLAGS_save=$LDFLAGS
937                    # Provide known paths where distribs/OS can store JNI libs
938                    LDFLAGS="$LDFLAGS -L/usr/lib/jni -L/usr/lib64/jni"                   # Debian
939                    LDFLAGS="$LDFLAGS -L/usr/lib/java -L/usr/lib64/java"                 # jpackage.org
940                    LDFLAGS="$LDFLAGS -L/usr/lib/gluegen2 -L/usr/lib64/gluegen2"         # RedHat
941                    LDFLAGS="$LDFLAGS -L$SCI_SRCDIR/thirdparty -L$SCI_SRCDIR/lib/thirdparty -L$SCI_SRCDIR/bin"        # Scilab thirdparties
942                    symbol="Java_jogamp_common_jvm_JVMUtil_initialize"
943                    AC_CHECK_LIB([gluegen2-rt], [$symbol], [GLUEGEN2_RT_LIBS="-lgluegen2-rt"],
944                    [AC_MSG_ERROR([libgluegen2-rt: Library missing (Cannot find symbol $symbol). Check if libgluegen-rt - C/Java (JNI) interface for GLUEGEN2 - is installed and if the version is correct. Note that you might have to update etc/librarypath.xml to provide the actual path to the JNI libraries.])],
945                    [-ldl])
946                    LDFLAGS=$LDFLAGS_save
947                 fi
948
949                 # Jhall
950                 AC_JAVA_CHECK_PACKAGE([jhall],[javax.help.JHelp],[Scilab Help Browser],"yes")
951                 # Named differently under Mandriva or Fedora
952                 if test -z "$PACKAGE_JAR_FILE"; then
953                     AC_JAVA_CHECK_PACKAGE([javahelp2],[javax.help.JHelp],[Scilab Help Browser])
954                 fi
955                 JHALL=$PACKAGE_JAR_FILE
956                 AC_SUBST(JHALL)
957
958                 # Console API
959                 AC_JAVA_CHECK_PACKAGE([jrosetta-API],[com.artenum.rosetta.interfaces.core.ConsoleConfiguration],[JRosetta : Console API Artenum / Scilab],"yes")
960                 if test -z "$PACKAGE_JAR_FILE"; then
961                     AC_JAVA_CHECK_PACKAGE([jrosetta-api],[com.artenum.rosetta.interfaces.core.ConsoleConfiguration],[JRosetta : Console API Artenum / Scilab])
962                 fi
963                 JROSETTA_API=$PACKAGE_JAR_FILE
964                 AC_SUBST(JROSETTA_API)
965
966                 # Console Core
967                 AC_JAVA_CHECK_PACKAGE([jrosetta-engine],[com.artenum.rosetta.core.action.AbstractConsoleAction],[JRosetta : Console Core Artenum / Scilab])
968                 JROSETTA_ENGINE=$PACKAGE_JAR_FILE
969                 AC_SUBST(JROSETTA_ENGINE)
970                 AC_JAVA_CHECK_VERSION_PACKAGE([jrosetta-engine],[import com.artenum.rosetta.util.ConfigurationBuilder;],$JROSETTA_ENGINE,[1.0.4],[ConfigurationBuilder.getVersion()])
971
972
973                 # MathML rendering solution
974                 # Used in both graphic & help
975                 AC_JAVA_CHECK_PACKAGE([jeuclid-core],[net.sourceforge.jeuclid.LayoutContext],[MathML rendering solution (at least version 3.1.X)])
976                 JEUCLID_CORE=$PACKAGE_JAR_FILE
977                 AC_SUBST(JEUCLID_CORE)
978
979
980                 ################ Mandatory for graphic_export features #####
981                 # XML to PDF/other Translator
982                 AC_JAVA_CHECK_PACKAGE([fop],[org.apache.fop.pdf.PDFInfo],[XML to PDF Translator (fop)])
983                 FOP=$PACKAGE_JAR_FILE
984                 AC_SUBST(FOP)
985
986                 AC_ARG_WITH(emf, [AS_HELP_STRING([--without-emf],
987                     [disable support for EMF (Windows Metafile) export])])
988                 if test "x$with_emf" != xno; then
989                     # Freehep Graphics2D
990                     AC_JAVA_CHECK_PACKAGE([freehep-graphics2d],[org.freehep.graphics2d.VectorGraphics],[Freehep Graphics2D])
991                     FREEHEP_GRAPHICS2D=$PACKAGE_JAR_FILE
992                     AC_SUBST(FREEHEP_GRAPHICS2D)
993
994                     # Freehep GraphicsIO EMF
995                     AC_JAVA_CHECK_PACKAGE([freehep-graphicsio-emf],[org.freehep.graphicsio.emf.EMFGraphics2D],[Freehep GraphicsIO EMF])
996                     FREEHEP_GRAPHICSIO_EMF=$PACKAGE_JAR_FILE
997                     AC_SUBST(FREEHEP_GRAPHICSIO_EMF)
998
999                     # Freehep GraphicsIO
1000                     AC_JAVA_CHECK_PACKAGE([freehep-graphicsio],[org.freehep.graphicsio.VectorGraphicsIO],[Freehep GraphicsIO])
1001                     FREEHEP_GRAPHICSIO=$PACKAGE_JAR_FILE
1002                     AC_SUBST(FREEHEP_GRAPHICSIO)
1003
1004                     # Freehep IO
1005                     AC_JAVA_CHECK_PACKAGE([freehep-io],[org.freehep.util.io.XMLSequence],[Freehep IO])
1006                     FREEHEP_IO=$PACKAGE_JAR_FILE
1007                     AC_SUBST(FREEHEP_IO)
1008
1009                     # Freehep Util
1010                     AC_JAVA_CHECK_PACKAGE([freehep-util],[org.freehep.util.StringUtilities],[Freehep Util])
1011                     FREEHEP_UTIL=$PACKAGE_JAR_FILE
1012                     AC_SUBST(FREEHEP_UTIL)
1013                 fi
1014
1015                 # xml.apache.org SVG Library (under mandriva for example)
1016                 AC_JAVA_CHECK_PACKAGE([batik-all],[org.apache.batik.parser.Parser],[Apache SVG Library],"yes")
1017                 BATIK=$PACKAGE_JAR_FILE
1018
1019                 if test -z "$BATIK"; then
1020                    # Other other distribs
1021                    AC_JAVA_CHECK_PACKAGE([batik],[org.apache.batik.parser.Parser],[Apache SVG Library])
1022                    BATIK=$PACKAGE_JAR_FILE
1023                 fi
1024                 AC_SUBST(BATIK)
1025                 AC_JAVA_CHECK_VERSION_PACKAGE([batik],[import org.apache.batik.Version;],$BATIK,[1.7],[Version.getVersion()])
1026
1027                 # Commons I/O library
1028                 AC_JAVA_CHECK_PACKAGE([commons-io],[org.apache.commons.io.output.CountingOutputStream],[Commons I/O library])
1029                 COMMONS_IO=$PACKAGE_JAR_FILE
1030                 AC_SUBST(COMMONS_IO)
1031
1032                 # XML graphics common
1033                 AC_JAVA_CHECK_PACKAGE([xmlgraphics-commons],[org.apache.xmlgraphics.util.Service],[Commons graphics library])
1034                 XMLGRAPHICS_COMMONS=$PACKAGE_JAR_FILE
1035                 AC_SUBST(XMLGRAPHICS_COMMONS)
1036
1037                 # Avalon Framework (PDF)
1038                 AC_JAVA_CHECK_PACKAGE([avalon-framework],[org.apache.avalon.framework.configuration.ConfigurationException],[Common framework for Java server application])
1039                 AVALON_FRAMEWORK=$PACKAGE_JAR_FILE
1040                 AC_SUBST(AVALON_FRAMEWORK)
1041
1042                 # XML API EXT (conversion of a SVG => PNG)
1043                 AC_JAVA_CHECK_PACKAGE([xml-apis-ext],[org.w3c.dom.svg.SVGDocument],[XML Commons external code],"yes")
1044                 XML_APIS_EXT=$PACKAGE_JAR_FILE
1045
1046                 if test -z "$XML_APIS_EXT"; then
1047                     # Other other distribs (Ex: Fedora/Redhat)
1048                     AC_JAVA_CHECK_PACKAGE([xml-commons-apis-ext],[org.w3c.dom.svg.SVGDocument],[XML Commons external code])
1049                     XML_APIS_EXT=$PACKAGE_JAR_FILE
1050                 fi
1051                 AC_SUBST(XML_APIS_EXT)
1052
1053                 ################ END Mandatory for graphic_export features #####
1054
1055
1056                 # Logging (flexdock dep)
1057                 AC_JAVA_CHECK_PACKAGE([commons-logging],[org.apache.commons.logging.LogFactory],[Apache logging])
1058                 COMMONS_LOGGING=$PACKAGE_JAR_FILE
1059                 AC_SUBST(COMMONS_LOGGING)
1060
1061                 # JLaTeXMath
1062                 AC_JAVA_CHECK_PACKAGE([jlatexmath],[org.scilab.forge.jlatexmath.TeXFormula],[LaTex Rendering])
1063                 JLATEXMATH=$PACKAGE_JAR_FILE
1064                 AC_SUBST(JLATEXMATH)
1065
1066                 AC_JAVA_CHECK_VERSION_PACKAGE([jlatexmath],[import org.scilab.forge.jlatexmath.TeXFormula;],$JLATEXMATH,[1.0.3],[TeXFormula.VERSION])
1067
1068                 # JLaTeXMath FOP
1069                 AC_JAVA_CHECK_PACKAGE([jlatexmath-fop],[org.scilab.forge.jlatexmath.fop.JLaTeXMathObj],[LaTex Rendering - FOP plugin])
1070                 JLATEXMATH_FOP=$PACKAGE_JAR_FILE
1071                 AC_SUBST(JLATEXMATH_FOP)
1072
1073                 AC_DEFINE([WITH_GUI],[],[With the JAVA stuff (GUI, Console, JOGL...)])
1074
1075         fi
1076
1077         # Checkstyle (code checking)
1078         AC_JAVA_CHECK_PACKAGE([checkstyle],[com.puppycrawl.tools.checkstyle.CheckStyleTask],[Checkstyle - code checking],"yes")
1079         CHECKSTYLE=$PACKAGE_JAR_FILE
1080         AC_SUBST(CHECKSTYLE)
1081
1082         # Commons beanutils (dependency of checkstyle)
1083         AC_JAVA_CHECK_PACKAGE([commons-beanutils],[org.apache.commons.beanutils.Converter],[Bean utility],"yes")
1084         COMMONS_BEANUTILS=$PACKAGE_JAR_FILE
1085         AC_SUBST(COMMONS_BEANUTILS)
1086
1087         # antlr (dependency of checkstyle)
1088         AC_JAVA_CHECK_PACKAGE([antlr],[antlr.TokenStreamException],[language tool for constructing recognizers],"yes")
1089         ANTLR=$PACKAGE_JAR_FILE
1090         AC_SUBST(ANTLR)
1091
1092         # Junit 4 (java unitary test)
1093         AC_JAVA_CHECK_PACKAGE([junit4],[org.junit.Assert],[Junit4 - Unit tests],"yes")
1094         if test -z "$PACKAGE_JAR_FILE"; then
1095                 AC_JAVA_CHECK_PACKAGE([junit],[org.junit.Assert],[Junit4 -
1096 Unit tests],"yes")
1097         fi
1098         JUNIT4=$PACKAGE_JAR_FILE
1099         AC_SUBST(JUNIT4)
1100
1101         # Cobertura (java code coverage)
1102         AC_JAVA_CHECK_PACKAGE([cobertura],[net.sourceforge.cobertura.merge.Main],[cobertura - Java code coverage],"yes")
1103         COBERTURA=$PACKAGE_JAR_FILE
1104         AC_SUBST(COBERTURA)
1105
1106         # ASM (a dependency of Cobertura)
1107         AC_JAVA_CHECK_PACKAGE([asm3],[org.objectweb.asm.Type],[Java bytecode manipulation (dep of cobertura)],"yes")
1108         if test -z "$ASM3"; then
1109                 AC_JAVA_CHECK_PACKAGE([asm],[org.objectweb.asm.Type],[Java bytecode manipulation (dep of cobertura)],"yes")
1110         fi
1111         ASM3=$PACKAGE_JAR_FILE
1112         AC_SUBST(ASM3)
1113
1114         AC_JAVA_CHECK_PACKAGE([ecj],[org.eclipse.jdt.core.compiler.batch.BatchCompiler],[Eclipse Java compiler],"yes")
1115         ECJ=$PACKAGE_JAR_FILE
1116         if test -z "$ECJ"; then
1117            ECJ='$SCILAB/thirdparty/ecj.jar'
1118         fi
1119         AC_SUBST(ECJ)
1120
1121     else
1122         AC_MSG_WARN([Sun javac not found: I will not build the java interface])
1123         if test "$ac_java_jvm_name" != ""; then
1124             AC_MSG_WARN([We do not support $ac_java_jvm_name yet])
1125         fi
1126     fi
1127     AC_SUBST(JAVA_JNI_INCLUDE)
1128     AC_SUBST(JAVA_JNI_LIBS)
1129     AC_SUBST(JAVA_HOME)
1130
1131
1132     if test "$enable_debug_java" = yes; then
1133         JAVAC_DEBUG="on"
1134     else
1135         JAVAC_DEBUG="off"
1136     fi
1137     AC_SUBST(JAVAC_DEBUG)
1138
1139     if test "$with_build_swig" != no -a "$with_build_swig" != ""; then
1140         SWIG_PROG()
1141         SWIG_ENABLE_JAVA()
1142         SWIG_ENABLE_SCILAB()
1143         AC_SUBST(SWIG_BIN)
1144         AC_SUBST(SWIG_JAVA)
1145         AC_SUBST(SWIG_SCILAB)
1146
1147     fi
1148
1149     # Giws is the equivalent of Swig developed by the Scilab team
1150     # in order to provide a wrapper to Java from C/C++
1151     if test "$enable_build_giws" != no -a "$enable_build_giws" != ""; then
1152         AC_GIWS([1.3.0])
1153     fi
1154
1155     fi # "$with_jdk" != no;
1156 fi
1157
1158 JAVA_ENABLE=yes
1159 if test -z "$JAVAC"; then
1160     JAVA_ENABLE=no
1161 fi
1162
1163 AC_SUBST(JAVA_ENABLE)
1164
1165 # Xcos is not checked here because gui=no disables it
1166 AM_CONDITIONAL(NEED_JAVA, [test "$with_jdk" != no -a \( "$with_javasci" != no -o "$with_gui" != no -o "$enable_build_help" != no \)])
1167 AM_CONDITIONAL(GUI, [test "$with_jdk" != no -a "$with_gui" != no])
1168 AM_CONDITIONAL(JAVASCI, [test "$with_jdk" != no -a "$with_javasci" != no])
1169 AM_CONDITIONAL(SWIG, [test "$with_jdk" != no -a "$with_build_swig" != no -a "$with_build_swig" != ""])
1170 AM_CONDITIONAL(GIWS, [test "$with_jdk" != no -a "$enable_build_giws" != no -a "$enable_build_giws" != ""])
1171
1172 ##############################################################
1173 ## GUI module
1174 ##############################################################
1175
1176 GUI_ENABLE=no
1177
1178 if test "$JAVA_ENABLE" != no; then
1179    GUI_ENABLE=yes
1180 fi
1181
1182 if test "$with_gui" != no; then
1183    GUI_ENABLE=yes
1184 fi
1185
1186 AC_SUBST(GUI_ENABLE)
1187
1188 ##############################################################
1189 ## test for functions in standard C library and C math library
1190 ##############################################################
1191
1192 # Provided by unistd.h
1193 AC_CHECK_FUNCS([sleep] [usleep] [dup2] [getcwd] [getpagesize] [getpass])
1194 AC_CHECK_FUNCS([rmdir])
1195
1196 AC_CHECK_FUNC([getwd],AC_DEFINE([HAVE_GETWD],[1],[Define to 1 if you have the `getwd' function.]),[AC_DEFINE([getwd(x)],[getcwd(x,1024)],[Don't use getwd but getcwd])])
1197
1198 # Provided by <regex.h>
1199 AC_CHECK_FUNCS([regcomp])
1200
1201 # Provided by stdlib.h
1202 AC_CHECK_FUNCS([atexit] [putenv] [setenv])
1203
1204 # Provided by String.h
1205 AC_CHECK_FUNCS([bzero] [memmove] [memset] [strcasecmp] [strerror] [strchr] [strdup] [strpbrk] [strrchr] [strstr] [strtol])
1206
1207 # Provided by select.h
1208 AC_CHECK_FUNCS([select])
1209
1210 # Provided by pwd.h
1211 AC_CHECK_FUNCS([endpwent])
1212
1213 # Provided by netdb.h
1214 AC_CHECK_FUNCS([gethostbyaddr] [gethostbyname] [gethostname])
1215
1216 # Provided by time.h
1217 AC_CHECK_FUNCS([gettimeofday])
1218
1219 # Provided by ctype.h
1220 AC_CHECK_FUNCS([isascii])
1221
1222 # Provided by wctype.h
1223 AC_CHECK_FUNCS([iswprint])
1224
1225 # Provided by types.h
1226 AC_CHECK_FUNCS([mkdir])
1227
1228 # Provided by mman.h
1229 AC_CHECK_FUNCS([munmap])
1230
1231 # Provided by signal.h
1232 AC_CHECK_FUNCS([strsignal])
1233
1234
1235 # Check of the libm (lib math). Macro provided by libtool.
1236 save_LDFLAGS="$LDFLAGS"
1237 LT_LIB_M()
1238
1239 # Provided by math.h
1240
1241 LDFLAGS="$LDFLAGS $LIBM"
1242 AC_CHECK_FUNCS([pow] [sqrt] [finite] [floor] [exp10] [erf] [erfc] [isnan])
1243
1244 ### If isinf exists or not (used to not be the case under Solaris)
1245 ### See bug #4164
1246 AC_DEFINE([HAVE_ISINF],[1],[Have isinf function or macro equivalent])
1247 AC_CHECK_FUNC([isinf],,[
1248         AC_DEFINE([isinf(x)],[(!finite(x) && x==x)],[Provide a macro to do isinf])
1249 ])
1250 LIBS="$LIBS $LIBM"
1251 LDFLAGS="$save_LDFLAGS"
1252
1253 # Provided by regex.h
1254 AC_CHECK_FUNCS([re_comp])
1255
1256 # Provided by socket.h
1257 AC_CHECK_FUNCS([socket])
1258
1259 # Provided by utsname.h
1260 AC_CHECK_FUNCS([uname])
1261
1262 # Provided by wtloop.c
1263 AC_CHECK_FUNCS([setlocale])
1264
1265 # Function memcmp used in modules/fileio/src/c/xls.c
1266 AC_FUNC_MEMCMP
1267
1268 # function stat used in modules/core/src/c/link_std.c
1269 AC_FUNC_STAT
1270
1271 # function strtod used in modules/core/src/c/getval.c
1272 AC_FUNC_STRTOD
1273
1274 ########################
1275 ## test for header files
1276 ########################
1277
1278 AC_CHECK_HEADERS([limits.h values.h])
1279
1280 AC_CHECK_HEADERS([fcntl.h float.h libintl.h locale.h malloc.h netdb.h netinet/in.h nlist.h sgtty.h stddef.h sys/file.h sys/ioctl.h sys/param.h sys/socket.h sys/time.h sys/timeb.h sys/utsname.h syslog.h term.h termcap.h termio.h termios.h wchar.h wctype.h time.h])
1281
1282 # check header dirent
1283 AC_HEADER_DIRENT
1284
1285 # static struct timeval defined or not | used in modules/core/src/c/timer.c
1286 AC_HEADER_TIME
1287
1288 # check if the specific header is available or not | used in modules/core/src/c/link_SYSV.c
1289 AC_HEADER_SYS_WAIT
1290
1291
1292 #######################
1293 ## Test for structures ##
1294 #######################
1295 AC_CHECK_MEMBERS([struct stat.st_blksize])
1296 AC_CHECK_MEMBERS([struct stat.st_rdev])
1297
1298
1299 #######################
1300 ## MISC Test
1301 #######################
1302
1303 # gettext.  See http://www.gnu.org/software/hello/manual/gettext/AM_005fGNU_005fGETTEXT.html
1304 AM_GNU_GETTEXT([external])
1305 AM_GNU_GETTEXT_VERSION([0.16])
1306
1307 # function closedir used in modules/metanet/src/c/files.c
1308 AC_FUNC_CLOSEDIR_VOID
1309
1310 # Signals used in modules/core/src/c/realmain.c
1311 AC_TYPE_SIGNAL
1312
1313 # struct tm used in modules/core/src/c/history.c
1314 AC_STRUCT_TM
1315
1316 # st_blocks in the struct in modules/io/sci_gateway/c/intfilestat.c
1317 AC_STRUCT_ST_BLOCKS
1318
1319
1320 ##################
1321 ## termcap library
1322 ##################
1323
1324 # some systems may have a system curses implementation as well as ncurses
1325 # installed.  We need to be consistent in making sure we get the correct
1326 # library to go with the correct header and also provide a way for the user
1327 # to have some control over which is picked when both are available.
1328 #
1329 # For now, just check for -lcurses and then -lncurses.  The user control
1330 # may need to be revisited
1331
1332 TERMCAP_LIB=no
1333
1334 # Various observations:
1335 #
1336 #  ncurses
1337 #    - installs ncurses.h and possibly curses.h as a link to ncurses.h
1338 #    - installs -lncurses.
1339 #    - need to include term.h for tgetent() but tgetent() is in -lncurses.a
1340 #
1341 # curses as found in NetBSD-4 and NetBSD-5
1342 #    - installs curses.h
1343 #    - need to include termcap.h and link with -ltermcap for tgetent()
1344 #
1345
1346 AC_CHECK_LIB([curses],[main])
1347 if test $ac_cv_lib_curses_main = no ; then
1348     AC_CHECK_LIB([ncurses],[main])
1349 fi
1350
1351 # make sure we have what we need for tgetent
1352 AC_SEARCH_LIBS([tgetent],[termcap])
1353
1354 AC_CHECK_HEADERS([ncurses.h curses.h])
1355
1356 if test "x$ac_cv_lib_curses_main" = "xyes" -o "x$ac_cv_lib_ncurses_main" = "xyes" ; then
1357   AC_DEFINE([HAVE_TERMCAP],[],[Have Term Cap])
1358 else
1359  AC_MSG_ERROR([No termcap library detected. Please install ncurses dev library (or termcap library)])
1360 fi
1361
1362 ##################
1363 ## other libraries
1364 ##################
1365
1366 AC_CHECK_LIB(dl, dlopen)
1367
1368 AC_SEARCH_LIBS([pthread_join],[pthread])
1369
1370 #################
1371 ## FFTW
1372 #################
1373
1374 AC_ARG_WITH(fftw,
1375     AC_HELP_STRING([--without-fftw],[Disable the interface to the FFTW 3 library]))
1376
1377 FFTW_ENABLE=no
1378 if test "$with_fftw" != no; then
1379    AC_FFTW()
1380    FFTW_ENABLE=yes
1381 fi
1382
1383 AC_SUBST(FFTW_ENABLE)
1384 AM_CONDITIONAL(FFTW, test "$with_fftw" != no)
1385
1386
1387 #################
1388 ## MPI
1389 #################
1390
1391 # Disable by default the build of MPI:
1392 # * It is hard to package
1393 # * People are administrating cluster know about rebuilding packages
1394 # * They use their own MPI library
1395 AC_ARG_WITH(mpi,
1396     AC_HELP_STRING([--with-mpi],[compile with MPI library]))
1397
1398 MPI_ENABLE=no
1399 if test "$with_mpi" == yes; then
1400    AC_OPENMPI()
1401    # We will have to detect other implementation of OpenMPI
1402    MPI_ENABLE=yes
1403 fi
1404 AC_SUBST(MPI_ENABLE)
1405
1406 AM_CONDITIONAL(MPI, test "$with_mpi" == yes)
1407
1408 #################
1409 ## OpenMP
1410 #################
1411
1412 AC_ARG_WITH(openmp,
1413     AC_HELP_STRING([--without-openmp],[Disable the usage of OpenMP (parallelization of some algoritms)]))
1414
1415 OPENMP_ENABLE=no
1416 if test "$with_openmp" != no; then
1417 #   AC_OPENMP
1418     OPENMP_CFLAGS="-fopenmp"
1419     OPENMP_CXXFLAGS="-fopenmp"
1420     OPENMP_LIBS="-lgomp -lstdc++" # Force -lstdc++ because some compilers do not add it automatically.
1421
1422     AC_CHECK_HEADERS([omp.h], [],
1423      [AC_MSG_ERROR([Could not find omp.h])])
1424
1425     OPENMP_ENABLE=yes
1426 fi
1427 AC_SUBST(OPENMP_ENABLE)
1428 AC_SUBST(OPENMP_CFLAGS)
1429 AC_SUBST(OPENMP_CXXFLAGS)
1430 AC_SUBST(OPENMP_LIBS)
1431
1432 AM_CONDITIONAL(OPENMP, test "$with_openmp" != no)
1433
1434
1435 #######################
1436 ## Test for libxml
1437 #######################
1438
1439 AC_LIBXML2()
1440
1441 #######################
1442 ## Test for gettext
1443 #######################
1444
1445 ALL_LINGUAS="en_US fr_FR zh_CN zh_TW ru_RU ca_ES de_DE es_ES pt_BR ja_JP it_IT uk_UA pl_PL cs_CZ"
1446 ALL_LINGUAS_DOC="en_US fr_FR pt_BR ja_JP ru_RU"
1447
1448 AC_ARG_ENABLE(build-localization,
1449         AC_HELP_STRING([--disable-build-localization],[Disable the localization build])
1450         )
1451 BUILD_LOCALIZATION_ENABLE=no
1452
1453 if test "$enable_build_localization" != no; then
1454
1455    AC_SUBST(ALL_LINGUAS)
1456    AC_SUBST(ALL_LINGUAS_DOC)
1457    AC_CHECK_FUNCS([bind_textdomain_codeset])
1458
1459    AC_PATH_PROG(MSGCAT, msgcat, no)
1460 #   AC_PATH_PROG(MSGFMT, msgfmt, no)
1461 #   AC_PATH_PROG(XGETTEXT, xgettext, no)
1462
1463    if test x$MSGFMT = xno; then
1464       AC_ERROR([The msgfmt command is required to build Scilab.  If it is installed on your system, ensure that it is in your path.  If it is not, install GNU gettext to continue or use the option --disable-build-localization ])
1465       fi
1466     if test x$MSGCAT = xno; then
1467       AC_ERROR([The msgcat command is required to build Scilab.  If it is installed on your system, ensure that it is in your path.  If it is not, install GNU gettext to continue or use the option --disable-build-localization ])
1468     fi
1469     BUILD_LOCALIZATION_ENABLE=yes
1470 fi
1471 AM_CONDITIONAL(GENERATE_LOCALIZATION_FILES, test "$BUILD_LOCALIZATION_ENABLE" = yes)
1472
1473 #######################
1474 ## Test for blas/Atlas and lapack
1475 #######################
1476 AC_MSG_CHECKING([if BLAS, ATLAS or MKL is available])
1477 echo ""
1478 ACX_BLAS(
1479         [AC_MSG_RESULT([$BLAS_TYPE found])]
1480         ,
1481         AC_MSG_ERROR([Impossible to find a BLAS compatible library (see BLAS or ATLAS).])
1482         )
1483
1484 AC_MSG_CHECKING([if LAPACK is available])
1485 echo ""
1486 ACX_LAPACK(
1487         [AC_MSG_RESULT([$LAPACK_TYPE found])],
1488         AC_MSG_ERROR([Impossible to find the LAPACK library.])
1489         )
1490
1491
1492 AC_ARG_WITH(arpack-ng,
1493     AC_HELP_STRING([--without-arpack-ng],[Disable the interface to ARPACK-NG]))
1494
1495 ARPACK_NG=no
1496 if test "$with_arpack_ng" != no; then
1497    ARPACK_NG=yes
1498    AC_MSG_CHECKING([if ARPACK-NG is available])
1499 echo ""
1500 ACX_ARPACK(
1501         [AC_MSG_RESULT([ARPACK-NG library found])],
1502         AC_MSG_ERROR([Impossible to find the ARPACK library. Please note that arpack was bundled with version prior to 5.4.0 and Scilab requires arpack-ng ( http://forge.scilab.org/index.php/p/arpack-ng/ ).])
1503         )
1504
1505 CHECK_ARPACK_OK(
1506 [AC_MSG_RESULT([Working ARPACK-NG library found (probably ARPACK-NG or a patched version of ARPACK)])],
1507 [AC_MSG_ERROR([ARPACK library found, but seems not to work properly. Please make sure you are using arpack-ng])
1508 ])
1509 else
1510    AC_MSG_CHECKING([Skip ARPACK-NG detection])
1511 fi
1512
1513 AM_CONDITIONAL(ARPACK_NG, test "$ARPACK_NG" != "no")
1514
1515
1516 #################
1517 ## UMFPACK
1518 #################
1519
1520 AC_ARG_WITH(umfpack,
1521     AC_HELP_STRING([--without-umfpack],[Disable the interface to the UMFPACK library]))
1522
1523 UMFPACK_ENABLE=no
1524 if test "$with_umfpack" != no; then
1525    AC_UMFPACK([$BLAS_LIBS])
1526    UMFPACK_ENABLE=yes
1527 fi
1528
1529 AC_SUBST(UMFPACK_ENABLE)
1530 AM_CONDITIONAL(UMFPACK, test "$with_umfpack" != no)
1531
1532 #######################
1533 ## Test for PCRE
1534 #######################
1535
1536 AC_PCRE()
1537
1538 #######################
1539 ## Test for CURL
1540 #######################
1541
1542 AC_CURL()
1543
1544 #################
1545 ## Tcl/Tk library
1546 #################
1547
1548 WITH_TKSCI=no
1549 if test "$with_tk" != no; then
1550    if test "$MACOSX" = "1"; then
1551       AC_MSG_ERROR([Due to technical constraints, Tcl/Tk must be disabled under Mac OS X (--without-tk)])
1552    fi
1553
1554     # check user arguments
1555     USER_TCL_LIB_PATH=""
1556     USER_TCL_INC_PATH=""
1557     AC_ARG_WITH(tcl-library,
1558         AC_HELP_STRING([--with-tcl-library=DIR],[Set the path to the TCL library]),
1559         [  USER_TCL_LIB_PATH=$withval
1560     ])
1561     AC_ARG_WITH(tcl-include,
1562         AC_HELP_STRING([--with-tcl-include=DIR],[Set the path to the TCL headers]),
1563         [  USER_TCL_INC_PATH=$withval
1564     ])
1565
1566     USER_TK_LIB_PATH=$USER_TCL_LIB_PATH
1567     USER_TK_INC_PATH=$USER_TCL_INC_PATH
1568
1569     AC_ARG_WITH(tk-library,
1570         AC_HELP_STRING([--with-tk-library=DIR],[Set the path to the TK library]),
1571         [  USER_TK_LIB_PATH=$withval
1572     ])
1573
1574     AC_ARG_WITH(tk-include,
1575         AC_HELP_STRING([--with-tk-include=DIR],[Set the path to the TK headers]),
1576         [  USER_TK_INC_PATH=$withval
1577     ])
1578
1579 ###########################
1580 ########## X11 checks
1581 ###########################
1582         ## This check is mandatory since tk needs Xlib headers and libs
1583         AC_PATH_XTRA
1584         ##
1585
1586     saved_cflags="$CFLAGS"
1587     saved_ldflags="$LDFLAGS"
1588     saved_cppflags="$CXXFLAGS"
1589
1590     AC_CHECK_LIB([dl], [main], [TCLTK_LIBS=" -ldl"])
1591     AC_CHECK_TCLTK
1592
1593     # set variables
1594     if test "$WITH_TKSCI" = yes; then
1595         AC_DEFINE([WITH_TK], [], [With TK])
1596     else
1597         AC_MSG_ERROR([TCL/TK not found. Use --without-tk or specify the librairies and include paths manually])
1598     fi
1599
1600     AC_SUBST(TCLTK_LIBS)
1601     AC_SUBST(TCL_INC_PATH)
1602     AC_SUBST(TK_INC_PATH)
1603
1604 fi
1605 AC_SUBST(WITH_TKSCI)
1606 AM_CONDITIONAL(TCLTK, test "$WITH_TKSCI" = yes)
1607
1608 #################
1609 ## MATIO LIBRARY (MAT File I/O Library)
1610 #################
1611
1612
1613 AC_ARG_WITH(matio,
1614     AC_HELP_STRING([--without-matio],[Disable the interface to Matio (MAT File I/O library)]))
1615
1616 AC_ARG_WITH(matio_include,
1617         AC_HELP_STRING([--with-matio-include=DIR],[Set the path to the MATIO headers]),
1618         [with_matio_include="-I$withval"], [])
1619
1620 AC_ARG_WITH(matio_library,
1621         AC_HELP_STRING([--with-matio-library=DIR],[Set the path to the MATIO libraries]),
1622         [with_matio_library="-L$withval"], [])
1623
1624 MATIO_ENABLE=no
1625
1626 if test "$with_matio" != no; then
1627    if test -n "$with_matio_include" -o -n "$with_matio_library" ; then
1628       MATIO_CFLAGS="$with_matio_include"
1629       MATIO_LIBS="$with_matio_library -lm -lz -lmatio -lhdf5"
1630    else
1631       PKG_CHECK_MODULES(MATIO, [matio >= 1.5.0])
1632    fi
1633
1634    save_CFLAGS="$CFLAGS"
1635    save_LIBS="$LIBS"
1636
1637    CFLAGS="$CFLAGS $MATIO_CFLAGS"
1638    LIBS="$LIBS $MATIO_LIBS"
1639
1640    AC_CHECK_HEADERS([matio.h], [],
1641      [AC_MSG_ERROR([Invalid MATIO_CFLAGS returned by pkg-config. Try to define MATIO_CFLAGS.])])
1642    AC_CHECK_LIB([matio], [Mat_Open], [],
1643      [AC_MSG_ERROR([Invalid MATIO_LIBS returned by pkg-config. Try to define MATIO_LIBS.])])
1644
1645    LIBS="$save_LIBS"
1646    CFLAGS="$save_CFLAGS"
1647
1648    AC_DEFINE([WITH_MATIO], [], [With the MATIO library])
1649    MATIO_ENABLE=yes
1650
1651    AC_SUBST(MATIO_LIBS)
1652    AC_SUBST(MATIO_CFLAGS)
1653 fi
1654
1655
1656 AC_SUBST(MATIO_ENABLE)
1657 AM_CONDITIONAL(MATIO, test "$with_matio" != no)
1658
1659 #############################
1660 ## Documentation management #
1661 #############################
1662
1663 HELP_ENABLE=yes
1664
1665 AC_ARG_ENABLE(build-help,
1666         AC_HELP_STRING([--disable-build-help],[Disable the help build])
1667         )
1668
1669 if test "$enable_build_help" != no; then
1670     AC_DOCBOOK()
1671 else
1672     HELP_ENABLE=no
1673 fi
1674
1675 if test "$JAVA_ENABLE" = no; then
1676     HELP_ENABLE=no
1677 fi
1678
1679 AC_SUBST(HELP_ENABLE)
1680
1681 AM_CONDITIONAL(BUILD_HELP, test $HELP_ENABLE = yes)
1682
1683 ## Install XML help files ###
1684
1685 AC_ARG_WITH(install-help-xml,
1686         AC_HELP_STRING([--with-install-help-xml],[make install will install XML files])
1687         )
1688 HELP_INSTALL_ENABLE=no
1689 if test "$with_install_help_xml" != no -a "$with_install_help_xml" != ""; then
1690    HELP_INSTALL_ENABLE=yes
1691 fi
1692 AM_CONDITIONAL(INSTALL_HELP_XML, test "$HELP_INSTALL_ENABLE" != "")
1693
1694 ## Doxygen help generation
1695 AC_ARG_ENABLE(build-doxygen,
1696     AC_HELP_STRING([--enable-build-doxygen],[Generate doxygen C/C++ documentation]))
1697
1698 DOXYGEN_ENABLE=yes
1699 if test "$enable_build_doxygen" != no -a "$enable_build_doxygen" != ""; then
1700     AC_DOXYGEN()
1701 else
1702     DOXYGEN_ENABLE=no
1703 fi
1704 AM_CONDITIONAL(DOXYGEN, test $DOXYGEN_ENABLE = yes)
1705
1706 ##############################################################
1707 ## Javasci module
1708 ##############################################################
1709
1710 JAVASCI_ENABLE=yes
1711
1712 if test "$JAVA_ENABLE" = no -o "$JAVASCI" = no; then
1713    JAVASCI_ENABLE=no
1714 fi
1715
1716 AC_SUBST(JAVASCI_ENABLE)
1717
1718
1719 ##############################################################
1720 ## Enable test at compilation time
1721 ##############################################################
1722
1723 COMPILATION_TESTS=no
1724 if test "$enable_compilation_tests" != no -a "$enable_compilation_tests" != ""; then
1725    COMPILATION_TESTS=yes
1726 fi
1727
1728 if test COMPILATION_TESTS=yes -a "$JUNIT4" == ""; then
1729    AC_MSG_WARN([--enable-compilation-tests deactivated: Could not find Junit4"])
1730    COMPILATION_TESTS=no
1731 fi
1732
1733 AM_CONDITIONAL(COMPILATION_TESTS, test "$COMPILATION_TESTS" != "no")
1734
1735 ##############################################################
1736 ## Enable the global force link
1737 ##############################################################
1738
1739 AC_ARG_ENABLE(force-full-link,
1740     AC_HELP_STRING([--enable-force-full-link],[Forces the explicit link between libscilab and some "on-the-fly" loaded libraries. NOT USE IN PRODUCTION.]))
1741
1742 FORCE_FULL_LINK="no"
1743 if test "$enable_force_full_link" == "yes"; then
1744     FORCE_FULL_LINK="yes"
1745 fi
1746
1747 AM_CONDITIONAL(FORCE_LINK, test "$FORCE_FULL_LINK" == "yes")
1748
1749 ##############################################################
1750 ## demo_tools module
1751 ##############################################################
1752
1753 DEMOTOOLS_ENABLE=yes
1754
1755 if test "$GUI_ENABLE" = no; then
1756    DEMOTOOLS_ENABLE=no
1757 fi
1758
1759 AC_SUBST(DEMOTOOLS_ENABLE)
1760
1761 ##############################################################
1762 ## graphics/renderer/graphic_export module
1763 ##############################################################
1764
1765 GRAPHICS_ENABLE=yes
1766
1767 if test "$GUI_ENABLE" = no; then
1768    GRAPHICS_ENABLE=no
1769 fi
1770
1771 AC_SUBST(GRAPHICS_ENABLE)
1772
1773 #########################
1774 ## libtool
1775 #########################
1776
1777 AM_DISABLE_STATIC
1778 LT_PREREQ([2.2.7])
1779 AC_PROG_LIBTOOL([shared dlopen])
1780 AM_PROG_LIBTOOL
1781
1782 # Eliminate -lstdc++ addition to postdeps for cross compiles.
1783 postdeps_CXX=`echo " $postdeps_CXX " | sed 's, -lstdc++ ,,g'`
1784
1785 # Avoid to link all the dep from others libraries (*.la included by LIBADD)
1786 link_all_deplibs=no
1787
1788 # Check to see if building shared libraries
1789 libtool_build_shared_libs=no
1790 if test "$enable_shared" = "yes"; then
1791   libtool_build_shared_libs=yes
1792 fi
1793
1794 # Check to see if building static libraries
1795 libtool_build_static_libs=no
1796 if test "$enable_static" = "yes"; then
1797   libtool_build_static_libs=yes
1798 fi
1799
1800 # AM_CONDITIONAL(ENABLE_STATIC, test "$libtool_build_static_libs" = yes)
1801 # Fake to disable the static build
1802 AM_CONDITIONAL(ENABLE_STATIC, test "$libtool_build_static_libs" = xxxx)
1803
1804 AC_C_CONST()
1805 AC_C_INLINE()
1806
1807 AC_BACKTRACE()
1808
1809 ##########
1810 ##### Code quality
1811 ##########
1812 AC_PATH_PROG(SPLINT, splint, no)
1813
1814 ##########
1815 ##### Detect ccache and use it by default if available
1816 ##########
1817
1818 AC_ARG_ENABLE(ccache,
1819         AC_HELP_STRING([--disable-ccache],[Disable the use of ccache])
1820         )
1821 AC_PATH_PROG(CCACHE, ccache)
1822 if test x"$CCACHE" != x -a "$enable_ccache" != no; then
1823   CC="$CCACHE $CC"
1824   CXX="$CCACHE $CXX"
1825 fi
1826
1827 #######################
1828 ###### Creation of the header file (machine.h)
1829 #######################
1830
1831 AC_DEFINE_UNQUOTED([PATH_SEPARATOR], ["$PATH_SEPARATOR"],
1832 [The default path separator character.])
1833
1834 AH_TOP([#ifndef MACHINE_H
1835 #define MACHINE_H
1836 /* This file defines global element configuration of the build host */
1837 ])
1838
1839 AH_BOTTOM([
1840
1841 #ifdef DIR_SEPARATOR
1842        #undef DIR_SEPARATOR
1843 #endif
1844 #define DIR_SEPARATOR "/"
1845
1846 #endif /* MACHINE_H  */
1847 ])
1848
1849 # Define the standard extension of a dynamic library
1850 AC_DEFINE_UNQUOTED([SHARED_LIB_EXT],["$shrext_cmds"],[Extension of a shared library])
1851
1852
1853
1854 #################
1855 ## Update the years in the various part of the code.
1856 #################
1857
1858 if test ! -f modules/core/src/c/banier.c; then
1859    AC_MSG_ERROR([Could not find the Scilab banier file.])
1860 fi
1861
1862 CURRENT_YEAR=`date "+%Y"`
1863 DETECTED_YEAR=`grep "Copyright (c) 2011-" modules/core/src/c/banier.c|sed -e "s/.*Copyright (c) 2011-\([[0-9]]*\).*/\1/g"`
1864
1865 if test "$CURRENT_YEAR" != "$DETECTED_YEAR"; then
1866    sed -i -e "s| 2011-$DETECTED_YEAR | 2011-$CURRENT_YEAR |g" modules/core/src/c/banier.c modules/windows_tools/src/c/scilab_windows/console.c
1867    sed -i -e "s| 2011-$DETECTED_YEAR Scilab Enterprises| 2011-$CURRENT_YEAR Scilab Enterprises|g" etc/Info.plist.in
1868    sed -i -e "s|VALUE \"LegalCopyright\", \"Copyright (C) $DETECTED_YEAR|VALUE \"LegalCopyright\", \"Copyright (C) $CURRENT_YEAR|" $(find . -iname '*.rc')
1869    AC_MSG_WARN([New year ($CURRENT_YEAR) detected. Copyright files updated. Please commit them ASAP.])
1870 fi
1871
1872
1873 #########
1874 ## Make sure that the libstdc++ and libgcc can be compiled as static
1875 #########
1876
1877 AC_CHECK_STDCPP_STATIC()
1878
1879 #################
1880 ## stop on warning
1881 #################
1882
1883 # Stop to compile scilab when a warning is found ...
1884 # This stuff is at the end of the configure.ac because it causes some
1885 # problem with AC_COMPILE (the -Werror is added to the test)
1886 #
1887 if test "$enable_stop_on_warning" = yes; then
1888     WARNING_CFLAGS="-Werror=implicit-function-declaration -Werror=declaration-after-statement "
1889     WARNING_CXXFLAGS="-Werror=implicit-function-declaration "
1890 fi
1891
1892 # SCI_*FLAGS contains all defaults values detected on configure
1893 SCI_CFLAGS=$(echo   $LARGEFILE_CFLAGS   $CODECOVERAGE_CFLAGS   $DEBUG_CFLAGS   $ARCH_CFLAGS   $COMPILER_CFLAGS   $SCILIBS_CFLAGS   $SSE_CFLAGS   $BACKTRACE_CFLAGS   $WARNING_CFLAGS)
1894 SCI_CXXFLAGS=$(echo $LARGEFILE_CXXFLAGS $CODECOVERAGE_CXXFLAGS $DEBUG_CXXFLAGS $ARCH_CXXFLAGS $COMPILER_CXXFLAGS $SCILIBS_CXXFLAGS $SSE_CXXFLAGS $BACKTRACE_CXXFLAGS $WARNING_CXXFLAGS)
1895 SCI_FFLAGS=$(echo   $LARGEFILE_FFLAGS   $CODECOVERAGE_FFLAGS   $DEBUG_FFLAGS   $ARCH_FFLAGS   $COMPILER_FFLAGS   $SCILIBS_FFLAGS   $SSE_FFLAGS   $BACKTRACE_FFLAGS   $WARNING_FFLAGS)
1896 SCI_LDFLAGS=$(echo  $LARGEFILE_LDFLAGS  $CODECOVERAGE_LDFLAGS  $DEBUG_LDFLAGS  $ARCH_LDFLAGS  $SCILIBS_LDFLAGS  $SSE_LDFLAGS  $BACKTRACE_LDFLAGS  $WARNING_LDFLAGS)
1897 AC_SUBST(SCI_CFLAGS)
1898 AC_SUBST(SCI_CXXFLAGS)
1899 AC_SUBST(SCI_FFLAGS)
1900 AC_SUBST(SCI_LDFLAGS)
1901
1902 AC_CONFIG_FILES([
1903 contrib/Makefile
1904 desktop/images/icons/Makefile
1905 desktop/Makefile
1906 modules/helptools/Makefile
1907 modules/data_structures/Makefile
1908 modules/differential_equations/Makefile
1909 modules/optimization/Makefile
1910 modules/elementary_functions/Makefile
1911 modules/special_functions/Makefile
1912 modules/io/Makefile
1913 modules/completion/Makefile
1914 modules/history_manager/Makefile
1915 modules/jvm/Makefile
1916 modules/commons/Makefile
1917 modules/sound/Makefile
1918 modules/statistics/Makefile
1919 modules/mexlib/Makefile
1920 modules/sparse/Makefile
1921 modules/linear_algebra/Makefile
1922 modules/polynomials/Makefile
1923 modules/symbolic/Makefile
1924 modules/signal_processing/Makefile
1925 modules/arnoldi/Makefile
1926 modules/interpolation/Makefile
1927 modules/intersci/Makefile
1928 modules/localization/Makefile
1929 modules/cacsd/Makefile
1930 modules/boolean/Makefile
1931 modules/integer/Makefile
1932 modules/double/Makefile
1933 modules/fileio/Makefile
1934 modules/spreadsheet/Makefile
1935 modules/string/Makefile
1936 modules/time/Makefile
1937 modules/graphics/Makefile
1938 modules/graphic_export/Makefile
1939 modules/graphic_objects/Makefile
1940 modules/renderer/Makefile
1941 modules/action_binding/Makefile
1942 modules/gui/Makefile
1943 modules/mpi/Makefile
1944 modules/randlib/Makefile
1945 modules/tclsci/Makefile
1946 modules/windows_tools/Makefile
1947 modules/core/Makefile
1948 modules/prebuildjava/Makefile
1949 modules/api_scilab/Makefile
1950 modules/call_scilab/Makefile
1951 modules/types/Makefile
1952 modules/hdf5/Makefile
1953 modules/fftw/Makefile
1954 modules/umfpack/Makefile
1955 modules/scicos/Makefile
1956 modules/scicos_blocks/Makefile
1957 modules/functions/Makefile
1958 modules/dynamic_link/Makefile
1959 modules/overloading/Makefile
1960 modules/javasci/Makefile
1961 modules/m2sci/Makefile
1962 modules/compatibility_functions/Makefile
1963 modules/development_tools/Makefile
1964 modules/output_stream/Makefile
1965 modules/console/Makefile
1966 modules/demo_tools/Makefile
1967 modules/genetic_algorithms/Makefile
1968 modules/simulated_annealing/Makefile
1969 modules/parameters/Makefile
1970 modules/matio/Makefile
1971 modules/atoms/Makefile
1972 modules/xcos/Makefile
1973 modules/scinotes/Makefile
1974 modules/ui_data/Makefile
1975 modules/graph/Makefile
1976 modules/parallel/Makefile
1977 modules/modules_manager/Makefile
1978 modules/history_browser/Makefile
1979 modules/preferences/Makefile
1980 modules/xml/Makefile
1981 modules/external_objects/Makefile
1982 modules/external_objects_java/Makefile
1983 modules/Makefile
1984 Makefile
1985 scilab.pc
1986 etc/modules.xml
1987 etc/classpath.xml
1988 etc/Info.plist
1989 etc/logging.properties
1990 scilab.properties
1991 scilab-lib.properties
1992 scilab-lib-doc.properties
1993 modules/helptools/etc/SciDocConf.xml
1994 modules/core/includes/version.h
1995 modules/core/includes/stack.h
1996 ])
1997
1998 # Detection of the module for the future version of Scilab 6
1999 # ie we detect module which ends with _yasp
2000
2001 if test "$enable_yasp" = yes; then
2002    AC_CONFIG_FILES([
2003    modules/development_tools/src/fake/Makefile
2004   ])
2005 fi
2006
2007 # This script is used by Xcos in order to regenerate the function/block list
2008 AC_CONFIG_COMMANDS_POST([chmod +x $SCI_SRCDIR_FULL/modules/scicos_blocks/src/scripts/GenBlocks.sh $SCI_SRCDIR_FULL/modules/dynamic_link/src/scripts/scicompile.sh $SCI_SRCDIR_FULL/modules/dynamic_link/src/scripts/compilerDetection.sh $SCI_SRCDIR_FULL/modules/dynamic_link/src/scripts/configure])
2009
2010 AC_OUTPUT
2011
2012 # To distribution packager, you can uncomment this stuff is you want to
2013 # disable the rpath issue
2014 # However, you will have to set all the LD_LIBRARY_PATH to .libs/ directory
2015 # since scilab is compiling macros and help into the source tree (ie before
2016 # the "make install")
2017 # You should consider using chrpath:
2018 # http://directory.fsf.org/project/chrpath/
2019 # to remove it before the make install
2020
2021 #case ${host} in
2022 #  *-pc-linux-gnu)
2023 #    AC_MSG_RESULT([Fixing libtool for -rpath problems.])
2024 #    sed < libtool > libtool-2 \
2025 #    's/^hardcode_libdir_flag_spec.*$/hardcode_libdir_flag_spec=" -D__LIBTOOL_IS_A_FOOL__ "/'
2026 #    mv libtool-2 libtool
2027 #    chmod 755 libtool
2028 #  ;;
2029 #esac
2030 #
2031
2032 echo ""
2033
2034 echo "Scilab is configured as follows. Please verify that this configuration"
2035 echo "matches your expectations."
2036 echo ""
2037 echo "Host system type : $host"
2038 echo ""
2039 echo "                  Option                        Value"
2040 echo "-------------------------------------------------------------------------"
2041 echo "Shared libraries.......      --enable-shared=$libtool_build_shared_libs"
2042 echo "Static libraries.......      --enable-static=$libtool_build_static_libs"
2043 echo "GNU ld.................      --with-gnu-ld=$with_gnu_ld"
2044 echo "Enable debug ..........      --enable-debug=$enable_debug"
2045 echo "Enable debug C.........      --enable-debug-C=$enable_debug_C"
2046 echo "Enable debug C++.......      --enable-debug-CXX=$enable_debug_CXX"
2047 echo "Enable debug Java......      --enable-debug-java=$enable_debug_java"
2048 echo "Enable debug Fortran...      --enable-debug-fortran=$enable_debug_fortran"
2049 echo "Enable stop on warning.      --enable-stop-on-warning=$enable_stop_on_warning"
2050
2051 echo ""
2052 echo "Compiler Configuration:"
2053 echo "  Intel (--with-intelcompilers) .... =        $with_intelcompilers"
2054 echo "  GNU gcc (--with-gcc) ............. =        $with_gcc"
2055 echo "  GNU Fortran 95 (--with-gfortran) . =        $with_gfortran"
2056 echo ""
2057 echo "Options:"
2058 echo "  Do not use TCL/TK (--without-tk) ................. = $with_tk"
2059 echo "  TCL include (--with-tcl-include) ................. = $USER_TCL_INC_PATH"
2060 echo "  TCL library (--with-tcl-library) ................. = $USER_TCL_LIB_PATH"
2061 echo "  TK include (--with-tk-include) ................... = $USER_TK_INC_PATH"
2062 echo "  TK library (--with-tk-library) ................... = $USER_TK_LIB_PATH"
2063 echo "  Install XML Help (--with-install-help-xml) ....... = $with_install_help_xml"
2064 echo "  Compilation tests (--enable-compilation-tests) ... = $COMPILATION_TESTS"
2065 echo "  Make the package relocatable (--enable-relocatable)= $RELOCATABLE"
2066 echo "  Use FFTW (--without-fftw) ........................ = $with_fftw"
2067 echo "  Use MATIO (--without-matio) ...................... = $with_matio"
2068
2069 echo ""
2070 if test "$with_gui" = no; then
2071    echo "Not using Xcos because of the option --without-gui"
2072 else
2073 if test $XCOS_ENABLE = yes; then
2074    echo "Xcos enable"
2075    echo "Build modelica compiler (--without-modelica) ....... = $with_modelica"
2076    echo ""
2077    if test "$with_modelica" != no -a "$OCAMLC" != no -a "$OCAMLOPT" != no; then
2078      echo "Ocaml Configuration (for Modelica compiler):"
2079      echo "  OCAMLC ............. = $OCAMLC"
2080      echo "  OCAMLOPT ........... = $OCAMLOPT"
2081      echo "  OCAMLDEP ........... = $OCAMLDEP"
2082    else
2083      echo "Will not build Modelica compiler"
2084    fi
2085 else
2086    echo "Not using Xcos"
2087 fi
2088 fi
2089
2090 echo ""
2091 if test "$enable_code_coverage" = yes;  then
2092    echo "Code coverage configuration:"
2093    echo "  LCOV .............. = $LCOV"
2094    echo "  GENHTML ........... = $GENHTML"
2095 else
2096    echo "Not using code coverage"
2097 fi
2098
2099 echo ""
2100 if test $OPENMP_ENABLE = yes; then
2101    echo "OpenMP Configuration:"
2102    echo "OpenMP CFLAGS ...... = $OPENMP_CFLAGS"
2103    echo "OpenMP CXXFLAGS .... = $OPENMP_CXXFLAGS"
2104    echo "OpenMP LIBS ........ = $OPENMP_LIBS"
2105    echo "OpenMP LDFLAGS ..... = $OPENMP_LDFLAGS"
2106 else
2107    echo "Not using OpenMP"
2108 fi
2109
2110 echo ""
2111 if test $FFTW_ENABLE = yes;  then
2112    echo "FFTW Configuration:"
2113    echo "  FFTW LIBS .......... = $FFTW3_LIB"
2114    echo "  FFTW CFLAGS ........ = $FFTW3_CFLAGS"
2115 else
2116    echo "Not using FFTW"
2117 fi
2118
2119 echo ""
2120 if test $MATIO_ENABLE = yes;  then
2121    echo "MATIO Configuration:"
2122    echo "  MATIO LIBS .......... = $MATIO_LIBS"
2123    echo "  MATIO CFLAGS ........ = $MATIO_CFLAGS"
2124 else
2125    echo "Not using MATIO"
2126 fi
2127
2128 echo ""
2129 if test $UMFPACK_ENABLE = yes;  then
2130    echo "UMFPACK Configuration:"
2131    echo "  UMFPACK LIBS ....... = $UMFPACK_LIB"
2132    echo "  UMFPACK CFLAGS ..... = $UMFPACK_CFLAGS"
2133    if test $SUITESPARSE = yes; then
2134       echo "  UMFPACK SUITESPARSE  = Yes"
2135    else
2136       echo "  UMFPACK SUITESPARSE  = No"
2137    fi
2138 else
2139    echo "Not using UMFPACK"
2140 fi
2141
2142
2143 echo ""
2144 echo "BLAS/LAPACK/ATLAS Configuration:"
2145 echo "  BLAS LIBS ............. = $BLAS_LIBS"
2146 echo "  BLAS TYPE ............. = $BLAS_TYPE"
2147 echo "  LAPACK LIBS ........... = $LAPACK_LIBS"
2148 echo "  LAPACK TYPE ........... = $LAPACK_TYPE"
2149 echo "  ARPACK LIBS ........... = $ARPACK_LIBS"
2150 echo ""
2151
2152
2153 if test "$with_mpi" == yes; then
2154    echo "OpenMPI Configuration:"
2155    echo "OpenMPI LIBS ........... = $OPENMPI_LIBS"
2156    echo "OpenMPI C Compiler ..... = $OPENMPI_CC"
2157    echo "OpenMPI C++ Compiler ... = $OPENMPI_CXX"
2158    echo "OpenMPI F77 Compiler ... = $MPIF77"
2159 else
2160    echo "Not using MPI"
2161 fi
2162
2163 echo ""
2164 if test $BUILD_LOCALIZATION_ENABLE != no; then
2165    echo "Gettext/localization configuration:"
2166    echo "  xgettext ............... = $XGETTEXT"
2167    echo "  msgfmt  ................ = $MSGFMT"
2168    echo "  msgfmt_opts ............ = $MSGFMT_OPTS"
2169    echo "  msgcat  ................ = $MSGCAT"
2170 else
2171    echo "Won't generate localization files"
2172 fi
2173
2174 echo ""
2175 if test $HELP_ENABLE = yes; then
2176    echo "Documentation building configuration:"
2177    echo "  Docbook XSL path ....... = $DOCBOOK_ROOT"
2178    echo "  Saxon XSLT ............. = $SAXON"
2179    echo "  XML commons external ... = $XML_APIS_EXT"
2180 else
2181    echo "No documentation generated"
2182 fi
2183
2184 echo ""
2185 echo "Java Configuration:"
2186 if test ! -z "$JAVAC"; then
2187 echo "  JAVA_HOME ........... = $JAVA_HOME"
2188 echo "  JAVAC ............... = $JAVAC"
2189 echo "  JAVA_CLASSPATH ...... = $JAVA_CLASSPATH"
2190 echo "  JAVA_VERSION ........ = $JAVA_VERSION"
2191 echo "  JAVAC_FLAGS ......... = $JAVAC_FLAGS"
2192 echo "  JAVA_JNI_INCLUDE .... = $JAVA_JNI_INCLUDE"
2193 echo "  JAVA_JNI_LIBS ....... = $JAVA_JNI_LIBS"
2194 echo "  JAVA_JNI_LIBS_PRELOAD = $JAVA_JNI_LIBS_PRELOAD"
2195 echo "  JAVA ................ = $JAVA"
2196 echo "  JAVADOC ............. = $JAVADOC"
2197 echo "  JAR ................. = $JAR"
2198 echo "  ANT ................. = $ANT"
2199 else
2200 echo "  JAVA disabled"
2201 fi
2202
2203
2204 echo ""
2205 echo "Java dependencies:"
2206 if test ! -z "$JAVAC"; then
2207 echo "  Flexdock ............ = $FLEXDOCK"
2208 echo "  JOGL 2............... = $JOGL2"
2209 echo "  JOGL 2 LIBS (JNI) ... = $JOGL2_LIBS"
2210 echo "  Gluegen 2 ........... = $GLUEGEN2_RT"
2211 echo "  Gluegen 2 LIBS (JNI)  = $GLUEGEN2_RT_LIBS"
2212 echo "  Jeuclid (MathML) .... = $JEUCLID_CORE"
2213 echo "  Jhall  .............. = $JHALL"
2214 echo "  Jrosetta (API) ...... = $JROSETTA_API"
2215 echo "  Jrosetta (Engine) ... = $JROSETTA_ENGINE"
2216 echo "  Commons Logging ..... = $COMMONS_LOGGING"
2217 echo "  JGraph X ............ = $JGRAPHX"
2218 echo "  SciRenderer ......... = $SCIRENDERER"
2219 echo "  JLaTeXMath .......... = $JLATEXMATH"
2220 echo "  ECJ ................. = $ECJ"
2221 fi
2222
2223 echo ""
2224 if test ! -z "$JAVAC"; then
2225 echo "Documentation, graphic export:"
2226 echo "  FOP (XML => PDF) .... = $FOP"
2227 echo "  JLaTeXMath Fop ...... = $JLATEXMATH_FOP"
2228 echo "  Batik (SVG) ......... = $BATIK"
2229 echo "  Avalon Framework .... = $AVALON_FRAMEWORK"
2230 echo "  Commons I/O ......... = $COMMONS_IO"
2231 echo "  XML graphics commons  = $XMLGRAPHICS_COMMONS"
2232 fi
2233
2234
2235 echo ""
2236 echo "Code quality (optional):"
2237 echo "  Checkstyle .......... = $CHECKSTYLE"
2238 echo "  Commons-beanutils ... = $COMMONS_BEANUTILS"
2239 echo "  Antlr ............... = $ANTLR"
2240 echo "  Junit4 .............. = $JUNIT4"
2241 echo "  Cobertura ........... = $COBERTURA"
2242 echo "  splint .............. = $SPLINT"
2243
2244 echo ""
2245 echo "TCL/TK configuration:"
2246 echo "  TK_INC_PATH ........ = $TK_INC_PATH"
2247 echo "  TCL_INC_PATH ....... = $TCL_INC_PATH"
2248 echo "  TCLTK_LIBS ......... = $TCLTK_LIBS"
2249 echo "  TCL_SERIAL_VERSION . = $TCL_SERIAL_VERSION"
2250 echo "  TK_SERIAL_VERSION .. = $TK_SERIAL_VERSION"
2251
2252 echo ""
2253 echo "XML configuration:"
2254 echo "  XML_FLAGS .......... = $XML_FLAGS"
2255 echo "  XML_LIBS ........... = $XML_LIBS"
2256 echo "  XML_VERSION ........ = $XML_VERSION"
2257
2258 echo ""
2259 echo "HDF5 configuration:"
2260 echo "  HDF5 CFLAGS ......... = $HDF5_CFLAGS"
2261 echo "  HDF5 LIBS ........... = $HDF5_LIBS"
2262
2263 echo ""
2264 echo "PCRE configuration:"
2265 echo "  PCRE_CFLAGS ........ = $PCRE_CFLAGS"
2266 echo "  PCRE_LIBS .......... = $PCRE_LIBS"
2267 echo "  PCRE_VERSION ....... = $PCRE_VERSION"
2268
2269 echo ""
2270 echo "CURL configuration:"
2271 echo "  CURL_CFLAGS ........ = $CURL_CFLAGS"
2272 echo "  CURL_LIBS .......... = $CURL_LIBS"
2273 echo "  CURL_VERSION ....... = $CURL_VERSION"
2274
2275
2276 echo ""
2277 echo "SWIG Configuration:"
2278 if test ! -z "$SWIG_BIN"; then
2279 echo "  SWIG_BIN ........... = $SWIG_BIN"
2280 echo "  SWIG_JAVA .......... = $SWIG_JAVA"
2281 else
2282 echo "  SWIG generation disabled"
2283 fi
2284
2285 echo ""
2286 echo "GIWS Configuration:"
2287 if test ! -z "$GIWS_BIN"; then
2288 echo "  GIWS_BIN ........... = $GIWS_BIN"
2289 else
2290 echo "  GIWS generation disabled"
2291 fi
2292
2293 echo ""
2294 echo "Libtool config:"
2295 echo "  objext .............. = $objext"
2296 echo "  libext (static) ..... = $libext"
2297 echo "  shrext_cmds ......... = $shrext_cmds"
2298 echo "  exeext .............. = $exeext"
2299
2300 echo ""
2301
2302 echo "Compilation paths:"
2303 echo "  srcdir .............. = $SCI_SRCDIR"
2304 echo "  srcdir_full ......... = $SCI_SRCDIR_FULL"
2305 echo "  builddir ............ = $SCI_BUILDDIR"
2306 if test "$SCI_SRCDIR_FULL" != "$SCI_BUILDDIR"; then
2307 echo "  VPATH build ......... = Activated"
2308 fi
2309
2310 echo ""
2311 echo "Platform information:"
2312 echo "  host ........... = $host"
2313 echo "  host_cpu ....... = $host_cpu"
2314 echo "  host_vendor .... = $host_vendor"
2315 echo "  host_os ... .... = $host_os"
2316 echo "  hostname ....... = $ac_hostname"
2317 echo "  CPU 64 bits .... = $IS_64_BITS_CPU"
2318 if test -n "$MAC_DETECTED_ARCH"; then
2319 echo "  Mac OS X arch .. = $MAC_DETECTED_ARCH"
2320 echo "  Mac OS X version = $macosx_version"
2321 fi
2322
2323 echo ""
2324 echo "Options used to compile and link:"
2325 echo "  prefix ......... = $prefix"
2326 echo "  localedir ...... = $localedir"
2327 echo "  VERSION ........ = $PACKAGE_VERSION"
2328 echo "  CC ............. = $CC"
2329 echo "  CFLAGS ......... = $CFLAGS"
2330 echo "  SCI_CFLAGS ..... = $SCI_CFLAGS"
2331 echo "  DEFS ........... = $DEFS"
2332 echo "  LD ............. = $LD"
2333 echo "  LDFLAGS ........ = $LDFLAGS"
2334 echo "  SCI_LDFLAGS .... = $SCI_LDFLAGS"
2335 echo "  LIBS ........... = $LIBS"
2336 echo "  CXX ............ = $CXX"
2337 echo "  CXXFLAGS ....... = $CXXFLAGS"
2338 echo "  SCI_CXXFLAGS ... = $SCI_CXXFLAGS"
2339 echo "  F77 ............ = $F77"
2340 echo "  FFLAGS ......... = $FFLAGS"
2341 echo "  SCI_FFLAGS ..... = $SCI_FFLAGS"
2342 echo "  F77_LDFLAGS .... = $F77_LDFLAGS"
2343 echo "  TERMCAP_LIB .... = $TERMCAP_LIB"
2344 echo ""