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