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