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