db4e7a26c5f619e84bce21b67daea2af7fcf1658
[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"
1586    else
1587       PKG_CHECK_MODULES(MATIO, [matio >= 1.3.3])
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 matioConfig.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 fi
1607
1608
1609 AC_SUBST(MATIO_ENABLE)
1610 AM_CONDITIONAL(MATIO, test "$with_matio" != no)
1611
1612 #############################
1613 ## Documentation management #
1614 #############################
1615
1616 HELP_ENABLE=yes
1617
1618 AC_ARG_ENABLE(build-help,
1619         AC_HELP_STRING([--disable-build-help],[Disable the help build])
1620         )
1621
1622 if test "$enable_build_help" != no; then
1623     AC_DOCBOOK()
1624 else
1625     HELP_ENABLE=no
1626 fi
1627
1628 if test "$JAVA_ENABLE" = no; then
1629     HELP_ENABLE=no
1630 fi
1631
1632 AC_SUBST(HELP_ENABLE)
1633
1634 AM_CONDITIONAL(BUILD_HELP, test $HELP_ENABLE = yes)
1635
1636 ## Install XML help files ###
1637
1638 AC_ARG_WITH(install-help-xml,
1639         AC_HELP_STRING([--with-install-help-xml],[make install will install XML files])
1640         )
1641 HELP_INSTALL_ENABLE=no
1642 if test "$with_install_help_xml" != no -a "$with_install_help_xml" != ""; then
1643    HELP_INSTALL_ENABLE=yes
1644 fi
1645 AM_CONDITIONAL(INSTALL_HELP_XML, test "$HELP_INSTALL_ENABLE" != "")
1646
1647 ## Doxygen help generation
1648 AC_ARG_ENABLE(build-doxygen,
1649     AC_HELP_STRING([--enable-build-doxygen],[Generate doxygen C/C++ documentation]))
1650
1651 DOXYGEN_ENABLE=yes
1652 if test "$enable_build_doxygen" != no -a "$enable_build_doxygen" != ""; then
1653     AC_DOXYGEN()
1654 else
1655     DOXYGEN_ENABLE=no
1656 fi
1657 AM_CONDITIONAL(DOXYGEN, test $DOXYGEN_ENABLE = yes)
1658
1659 ##############################################################
1660 ## Javasci module
1661 ##############################################################
1662
1663 JAVASCI_ENABLE=yes
1664
1665 if test "$JAVA_ENABLE" = no -o "$JAVASCI" = no; then
1666    JAVASCI_ENABLE=no
1667 fi
1668
1669 AC_SUBST(JAVASCI_ENABLE)
1670
1671
1672 ##############################################################
1673 ## Enable test at compilation time
1674 ##############################################################
1675
1676 COMPILATION_TESTS=no
1677 if test "$enable_compilation_tests" != no -a "$enable_compilation_tests" != ""; then
1678    COMPILATION_TESTS=yes
1679 fi
1680
1681 if test COMPILATION_TESTS=yes -a "$JUNIT4" == ""; then
1682    AC_MSG_WARN([--enable-compilation-tests deactivated: Could not find Junit4"])
1683    COMPILATION_TESTS=no
1684 fi
1685
1686 AM_CONDITIONAL(COMPILATION_TESTS, test "$COMPILATION_TESTS" != "no")
1687
1688 ##############################################################
1689 ## Enable the global force link
1690 ##############################################################
1691
1692 AC_ARG_ENABLE(force-full-link,
1693     AC_HELP_STRING([--enable-force-full-link],[Forces the explicit link between libscilab and some "on-the-fly" loaded libraries. NOT USE IN PRODUCTION.]))
1694
1695 FORCE_FULL_LINK="no"
1696 if test "$enable_force_full_link" == "yes"; then
1697     FORCE_FULL_LINK="yes"
1698 fi
1699
1700 AM_CONDITIONAL(FORCE_LINK, test "$FORCE_FULL_LINK" == "yes")
1701
1702 ##############################################################
1703 ## demo_tools module
1704 ##############################################################
1705
1706 DEMOTOOLS_ENABLE=yes
1707
1708 if test "$GUI_ENABLE" = no; then
1709    DEMOTOOLS_ENABLE=no
1710 fi
1711
1712 AC_SUBST(DEMOTOOLS_ENABLE)
1713
1714 ##############################################################
1715 ## graphics/renderer/graphic_export module
1716 ##############################################################
1717
1718 GRAPHICS_ENABLE=yes
1719
1720 if test "$GUI_ENABLE" = no; then
1721    GRAPHICS_ENABLE=no
1722 fi
1723
1724 AC_SUBST(GRAPHICS_ENABLE)
1725
1726 #########################
1727 ## libtool
1728 #########################
1729
1730 AM_DISABLE_STATIC
1731 LT_PREREQ([2.2.7])
1732 AC_PROG_LIBTOOL([shared dlopen])
1733 AM_PROG_LIBTOOL
1734
1735
1736 # Avoid to link all the dep from others libraries (*.la included by LIBADD)
1737 link_all_deplibs=no
1738
1739 # Check to see if building shared libraries
1740 libtool_build_shared_libs=no
1741 if test "$enable_shared" = "yes"; then
1742   libtool_build_shared_libs=yes
1743 fi
1744
1745 # Check to see if building static libraries
1746 libtool_build_static_libs=no
1747 if test "$enable_static" = "yes"; then
1748   libtool_build_static_libs=yes
1749 fi
1750
1751 # AM_CONDITIONAL(ENABLE_STATIC, test "$libtool_build_static_libs" = yes)
1752 # Fake to disable the static build
1753 AM_CONDITIONAL(ENABLE_STATIC, test "$libtool_build_static_libs" = xxxx)
1754
1755 AC_C_CONST()
1756 AC_C_INLINE()
1757
1758 AC_BACKTRACE()
1759
1760 ##########
1761 ##### Code quality
1762 ##########
1763 AC_PATH_PROG(SPLINT, splint, no)
1764
1765 ##########
1766 ##### Detect ccache and use it by default if available
1767 ##########
1768
1769 AC_ARG_ENABLE(ccache,
1770         AC_HELP_STRING([--disable-ccache],[Disable the use of ccache])
1771         )
1772 AC_PATH_PROG(CCACHE, ccache)
1773 if test x"$CCACHE" != x -a "$enable_ccache" != no; then
1774   CC="$CCACHE $CC"
1775   CXX="$CCACHE $CXX"
1776 fi
1777
1778 #######################
1779 ###### Creation of the header file (machine.h)
1780 #######################
1781
1782 AC_DEFINE_UNQUOTED([PATH_SEPARATOR], ["$PATH_SEPARATOR"],
1783 [The default path separator character.])
1784
1785 AH_TOP([#ifndef MACHINE_H
1786 #define MACHINE_H
1787 /* This file defines global element configuration of the build host */
1788 ])
1789
1790 AH_BOTTOM([
1791
1792 #ifdef DIR_SEPARATOR
1793        #undef DIR_SEPARATOR
1794 #endif
1795 #define DIR_SEPARATOR "/"
1796
1797 #endif /* MACHINE_H  */
1798 ])
1799
1800 # Define the standard extension of a dynamic library
1801 AC_DEFINE_UNQUOTED([SHARED_LIB_EXT],["$shrext_cmds"],[Extension of a shared library])
1802
1803 #################
1804 ## stop on warning
1805 #################
1806
1807 # Stop to compile scilab when a warning is found ...
1808 # This stuff is at the end of the configure.ac because it causes some
1809 # problem with AC_COMPILE (the -Werror is added to the test)
1810 #
1811 dnl @TODO : -O0 is only to bypass Stack shit... Must be removed.
1812 if test "$enable_stop_on_warning" = yes; then
1813     WARNING_CFLAGS="-Werror=implicit-function-declaration -O0"
1814     WARNING_CXXFLAGS="-Werror=implicit-function-declaration -O0"
1815 fi
1816
1817 # SCI_*FLAGS contains all defaults values detected on configure
1818 SCI_CFLAGS=$(echo   $LARGEFILE_CFLAGS   $CODECOVERAGE_CFLAGS   $DEBUG_CFLAGS   $ARCH_CFLAGS   $COMPILER_CFLAGS   $SCILIBS_CFLAGS   $SSE_CFLAGS   $BACKTRACE_CFLAGS   $WARNING_CFLAGS)
1819 SCI_CXXFLAGS=$(echo $LARGEFILE_CXXFLAGS $CODECOVERAGE_CXXFLAGS $DEBUG_CXXFLAGS $ARCH_CXXFLAGS $COMPILER_CXXFLAGS $SCILIBS_CXXFLAGS $SSE_CXXFLAGS $BACKTRACE_CXXFLAGS $WARNING_CXXFLAGS)
1820 SCI_FFLAGS=$(echo   $LARGEFILE_FFLAGS   $CODECOVERAGE_FFLAGS   $DEBUG_FFLAGS   $ARCH_FFLAGS   $COMPILER_FFLAGS   $SCILIBS_FFLAGS   $SSE_FFLAGS   $BACKTRACE_FFLAGS   $WARNING_FFLAGS)
1821 SCI_LDFLAGS=$(echo  $LARGEFILE_LDFLAGS  $CODECOVERAGE_LDFLAGS  $DEBUG_LDFLAGS  $ARCH_LDFLAGS  $COMPILER_LDFLAGS  $SCILIBS_LDFLAGS  $SSE_LDFLAGS  $BACKTRACE_LDFLAGS  $WARNING_LDFLAGS)
1822 AC_SUBST(SCI_CFLAGS)
1823 AC_SUBST(SCI_CXXFLAGS)
1824 AC_SUBST(SCI_FFLAGS)
1825 AC_SUBST(SCI_LDFLAGS)
1826
1827 AC_CONFIG_FILES([
1828 contrib/Makefile
1829 desktop/images/icons/Makefile
1830 desktop/Makefile
1831 modules/helptools/Makefile
1832 modules/data_structures/Makefile
1833 modules/differential_equations/Makefile
1834 modules/optimization/Makefile
1835 modules/elementary_functions/Makefile
1836 modules/special_functions/Makefile
1837 modules/io/Makefile
1838 modules/completion/Makefile
1839 modules/history_manager/Makefile
1840 modules/jvm/Makefile
1841 modules/commons/Makefile
1842 modules/sound/Makefile
1843 modules/statistics/Makefile
1844 modules/mexlib/Makefile
1845 modules/sparse/Makefile
1846 modules/linear_algebra/Makefile
1847 modules/polynomials/Makefile
1848 modules/symbolic/Makefile
1849 modules/signal_processing/Makefile
1850 modules/arnoldi/Makefile
1851 modules/interpolation/Makefile
1852 modules/intersci/Makefile
1853 modules/localization/Makefile
1854 modules/cacsd/Makefile
1855 modules/boolean/Makefile
1856 modules/integer/Makefile
1857 modules/double/Makefile
1858 modules/fileio/Makefile
1859 modules/spreadsheet/Makefile
1860 modules/string/Makefile
1861 modules/time/Makefile
1862 modules/graphics/Makefile
1863 modules/graphic_export/Makefile
1864 modules/graphic_objects/Makefile
1865 modules/renderer/Makefile
1866 modules/action_binding/Makefile
1867 modules/gui/Makefile
1868 modules/randlib/Makefile
1869 modules/tclsci/Makefile
1870 modules/windows_tools/Makefile
1871 modules/core/Makefile
1872 modules/prebuildjava/Makefile
1873 modules/api_scilab/Makefile
1874 modules/call_scilab/Makefile
1875 modules/types/Makefile
1876 modules/hdf5/Makefile
1877 modules/fftw/Makefile
1878 modules/umfpack/Makefile
1879 modules/scicos/Makefile
1880 modules/scicos_blocks/Makefile
1881 modules/functions/Makefile
1882 modules/dynamic_link/Makefile
1883 modules/overloading/Makefile
1884 modules/javasci/Makefile
1885 modules/m2sci/Makefile
1886 modules/compatibility_functions/Makefile
1887 modules/development_tools/Makefile
1888 modules/output_stream/Makefile
1889 modules/console/Makefile
1890 modules/demo_tools/Makefile
1891 modules/genetic_algorithms/Makefile
1892 modules/simulated_annealing/Makefile
1893 modules/parameters/Makefile
1894 modules/matio/Makefile
1895 modules/atoms/Makefile
1896 modules/xcos/Makefile
1897 modules/scinotes/Makefile
1898 modules/ui_data/Makefile
1899 modules/graph/Makefile
1900 modules/parallel/Makefile
1901 modules/modules_manager/Makefile
1902 modules/history_browser/Makefile
1903 modules/preferences/Makefile
1904 modules/xml/Makefile
1905 modules/external_objects/Makefile
1906 modules/Makefile
1907 Makefile
1908 scilab.pc
1909 etc/modules.xml
1910 etc/classpath.xml
1911 etc/Info.plist
1912 etc/logging.properties
1913 scilab.properties
1914 scilab-lib.properties
1915 scilab-lib-doc.properties
1916 modules/helptools/etc/SciDocConf.xml
1917 modules/core/includes/version.h
1918 ])
1919
1920 # Detection of the module for the future version of Scilab 6
1921 # ie we detect module which ends with _yasp
1922
1923 if test "$enable_yasp" = yes; then
1924    AC_CONFIG_FILES([
1925    modules/development_tools/src/fake/Makefile
1926   ])
1927 fi
1928
1929 # This script is used by Xcos in order to regenerate the function/block list
1930 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])
1931
1932 # Generate stack.h
1933 if test "$IS_64_BITS_CPU" = true -o "$MACOSX" = "1"; then
1934    stack_h_cpp_flags=-DUSE_DYNAMIC_STACK
1935 else
1936    stack_h_cpp_flags=
1937 fi
1938
1939 AC_CONFIG_COMMANDS([modules/core/includes/stack.h],
1940   [if ! $CPP $stack_h_cpp_flags - < $srcdir/modules/core/includes/stack.h.in |\
1941               $GREP -v '^#' > $srcdir/modules/core/includes/stack.h ; then
1942      AC_MSG_ERROR([stack.h generation failed])
1943    fi],
1944   [CPP="$CPP"
1945    GREP="$GREP"
1946    stack_h_cpp_flags="$stack_h_cpp_flags"
1947   ])
1948
1949 AC_OUTPUT
1950
1951 # To distribution packager, you can uncomment this stuff is you want to
1952 # disable the rpath issue
1953 # However, you will have to set all the LD_LIBRARY_PATH to .libs/ directory
1954 # since scilab is compiling macros and help into the source tree (ie before
1955 # the "make install")
1956 # You should consider using chrpath:
1957 # http://directory.fsf.org/project/chrpath/
1958 # to remove it before the make install
1959
1960 #case ${host} in
1961 #  *-pc-linux-gnu)
1962 #    AC_MSG_RESULT([Fixing libtool for -rpath problems.])
1963 #    sed < libtool > libtool-2 \
1964 #    's/^hardcode_libdir_flag_spec.*$/hardcode_libdir_flag_spec=" -D__LIBTOOL_IS_A_FOOL__ "/'
1965 #    mv libtool-2 libtool
1966 #    chmod 755 libtool
1967 #  ;;
1968 #esac
1969 #
1970
1971 echo ""
1972
1973 echo "Scilab is configured as follows. Please verify that this configuration"
1974 echo "matches your expectations."
1975 echo ""
1976 echo "Host system type : $host"
1977 echo ""
1978 echo "                  Option                        Value"
1979 echo "-------------------------------------------------------------------------"
1980 echo "Shared libraries.......      --enable-shared=$libtool_build_shared_libs"
1981 echo "Static libraries.......      --enable-static=$libtool_build_static_libs"
1982 echo "GNU ld.................      --with-gnu-ld=$with_gnu_ld"
1983 echo "Enable debug ..........      --enable-debug=$enable_debug"
1984 echo "Enable debug C.........      --enable-debug-C=$enable_debug_C"
1985 echo "Enable debug C++.......      --enable-debug-CXX=$enable_debug_CXX"
1986 echo "Enable debug Java......      --enable-debug-java=$enable_debug_java"
1987 echo "Enable debug Fortran...      --enable-debug-fortran=$enable_debug_fortran"
1988 echo "Enable stop on warning.      --enable-stop-on-warning=$enable_stop_on_warning"
1989
1990 echo ""
1991 echo "Compiler Configuration:"
1992 echo "  Intel (--with-intelcompilers) .... =        $with_intelcompilers"
1993 echo "  GNU gcc (--with-gcc) ............. =        $with_gcc"
1994 echo "  GNU Fortran 95 (--with-gfortran) . =        $with_gfortran"
1995 echo ""
1996 echo "Options:"
1997 echo "  Do not use TCL/TK (--without-tk) ................. = $with_tk"
1998 echo "  TCL include (--with-tcl-include) ................. = $USER_TCL_INC_PATH"
1999 echo "  TCL library (--with-tcl-library) ................. = $USER_TCL_LIB_PATH"
2000 echo "  TK include (--with-tk-include) ................... = $USER_TK_INC_PATH"
2001 echo "  TK library (--with-tk-library) ................... = $USER_TK_LIB_PATH"
2002 echo "  Install XML Help (--with-install-help-xml) ....... = $with_install_help_xml"
2003 echo "  Compilation tests (--enable-compilation-tests) ... = $COMPILATION_TESTS"
2004 echo "  Make the package relocatable (--enable-relocatable)= $RELOCATABLE"
2005 echo "  Use FFTW (--without-fftw) ........................ = $with_fftw"
2006 echo "  Use MATIO (--without-matio) ...................... = $with_matio"
2007
2008 echo ""
2009 if test "$with_gui" = no; then
2010    echo "Not using Xcos because of the option --without-gui"
2011 else
2012 if test $XCOS_ENABLE = yes; then
2013    echo "Xcos enable"
2014    echo "Build modelica compiler (--without-modelica) ....... = $with_modelica"
2015    echo ""
2016    if test "$with_ocaml" != no -a "$OCAMLC" != no -a "$OCAMLOPT" != no; then
2017      echo "Ocaml Configuration (for Modelica compiler):"
2018      echo "  OCAMLC ............. = $OCAMLC"
2019      echo "  OCAMLOPT ........... = $OCAMLOPT"
2020      echo "  OCAMLDEP ........... = $OCAMLDEP"
2021    else
2022      echo "Will not build Modelica compiler"
2023    fi
2024 else
2025    echo "Not using Xcos"
2026 fi
2027 fi
2028
2029 echo ""
2030 if test "$enable_code_coverage" = yes;  then
2031    echo "Code coverage configuration:"
2032    echo "  LCOV .............. = $LCOV"
2033    echo "  GENHTML ........... = $GENHTML"
2034 else
2035    echo "Not using code coverage"
2036 fi
2037
2038 echo ""
2039 if test $OPENMP_ENABLE = yes; then
2040    echo "OpenMP Configuration:"
2041    echo "OpenMP CFLAGS ...... = $OPENMP_CFLAGS"
2042    echo "OpenMP CXXFLAGS .... = $OPENMP_CXXFLAGS"
2043    echo "OpenMP LIBS ........ = $OPENMP_LIBS"
2044    echo "OpenMP LDFLAGS ..... = $OPENMP_LDFLAGS"
2045 else
2046    echo "Not using OpenMP"
2047 fi
2048
2049 echo ""
2050 if test $FFTW_ENABLE = yes;  then
2051    echo "FFTW Configuration:"
2052    echo "  FFTW LIBS .......... = $FFTW3_LIB"
2053    echo "  FFTW CFLAGS ........ = $FFTW3_CFLAGS"
2054 else
2055    echo "Not using FFTW"
2056 fi
2057
2058 echo ""
2059 if test $MATIO_ENABLE = yes;  then
2060    echo "MATIO Configuration:"
2061    echo "  MATIO LIBS .......... = $MATIO_LIBS"
2062    echo "  MATIO CFLAGS ........ = $MATIO_CFLAGS"
2063 else
2064    echo "Not using MATIO"
2065 fi
2066
2067 echo ""
2068 if test $UMFPACK_ENABLE = yes;  then
2069    echo "UMFPACK Configuration:"
2070    echo "  UMFPACK LIBS ....... = $UMFPACK_LIB"
2071    echo "  UMFPACK CFLAGS ..... = $UMFPACK_CFLAGS"
2072    if test $SUITESPARSE = yes; then
2073       echo "  UMFPACK SUITESPARSE  = Yes"
2074    else
2075       echo "  UMFPACK SUITESPARSE  = No"
2076    fi
2077 else
2078    echo "Not using UMFPACK"
2079 fi
2080
2081
2082 echo ""
2083 echo "BLAS/LAPACK/ATLAS Configuration:"
2084 echo "  BLAS LIBS ............. = $BLAS_LIBS"
2085 echo "  BLAS TYPE ............. = $BLAS_TYPE"
2086 echo "  LAPACK LIBS ........... = $LAPACK_LIBS"
2087 echo "  LAPACK TYPE ........... = $LAPACK_TYPE"
2088 echo "  ARPACK LIBS ........... = $ARPACK_LIBS"
2089 echo ""
2090
2091 echo ""
2092 if test $BUILD_LOCALIZATION_ENABLE != no; then
2093    echo "Gettext/localization configuration:"
2094    echo "  xgettext ............... = $XGETTEXT"
2095    echo "  msgfmt  ................ = $MSGFMT"
2096    echo "  msgfmt_opts ............ = $MSGFMT_OPTS"
2097    echo "  msgcat  ................ = $MSGCAT"
2098 else
2099    echo "Won't generate localization files"
2100 fi
2101
2102 echo ""
2103 if test $HELP_ENABLE = yes; then
2104    echo "Documentation building configuration:"
2105    echo "  Docbook XSL path ....... = $DOCBOOK_ROOT"
2106    echo "  Saxon XSLT ............. = $SAXON"
2107    echo "  XML commons external ... = $XML_APIS_EXT"
2108 else
2109    echo "No documentation generated"
2110 fi
2111
2112 echo ""
2113 echo "Java Configuration:"
2114 if test ! -z "$JAVAC"; then
2115 echo "  JAVA_HOME ........... = $JAVA_HOME"
2116 echo "  JAVAC ............... = $JAVAC"
2117 echo "  JAVA_CLASSPATH ...... = $JAVA_CLASSPATH"
2118 echo "  JAVA_VERSION ........ = $JAVA_VERSION"
2119 echo "  JAVAC_FLAGS ......... = $JAVAC_FLAGS"
2120 echo "  JAVA_JNI_INCLUDE .... = $JAVA_JNI_INCLUDE"
2121 echo "  JAVA_JNI_LIBS ....... = $JAVA_JNI_LIBS"
2122 echo "  JAVA_JNI_LIBS_PRELOAD = $JAVA_JNI_LIBS_PRELOAD"
2123 echo "  JAVA ................ = $JAVA"
2124 echo "  JAVADOC ............. = $JAVADOC"
2125 echo "  JAR ................. = $JAR"
2126 echo "  ANT ................. = $ANT"
2127 else
2128 echo "  JAVA disabled"
2129 fi
2130
2131
2132 echo ""
2133 echo "Java dependencies:"
2134 if test ! -z "$JAVAC"; then
2135 echo "  Flexdock ............ = $FLEXDOCK"
2136 echo "  JOGL 2............... = $JOGL2"
2137 echo "  JOGL 2 LIBS (JNI) ... = $JOGL2_LIBS"
2138 echo "  Gluegen 2 ........... = $GLUEGEN2_RT"
2139 echo "  Gluegen 2 LIBS (JNI)  = $GLUEGEN2_RT_LIBS"
2140 echo "  Jeuclid (MathML) .... = $JEUCLID_CORE"
2141 echo "  Jhall  .............. = $JHALL"
2142 echo "  Jrosetta (API) ...... = $JROSETTA_API"
2143 echo "  Jrosetta (Engine) ... = $JROSETTA_ENGINE"
2144 echo "  Commons Logging ..... = $COMMONS_LOGGING"
2145 echo "  JGraph X ............ = $JGRAPHX"
2146 echo "  SciRenderer ......... = $SCIRENDERER"
2147 echo "  JLaTeXMath .......... = $JLATEXMATH"
2148 fi
2149
2150 echo ""
2151 if test ! -z "$JAVAC"; then
2152 echo "Documentation, graphic export:"
2153 echo "  FOP (XML => PDF) .... = $FOP"
2154 echo "  JLaTeXMath Fop ...... = $JLATEXMATH_FOP"
2155 echo "  Batik (SVG) ......... = $BATIK"
2156 echo "  Avalon Framework .... = $AVALON_FRAMEWORK"
2157 echo "  Commons I/O ......... = $COMMONS_IO"
2158 echo "  XML graphics commons  = $XMLGRAPHICS_COMMONS"
2159 fi
2160
2161
2162 echo ""
2163 echo "Code quality (optional):"
2164 echo "  Checkstyle .......... = $CHECKSTYLE"
2165 echo "  Commons-beanutils ... = $COMMONS_BEANUTILS"
2166 echo "  Antlr ............... = $ANTLR"
2167 echo "  Junit4 .............. = $JUNIT4"
2168 echo "  Cobertura ........... = $COBERTURA"
2169 echo "  splint .............. = $SPLINT"
2170
2171 echo ""
2172 echo "TCL/TK configuration:"
2173 echo "  TK_INC_PATH ........ = $TK_INC_PATH"
2174 echo "  TCL_INC_PATH ....... = $TCL_INC_PATH"
2175 echo "  TCLTK_LIBS ......... = $TCLTK_LIBS"
2176 echo "  TCL_SERIAL_VERSION . = $TCL_SERIAL_VERSION"
2177 echo "  TK_SERIAL_VERSION .. = $TK_SERIAL_VERSION"
2178
2179 echo ""
2180 echo "XML configuration:"
2181 echo "  XML_FLAGS .......... = $XML_FLAGS"
2182 echo "  XML_LIBS ........... = $XML_LIBS"
2183 echo "  XML_VERSION ........ = $XML_VERSION"
2184
2185 echo ""
2186 echo "HDF5 configuration:"
2187 echo "  HDF5 CFLAGS ......... = $HDF5_CFLAGS"
2188 echo "  HDF5 LIBS ........... = $HDF5_LIBS"
2189
2190 echo ""
2191 echo "PCRE configuration:"
2192 echo "  PCRE_CFLAGS ........ = $PCRE_CFLAGS"
2193 echo "  PCRE_LIBS .......... = $PCRE_LIBS"
2194 echo "  PCRE_VERSION ....... = $PCRE_VERSION"
2195
2196 echo ""
2197 echo "CURL configuration:"
2198 echo "  CURL_CFLAGS ........ = $CURL_CFLAGS"
2199 echo "  CURL_LIBS .......... = $CURL_LIBS"
2200 echo "  CURL_VERSION ....... = $CURL_VERSION"
2201
2202
2203 echo ""
2204 echo "SWIG Configuration:"
2205 if test ! -z "$SWIG_BIN"; then
2206 echo "  SWIG_BIN ........... = $SWIG_BIN"
2207 echo "  SWIG_JAVA .......... = $SWIG_JAVA"
2208 else
2209 echo "  SWIG generation disabled"
2210 fi
2211
2212 echo ""
2213 echo "GIWS Configuration:"
2214 if test ! -z "$GIWS_BIN"; then
2215 echo "  GIWS_BIN ........... = $GIWS_BIN"
2216 else
2217 echo "  GIWS generation disabled"
2218 fi
2219
2220 echo ""
2221 echo "Libtool config:"
2222 echo "  objext .............. = $objext"
2223 echo "  libext (static) ..... = $libext"
2224 echo "  shrext_cmds ......... = $shrext_cmds"
2225 echo "  exeext .............. = $exeext"
2226
2227 echo ""
2228
2229 echo "Compilation paths:"
2230 echo "  srcdir .............. = $SCI_SRCDIR"
2231 echo "  srcdir_full ......... = $SCI_SRCDIR_FULL"
2232 echo "  builddir ............ = $SCI_BUILDDIR"
2233 if test "$SCI_SRCDIR_FULL" != "$SCI_BUILDDIR"; then
2234 echo "  VPATH build ......... = Activated"
2235 fi
2236
2237 echo ""
2238 echo "Platform information:"
2239 echo "  host ........... = $host"
2240 echo "  host_cpu ....... = $host_cpu"
2241 echo "  host_vendor .... = $host_vendor"
2242 echo "  host_os ... .... = $host_os"
2243 echo "  hostname ....... = $ac_hostname"
2244 echo "  CPU 64 bits .... = $IS_64_BITS_CPU"
2245 if test -n "$MAC_DETECTED_ARCH"; then
2246 echo "  Mac OS X arch .. = $MAC_DETECTED_ARCH"
2247 echo "  Mac OS X version = $macosx_version"
2248 fi
2249
2250 echo ""
2251 echo "Options used to compile and link:"
2252 echo "  prefix ......... = $prefix"
2253 echo "  localedir ...... = $localedir"
2254 echo "  VERSION ........ = $PACKAGE_VERSION"
2255 echo "  CC ............. = $CC"
2256 echo "  CFLAGS ......... = $CFLAGS"
2257 echo "  SCI_CFLAGS ..... = $SCI_CFLAGS"
2258 echo "  DEFS ........... = $DEFS"
2259 echo "  LD ............. = $LD"
2260 echo "  LDFLAGS ........ = $LDFLAGS"
2261 echo "  SCI_LDFLAGS .... = $SCI_LDFLAGS"
2262 echo "  LIBS ........... = $LIBS"
2263 echo "  CXX ............ = $CXX"
2264 echo "  CXXFLAGS ....... = $CXXFLAGS"
2265 echo "  SCI_CXXFLAGS ... = $SCI_CXXFLAGS"
2266 echo "  F77 ............ = $F77"
2267 echo "  FFLAGS ......... = $FFLAGS"
2268 echo "  SCI_FFLAGS ..... = $SCI_FFLAGS"
2269 echo "  F77_LDFLAGS .... = $F77_LDFLAGS"
2270 echo "  TERMCAP_LIB .... = $TERMCAP_LIB"
2271 echo ""