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