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