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