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