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