./configure: 172e2a has the wrong switch name
[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=5
29 SCILAB_VERSION_MAINTENANCE=1
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 -O
563       # -D_FORTIFY_SOURCE=2
564       case "$host" in
565       *-linux-gnu )
566       # Only doing that under Linux
567         if test "$enable_debug_linker" = yes; then
568             LDFLAGS="$LDFLAGS -Wl,--warn-common,-x"
569         fi
570           DEBUG_CFLAGS="$DEBUG_CFLAGS -fdiagnostics-show-option -Werror=format-security"
571           ;;
572           esac
573    else
574       DEBUG_CFLAGS="-DNDEBUG"
575    fi
576
577    COMPILER_CFLAGS="-fno-stack-protector " # bug 3131
578    # Explictly disable the as needed. It was disable by default but Ubuntu
579    # activated it by default since release 11.04. See bug #8961.
580    # Once all cyclic dependencies have been dropped, this line could be removed.
581    # Check if linker supports --as-needed and --no-as-needed options
582    if $LD --help 2>/dev/null | grep no-as-needed > /dev/null; then
583       LDFLAGS="$LDFLAGS -Wl,--no-as-needed"
584    fi
585
586
587    case "$host" in
588      x86_64-*-linux-gnu | x86_64-linux-gnu)
589         ARCH_CFLAGS="-m64"
590     ;;
591      alpha-*-linux-gnu)
592         ARCH_CFLAGS="-mieee-with-inexact"
593         ARCH_LDFLAGS="-mieee-with-inexact"
594     ;;
595      powerpc-*-linux-gnu)
596         ARCH_CFLAGS="-D_GNU_SOURCE"
597     ;;
598      *-*-solaris*)
599         ARCH_CFLAGS="-DSVR4 -DSYSV -Dsolaris"
600     ;;
601    *-*-freebsd*)
602      ARCH_CFLAGS="-Dfreebsd"
603      ARCH_LDFLAGS="-lm"
604      ;;
605
606   alpha-*-netbsd*)
607     ARCH_CFLAGS="-Dnetbsd -mieee"
608     ARCH_FFLAGS="-Dnetbsd -mieee"
609     ;;
610
611   *-*-netbsd*)
612     ARCH_CFLAGS="-Dnetbsd"
613     ;;
614
615   *-*-darwin*)
616     ARCH_CFLAGS="$ARCH_CFLAGS -no_compact_linkedit"
617     ARCH_CXXFLAGS="$ARCH_CXXFLAGS -no_compact_linkedit"
618     ARCH_LDFLAGS="$ARCH_LDFLAGS -no_compact_linkedit"
619     # We need this to be passed to all linker commands
620     LDFLAGS="$LDFLAGS -no_compact_linkedit"
621
622     case "$F77" in
623          gfortran-*|gfortran)
624              # Extract from gfortran -v the version it has been built for
625                MAC_DETECTED_ARCH="`$F77 -v 2>&1|grep "Target:"|sed -e "s/Target: \([[a-z0-9A-Z_]]*\).*/\1/g"`"
626          ;;
627          *)
628         AC_MSG_WARN([gfortran not used. Could not detect the architecture. Switch to the default case: x86_64])
629         MAC_DETECTED_ARCH="x86_64"
630          ;;
631     esac
632     CC="$CC -arch $MAC_DETECTED_ARCH"
633     CXX="$CXX -arch $MAC_DETECTED_ARCH"
634     ;;
635 esac
636 ;; # end of the gcc case on the $CC
637    *)
638
639         ## CC compiler (not GCC)
640         if test "$enable_debug_C" != yes; then
641              ARCH_CFLAGS="-DNDEBUG"
642         fi
643
644 case "$host" in
645 # Dec Alpha OSF 4
646   alpha*-dec-osf4.*)
647       ARCH_CFLAGS="-std -ieee_with_inexact"
648       ARCH_LDFLAGS="-ieee_with_inexact"
649       ;;
650   alpha*-dec-osf*)
651       ARCH_CFLAGS="-ieee_with_inexact"
652       ARCH_LDFLAGS="-ieee_with_inexact"
653       ;;
654   rs6000-*-*) # IBM AIX RS 6000 (NO LONGER SUPPORTED)
655     ARCH_CFLAGS="-Daix -DSYSV"
656   ;;
657   mips-sgi-irix*) # SGI
658     ARCH_CFLAGS="-DSYSV -DSVR4"
659   ;;
660   *-*-hpux9.*)
661     ARCH_CFLAGS="-DSYSV -Dhpux"
662   ;;
663   *-*-hpux10.*) # HP 10
664     if test "$enable_debug_C" = yes; then
665       ARCH_CFLAGS="-DSYSV -Dhpux"
666     else
667       ARCH_CFLAGS="-DSYSV -Dhpux +Z +DAportable"
668     fi
669   ;;
670
671   *-*-hpux11.*) # HP 11
672     ARCH_CFLAGS="-DSYSV -Dhpux -Dhppa +Z +DAportable"
673   ;;
674   *-*-solaris*) # SUN SOLARIS
675     ARCH_CFLAGS="-DSVR4 -DSYSV -Dsolaris -I/usr/local/include/"
676     ARCH_LDFLAGS="-L/usr/local/lib/"
677   ;;
678 esac
679 ;; # end of not a gcc compiler
680 esac
681
682
683 # enable the code coverage
684 if test "$enable_code_coverage" = yes; then
685    AC_PATH_PROG(LCOV, lcov)
686    if test -z "$LCOV" ; then
687         AC_MSG_ERROR([Cannot find lcov. Please install it (package lcov under Debian) or remove the option --enable-code-coverage])
688    fi
689    AC_PATH_PROG(GENHTML, genhtml)
690    if test -z "$GENHTML" ; then
691         AC_MSG_ERROR([Cannot find genhtml. Please install it (package lcov under Debian) or remove the option --enable-code-coverage])
692    fi
693    CODECOVERAGE_LDFLAGS="-coverage -lgcov"
694 fi
695 AM_CONDITIONAL(CODE_COVERAGE, test "$enable_code_coverage" = yes)
696
697 # flag for possible compilations in configure
698 SCILIBS_CFLAGS=''
699 SCILIBS_CXXFLAGS=''
700 SCILIBS_FFLAGS=''
701
702 if test $IS_64_BITS_CPU = true -o "$MACOSX" = "1"; then
703    if test $f90compatible = false; then
704       AC_MSG_ERROR([64 bits support needs a fortran 90 compiler (try --with-gfortran).])
705    fi
706 fi
707
708 AM_CONDITIONAL(IS_64_BITS_CPU, test $IS_64_BITS_CPU = true)
709
710 ################
711 ## SSE
712 ## By default, for x86 CPU, enable the SSE.
713 ## Note that it is already the case with 64 bits CPU
714 ## (these extensions are enabled by default by gcc)
715 ################
716
717 case "$host" in
718      i*86-linux-gnu|i*86-*-linux-gnu)
719         SSE_CFLAGS="-msse"
720         SSE_FFLAGS="-msse"
721         SSE_CXXFLAGS="-msse"
722      ;;
723 esac
724
725 #######################
726 ## test for underscores (name mangling issues between C and fortran)
727 #######################
728 AC_CHECK_UNDERSCORE_FORTRAN()
729
730
731 #################
732 ## HDF5
733 #################
734
735 AC_HDF5()
736 # The Java detection is done after in this file.
737
738
739 #################
740 ## scirenderer
741 #################
742
743 AC_ARG_WITH(external-scirenderer,
744     AC_HELP_STRING([--with-external-scirenderer],[Disable the usage of the internal copy of scirenderer. Intended for packaging of Scilab]))
745
746 AM_CONDITIONAL(EXTERNAL_SCIRENDERER, test "$with_external_scirenderer" = yes)
747
748
749 #################
750 ## XCOS
751 #################
752
753 AC_ARG_WITH(xcos,
754     AC_HELP_STRING([--without-xcos],[Disable Xcos]))
755
756 AC_ARG_WITH(modelica,
757     AC_HELP_STRING([--without-modelica],[Disable the OCaml module (modelica)]))
758
759
760 if test "$with_gui" = no; then
761    AC_MSG_WARN([GUI is disabled. Disabling then xcos])
762    with_xcos=no
763 fi
764
765 XCOS_ENABLE=no
766
767 if test "$with_xcos" != no -a "$with_gui" != no; then
768    AC_DEFINE([WITH_XCOS], [], [With XCOS])
769
770    save_LIBS="$LIBS"
771
772    AC_CHECK_LIB([rt], [clock_gettime],
773               [RT_LIB="-lrt";
774               AC_DEFINE([HAVE_CLOCK_GETTIME], [1],[Whether clock_gettime is available]) ],
775         [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])]
776    )
777    LIBS="$save_LIBS"
778    AC_SUBST(RT_LIB)
779
780
781 #################
782 ## ocaml which only called when using Xcos
783 #################
784
785    if test "$with_modelica" != no; then
786       AC_CHECK_PROG_OCAML()
787    fi
788    XCOS_ENABLE=yes
789
790 fi
791
792 AC_SUBST(XCOS_ENABLE)
793
794 AM_CONDITIONAL(OCAML, test "$with_modelica" != no -a "$OCAMLC" != no -a "$OCAMLOPT" != no)
795 AM_CONDITIONAL(XCOS, test "$XCOS_ENABLE" != no)
796
797 ###########################
798 ## test for JAVA compiler
799 ###########################
800 if test "$with_javasci" != no -o "$with_gui" != no -o "$enable_build_help" != no; then
801
802      # See if --with-jdk command line argument is given
803      # Try to detect the installed JVM, this could be controlled
804      # by the above --with options
805      AC_JAVA_WITH_JDK
806      if test "$with_jdk" != no; then
807      
808      AC_JAVA_DETECT_JVM
809      case "$ac_java_jvm_version" in
810         1.6 | 1.7 | 1.8)
811         ;;
812         *)
813             AC_MSG_ERROR([Wrong version of Java. Expected at least 1.6. Found $ac_java_jvm_version])
814         ;;
815      esac
816
817    if test "$ac_java_jvm_name" = "jdk"; then
818         JAVA_HOME=$ac_java_jvm_dir
819         JAVA_VERSION=$ac_java_jvm_version
820 #     AC_JAVA_TOOLS
821
822         AC_JAVA_JNI_INCLUDE
823         JAVA_JNI_INCLUDE=$ac_java_jvm_jni_include_flags
824
825         case "$host_os" in
826              *Darwin* | *darwin*)
827                # Mac OS X does not link against the lib but uses -framework
828                JAVA_JNI_LIBS="-framework JavaVM"
829              ;;
830              *)
831                AC_JAVA_JNI_LIBS
832                JAVA_JNI_LIBS=$ac_java_jvm_jni_lib_flags
833                JAVA_JNI_LIBS_PRELOAD=$ac_java_jvm_ld_preload
834              ;;
835         esac
836
837         AC_JAVA_CLASSPATH
838         JAVA_CLASSPATH=$ac_java_classpath
839         AC_JAVA_TOOLS
840         AC_JAVA_ANT
841
842         case "$host_os" in
843              *Darwin* | *darwin*)
844                   JAVA_HOME=""
845              ;;
846         esac
847
848
849         if test "$with_gui" != no; then
850
851                 if test $XCOS_ENABLE = yes; then
852                    # jgraphx
853                    AC_JAVA_CHECK_PACKAGE([jgraphx],[com.mxgraph.model.mxCell],[Diagram design])
854                    JGRAPHX=$PACKAGE_JAR_FILE
855                    AC_SUBST(JGRAPHX)
856
857                    AC_JAVA_CHECK_VERSION_PACKAGE([jgraphx],[import com.mxgraph.view.mxGraph;],$JGRAPHX,[2.0.0.1],[mxGraph.VERSION],[],[])
858
859                 fi
860
861                 if test "$with_external_scirenderer" = yes; then
862                    # scirenderer
863                    AC_JAVA_CHECK_PACKAGE([scirenderer],[org.scilab.forge.scirenderer.PackageInfo],[Scilab Renderer])
864                    SCIRENDERER=$PACKAGE_JAR_FILE
865                    SCIRENDERER_CP=$PACKAGE_JAR_FILE
866
867                    AC_JAVA_CHECK_VERSION_PACKAGE([scirenderer],[import org.scilab.forge.scirenderer.PackageInfo;],$SCIRENDERER,[1.1.0],[PackageInfo.VERSION])
868                  else
869                    echo "Use external version of scirenderer"
870                    # Use the scirenderer in Scilab sources
871                    SCIRENDERER="\${modules.dir}/scirenderer/\${build.jar.dir}/scirenderer.jar"
872                    SCIRENDERER_CP="\$SCILAB/modules/scirenderer/jar/scirenderer.jar"
873                 fi
874                 AC_SUBST(SCIRENDERER)
875                 AC_SUBST(SCIRENDERER_CP)
876
877                # Docking system
878                 AC_JAVA_CHECK_PACKAGE([flexdock],[org.flexdock.docking.DockingManager],[Scilab Gui])
879                 FLEXDOCK=$PACKAGE_JAR_FILE
880                 AC_SUBST(FLEXDOCK)
881
882                 AC_JAVA_CHECK_VERSION_PACKAGE([flexdock],[import org.flexdock.util.Utilities;],$FLEXDOCK,[1.2.4],[Utilities.VERSION])
883
884                 # Swing look&feel implementations
885                 AC_JAVA_CHECK_PACKAGE([looks],[com.jgoodies.looks.common.MenuItemRenderer],[Scilab Gui - Look and feel],"yes")
886                 LOOKS=$PACKAGE_JAR_FILE
887
888                 # Named differently under ArchLinux or Fedora
889                 if test -z "$LOOKS"; then
890                     AC_JAVA_CHECK_PACKAGE([jgoodies-looks],[com.jgoodies.looks.common.MenuItemRenderer],[Scilab Gui - Look and feel])
891                     LOOKS=$PACKAGE_JAR_FILE
892                 fi
893                 AC_SUBST(LOOKS)
894
895                 #  Skin Look and Feel
896                 AC_JAVA_CHECK_PACKAGE([skinlf],[com.l2fprod.util.AccessUtils],[Scilab Gui - Skin Look and Feel])
897                 SKINLF=$PACKAGE_JAR_FILE
898                 AC_SUBST(SKINLF)
899
900                 # JOGL 2
901                 AC_JAVA_CHECK_PACKAGE([jogl2],[javax.media.opengl.glu.GLUnurbs],[Scilab 3D rendering - Version 2.0])
902                 JOGL2=$PACKAGE_JAR_FILE
903                 AC_SUBST(JOGL2)
904
905                 if test "$MACOSX" = 1; then
906                    echo "Check of the presence of libjogl.jnilib and libjogl_awt.jnilib disabled under Mac OS X"
907                 else
908                    LDFLAGS_save=$LDFLAGS
909                    # Provide known paths where distribs/OS can store JNI libs
910                    LDFLAGS="$LDFLAGS -L/usr/lib/jni -L/usr/lib64/jni"                   # Debian
911                    LDFLAGS="$LDFLAGS -L/usr/lib/java -L/usr/lib64/java"                 # jpackage.org
912                    LDFLAGS="$LDFLAGS -L/usr/lib/jogl2 -L/usr/lib64/jogl2"               # RedHat
913                    LDFLAGS="$LDFLAGS -L$SCI_SRCDIR/thirdparty -L$SCI_SRCDIR/lib/thirdparty -L$SCI_SRCDIR/bin"        # Scilab thirdparties
914                    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])])
915                    if test -z "$JOGL2_LIBS"; then # The previous test failed add more options to the LDFLAGS
916                        # the space after "jogl" in the following line is on
917                        # purpose to disable the cache
918                           AC_CHECK_LIB([jogl_desktop ], [glTexParameterf],
919                        [JOGL2_LIBS="-ljogl_desktop -lGL"],
920                        [AC_MSG_ERROR(["libjogl: Library
921 missing (Cannot find symbol glTexParameterf). Check if libjogl - C/Java (JNI)
922 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."])],
923                        [-lGL])
924                    fi
925
926                    LDFLAGS=$LDFLAGS_save
927                 fi
928
929                 # JoGL Native <=> Java connector
930                 AC_JAVA_CHECK_PACKAGE([gluegen2-rt],[jogamp.common.os.MachineDescriptionRuntime],[Scilab 3D rendering])
931                 GLUEGEN2_RT=$PACKAGE_JAR_FILE
932                 AC_SUBST(GLUEGEN2_RT)
933
934                 if test "$MACOSX" = 1; then
935                    echo "Check of the presence of libgluegen-rt.jnilib disabled under Mac OS X"
936                 else
937                    LDFLAGS_save=$LDFLAGS
938                    # Provide known paths where distribs/OS can store JNI libs
939                    LDFLAGS="$LDFLAGS -L/usr/lib/jni -L/usr/lib64/jni"                   # Debian
940                    LDFLAGS="$LDFLAGS -L/usr/lib/java -L/usr/lib64/java"                 # jpackage.org
941                    LDFLAGS="$LDFLAGS -L/usr/lib/gluegen2 -L/usr/lib64/gluegen2"         # RedHat
942                    LDFLAGS="$LDFLAGS -L$SCI_SRCDIR/thirdparty -L$SCI_SRCDIR/lib/thirdparty -L$SCI_SRCDIR/bin"        # Scilab thirdparties
943                    symbol="Java_jogamp_common_jvm_JVMUtil_initialize"
944                    AC_CHECK_LIB([gluegen2-rt], [$symbol], [GLUEGEN2_RT_LIBS="-lgluegen2-rt"],
945                    [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.])],
946                    [-ldl])
947                    LDFLAGS=$LDFLAGS_save
948                 fi
949
950                 # Jhall
951                 AC_JAVA_CHECK_PACKAGE([jhall],[javax.help.JHelp],[Scilab Help Browser],"yes")
952                 JHALL=$PACKAGE_JAR_FILE
953
954                 # Named differently under Mandriva or Fedora
955                 if test -z "$JHALL"; then
956                     AC_JAVA_CHECK_PACKAGE([javahelp2],[javax.help.JHelp],[Scilab Help Browser])
957                     JHALL=$PACKAGE_JAR_FILE
958                 fi
959                 AC_SUBST(JHALL)
960
961                 # Console API
962                 AC_JAVA_CHECK_PACKAGE([jrosetta-API],[com.artenum.rosetta.interfaces.core.ConsoleConfiguration],[JRosetta : Console API Artenum / Scilab],"yes")
963                 JROSETTA_API=$PACKAGE_JAR_FILE
964         if test -z "$JROSETTA_API"; then
965                     AC_JAVA_CHECK_PACKAGE([jrosetta-api],[com.artenum.rosetta.interfaces.core.ConsoleConfiguration],[JRosetta : Console API Artenum / Scilab])
966                     JROSETTA_API=$PACKAGE_JAR_FILE
967         fi
968                 AC_SUBST(JROSETTA_API)
969
970                 # Console Core
971                 AC_JAVA_CHECK_PACKAGE([jrosetta-engine],[com.artenum.rosetta.core.action.AbstractConsoleAction],[JRosetta : Console Core Artenum / Scilab])
972                 JROSETTA_ENGINE=$PACKAGE_JAR_FILE
973                 AC_SUBST(JROSETTA_ENGINE)
974                 AC_JAVA_CHECK_VERSION_PACKAGE([jrosetta-engine],[import com.artenum.rosetta.util.ConfigurationBuilder;],$JROSETTA_ENGINE,[1.0.4],[ConfigurationBuilder.getVersion()])
975
976
977                 # MathML rendering solution
978                 # Used in both graphic & help
979                 AC_JAVA_CHECK_PACKAGE([jeuclid-core],[net.sourceforge.jeuclid.LayoutContext],[MathML rendering solution (at least version 3.1.X)])
980                 JEUCLID_CORE=$PACKAGE_JAR_FILE
981                 AC_SUBST(JEUCLID_CORE)
982
983
984                 ################ Mandatory for graphic_export features #####
985                 # XML to PDF/other Translator
986                 AC_JAVA_CHECK_PACKAGE([fop],[org.apache.fop.pdf.PDFInfo],[XML to PDF Translator (fop)])
987                 FOP=$PACKAGE_JAR_FILE
988                 AC_SUBST(FOP)
989
990                 AC_ARG_WITH(emf, [AS_HELP_STRING([--without-emf],
991                     [disable support for EMF (Windows Metafile) export])])
992                 if test "x$with_emf" != xno; then
993                     # Freehep Graphics2D
994                     AC_JAVA_CHECK_PACKAGE([freehep-graphics2d],[org.freehep.graphics2d.VectorGraphics],[Freehep Graphics2D])
995                     FREEHEP_GRAPHICS2D=$PACKAGE_JAR_FILE
996                     AC_SUBST(FREEHEP_GRAPHICS2D)
997
998                     # Freehep GraphicsIO EMF
999                     AC_JAVA_CHECK_PACKAGE([freehep-graphicsio-emf],[org.freehep.graphicsio.emf.EMFGraphics2D],[Freehep GraphicsIO EMF])
1000                     FREEHEP_GRAPHICSIO_EMF=$PACKAGE_JAR_FILE
1001                     AC_SUBST(FREEHEP_GRAPHICSIO_EMF)
1002
1003                     # Freehep GraphicsIO
1004                     AC_JAVA_CHECK_PACKAGE([freehep-graphicsio],[org.freehep.graphicsio.VectorGraphicsIO],[Freehep GraphicsIO])
1005                     FREEHEP_GRAPHICSIO=$PACKAGE_JAR_FILE
1006                     AC_SUBST(FREEHEP_GRAPHICSIO)
1007
1008                     # Freehep IO
1009                     AC_JAVA_CHECK_PACKAGE([freehep-io],[org.freehep.util.io.XMLSequence],[Freehep IO])
1010                     FREEHEP_IO=$PACKAGE_JAR_FILE
1011                     AC_SUBST(FREEHEP_IO)
1012
1013                     # Freehep Util
1014                     AC_JAVA_CHECK_PACKAGE([freehep-util],[org.freehep.util.StringUtilities],[Freehep Util])
1015                     FREEHEP_UTIL=$PACKAGE_JAR_FILE
1016                     AC_SUBST(FREEHEP_UTIL)
1017                 fi
1018
1019                 # xml.apache.org SVG Library (under mandriva for example)
1020                 AC_JAVA_CHECK_PACKAGE([batik-all],[org.apache.batik.parser.Parser],[Apache SVG Library],"yes")
1021                 BATIK=$PACKAGE_JAR_FILE
1022
1023                 if test -z "$BATIK"; then
1024                    # Other other distribs
1025                    AC_JAVA_CHECK_PACKAGE([batik],[org.apache.batik.parser.Parser],[Apache SVG Library])
1026                    BATIK=$PACKAGE_JAR_FILE
1027                 fi
1028                 AC_SUBST(BATIK)
1029                 AC_JAVA_CHECK_VERSION_PACKAGE([batik],[import org.apache.batik.Version;],$BATIK,[1.7],[Version.getVersion()])
1030
1031                 # Commons I/O library
1032                 AC_JAVA_CHECK_PACKAGE([commons-io],[org.apache.commons.io.output.CountingOutputStream],[Commons I/O library])
1033                 COMMONS_IO=$PACKAGE_JAR_FILE
1034                 AC_SUBST(COMMONS_IO)
1035
1036                 # XML graphics common
1037                 AC_JAVA_CHECK_PACKAGE([xmlgraphics-commons],[org.apache.xmlgraphics.util.Service],[Commons graphics library])
1038                 XMLGRAPHICS_COMMONS=$PACKAGE_JAR_FILE
1039                 AC_SUBST(XMLGRAPHICS_COMMONS)
1040
1041                 # Avalon Framework (PDF)
1042                 AC_JAVA_CHECK_PACKAGE([avalon-framework],[org.apache.avalon.framework.configuration.ConfigurationException],[Common framework for Java server application])
1043                 AVALON_FRAMEWORK=$PACKAGE_JAR_FILE
1044                 AC_SUBST(AVALON_FRAMEWORK)
1045
1046                 # XML API EXT (conversion of a SVG => PNG)
1047                 AC_JAVA_CHECK_PACKAGE([xml-apis-ext],[org.w3c.dom.svg.SVGDocument],[XML Commons external code],"yes")
1048                 XML_APIS_EXT=$PACKAGE_JAR_FILE
1049
1050                 if test -z "$XML_APIS_EXT"; then
1051                     # Other other distribs (Ex: Fedora/Redhat)
1052                     AC_JAVA_CHECK_PACKAGE([xml-commons-apis-ext],[org.w3c.dom.svg.SVGDocument],[XML Commons external code])
1053                     XML_APIS_EXT=$PACKAGE_JAR_FILE
1054                 fi
1055                 AC_SUBST(XML_APIS_EXT)
1056
1057                 ################ END Mandatory for graphic_export features #####
1058
1059
1060                 # Logging (flexdock dep)
1061                 AC_JAVA_CHECK_PACKAGE([commons-logging],[org.apache.commons.logging.LogFactory],[Apache logging])
1062                 COMMONS_LOGGING=$PACKAGE_JAR_FILE
1063                 AC_SUBST(COMMONS_LOGGING)
1064
1065                 # JLaTeXMath
1066                 AC_JAVA_CHECK_PACKAGE([jlatexmath],[org.scilab.forge.jlatexmath.TeXFormula],[LaTex Rendering])
1067                 JLATEXMATH=$PACKAGE_JAR_FILE
1068                 AC_SUBST(JLATEXMATH)
1069
1070                 AC_JAVA_CHECK_VERSION_PACKAGE([jlatexmath],[import org.scilab.forge.jlatexmath.TeXFormula;],$JLATEXMATH,[1.0.3],[TeXFormula.VERSION])
1071
1072                 # JLaTeXMath FOP
1073                 AC_JAVA_CHECK_PACKAGE([jlatexmath-fop],[org.scilab.forge.jlatexmath.fop.JLaTeXMathObj],[LaTex Rendering - FOP plugin])
1074                 JLATEXMATH_FOP=$PACKAGE_JAR_FILE
1075                 AC_SUBST(JLATEXMATH_FOP)
1076
1077                 AC_DEFINE([WITH_GUI],[],[With the JAVA stuff (GUI, Console, JOGL...)])
1078
1079         fi
1080
1081         # Checkstyle (code checking)
1082         AC_JAVA_CHECK_PACKAGE([checkstyle],[com.puppycrawl.tools.checkstyle.CheckStyleTask],[Checkstyle - code checking],"yes")
1083         CHECKSTYLE=$PACKAGE_JAR_FILE
1084         AC_SUBST(CHECKSTYLE)
1085
1086         # Commons beanutils (dependency of checkstyle)
1087         AC_JAVA_CHECK_PACKAGE([commons-beanutils],[org.apache.commons.beanutils.Converter],[Bean utility],"yes")
1088         COMMONS_BEANUTILS=$PACKAGE_JAR_FILE
1089         AC_SUBST(COMMONS_BEANUTILS)
1090
1091         # antlr (dependency of checkstyle)
1092         AC_JAVA_CHECK_PACKAGE([antlr],[antlr.TokenStreamException],[language tool for constructing recognizers],"yes")
1093         ANTLR=$PACKAGE_JAR_FILE
1094         AC_SUBST(ANTLR)
1095
1096         # Junit 4 (java unitary test)
1097         AC_JAVA_CHECK_PACKAGE([junit4],[org.junit.Assert],[Junit4 - Unit tests],"yes")
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         ASM3=$PACKAGE_JAR_FILE
1109         AC_SUBST(ASM3)
1110         if test -z "$ASM3"; then
1111                 AC_JAVA_CHECK_PACKAGE([asm],[org.objectweb.asm.Type],[Java bytecode manipulation (dep of cobertura)],"yes")
1112                 ASM3=$PACKAGE_JAR_FILE
1113         fi
1114
1115         AC_JAVA_CHECK_PACKAGE([ecj],[org.eclipse.jdt.core.compiler.batch.BatchCompiler],[Eclipse Java compiler],"yes")
1116         ECJ=$PACKAGE_JAR_FILE
1117         if test -z "$ECJ"; then
1118            ECJ='$SCILAB/thirdparty/ecj.jar'
1119         fi
1120         AC_SUBST(ECJ)
1121
1122     else
1123         AC_MSG_WARN([Sun javac not found: I will not build the java interface])
1124         if test "$ac_java_jvm_name" != ""; then
1125             AC_MSG_WARN([We do not support $ac_java_jvm_name yet])
1126         fi
1127     fi
1128     AC_SUBST(JAVA_JNI_INCLUDE)
1129     AC_SUBST(JAVA_JNI_LIBS)
1130     AC_SUBST(JAVA_HOME)
1131
1132
1133     if test "$enable_debug_java" = yes; then
1134         JAVAC_DEBUG="on"
1135     else
1136         JAVAC_DEBUG="off"
1137     fi
1138     AC_SUBST(JAVAC_DEBUG)
1139
1140     if test "$with_build_swig" != no -a "$with_build_swig" != ""; then
1141         SWIG_PROG()
1142         SWIG_ENABLE_JAVA()
1143         SWIG_ENABLE_SCILAB()
1144         AC_SUBST(SWIG_BIN)
1145         AC_SUBST(SWIG_JAVA)
1146         AC_SUBST(SWIG_SCILAB)
1147
1148     fi
1149
1150     # Giws is the equivalent of Swig developed by the Scilab team
1151     # in order to provide a wrapper to Java from C/C++
1152     if test "$enable_build_giws" != no -a "$enable_build_giws" != ""; then
1153         AC_GIWS([1.3.0])
1154     fi
1155
1156     fi # "$with_jdk" != no;
1157 fi
1158
1159 JAVA_ENABLE=yes
1160 if test -z "$JAVAC"; then
1161     JAVA_ENABLE=no
1162 fi
1163
1164 AC_SUBST(JAVA_ENABLE)
1165
1166 # Xcos is not checked here because gui=no disables it
1167 AM_CONDITIONAL(NEED_JAVA, [test "$with_jdk" != no -a \( "$with_javasci" != no -o "$with_gui" != no -o "$enable_build_help" != no \)])
1168 AM_CONDITIONAL(GUI, [test "$with_jdk" != no -a "$with_gui" != no])
1169 AM_CONDITIONAL(JAVASCI, [test "$with_jdk" != no -a "$with_javasci" != no])
1170 AM_CONDITIONAL(SWIG, [test "$with_jdk" != no -a "$with_build_swig" != no -a "$with_build_swig" != ""])
1171 AM_CONDITIONAL(GIWS, [test "$with_jdk" != no -a "$enable_build_giws" != no -a "$enable_build_giws" != ""])
1172
1173 ##############################################################
1174 ## GUI module
1175 ##############################################################
1176
1177 GUI_ENABLE=no
1178
1179 if test "$JAVA_ENABLE" != no; then
1180    GUI_ENABLE=yes
1181 fi
1182
1183 if test "$with_gui" != no; then
1184    GUI_ENABLE=yes
1185 fi
1186
1187 AC_SUBST(GUI_ENABLE)
1188
1189 ##############################################################
1190 ## test for functions in standard C library and C math library
1191 ##############################################################
1192
1193 # Provided by unistd.h
1194 AC_CHECK_FUNCS([sleep] [usleep] [dup2] [getcwd] [getpagesize] [getpass])
1195 AC_CHECK_FUNCS([rmdir])
1196
1197 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])])
1198
1199 # Provided by <regex.h>
1200 AC_CHECK_FUNCS([regcomp])
1201
1202 # Provided by stdlib.h
1203 AC_CHECK_FUNCS([atexit] [putenv] [setenv])
1204
1205 # Provided by String.h
1206 AC_CHECK_FUNCS([bzero] [memmove] [memset] [strcasecmp] [strerror] [strchr] [strdup] [strpbrk] [strrchr] [strstr] [strtol])
1207
1208 # Provided by select.h
1209 AC_CHECK_FUNCS([select])
1210
1211 # Provided by pwd.h
1212 AC_CHECK_FUNCS([endpwent])
1213
1214 # Provided by netdb.h
1215 AC_CHECK_FUNCS([gethostbyaddr] [gethostbyname] [gethostname])
1216
1217 # Provided by time.h
1218 AC_CHECK_FUNCS([gettimeofday])
1219
1220 # Provided by ctype.h
1221 AC_CHECK_FUNCS([isascii])
1222
1223 # Provided by wctype.h
1224 AC_CHECK_FUNCS([iswprint])
1225
1226 # Provided by types.h
1227 AC_CHECK_FUNCS([mkdir])
1228
1229 # Provided by mman.h
1230 AC_CHECK_FUNCS([munmap])
1231
1232 # Provided by signal.h
1233 AC_CHECK_FUNCS([strsignal])
1234
1235
1236 # Check of the libm (lib math). Macro provided by libtool.
1237 save_LDFLAGS="$LDFLAGS"
1238 LT_LIB_M()
1239
1240 # Provided by math.h
1241
1242 LDFLAGS="$LDFLAGS $LIBM"
1243 AC_CHECK_FUNCS([pow] [sqrt] [finite] [floor] [exp10] [erf] [erfc] [isnan])
1244
1245 ### If isinf exists or not (used to not be the case under Solaris)
1246 ### See bug #4164
1247 AC_DEFINE([HAVE_ISINF],[1],[Have isinf function or macro equivalent])
1248 AC_CHECK_FUNC([isinf],,[
1249         AC_DEFINE([isinf(x)],[(!finite(x) && x==x)],[Provide a macro to do isinf])
1250 ])
1251 LIBS="$LIBS $LIBM"
1252 LDFLAGS="$save_LDFLAGS"
1253
1254 # Provided by regex.h
1255 AC_CHECK_FUNCS([re_comp])
1256
1257 # Provided by socket.h
1258 AC_CHECK_FUNCS([socket])
1259
1260 # Provided by utsname.h
1261 AC_CHECK_FUNCS([uname])
1262
1263 # Provided by wtloop.c
1264 AC_CHECK_FUNCS([setlocale])
1265
1266 # Function memcmp used in modules/fileio/src/c/xls.c
1267 AC_FUNC_MEMCMP
1268
1269 # function stat used in modules/core/src/c/link_std.c
1270 AC_FUNC_STAT
1271
1272 # function strtod used in modules/core/src/c/getval.c
1273 AC_FUNC_STRTOD
1274
1275 ########################
1276 ## test for header files
1277 ########################
1278
1279 AC_CHECK_HEADERS([limits.h values.h])
1280
1281 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])
1282
1283 # check header dirent
1284 AC_HEADER_DIRENT
1285
1286 # static struct timeval defined or not | used in modules/core/src/c/timer.c
1287 AC_HEADER_TIME
1288
1289 # check if the specific header is available or not | used in modules/core/src/c/link_SYSV.c
1290 AC_HEADER_SYS_WAIT
1291
1292
1293 #######################
1294 ## Test for structures ##
1295 #######################
1296 AC_CHECK_MEMBERS([struct stat.st_blksize])
1297 AC_CHECK_MEMBERS([struct stat.st_rdev])
1298
1299
1300 #######################
1301 ## MISC Test
1302 #######################
1303
1304 # gettext.  See http://www.gnu.org/software/hello/manual/gettext/AM_005fGNU_005fGETTEXT.html
1305 AM_GNU_GETTEXT([external])
1306 AM_GNU_GETTEXT_VERSION([0.16])
1307
1308 # function closedir used in modules/metanet/src/c/files.c
1309 AC_FUNC_CLOSEDIR_VOID
1310
1311 # Signals used in modules/core/src/c/realmain.c
1312 AC_TYPE_SIGNAL
1313
1314 # struct tm used in modules/core/src/c/history.c
1315 AC_STRUCT_TM
1316
1317 # st_blocks in the struct in modules/io/sci_gateway/c/intfilestat.c
1318 AC_STRUCT_ST_BLOCKS
1319
1320
1321 ##################
1322 ## termcap library
1323 ##################
1324
1325 # some systems may have a system curses implementation as well as ncurses
1326 # installed.  We need to be consistent in making sure we get the correct
1327 # library to go with the correct header and also provide a way for the user
1328 # to have some control over which is picked when both are available.
1329 #
1330 # For now, just check for -lcurses and then -lncurses.  The user control
1331 # may need to be revisited
1332
1333 TERMCAP_LIB=no
1334
1335 # Various observations:
1336 #
1337 #  ncurses
1338 #    - installs ncurses.h and possibly curses.h as a link to ncurses.h
1339 #    - installs -lncurses.
1340 #    - need to include term.h for tgetent() but tgetent() is in -lncurses.a
1341 #
1342 # curses as found in NetBSD-4 and NetBSD-5
1343 #    - installs curses.h
1344 #    - need to include termcap.h and link with -ltermcap for tgetent()
1345 #
1346
1347 AC_CHECK_LIB([curses],[main])
1348 if test $ac_cv_lib_curses_main = no ; then
1349     AC_CHECK_LIB([ncurses],[main])
1350 fi
1351
1352 # make sure we have what we need for tgetent
1353 AC_SEARCH_LIBS([tgetent],[termcap])
1354
1355 AC_CHECK_HEADERS([ncurses.h curses.h])
1356
1357 if test "x$ac_cv_lib_curses_main" = "xyes" -o "x$ac_cv_lib_ncurses_main" = "xyes" ; then
1358   AC_DEFINE([HAVE_TERMCAP],[],[Have Term Cap])
1359 else
1360  AC_MSG_ERROR([No termcap library detected. Please install ncurses dev library (or termcap library)])
1361 fi
1362
1363 ##################
1364 ## other libraries
1365 ##################
1366
1367 AC_CHECK_LIB(dl, dlopen)
1368
1369 AC_SEARCH_LIBS([pthread_join],[pthread])
1370
1371 #################
1372 ## FFTW
1373 #################
1374
1375 AC_ARG_WITH(fftw,
1376     AC_HELP_STRING([--without-fftw],[Disable the interface to the FFTW 3 library]))
1377
1378 FFTW_ENABLE=no
1379 if test "$with_fftw" != no; then
1380    AC_FFTW()
1381    FFTW_ENABLE=yes
1382 fi
1383
1384 AC_SUBST(FFTW_ENABLE)
1385 AM_CONDITIONAL(FFTW, test "$with_fftw" != no)
1386
1387
1388 #################
1389 ## MPI
1390 #################
1391
1392 # Disable by default the build of MPI:
1393 # * It is hard to package
1394 # * People are administrating cluster know about rebuilding packages
1395 # * They use their own MPI library
1396 AC_ARG_WITH(mpi,
1397     AC_HELP_STRING([--with-mpi],[compile with MPI library]))
1398
1399 MPI_ENABLE=no
1400 if test "$with_mpi" == yes; then
1401    AC_OPENMPI()
1402    # We will have to detect other implementation of OpenMPI
1403    MPI_ENABLE=yes
1404 fi
1405 AC_SUBST(MPI_ENABLE)
1406
1407 AM_CONDITIONAL(MPI, test "$with_mpi" == yes)
1408
1409 #################
1410 ## OpenMP
1411 #################
1412
1413 AC_ARG_WITH(openmp,
1414     AC_HELP_STRING([--without-openmp],[Disable the usage of OpenMP (parallelization of some algoritms)]))
1415
1416 OPENMP_ENABLE=no
1417 if test "$with_openmp" != no; then
1418 #   AC_OPENMP
1419     OPENMP_CFLAGS="-fopenmp"
1420     OPENMP_CXXFLAGS="-fopenmp"
1421     OPENMP_LIBS="-lgomp"
1422
1423     AC_CHECK_HEADERS([omp.h], [],
1424      [AC_MSG_ERROR([Could not find omp.h])])
1425
1426     OPENMP_ENABLE=yes
1427 fi
1428 AC_SUBST(OPENMP_ENABLE)
1429 AC_SUBST(OPENMP_CFLAGS)
1430 AC_SUBST(OPENMP_CXXFLAGS)
1431 AC_SUBST(OPENMP_LIBS)
1432
1433 AM_CONDITIONAL(OPENMP, test "$with_openmp" != no)
1434
1435
1436 #######################
1437 ## Test for libxml
1438 #######################
1439
1440 AC_LIBXML2()
1441
1442 #######################
1443 ## Test for gettext
1444 #######################
1445
1446 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"
1447 ALL_LINGUAS_DOC="en_US fr_FR pt_BR ja_JP ru_RU"
1448
1449 AC_ARG_ENABLE(build-localization,
1450         AC_HELP_STRING([--disable-build-localization],[Disable the localization build])
1451         )
1452 BUILD_LOCALIZATION_ENABLE=no
1453
1454 if test "$enable_build_localization" != no; then
1455
1456    AC_SUBST(ALL_LINGUAS)
1457    AC_SUBST(ALL_LINGUAS_DOC)
1458    AC_CHECK_FUNCS([bind_textdomain_codeset])
1459
1460    AC_PATH_PROG(MSGCAT, msgcat, no)
1461 #   AC_PATH_PROG(MSGFMT, msgfmt, no)
1462 #   AC_PATH_PROG(XGETTEXT, xgettext, no)
1463
1464    if test x$MSGFMT = xno; then
1465       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 ])
1466       fi
1467     if test x$MSGCAT = xno; then
1468       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 ])
1469     fi
1470     BUILD_LOCALIZATION_ENABLE=yes
1471 fi
1472 AM_CONDITIONAL(GENERATE_LOCALIZATION_FILES, test "$BUILD_LOCALIZATION_ENABLE" = yes)
1473
1474 #######################
1475 ## Test for blas/Atlas and lapack
1476 #######################
1477 AC_MSG_CHECKING([if BLAS, ATLAS or MKL is available])
1478 echo ""
1479 ACX_BLAS(
1480         [AC_MSG_RESULT([$BLAS_TYPE found])]
1481         ,
1482         AC_MSG_ERROR([Impossible to find a BLAS compatible library (see BLAS or ATLAS).])
1483         )
1484
1485 AC_MSG_CHECKING([if LAPACK is available])
1486 echo ""
1487 ACX_LAPACK(
1488         [AC_MSG_RESULT([$LAPACK_TYPE found])],
1489         AC_MSG_ERROR([Impossible to find the LAPACK library.])
1490         )
1491
1492
1493 AC_ARG_WITH(arpack-ng,
1494     AC_HELP_STRING([--without-arpack-ng],[Disable the interface to ARPACK-NG]))
1495
1496 ARPACK_NG=no
1497 if test "$with_arpack_ng" != no; then
1498    ARPACK_NG=yes
1499    AC_MSG_CHECKING([if ARPACK-NG is available])
1500 echo ""
1501 ACX_ARPACK(
1502         [AC_MSG_RESULT([ARPACK-NG library found])],
1503         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/ ).])
1504         )
1505
1506 CHECK_ARPACK_OK(
1507 [AC_MSG_RESULT([Working ARPACK-NG library found (probably ARPACK-NG or a patched version of ARPACK)])],
1508 [AC_MSG_ERROR([ARPACK library found, but seems not to work properly. Please make sure you are using arpack-ng])
1509 ])
1510 else
1511    AC_MSG_CHECKING([Skip ARPACK-NG detection])
1512 fi
1513
1514 AM_CONDITIONAL(ARPACK_NG, test "$ARPACK_NG" != "no")
1515
1516
1517 #################
1518 ## UMFPACK
1519 #################
1520
1521 AC_ARG_WITH(umfpack,
1522     AC_HELP_STRING([--without-umfpack],[Disable the interface to the UMFPACK library]))
1523
1524 UMFPACK_ENABLE=no
1525 if test "$with_umfpack" != no; then
1526    AC_UMFPACK([$BLAS_LIBS])
1527    UMFPACK_ENABLE=yes
1528 fi
1529
1530 AC_SUBST(UMFPACK_ENABLE)
1531 AM_CONDITIONAL(UMFPACK, test "$with_umfpack" != no)
1532
1533 #######################
1534 ## Test for PCRE
1535 #######################
1536
1537 AC_PCRE()
1538
1539 #######################
1540 ## Test for CURL
1541 #######################
1542
1543 AC_CURL()
1544
1545 #################
1546 ## Tcl/Tk library
1547 #################
1548
1549 WITH_TKSCI=no
1550 if test "$with_tk" != no; then
1551    if test "$MACOSX" = "1"; then
1552       AC_MSG_ERROR([Due to technical constraints, Tcl/Tk must be disabled under Mac OS X (--without-tk)])
1553    fi
1554
1555     # check user arguments
1556     USER_TCL_LIB_PATH=""
1557     USER_TCL_INC_PATH=""
1558     AC_ARG_WITH(tcl-library,
1559         AC_HELP_STRING([--with-tcl-library=DIR],[Set the path to the TCL library]),
1560         [  USER_TCL_LIB_PATH=$withval
1561     ])
1562     AC_ARG_WITH(tcl-include,
1563         AC_HELP_STRING([--with-tcl-include=DIR],[Set the path to the TCL headers]),
1564         [  USER_TCL_INC_PATH=$withval
1565     ])
1566
1567     USER_TK_LIB_PATH=$USER_TCL_LIB_PATH
1568     USER_TK_INC_PATH=$USER_TCL_INC_PATH
1569
1570     AC_ARG_WITH(tk-library,
1571         AC_HELP_STRING([--with-tk-library=DIR],[Set the path to the TK library]),
1572         [  USER_TK_LIB_PATH=$withval
1573     ])
1574
1575     AC_ARG_WITH(tk-include,
1576         AC_HELP_STRING([--with-tk-include=DIR],[Set the path to the TK headers]),
1577         [  USER_TK_INC_PATH=$withval
1578     ])
1579
1580 ###########################
1581 ########## X11 checks
1582 ###########################
1583         ## This check is mandatory since tk needs Xlib headers and libs
1584         AC_PATH_XTRA
1585         ##
1586
1587     saved_cflags="$CFLAGS"
1588     saved_ldflags="$LDFLAGS"
1589     saved_cppflags="$CXXFLAGS"
1590
1591     AC_CHECK_LIB([dl], [main], [TCLTK_LIBS=" -ldl"])
1592     AC_CHECK_TCLTK
1593
1594     # set variables
1595     if test "$WITH_TKSCI" = yes; then
1596         AC_DEFINE([WITH_TK], [], [With TK])
1597     else
1598         AC_MSG_ERROR([TCL/TK not found. Use --without-tk or specify the librairies and include paths manually])
1599     fi
1600
1601     AC_SUBST(TCLTK_LIBS)
1602     AC_SUBST(TCL_INC_PATH)
1603     AC_SUBST(TK_INC_PATH)
1604
1605 fi
1606 AC_SUBST(WITH_TKSCI)
1607 AM_CONDITIONAL(TCLTK, test "$WITH_TKSCI" = yes)
1608
1609 #################
1610 ## MATIO LIBRARY (MAT File I/O Library)
1611 #################
1612
1613
1614 AC_ARG_WITH(matio,
1615     AC_HELP_STRING([--without-matio],[Disable the interface to Matio (MAT File I/O library)]))
1616
1617 AC_ARG_WITH(matio_include,
1618         AC_HELP_STRING([--with-matio-include=DIR],[Set the path to the MATIO headers]),
1619         [with_matio_include="-I$withval"], [])
1620
1621 AC_ARG_WITH(matio_library,
1622         AC_HELP_STRING([--with-matio-library=DIR],[Set the path to the MATIO libraries]),
1623         [with_matio_library="-L$withval"], [])
1624
1625 MATIO_ENABLE=no
1626
1627 if test "$with_matio" != no; then
1628    if test -n "$with_matio_include" -o -n "$with_matio_library" ; then
1629       MATIO_CFLAGS="$with_matio_include"
1630       MATIO_LIBS="$with_matio_library -lm -lz -lmatio -lhdf5"
1631    else
1632       PKG_CHECK_MODULES(MATIO, [matio >= 1.5.0])
1633    fi
1634
1635    save_CFLAGS="$CFLAGS"
1636    save_LIBS="$LIBS"
1637
1638    CFLAGS="$CFLAGS $MATIO_CFLAGS"
1639    LIBS="$LIBS $MATIO_LIBS"
1640
1641    AC_CHECK_HEADERS([matio.h], [],
1642      [AC_MSG_ERROR([Invalid MATIO_CFLAGS returned by pkg-config. Try to define MATIO_CFLAGS.])])
1643    AC_CHECK_LIB([matio], [Mat_Open], [],
1644      [AC_MSG_ERROR([Invalid MATIO_LIBS returned by pkg-config. Try to define MATIO_LIBS.])])
1645
1646    LIBS="$save_LIBS"
1647    CFLAGS="$save_CFLAGS"
1648
1649    AC_DEFINE([WITH_MATIO], [], [With the MATIO library])
1650    MATIO_ENABLE=yes
1651
1652    AC_SUBST(MATIO_LIBS)
1653    AC_SUBST(MATIO_CFLAGS)
1654 fi
1655
1656
1657 AC_SUBST(MATIO_ENABLE)
1658 AM_CONDITIONAL(MATIO, test "$with_matio" != no)
1659
1660 #############################
1661 ## Documentation management #
1662 #############################
1663
1664 HELP_ENABLE=yes
1665
1666 AC_ARG_ENABLE(build-help,
1667         AC_HELP_STRING([--disable-build-help],[Disable the help build])
1668         )
1669
1670 if test "$enable_build_help" != no; then
1671     AC_DOCBOOK()
1672 else
1673     HELP_ENABLE=no
1674 fi
1675
1676 if test "$JAVA_ENABLE" = no; then
1677     HELP_ENABLE=no
1678 fi
1679
1680 AC_SUBST(HELP_ENABLE)
1681
1682 AM_CONDITIONAL(BUILD_HELP, test $HELP_ENABLE = yes)
1683
1684 ## Install XML help files ###
1685
1686 AC_ARG_WITH(install-help-xml,
1687         AC_HELP_STRING([--with-install-help-xml],[make install will install XML files])
1688         )
1689 HELP_INSTALL_ENABLE=no
1690 if test "$with_install_help_xml" != no -a "$with_install_help_xml" != ""; then
1691    HELP_INSTALL_ENABLE=yes
1692 fi
1693 AM_CONDITIONAL(INSTALL_HELP_XML, test "$HELP_INSTALL_ENABLE" != "")
1694
1695 ## Doxygen help generation
1696 AC_ARG_ENABLE(build-doxygen,
1697     AC_HELP_STRING([--enable-build-doxygen],[Generate doxygen C/C++ documentation]))
1698
1699 DOXYGEN_ENABLE=yes
1700 if test "$enable_build_doxygen" != no -a "$enable_build_doxygen" != ""; then
1701     AC_DOXYGEN()
1702 else
1703     DOXYGEN_ENABLE=no
1704 fi
1705 AM_CONDITIONAL(DOXYGEN, test $DOXYGEN_ENABLE = yes)
1706
1707 ##############################################################
1708 ## Javasci module
1709 ##############################################################
1710
1711 JAVASCI_ENABLE=yes
1712
1713 if test "$JAVA_ENABLE" = no -o "$JAVASCI" = no; then
1714    JAVASCI_ENABLE=no
1715 fi
1716
1717 AC_SUBST(JAVASCI_ENABLE)
1718
1719
1720 ##############################################################
1721 ## Enable test at compilation time
1722 ##############################################################
1723
1724 COMPILATION_TESTS=no
1725 if test "$enable_compilation_tests" != no -a "$enable_compilation_tests" != ""; then
1726    COMPILATION_TESTS=yes
1727 fi
1728
1729 if test COMPILATION_TESTS=yes -a "$JUNIT4" == ""; then
1730    AC_MSG_WARN([--enable-compilation-tests deactivated: Could not find Junit4"])
1731    COMPILATION_TESTS=no
1732 fi
1733
1734 AM_CONDITIONAL(COMPILATION_TESTS, test "$COMPILATION_TESTS" != "no")
1735
1736 ##############################################################
1737 ## Enable the global force link
1738 ##############################################################
1739
1740 AC_ARG_ENABLE(force-full-link,
1741     AC_HELP_STRING([--enable-force-full-link],[Forces the explicit link between libscilab and some "on-the-fly" loaded libraries. NOT USE IN PRODUCTION.]))
1742
1743 FORCE_FULL_LINK="no"
1744 if test "$enable_force_full_link" == "yes"; then
1745     FORCE_FULL_LINK="yes"
1746 fi
1747
1748 AM_CONDITIONAL(FORCE_LINK, test "$FORCE_FULL_LINK" == "yes")
1749
1750 ##############################################################
1751 ## demo_tools module
1752 ##############################################################
1753
1754 DEMOTOOLS_ENABLE=yes
1755
1756 if test "$GUI_ENABLE" = no; then
1757    DEMOTOOLS_ENABLE=no
1758 fi
1759
1760 AC_SUBST(DEMOTOOLS_ENABLE)
1761
1762 ##############################################################
1763 ## graphics/renderer/graphic_export module
1764 ##############################################################
1765
1766 GRAPHICS_ENABLE=yes
1767
1768 if test "$GUI_ENABLE" = no; then
1769    GRAPHICS_ENABLE=no
1770 fi
1771
1772 AC_SUBST(GRAPHICS_ENABLE)
1773
1774 #########################
1775 ## libtool
1776 #########################
1777
1778 AM_DISABLE_STATIC
1779 LT_PREREQ([2.2.7])
1780 AC_PROG_LIBTOOL([shared dlopen])
1781 AM_PROG_LIBTOOL
1782
1783 # Eliminate -lstdc++ addition to postdeps for cross compiles.
1784 postdeps_CXX=`echo " $postdeps_CXX " | sed 's, -lstdc++ ,,g'`
1785
1786 # Avoid to link all the dep from others libraries (*.la included by LIBADD)
1787 link_all_deplibs=no
1788
1789 # Check to see if building shared libraries
1790 libtool_build_shared_libs=no
1791 if test "$enable_shared" = "yes"; then
1792   libtool_build_shared_libs=yes
1793 fi
1794
1795 # Check to see if building static libraries
1796 libtool_build_static_libs=no
1797 if test "$enable_static" = "yes"; then
1798   libtool_build_static_libs=yes
1799 fi
1800
1801 # AM_CONDITIONAL(ENABLE_STATIC, test "$libtool_build_static_libs" = yes)
1802 # Fake to disable the static build
1803 AM_CONDITIONAL(ENABLE_STATIC, test "$libtool_build_static_libs" = xxxx)
1804
1805 AC_C_CONST()
1806 AC_C_INLINE()
1807
1808 AC_BACKTRACE()
1809
1810 ##########
1811 ##### Code quality
1812 ##########
1813 AC_PATH_PROG(SPLINT, splint, no)
1814
1815 ##########
1816 ##### Detect ccache and use it by default if available
1817 ##########
1818
1819 AC_ARG_ENABLE(ccache,
1820         AC_HELP_STRING([--disable-ccache],[Disable the use of ccache])
1821         )
1822 AC_PATH_PROG(CCACHE, ccache)
1823 if test x"$CCACHE" != x -a "$enable_ccache" != no; then
1824   CC="$CCACHE $CC"
1825   CXX="$CCACHE $CXX"
1826 fi
1827
1828 #######################
1829 ###### Creation of the header file (machine.h)
1830 #######################
1831
1832 AC_DEFINE_UNQUOTED([PATH_SEPARATOR], ["$PATH_SEPARATOR"],
1833 [The default path separator character.])
1834
1835 AH_TOP([#ifndef MACHINE_H
1836 #define MACHINE_H
1837 /* This file defines global element configuration of the build host */
1838 ])
1839
1840 AH_BOTTOM([
1841
1842 #ifdef DIR_SEPARATOR
1843        #undef DIR_SEPARATOR
1844 #endif
1845 #define DIR_SEPARATOR "/"
1846
1847 #endif /* MACHINE_H  */
1848 ])
1849
1850 # Define the standard extension of a dynamic library
1851 AC_DEFINE_UNQUOTED([SHARED_LIB_EXT],["$shrext_cmds"],[Extension of a shared library])
1852
1853
1854
1855 #################
1856 ## Update the years in the various part of the code.
1857 #################
1858
1859 if test ! -f modules/core/src/c/banier.c; then
1860    AC_MSG_ERROR([Could not find the Scilab banier file.])
1861 fi
1862
1863 CURRENT_YEAR=`date "+%Y"`
1864 DETECTED_YEAR=`grep "Copyright (c) 2011-" modules/core/src/c/banier.c|sed -e "s/.*Copyright (c) 2011-\([[0-9]]*\).*/\1/g"`
1865
1866 if test "$CURRENT_YEAR" != "$DETECTED_YEAR"; then
1867    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
1868    sed -i -e "s| 2011-$DETECTED_YEAR Scilab Enterprises| 2011-$CURRENT_YEAR Scilab Enterprises|g" etc/Info.plist.in
1869    sed -i -e "s|VALUE \"LegalCopyright\", \"Copyright (C) $DETECTED_YEAR|VALUE \"LegalCopyright\", \"Copyright (C) $CURRENT_YEAR|" $(find . -iname '*.rc')
1870    AC_MSG_WARN([New year ($CURRENT_YEAR) detected. Copyright files updated. Please commit them ASAP.])
1871 fi
1872
1873
1874 #########
1875 ## Make sure that the libstdc++ and libgcc can be compiled as static
1876 #########
1877
1878 AC_CHECK_STDCPP_STATIC()
1879
1880 #################
1881 ## stop on warning
1882 #################
1883
1884 # Stop to compile scilab when a warning is found ...
1885 # This stuff is at the end of the configure.ac because it causes some
1886 # problem with AC_COMPILE (the -Werror is added to the test)
1887 #
1888 if test "$enable_stop_on_warning" = yes; then
1889     WARNING_CFLAGS="-Werror=implicit-function-declaration -Werror=declaration-after-statement "
1890     WARNING_CXXFLAGS="-Werror=implicit-function-declaration "
1891 fi
1892
1893 # SCI_*FLAGS contains all defaults values detected on configure
1894 SCI_CFLAGS=$(echo   $LARGEFILE_CFLAGS   $CODECOVERAGE_CFLAGS   $DEBUG_CFLAGS   $ARCH_CFLAGS   $COMPILER_CFLAGS   $SCILIBS_CFLAGS   $SSE_CFLAGS   $BACKTRACE_CFLAGS   $WARNING_CFLAGS)
1895 SCI_CXXFLAGS=$(echo $LARGEFILE_CXXFLAGS $CODECOVERAGE_CXXFLAGS $DEBUG_CXXFLAGS $ARCH_CXXFLAGS $COMPILER_CXXFLAGS $SCILIBS_CXXFLAGS $SSE_CXXFLAGS $BACKTRACE_CXXFLAGS $WARNING_CXXFLAGS)
1896 SCI_FFLAGS=$(echo   $LARGEFILE_FFLAGS   $CODECOVERAGE_FFLAGS   $DEBUG_FFLAGS   $ARCH_FFLAGS   $COMPILER_FFLAGS   $SCILIBS_FFLAGS   $SSE_FFLAGS   $BACKTRACE_FFLAGS   $WARNING_FFLAGS)
1897 SCI_LDFLAGS=$(echo  $LARGEFILE_LDFLAGS  $CODECOVERAGE_LDFLAGS  $DEBUG_LDFLAGS  $ARCH_LDFLAGS  $SCILIBS_LDFLAGS  $SSE_LDFLAGS  $BACKTRACE_LDFLAGS  $WARNING_LDFLAGS)
1898 AC_SUBST(SCI_CFLAGS)
1899 AC_SUBST(SCI_CXXFLAGS)
1900 AC_SUBST(SCI_FFLAGS)
1901 AC_SUBST(SCI_LDFLAGS)
1902
1903 AC_CONFIG_FILES([
1904 contrib/Makefile
1905 desktop/images/icons/Makefile
1906 desktop/Makefile
1907 modules/helptools/Makefile
1908 modules/data_structures/Makefile
1909 modules/differential_equations/Makefile
1910 modules/optimization/Makefile
1911 modules/elementary_functions/Makefile
1912 modules/special_functions/Makefile
1913 modules/io/Makefile
1914 modules/completion/Makefile
1915 modules/history_manager/Makefile
1916 modules/jvm/Makefile
1917 modules/commons/Makefile
1918 modules/sound/Makefile
1919 modules/statistics/Makefile
1920 modules/mexlib/Makefile
1921 modules/sparse/Makefile
1922 modules/linear_algebra/Makefile
1923 modules/polynomials/Makefile
1924 modules/symbolic/Makefile
1925 modules/signal_processing/Makefile
1926 modules/arnoldi/Makefile
1927 modules/interpolation/Makefile
1928 modules/intersci/Makefile
1929 modules/localization/Makefile
1930 modules/cacsd/Makefile
1931 modules/boolean/Makefile
1932 modules/integer/Makefile
1933 modules/double/Makefile
1934 modules/fileio/Makefile
1935 modules/spreadsheet/Makefile
1936 modules/string/Makefile
1937 modules/time/Makefile
1938 modules/graphics/Makefile
1939 modules/graphic_export/Makefile
1940 modules/graphic_objects/Makefile
1941 modules/renderer/Makefile
1942 modules/action_binding/Makefile
1943 modules/gui/Makefile
1944 modules/mpi/Makefile
1945 modules/randlib/Makefile
1946 modules/tclsci/Makefile
1947 modules/windows_tools/Makefile
1948 modules/core/Makefile
1949 modules/prebuildjava/Makefile
1950 modules/api_scilab/Makefile
1951 modules/call_scilab/Makefile
1952 modules/types/Makefile
1953 modules/hdf5/Makefile
1954 modules/fftw/Makefile
1955 modules/umfpack/Makefile
1956 modules/scicos/Makefile
1957 modules/scicos_blocks/Makefile
1958 modules/functions/Makefile
1959 modules/dynamic_link/Makefile
1960 modules/overloading/Makefile
1961 modules/javasci/Makefile
1962 modules/m2sci/Makefile
1963 modules/compatibility_functions/Makefile
1964 modules/development_tools/Makefile
1965 modules/output_stream/Makefile
1966 modules/console/Makefile
1967 modules/demo_tools/Makefile
1968 modules/genetic_algorithms/Makefile
1969 modules/simulated_annealing/Makefile
1970 modules/parameters/Makefile
1971 modules/matio/Makefile
1972 modules/atoms/Makefile
1973 modules/xcos/Makefile
1974 modules/scinotes/Makefile
1975 modules/ui_data/Makefile
1976 modules/graph/Makefile
1977 modules/parallel/Makefile
1978 modules/modules_manager/Makefile
1979 modules/history_browser/Makefile
1980 modules/preferences/Makefile
1981 modules/xml/Makefile
1982 modules/external_objects/Makefile
1983 modules/external_objects_java/Makefile
1984 modules/Makefile
1985 Makefile
1986 scilab.pc
1987 etc/modules.xml
1988 etc/classpath.xml
1989 etc/Info.plist
1990 etc/logging.properties
1991 scilab.properties
1992 scilab-lib.properties
1993 scilab-lib-doc.properties
1994 modules/helptools/etc/SciDocConf.xml
1995 modules/core/includes/version.h
1996 modules/core/includes/stack.h
1997 ])
1998
1999 # Detection of the module for the future version of Scilab 6
2000 # ie we detect module which ends with _yasp
2001
2002 if test "$enable_yasp" = yes; then
2003    AC_CONFIG_FILES([
2004    modules/development_tools/src/fake/Makefile
2005   ])
2006 fi
2007
2008 # This script is used by Xcos in order to regenerate the function/block list
2009 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])
2010
2011 AC_OUTPUT
2012
2013 # To distribution packager, you can uncomment this stuff is you want to
2014 # disable the rpath issue
2015 # However, you will have to set all the LD_LIBRARY_PATH to .libs/ directory
2016 # since scilab is compiling macros and help into the source tree (ie before
2017 # the "make install")
2018 # You should consider using chrpath:
2019 # http://directory.fsf.org/project/chrpath/
2020 # to remove it before the make install
2021
2022 #case ${host} in
2023 #  *-pc-linux-gnu)
2024 #    AC_MSG_RESULT([Fixing libtool for -rpath problems.])
2025 #    sed < libtool > libtool-2 \
2026 #    's/^hardcode_libdir_flag_spec.*$/hardcode_libdir_flag_spec=" -D__LIBTOOL_IS_A_FOOL__ "/'
2027 #    mv libtool-2 libtool
2028 #    chmod 755 libtool
2029 #  ;;
2030 #esac
2031 #
2032
2033 echo ""
2034
2035 echo "Scilab is configured as follows. Please verify that this configuration"
2036 echo "matches your expectations."
2037 echo ""
2038 echo "Host system type : $host"
2039 echo ""
2040 echo "                  Option                        Value"
2041 echo "-------------------------------------------------------------------------"
2042 echo "Shared libraries.......      --enable-shared=$libtool_build_shared_libs"
2043 echo "Static libraries.......      --enable-static=$libtool_build_static_libs"
2044 echo "GNU ld.................      --with-gnu-ld=$with_gnu_ld"
2045 echo "Enable debug ..........      --enable-debug=$enable_debug"
2046 echo "Enable debug C.........      --enable-debug-C=$enable_debug_C"
2047 echo "Enable debug C++.......      --enable-debug-CXX=$enable_debug_CXX"
2048 echo "Enable debug Java......      --enable-debug-java=$enable_debug_java"
2049 echo "Enable debug Fortran...      --enable-debug-fortran=$enable_debug_fortran"
2050 echo "Enable stop on warning.      --enable-stop-on-warning=$enable_stop_on_warning"
2051
2052 echo ""
2053 echo "Compiler Configuration:"
2054 echo "  Intel (--with-intelcompilers) .... =        $with_intelcompilers"
2055 echo "  GNU gcc (--with-gcc) ............. =        $with_gcc"
2056 echo "  GNU Fortran 95 (--with-gfortran) . =        $with_gfortran"
2057 echo ""
2058 echo "Options:"
2059 echo "  Do not use TCL/TK (--without-tk) ................. = $with_tk"
2060 echo "  TCL include (--with-tcl-include) ................. = $USER_TCL_INC_PATH"
2061 echo "  TCL library (--with-tcl-library) ................. = $USER_TCL_LIB_PATH"
2062 echo "  TK include (--with-tk-include) ................... = $USER_TK_INC_PATH"
2063 echo "  TK library (--with-tk-library) ................... = $USER_TK_LIB_PATH"
2064 echo "  Install XML Help (--with-install-help-xml) ....... = $with_install_help_xml"
2065 echo "  Compilation tests (--enable-compilation-tests) ... = $COMPILATION_TESTS"
2066 echo "  Make the package relocatable (--enable-relocatable)= $RELOCATABLE"
2067 echo "  Use FFTW (--without-fftw) ........................ = $with_fftw"
2068 echo "  Use MATIO (--without-matio) ...................... = $with_matio"
2069
2070 echo ""
2071 if test "$with_gui" = no; then
2072    echo "Not using Xcos because of the option --without-gui"
2073 else
2074 if test $XCOS_ENABLE = yes; then
2075    echo "Xcos enable"
2076    echo "Build modelica compiler (--without-modelica) ....... = $with_modelica"
2077    echo ""
2078    if test "$with_modelica" != no -a "$OCAMLC" != no -a "$OCAMLOPT" != no; then
2079      echo "Ocaml Configuration (for Modelica compiler):"
2080      echo "  OCAMLC ............. = $OCAMLC"
2081      echo "  OCAMLOPT ........... = $OCAMLOPT"
2082      echo "  OCAMLDEP ........... = $OCAMLDEP"
2083    else
2084      echo "Will not build Modelica compiler"
2085    fi
2086 else
2087    echo "Not using Xcos"
2088 fi
2089 fi
2090
2091 echo ""
2092 if test "$enable_code_coverage" = yes;  then
2093    echo "Code coverage configuration:"
2094    echo "  LCOV .............. = $LCOV"
2095    echo "  GENHTML ........... = $GENHTML"
2096 else
2097    echo "Not using code coverage"
2098 fi
2099
2100 echo ""
2101 if test $OPENMP_ENABLE = yes; then
2102    echo "OpenMP Configuration:"
2103    echo "OpenMP CFLAGS ...... = $OPENMP_CFLAGS"
2104    echo "OpenMP CXXFLAGS .... = $OPENMP_CXXFLAGS"
2105    echo "OpenMP LIBS ........ = $OPENMP_LIBS"
2106    echo "OpenMP LDFLAGS ..... = $OPENMP_LDFLAGS"
2107 else
2108    echo "Not using OpenMP"
2109 fi
2110
2111 echo ""
2112 if test $FFTW_ENABLE = yes;  then
2113    echo "FFTW Configuration:"
2114    echo "  FFTW LIBS .......... = $FFTW3_LIB"
2115    echo "  FFTW CFLAGS ........ = $FFTW3_CFLAGS"
2116 else
2117    echo "Not using FFTW"
2118 fi
2119
2120 echo ""
2121 if test $MATIO_ENABLE = yes;  then
2122    echo "MATIO Configuration:"
2123    echo "  MATIO LIBS .......... = $MATIO_LIBS"
2124    echo "  MATIO CFLAGS ........ = $MATIO_CFLAGS"
2125 else
2126    echo "Not using MATIO"
2127 fi
2128
2129 echo ""
2130 if test $UMFPACK_ENABLE = yes;  then
2131    echo "UMFPACK Configuration:"
2132    echo "  UMFPACK LIBS ....... = $UMFPACK_LIB"
2133    echo "  UMFPACK CFLAGS ..... = $UMFPACK_CFLAGS"
2134    if test $SUITESPARSE = yes; then
2135       echo "  UMFPACK SUITESPARSE  = Yes"
2136    else
2137       echo "  UMFPACK SUITESPARSE  = No"
2138    fi
2139 else
2140    echo "Not using UMFPACK"
2141 fi
2142
2143
2144 echo ""
2145 echo "BLAS/LAPACK/ATLAS Configuration:"
2146 echo "  BLAS LIBS ............. = $BLAS_LIBS"
2147 echo "  BLAS TYPE ............. = $BLAS_TYPE"
2148 echo "  LAPACK LIBS ........... = $LAPACK_LIBS"
2149 echo "  LAPACK TYPE ........... = $LAPACK_TYPE"
2150 echo "  ARPACK LIBS ........... = $ARPACK_LIBS"
2151 echo ""
2152
2153
2154 if test "$with_mpi" == yes; then
2155    echo "OpenMPI Configuration:"
2156    echo "OpenMPI LIBS ........... = $OPENMPI_LIBS"
2157    echo "OpenMPI C Compiler ..... = $OPENMPI_CC"
2158    echo "OpenMPI C++ Compiler ... = $OPENMPI_CXX"
2159    echo "OpenMPI F77 Compiler ... = $MPIF77"
2160 else
2161    echo "Not using MPI"
2162 fi
2163
2164 echo ""
2165 if test $BUILD_LOCALIZATION_ENABLE != no; then
2166    echo "Gettext/localization configuration:"
2167    echo "  xgettext ............... = $XGETTEXT"
2168    echo "  msgfmt  ................ = $MSGFMT"
2169    echo "  msgfmt_opts ............ = $MSGFMT_OPTS"
2170    echo "  msgcat  ................ = $MSGCAT"
2171 else
2172    echo "Won't generate localization files"
2173 fi
2174
2175 echo ""
2176 if test $HELP_ENABLE = yes; then
2177    echo "Documentation building configuration:"
2178    echo "  Docbook XSL path ....... = $DOCBOOK_ROOT"
2179    echo "  Saxon XSLT ............. = $SAXON"
2180    echo "  XML commons external ... = $XML_APIS_EXT"
2181 else
2182    echo "No documentation generated"
2183 fi
2184
2185 echo ""
2186 echo "Java Configuration:"
2187 if test ! -z "$JAVAC"; then
2188 echo "  JAVA_HOME ........... = $JAVA_HOME"
2189 echo "  JAVAC ............... = $JAVAC"
2190 echo "  JAVA_CLASSPATH ...... = $JAVA_CLASSPATH"
2191 echo "  JAVA_VERSION ........ = $JAVA_VERSION"
2192 echo "  JAVAC_FLAGS ......... = $JAVAC_FLAGS"
2193 echo "  JAVA_JNI_INCLUDE .... = $JAVA_JNI_INCLUDE"
2194 echo "  JAVA_JNI_LIBS ....... = $JAVA_JNI_LIBS"
2195 echo "  JAVA_JNI_LIBS_PRELOAD = $JAVA_JNI_LIBS_PRELOAD"
2196 echo "  JAVA ................ = $JAVA"
2197 echo "  JAVADOC ............. = $JAVADOC"
2198 echo "  JAR ................. = $JAR"
2199 echo "  ANT ................. = $ANT"
2200 else
2201 echo "  JAVA disabled"
2202 fi
2203
2204
2205 echo ""
2206 echo "Java dependencies:"
2207 if test ! -z "$JAVAC"; then
2208 echo "  Flexdock ............ = $FLEXDOCK"
2209 echo "  JOGL 2............... = $JOGL2"
2210 echo "  JOGL 2 LIBS (JNI) ... = $JOGL2_LIBS"
2211 echo "  Gluegen 2 ........... = $GLUEGEN2_RT"
2212 echo "  Gluegen 2 LIBS (JNI)  = $GLUEGEN2_RT_LIBS"
2213 echo "  Jeuclid (MathML) .... = $JEUCLID_CORE"
2214 echo "  Jhall  .............. = $JHALL"
2215 echo "  Jrosetta (API) ...... = $JROSETTA_API"
2216 echo "  Jrosetta (Engine) ... = $JROSETTA_ENGINE"
2217 echo "  Commons Logging ..... = $COMMONS_LOGGING"
2218 echo "  JGraph X ............ = $JGRAPHX"
2219 echo "  SciRenderer ......... = $SCIRENDERER"
2220 echo "  JLaTeXMath .......... = $JLATEXMATH"
2221 echo "  ECJ ................. = $ECJ"
2222 fi
2223
2224 echo ""
2225 if test ! -z "$JAVAC"; then
2226 echo "Documentation, graphic export:"
2227 echo "  FOP (XML => PDF) .... = $FOP"
2228 echo "  JLaTeXMath Fop ...... = $JLATEXMATH_FOP"
2229 echo "  Batik (SVG) ......... = $BATIK"
2230 echo "  Avalon Framework .... = $AVALON_FRAMEWORK"
2231 echo "  Commons I/O ......... = $COMMONS_IO"
2232 echo "  XML graphics commons  = $XMLGRAPHICS_COMMONS"
2233 fi
2234
2235
2236 echo ""
2237 echo "Code quality (optional):"
2238 echo "  Checkstyle .......... = $CHECKSTYLE"
2239 echo "  Commons-beanutils ... = $COMMONS_BEANUTILS"
2240 echo "  Antlr ............... = $ANTLR"
2241 echo "  Junit4 .............. = $JUNIT4"
2242 echo "  Cobertura ........... = $COBERTURA"
2243 echo "  splint .............. = $SPLINT"
2244
2245 echo ""
2246 echo "TCL/TK configuration:"
2247 echo "  TK_INC_PATH ........ = $TK_INC_PATH"
2248 echo "  TCL_INC_PATH ....... = $TCL_INC_PATH"
2249 echo "  TCLTK_LIBS ......... = $TCLTK_LIBS"
2250 echo "  TCL_SERIAL_VERSION . = $TCL_SERIAL_VERSION"
2251 echo "  TK_SERIAL_VERSION .. = $TK_SERIAL_VERSION"
2252
2253 echo ""
2254 echo "XML configuration:"
2255 echo "  XML_FLAGS .......... = $XML_FLAGS"
2256 echo "  XML_LIBS ........... = $XML_LIBS"
2257 echo "  XML_VERSION ........ = $XML_VERSION"
2258
2259 echo ""
2260 echo "HDF5 configuration:"
2261 echo "  HDF5 CFLAGS ......... = $HDF5_CFLAGS"
2262 echo "  HDF5 LIBS ........... = $HDF5_LIBS"
2263
2264 echo ""
2265 echo "PCRE configuration:"
2266 echo "  PCRE_CFLAGS ........ = $PCRE_CFLAGS"
2267 echo "  PCRE_LIBS .......... = $PCRE_LIBS"
2268 echo "  PCRE_VERSION ....... = $PCRE_VERSION"
2269
2270 echo ""
2271 echo "CURL configuration:"
2272 echo "  CURL_CFLAGS ........ = $CURL_CFLAGS"
2273 echo "  CURL_LIBS .......... = $CURL_LIBS"
2274 echo "  CURL_VERSION ....... = $CURL_VERSION"
2275
2276
2277 echo ""
2278 echo "SWIG Configuration:"
2279 if test ! -z "$SWIG_BIN"; then
2280 echo "  SWIG_BIN ........... = $SWIG_BIN"
2281 echo "  SWIG_JAVA .......... = $SWIG_JAVA"
2282 else
2283 echo "  SWIG generation disabled"
2284 fi
2285
2286 echo ""
2287 echo "GIWS Configuration:"
2288 if test ! -z "$GIWS_BIN"; then
2289 echo "  GIWS_BIN ........... = $GIWS_BIN"
2290 else
2291 echo "  GIWS generation disabled"
2292 fi
2293
2294 echo ""
2295 echo "Libtool config:"
2296 echo "  objext .............. = $objext"
2297 echo "  libext (static) ..... = $libext"
2298 echo "  shrext_cmds ......... = $shrext_cmds"
2299 echo "  exeext .............. = $exeext"
2300
2301 echo ""
2302
2303 echo "Compilation paths:"
2304 echo "  srcdir .............. = $SCI_SRCDIR"
2305 echo "  srcdir_full ......... = $SCI_SRCDIR_FULL"
2306 echo "  builddir ............ = $SCI_BUILDDIR"
2307 if test "$SCI_SRCDIR_FULL" != "$SCI_BUILDDIR"; then
2308 echo "  VPATH build ......... = Activated"
2309 fi
2310
2311 echo ""
2312 echo "Platform information:"
2313 echo "  host ........... = $host"
2314 echo "  host_cpu ....... = $host_cpu"
2315 echo "  host_vendor .... = $host_vendor"
2316 echo "  host_os ... .... = $host_os"
2317 echo "  hostname ....... = $ac_hostname"
2318 echo "  CPU 64 bits .... = $IS_64_BITS_CPU"
2319 if test -n "$MAC_DETECTED_ARCH"; then
2320 echo "  Mac OS X arch .. = $MAC_DETECTED_ARCH"
2321 echo "  Mac OS X version = $macosx_version"
2322 fi
2323
2324 echo ""
2325 echo "Options used to compile and link:"
2326 echo "  prefix ......... = $prefix"
2327 echo "  localedir ...... = $localedir"
2328 echo "  VERSION ........ = $PACKAGE_VERSION"
2329 echo "  CC ............. = $CC"
2330 echo "  CFLAGS ......... = $CFLAGS"
2331 echo "  SCI_CFLAGS ..... = $SCI_CFLAGS"
2332 echo "  DEFS ........... = $DEFS"
2333 echo "  LD ............. = $LD"
2334 echo "  LDFLAGS ........ = $LDFLAGS"
2335 echo "  SCI_LDFLAGS .... = $SCI_LDFLAGS"
2336 echo "  LIBS ........... = $LIBS"
2337 echo "  CXX ............ = $CXX"
2338 echo "  CXXFLAGS ....... = $CXXFLAGS"
2339 echo "  SCI_CXXFLAGS ... = $SCI_CXXFLAGS"
2340 echo "  F77 ............ = $F77"
2341 echo "  FFLAGS ......... = $FFLAGS"
2342 echo "  SCI_FFLAGS ..... = $SCI_FFLAGS"
2343 echo "  F77_LDFLAGS .... = $F77_LDFLAGS"
2344 echo "  TERMCAP_LIB .... = $TERMCAP_LIB"
2345 echo ""