2 # Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
3 # Copyright (C) INRIA - 2006-2008 - Sylvestre Ledru
4 # Copyright (C) DIGITEO - 2009-2011 - Sylvestre Ledru
5 # Copyright (C) DIGITEO - 2009 - Pierre MARECHAL <pierre.marechal@scilab.org>
6 # Copyright (C) Scilab Enterprises - 2014 - Clement DAVID <clement.david@scilab-enterprises.com>
8 # This file must be used under the terms of the CeCILL.
9 # This source file is licensed as described in the file COPYING, which
10 # you should have received as part of this distribution. The terms
11 # are also available at
12 # http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
15 dnl Process this file with autoconf to produce a configure script.
18 AC_REVISION($Revision$)dnl
19 AC_INIT([Scilab],[5],[http://bugzilla.scilab.org/])
21 AC_CONFIG_MACRO_DIR([m4])
25 SCI_SRCDIR_FULL="`cd $SCI_SRCDIR && pwd`"
27 if test -d "$SCI_SRCDIR_FULL/usr"; then
29 DEVTOOLS_BINDIR="$SCI_SRCDIR_FULL/usr/bin"
30 DEVTOOLS_INCDIR="$SCI_SRCDIR_FULL/usr/include"
31 DEVTOOLS_LIBDIR="$SCI_SRCDIR_FULL/usr/lib"
39 SCILAB_VERSION_MAJOR=5
40 SCILAB_VERSION_MINOR=5
41 SCILAB_VERSION_MAINTENANCE=2
42 AC_SUBST(SCILAB_VERSION_MAJOR)
43 AC_SUBST(SCILAB_VERSION_MINOR)
44 AC_SUBST(SCILAB_VERSION_MAINTENANCE)
47 SCILAB_LIBRARY_VERSION=$SCILAB_VERSION_MAJOR:$SCILAB_VERSION_MINOR:$SCILAB_VERSION_MAINTENANCE
48 AC_SUBST(SCILAB_LIBRARY_VERSION)
50 SCILAB_BINARY_VERSION=$SCILAB_VERSION_MAJOR.$SCILAB_VERSION_MINOR.$SCILAB_VERSION_MAINTENANCE
51 AC_SUBST(SCILAB_BINARY_VERSION)
53 #shared library versioning
54 #GENERIC_LIBRARY_VERSION=1:2:0
58 # current:revision:age
60 # | | +- increment if interfaces have been added
61 # | | set to zero if interfaces have been removed
63 # | +- increment if source code has changed
64 # | set to zero if current is incremented
65 # +- increment if interfaces have been added, removed or changed
67 # Check if we have a space in the path to the source tree
68 SPACE_IN_PATH=`echo "$SCI_SRCDIR_FULL"|grep " " > /dev/null; echo $?`
69 if test "$SPACE_IN_PATH" = "0"; then
70 AC_MSG_WARN([=====================================])
71 AC_MSG_WARN([Configure thinks that there is a space in the path to the source. This may cause problem with libtool and some other things...])
72 AC_MSG_WARN([=====================================])
76 AC_CONFIG_AUX_DIR(config)
77 AC_CONFIG_HEADERS([modules/core/includes/machine.h])
86 # In order to be able to change the scilab directory
87 # See http://wiki.debian.org/RpathIssue
89 AC_RELOCATABLE_LIBRARY
92 # If configure detect that timestamp changed,
93 # it tries to rebuild configure & makefile which can be a painmaker
94 # if the version is different
97 AM_INIT_AUTOMAKE([-Wall foreign serial-tests subdir-objects]) # Not using -Werror because we override {C,F}FLAGS in order to disable optimisation
101 #################################
102 ## all the --with-* argument help
103 #################################
107 AC_HELP_STRING([--enable-debug],[Do not optimize and print warning messages (C/C++/Fortran/Java code)]))
109 AC_ARG_ENABLE(debug-C,
110 AC_HELP_STRING([--enable-debug-C],[Do not optimize and print warning messages (C code)]))
112 AC_ARG_ENABLE(debug-CXX,
113 AC_HELP_STRING([--enable-debug-CXX],[Do not optimize and print warning messages (C++ code)]))
115 AC_ARG_ENABLE(debug-java,
116 AC_HELP_STRING([--enable-debug-java],[Print warning messages and line numbers (Java code)]))
118 AC_ARG_ENABLE(debug-fortran,
119 AC_HELP_STRING([--enable-debug-fortran],[Do not optimize and print warning messages (Fortran code)]))
121 AC_ARG_ENABLE(debug-linker,
122 AC_HELP_STRING([--enable-debug-linker],[Print warning messages from the linker (ld)]))
124 AC_ARG_ENABLE(code-coverage,
125 AC_HELP_STRING([--enable-code-coverage],[Enable code coverage]))
127 AC_ARG_ENABLE(stop-on-warning,
128 AC_HELP_STRING([--enable-stop-on-warning],[Stop the compilation on the first warning found in the C/C++ code]))
131 AC_HELP_STRING([--with-gcc],[Use gcc C compiler ]))
133 AC_ARG_WITH(gfortran,
134 AC_HELP_STRING([--with-gfortran],[Use gfortran, GNU Fortran 95 compiler]))
136 AC_ARG_WITH(intelcompilers,
137 AC_HELP_STRING([--with-intelcompilers],[Use Intel C (icc) and Fortran (ifort) proprietary compilers (GNU/Linux only) ]))
140 AC_HELP_STRING([--without-tk],[Disable the interface to Tcl/Tk ]))
143 AC_HELP_STRING([--without-javasci],[Disable the Java/Scilab interface (javasci)]))
145 AC_ARG_ENABLE(compilation-tests,
146 AC_HELP_STRING([--enable-compilation-tests],[Enable unitary tests and checks at compilation time]))
149 AC_HELP_STRING([--without-gui],[Disable the Scilab Graphical User Interface (GUI). Intended for embedded/clustering/grid Scilab ]))
151 AC_ARG_ENABLE(build-swig,
152 AC_HELP_STRING([--enable-build-swig=path],[Regenerate Java => C and Scilab => C wrappers produces by Swig]),
153 [with_build_swig=$withval],
158 AC_ARG_ENABLE(build-giws,
159 AC_HELP_STRING([--enable-build-giws],[Regenerate C/C++ => Java wrappers produces by Giws]))
162 ################################################
163 ########## compilator & misc programs detection
164 ################################################
170 #### Mac OS X set of fink path with provided
173 AC_ARG_WITH(fink_prefix,
174 AC_HELP_STRING([--with-fink-prefix],[Provide a fink prefix. Default: /sw/ ]))
175 # Need MacosX Version to specify some path.
178 AC_GET_MACOSX_VERSION
184 if test -n "$with_fink_prefix"; then
185 # If with-fink-prefix is provided, use the provided path to make sure that we will
186 # use it to detect dependencies (for example, gfortran is not provided in xcode.
187 # Therefor, we use the one in fink)
188 FINK_PREFIX="$with_fink_prefix/"
190 # Exec the init script of fink to make sure that the env is set
191 if test -f $with_fink_prefix/bin/init.sh; then
192 echo "source $with_fink_prefix/bin/init.sh executed to set the env"
193 source $with_fink_prefix/bin/init.sh
195 AC_MSG_WARN([Could not find the fink init.sh script: $with_fink_prefix/bin/init.sh])
201 #Append to the default flags on Apple machines
202 CPPFLAGS="$CPPFLAGS -I$FINK_PREFIX/include/"
203 LDFLAGS="$LDFLAGS -L$FINK_PREFIX/lib/"
207 AC_ARG_WITH(min_macosx_version,
208 AC_HELP_STRING([--with-min-macosx-version],[Force compilers to generate binaries compatible with MacOSX minimal version.]))
211 if test -n "$with_min_macosx_version"; then
212 MIN_MACOSX_VERSION=$with_min_macosx_version
213 #Append to the default flags on Apple machines
214 ARCH_CFLAGS="-mmacosx-version-min=$MIN_MACOSX_VERSION"
215 ARCH_CXXFLAGS="-mmacosx-version-min=$MIN_MACOSX_VERSION"
216 ARCH_FFLAGS="-mmacosx-version-min=$MIN_MACOSX_VERSION"
217 ARCH_LDFLAGS="-mmacosx-version-min=$MIN_MACOSX_VERSION"
218 # We need this to be passed to all linker commands
219 LDFLAGS="$LDFLAGS -mmacosx-version-min=$MIN_MACOSX_VERSION"
225 #####################################################
226 ## Look for pkg-config
227 #####################################################
230 #####################################################
231 ## check if options are correct (or not)
232 #####################################################
234 if test "$with_intelcompilers" = yes -a "$with_gcc" = yes; then
235 AC_MSG_ERROR([Conflicting options : you specified two compiler series])
238 ######## fortran ########
240 if test "$with_gfortran" = yes; then
241 AC_PROG_F77(gfortran)
242 if test -z "$F77"; then
243 AC_MSG_ERROR([You asked me to use gfortran but i haven't been able to find it])
247 if test "$with_intelcompilers" = yes; then
248 AC_PROG_F77(ifc ifort)
249 if test -z "$F77"; then
250 AC_MSG_ERROR([You asked me to use ifc (intel fortran compiler) but i haven't been able to find it])
254 if test -z "$F77"; then
255 ## No Fortran compiler specified... Prefer gfortran and intel compilers
256 AC_PROG_F77([gfortran ifc ifort])
257 if test -z "$F77"; then
258 # Best effort to find a compiler (might be g77)
264 # case statements were introduced in fortran 90 so we can use that
265 # as a test to see if our compiler is fortran 90 compatible.
267 if test -z "$F77"; then
268 AC_MSG_ERROR([No fortran compiler found. Cannot compile scilab without a fortran compiler])
271 AC_MSG_CHECKING([if $F77 is a fortran 90 compatible compiler])
273 AC_LANG_PUSH([Fortran 77])
279 print*, "case is 1, i is ", i
281 print*, "case is 2 to 3, i is ", i
283 print*, "default case, i is ", i
288 [AC_MSG_RESULT([yes])
289 AC_DEFINE([G95_FORTRAN],[],[uses G95 fortran])
292 [AC_MSG_RESULT([no])]
294 AC_LANG_POP([Fortran 77])
296 ############ C ###############
299 if test "$with_gcc" = yes; then
301 if test -z "$CC"; then
302 AC_MSG_ERROR([You asked me to use gcc but i haven't been able to find it])
306 if test "$with_intelcompilers" = yes; then
308 if test -z "$CC"; then
309 AC_MSG_ERROR([You asked me to use icc (intel C compiler) but I haven't been able to find it])
313 if test -z "$CC"; then
314 # No C compiler specified... We rely on Autoconf to find the best
318 if test -z "$CC"; then
319 AC_MSG_ERROR([No C Compiler found. Cannot compile Scilab without a C compiler])
322 AC_CHECK_SIZEOF([int])
323 AC_CHECK_SIZEOF([long])
327 # we can't just do something like
328 # AC_CHECK_PROG(cxx_present, $CXX, "yes", "no")
329 # because if the user has specified the full path of the desired C++ compiler then AC_CHECK_PROG
330 # will fail. If AC_PROG_CXX fails to find a c++ compiler it will set CXX=g++ so just run AC_CHECK_PROG
331 # in this special case
334 AC_CHECK_PROG([cxx_present], [$CXX], [yes], [no])
335 if test "x$cxx_present" != "xyes"; then
336 AC_MSG_ERROR([No C++ compiler found. Cannot compile scilab without a C++ compiler])
341 # for "subdir-objects"
347 if test "$enable_debug" = yes; then
348 enable_debug_fortran=yes
351 enable_debug_java=yes
356 if test "$enable_debug_fortran" = yes; then
357 FFLAGS="`echo "$FFLAGS"| sed -e 's|-O[0-9+]|-O0|'`"
359 enable_debug_fortran=no
362 if test "$enable_debug_C" = yes; then
363 CFLAGS="`echo "$CFLAGS"| sed -e 's|-O[0-9+]|-O0|'`"
368 if test "$enable_debug_CXX" = yes; then
369 CXXFLAGS="`echo "$CXXFLAGS"| sed -e 's|-O[0-9+]|-O0|'`"
374 if test "$enable_debug_java" = yes; then
377 LOGGING_LEVEL="SEVERE"
379 AC_SUBST(LOGGING_LEVEL)
381 if test "x${prefix}" = "xNONE"; then
382 prefix="${ac_default_prefix}"
385 ###############################
387 ###############################
389 SCIVERSION=`cat $SCI_SRCDIR/Version.incl | sed -e "s/SCIVERSION=//" `
391 #############################################
392 ## Compilers and options according to machine
393 #############################################
395 ######################
396 ######## Set compilation options for intel C/Fortran compilers
397 ######################
399 if test "$with_intelcompilers" = yes; then
403 ########### FORTRAN ######################
406 ######################
407 ######## With gfortran ...
408 ######################
409 if test -n "$F77"; then
412 ## With GNU Compiler enable the code coverage
413 if test "$enable_code_coverage" = yes; then
414 CODECOVERAGE_FFLAGS="-fprofile-arcs -ftest-coverage"
418 AC_MSG_ERROR([g77 is no longer supported. Please consider switching to gfortran])
422 if test "$enable_debug_fortran" = yes; then
423 AC_LANG_PUSH([Fortran 77])
424 for flag in -g -Wall -Wsurprising; do
425 case " ${FFLAGS} " in
427 # flag is already present
431 AC_MSG_CHECKING([if the Fortran compiler accepts ${flag}])
432 ac_save_FFLAGS="$FFLAGS"
433 FFLAGS="$FFLAGS ${flag}"
434 AC_COMPILE_IFELSE([AC_LANG_PROGRAM()],
435 [AC_MSG_RESULT([yes])
436 DEBUG_FFLAGS="${flag}"
438 [AC_MSG_RESULT([no])]
443 AC_LANG_POP([Fortran 77])
445 DEBUG_FFLAGS="-DNDEBUG"
449 ARCH_FFLAGS="-m64 -fPIC"
456 ARCH_FFLAGS="-fpe3 -switch nosqrt_recip"
459 ARCH_FFLAGS="-qcharlen=4096"
462 ARCH_FFLAGS="-O0 -fpe1"
465 ARCH_FFLAGS="+Obb1200 +E4 -Dhpux"
468 if test "$enable_debug_fortran" = yes; then
469 ARCH_FFLAGS="+E4 +Z +DAportable -Dhpux"
471 ARCH_FFLAGS="+O2 +E4 +Z +DAportable -Dhpux"
473 # ARCH_LDFLAGS="-Wl,+vnocompatwarnings,-E /usr/lib/libdld.sl"
477 if test "$enable_debug_fortran" = yes; then
478 ARCH_FFLAGS=" +Z +DAportable -Dhpux"
480 ARCH_FFLAGS="+O2 +Z +DAportable -Dhpux"
482 ARCH_LDFLAGS="-ldld -lnsl -lU77 -lm"
489 #########################
490 # setting parameters according to system types
491 #########################
494 *-*-hpux9.*|*-*-hpux10.*|*-*-hpux11.*)
511 AM_CONDITIONAL(IS_MACOSX, test -n "$MACOSX")
512 AM_CONDITIONAL(IS_HPUX, test -n "$HPUX")
513 AM_CONDITIONAL(IS_SPARC, test -n "$SPARC")
514 AM_CONDITIONAL(IS_SOLARIS, test -n "$SOLARIS")
515 AM_CONDITIONAL(IS_MIPS_SGI_IRIX, test -n "$MIPS_SGI_IRIX")
524 if test -z "$CXX"; then
525 AC_MSG_ERROR([No C++ compiler found. Cannot compile scilab without a C++ compiler])
529 g++-* | g++ | ccache*g++ | ccache*g++-* )
530 ## With GNU C++ Compiler
532 # enable the code coverage
533 if test "$enable_code_coverage" = yes; then
534 CODECOVERAGE_CXXFLAGS="-fprofile-arcs -ftest-coverage"
537 if test "$enable_debug_CXX" = yes; then
538 DEBUG_CXXFLAGS="-pipe -Wshadow -Wpointer-arith -Wcast-align -Wreturn-type -Wswitch -Wtrigraphs -Wcomment -W -Wchar-subscripts -Wformat -Wparentheses -Wsign-compare -Wwrite-strings -Wunused -Wno-strict-aliasing -Wextra -Wall -g3 -Wunsafe-loop-optimizations"
541 # Only doing that under Linux
542 DEBUG_CXXFLAGS="$DEBUG_CXXFLAGS -fdiagnostics-show-option -Werror=format-security"
546 DEBUG_CXXFLAGS="-DNDEBUG"
548 COMPILER_CXXFLAGS="-fno-stack-protector " # bug 3131
553 #### 64 bits detection
556 x86_64-*-linux-gnu | x86_64-linux-gnu | ia64-*-linux-gnu | alpha-*-linux-gnu | alpha-*-netbsd* | x86_64-*-netbsd* | sparc64-*-netbsd*)
564 gcc-* | gcc | ccache*gcc | ccache*gcc-* )
567 # enable the code coverage
568 if test "$enable_code_coverage" = yes; then
569 CODECOVERAGE_CFLAGS="-fprofile-arcs -ftest-coverage"
572 if test "$enable_debug_C" = yes; then
573 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"
577 # Only doing that under Linux
578 if test "$enable_debug_linker" = yes; then
579 LDFLAGS="$LDFLAGS -Wl,--warn-common,-x"
581 DEBUG_CFLAGS="$DEBUG_CFLAGS -fdiagnostics-show-option -Werror=format-security"
585 DEBUG_CFLAGS="-DNDEBUG"
588 COMPILER_CFLAGS="-fno-stack-protector " # bug 3131
589 # Explictly disable the as needed. It was disable by default but Ubuntu
590 # activated it by default since release 11.04. See bug #8961.
591 # Once all cyclic dependencies have been dropped, this line could be removed.
592 # Check if linker supports --as-needed and --no-as-needed options
593 if $LD --help 2>/dev/null | grep no-as-needed > /dev/null; then
594 LDFLAGS="$LDFLAGS -Wl,--no-as-needed"
599 x86_64-*-linux-gnu | x86_64-linux-gnu)
603 ARCH_CFLAGS="-mieee-with-inexact"
604 ARCH_LDFLAGS="-mieee-with-inexact"
607 ARCH_CFLAGS="-D_GNU_SOURCE"
610 ARCH_CFLAGS="-DSVR4 -DSYSV -Dsolaris"
613 ARCH_CFLAGS="-Dfreebsd"
618 ARCH_CFLAGS="-Dnetbsd -mieee"
619 ARCH_FFLAGS="-Dnetbsd -mieee"
623 ARCH_CFLAGS="-Dnetbsd"
627 # Flag no more added since :
628 # - No more supported in recent gcc versions (> 4.6)
629 # - only needed when compiling with flag -mmacosx-min-version=10.5
630 #ARCH_CFLAGS="$ARCH_CFLAGS -no_compact_linkedit"
631 #ARCH_CXXFLAGS="$ARCH_CXXFLAGS -no_compact_linkedit"
632 #ARCH_LDFLAGS="$ARCH_LDFLAGS -no_compact_linkedit"
633 # We need this to be passed to all linker commands
634 #LDFLAGS="$LDFLAGS -no_compact_linkedit"
638 # Extract from gfortran -v the version it has been built for
639 MAC_DETECTED_ARCH="`$F77 -v 2>&1|grep "Target:"|sed -e "s/Target: \([[a-z0-9A-Z_]]*\).*/\1/g"`"
642 AC_MSG_WARN([gfortran not used. Could not detect the architecture. Switch to the default case: x86_64])
643 MAC_DETECTED_ARCH="x86_64"
646 CC="$CC -arch $MAC_DETECTED_ARCH"
647 CXX="$CXX -arch $MAC_DETECTED_ARCH"
650 ;; # end of the gcc case on the $CC
653 ## CC compiler (not GCC)
654 if test "$enable_debug_C" != yes; then
655 ARCH_CFLAGS="-DNDEBUG"
661 ARCH_CFLAGS="-std -ieee_with_inexact"
662 ARCH_LDFLAGS="-ieee_with_inexact"
665 ARCH_CFLAGS="-ieee_with_inexact"
666 ARCH_LDFLAGS="-ieee_with_inexact"
668 rs6000-*-*) # IBM AIX RS 6000 (NO LONGER SUPPORTED)
669 ARCH_CFLAGS="-Daix -DSYSV"
671 mips-sgi-irix*) # SGI
672 ARCH_CFLAGS="-DSYSV -DSVR4"
675 ARCH_CFLAGS="-DSYSV -Dhpux"
677 *-*-hpux10.*) # HP 10
678 if test "$enable_debug_C" = yes; then
679 ARCH_CFLAGS="-DSYSV -Dhpux"
681 ARCH_CFLAGS="-DSYSV -Dhpux +Z +DAportable"
685 *-*-hpux11.*) # HP 11
686 ARCH_CFLAGS="-DSYSV -Dhpux -Dhppa +Z +DAportable"
688 *-*-solaris*) # SUN SOLARIS
689 ARCH_CFLAGS="-DSVR4 -DSYSV -Dsolaris -I/usr/local/include/"
690 ARCH_LDFLAGS="-L/usr/local/lib/"
693 ;; # end of not a gcc compiler
697 # enable the code coverage
698 if test "$enable_code_coverage" = yes; then
699 AC_PATH_PROG(LCOV, lcov)
700 if test -z "$LCOV" ; then
701 AC_MSG_ERROR([Cannot find lcov. Please install it (package lcov under Debian) or remove the option --enable-code-coverage])
703 AC_PATH_PROG(GENHTML, genhtml)
704 if test -z "$GENHTML" ; then
705 AC_MSG_ERROR([Cannot find genhtml. Please install it (package lcov under Debian) or remove the option --enable-code-coverage])
707 CODECOVERAGE_LDFLAGS="-coverage -lgcov"
709 AM_CONDITIONAL(CODE_COVERAGE, test "$enable_code_coverage" = yes)
711 # flag for possible compilations in configure
716 if test $IS_64_BITS_CPU = true -o "$MACOSX" = "1"; then
717 if test $f90compatible = false; then
718 AC_MSG_ERROR([64 bits support needs a fortran 90 compiler (try --with-gfortran).])
722 AM_CONDITIONAL(IS_64_BITS_CPU, test $IS_64_BITS_CPU = true)
726 ## By default, for x86 CPU, enable the SSE.
727 ## Note that it is already the case with 64 bits CPU
728 ## (these extensions are enabled by default by gcc)
732 i*86-linux-gnu|i*86-*-linux-gnu)
739 #######################
740 ## test for underscores (name mangling issues between C and fortran)
741 #######################
742 AC_CHECK_UNDERSCORE_FORTRAN()
750 # The Java detection is done after in this file.
757 AC_ARG_WITH(external-scirenderer,
758 AC_HELP_STRING([--with-external-scirenderer],[Disable the usage of the internal copy of scirenderer. Intended for packaging of Scilab]))
760 AM_CONDITIONAL(EXTERNAL_SCIRENDERER, test "$with_external_scirenderer" = yes)
768 AC_HELP_STRING([--without-xcos],[Disable Xcos]))
770 AC_ARG_WITH(modelica,
771 AC_HELP_STRING([--without-modelica],[Disable the OCaml module (modelica)]))
774 if test "$with_gui" = no; then
775 AC_MSG_WARN([GUI is disabled. Disabling then xcos])
781 if test "$with_xcos" != no -a "$with_gui" != no; then
782 AC_DEFINE([WITH_XCOS], [], [With XCOS])
786 AC_CHECK_LIB([rt], [clock_gettime],
788 AC_DEFINE([HAVE_CLOCK_GETTIME], [1],[Whether clock_gettime is available]) ],
789 [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])]
796 ## ocaml which only called when using Xcos
799 if test "$with_modelica" != no; then
800 AC_CHECK_PROG_OCAML()
806 AC_SUBST(XCOS_ENABLE)
808 AM_CONDITIONAL(OCAML, test "$with_modelica" != no -a "$OCAMLC" != no -a "$OCAMLOPT" != no)
809 AM_CONDITIONAL(XCOS, test "$XCOS_ENABLE" != no)
811 ###########################
812 ## test for JAVA compiler
813 ###########################
814 if test "$with_javasci" != no -o "$with_gui" != no -o "$enable_build_help" != no; then
816 # See if --with-jdk command line argument is given
817 # Try to detect the installed JVM, this could be controlled
818 # by the above --with options
820 if test "$with_jdk" != no; then
823 case "$ac_java_jvm_version" in
827 AC_MSG_ERROR([Wrong version of Java. Expected at least 1.6. Found $ac_java_jvm_version])
831 if test "$ac_java_jvm_name" = "jdk"; then
832 JAVA_HOME=$ac_java_jvm_dir
833 JAVA_VERSION=$ac_java_jvm_version
837 JAVA_JNI_INCLUDE=$ac_java_jvm_jni_include_flags
841 # Mac OS X does not link against the lib but uses -framework
842 JAVA_JNI_LIBS="-framework JavaVM"
846 JAVA_JNI_LIBS=$ac_java_jvm_jni_lib_flags
847 JAVA_JNI_LIBS_PRELOAD=$ac_java_jvm_ld_preload
852 JAVA_CLASSPATH=$ac_java_classpath
863 if test "$with_gui" != no; then
865 if test $XCOS_ENABLE = yes; then
867 AC_JAVA_CHECK_PACKAGE([jgraphx],[com.mxgraph.model.mxCell],[Diagram design])
868 JGRAPHX=$PACKAGE_JAR_FILE
871 AC_JAVA_CHECK_VERSION_PACKAGE([jgraphx],[import com.mxgraph.view.mxGraph;],$JGRAPHX,[2.0.0.1],[mxGraph.VERSION],[],[])
875 if test "$with_external_scirenderer" = yes; then
877 AC_JAVA_CHECK_PACKAGE([scirenderer],[org.scilab.forge.scirenderer.PackageInfo],[Scilab Renderer])
878 SCIRENDERER=$PACKAGE_JAR_FILE
879 SCIRENDERER_CP=$PACKAGE_JAR_FILE
881 AC_JAVA_CHECK_VERSION_PACKAGE([scirenderer],[import org.scilab.forge.scirenderer.PackageInfo;],$SCIRENDERER,[1.1.0],[PackageInfo.VERSION])
883 echo "Use external version of scirenderer"
884 # Use the scirenderer in Scilab sources
885 SCIRENDERER="\${modules.dir}/scirenderer/\${build.jar.dir}/scirenderer.jar"
886 SCIRENDERER_CP="\$SCILAB/modules/scirenderer/jar/scirenderer.jar"
888 AC_SUBST(SCIRENDERER)
889 AC_SUBST(SCIRENDERER_CP)
892 AC_JAVA_CHECK_PACKAGE([flexdock],[org.flexdock.docking.DockingManager],[Scilab Gui])
893 FLEXDOCK=$PACKAGE_JAR_FILE
896 AC_JAVA_CHECK_VERSION_PACKAGE([flexdock],[import org.flexdock.util.Utilities;],$FLEXDOCK,[1.2.4],[Utilities.VERSION])
898 # Swing look&feel implementations
899 AC_JAVA_CHECK_PACKAGE([looks],[com.jgoodies.looks.common.MenuItemRenderer],[Scilab Gui - Look and feel],"yes")
900 LOOKS=$PACKAGE_JAR_FILE
902 # Named differently under ArchLinux or Fedora
903 if test -z "$LOOKS"; then
904 AC_JAVA_CHECK_PACKAGE([jgoodies-looks],[com.jgoodies.looks.common.MenuItemRenderer],[Scilab Gui - Look and feel])
905 LOOKS=$PACKAGE_JAR_FILE
910 AC_JAVA_CHECK_PACKAGE([skinlf],[com.l2fprod.util.AccessUtils],[Scilab Gui - Skin Look and Feel])
911 SKINLF=$PACKAGE_JAR_FILE
915 AC_JAVA_CHECK_PACKAGE([jogl2],[javax.media.opengl.glu.GLUnurbs],[Scilab 3D rendering - Version 2.0])
916 JOGL2=$PACKAGE_JAR_FILE
919 if test "$MACOSX" = 1; then
920 echo "Check of the presence of libjogl.jnilib and libjogl_awt.jnilib disabled under Mac OS X"
922 LDFLAGS_save=$LDFLAGS
923 # Provide known paths where distribs/OS can store JNI libs
924 LDFLAGS="$LDFLAGS -L/usr/lib/jni -L/usr/lib64/jni" # Debian
925 LDFLAGS="$LDFLAGS -L/usr/lib/java -L/usr/lib64/java" # jpackage.org
926 LDFLAGS="$LDFLAGS -L/usr/lib/jogl2 -L/usr/lib64/jogl2" # RedHat
927 LDFLAGS="$LDFLAGS -L$SCI_SRCDIR/thirdparty -L$SCI_SRCDIR/lib/thirdparty -L$SCI_SRCDIR/bin" # Scilab thirdparties
928 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])])
929 if test -z "$JOGL2_LIBS"; then # The previous test failed add more options to the LDFLAGS
930 # the space after "jogl" in the following line is on
931 # purpose to disable the cache
932 AC_CHECK_LIB([jogl_desktop ], [glTexParameterf],
933 [JOGL2_LIBS="-ljogl_desktop -lGL"],
934 [AC_MSG_ERROR(["libjogl: Library
935 missing (Cannot find symbol glTexParameterf). Check if libjogl - C/Java (JNI)
936 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."])],
940 LDFLAGS=$LDFLAGS_save
943 # JoGL Native <=> Java connector
944 AC_JAVA_CHECK_PACKAGE([gluegen2-rt],[jogamp.common.os.MachineDescriptionRuntime],[Scilab 3D rendering])
945 GLUEGEN2_RT=$PACKAGE_JAR_FILE
946 AC_SUBST(GLUEGEN2_RT)
948 if test "$MACOSX" = 1; then
949 echo "Check of the presence of libgluegen-rt.jnilib disabled under Mac OS X"
951 LDFLAGS_save=$LDFLAGS
952 # Provide known paths where distribs/OS can store JNI libs
953 LDFLAGS="$LDFLAGS -L/usr/lib/jni -L/usr/lib64/jni" # Debian
954 LDFLAGS="$LDFLAGS -L/usr/lib/java -L/usr/lib64/java" # jpackage.org
955 LDFLAGS="$LDFLAGS -L/usr/lib/gluegen2 -L/usr/lib64/gluegen2" # RedHat
956 LDFLAGS="$LDFLAGS -L$SCI_SRCDIR/thirdparty -L$SCI_SRCDIR/lib/thirdparty -L$SCI_SRCDIR/bin" # Scilab thirdparties
957 symbol="Java_jogamp_common_jvm_JVMUtil_initialize"
958 AC_CHECK_LIB([gluegen2-rt], [$symbol], [GLUEGEN2_RT_LIBS="-lgluegen2-rt"],
959 [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.])],
961 LDFLAGS=$LDFLAGS_save
965 AC_JAVA_CHECK_PACKAGE([jhall],[javax.help.JHelp],[Scilab Help Browser],"yes")
966 # Named differently under Mandriva or Fedora
967 if test -z "$PACKAGE_JAR_FILE"; then
968 AC_JAVA_CHECK_PACKAGE([javahelp2],[javax.help.JHelp],[Scilab Help Browser])
970 JHALL=$PACKAGE_JAR_FILE
974 AC_JAVA_CHECK_PACKAGE([jrosetta-API],[com.artenum.rosetta.interfaces.core.ConsoleConfiguration],[JRosetta : Console API Artenum / Scilab],"yes")
975 if test -z "$PACKAGE_JAR_FILE"; then
976 AC_JAVA_CHECK_PACKAGE([jrosetta-api],[com.artenum.rosetta.interfaces.core.ConsoleConfiguration],[JRosetta : Console API Artenum / Scilab])
978 JROSETTA_API=$PACKAGE_JAR_FILE
979 AC_SUBST(JROSETTA_API)
982 AC_JAVA_CHECK_PACKAGE([jrosetta-engine],[com.artenum.rosetta.core.action.AbstractConsoleAction],[JRosetta : Console Core Artenum / Scilab])
983 JROSETTA_ENGINE=$PACKAGE_JAR_FILE
984 AC_SUBST(JROSETTA_ENGINE)
985 AC_JAVA_CHECK_VERSION_PACKAGE([jrosetta-engine],[import com.artenum.rosetta.util.ConfigurationBuilder;],$JROSETTA_ENGINE,[1.0.4],[ConfigurationBuilder.getVersion()])
988 # MathML rendering solution
989 # Used in both graphic & help
990 AC_JAVA_CHECK_PACKAGE([jeuclid-core],[net.sourceforge.jeuclid.LayoutContext],[MathML rendering solution (at least version 3.1.X)])
991 JEUCLID_CORE=$PACKAGE_JAR_FILE
992 AC_SUBST(JEUCLID_CORE)
995 ################ Mandatory for graphic_export features #####
996 # XML to PDF/other Translator
997 AC_JAVA_CHECK_PACKAGE([fop],[org.apache.fop.pdf.PDFInfo],[XML to PDF Translator (fop)])
998 FOP=$PACKAGE_JAR_FILE
1001 AC_ARG_WITH(emf, [AS_HELP_STRING([--without-emf],
1002 [disable support for EMF (Windows Metafile) export])])
1003 if test "x$with_emf" != xno; then
1004 # Freehep Graphics2D
1005 AC_JAVA_CHECK_PACKAGE([freehep-graphics2d],[org.freehep.graphics2d.VectorGraphics],[Freehep Graphics2D])
1006 FREEHEP_GRAPHICS2D=$PACKAGE_JAR_FILE
1007 AC_SUBST(FREEHEP_GRAPHICS2D)
1009 # Freehep GraphicsIO EMF
1010 AC_JAVA_CHECK_PACKAGE([freehep-graphicsio-emf],[org.freehep.graphicsio.emf.EMFGraphics2D],[Freehep GraphicsIO EMF])
1011 FREEHEP_GRAPHICSIO_EMF=$PACKAGE_JAR_FILE
1012 AC_SUBST(FREEHEP_GRAPHICSIO_EMF)
1014 # Freehep GraphicsIO
1015 AC_JAVA_CHECK_PACKAGE([freehep-graphicsio],[org.freehep.graphicsio.VectorGraphicsIO],[Freehep GraphicsIO])
1016 FREEHEP_GRAPHICSIO=$PACKAGE_JAR_FILE
1017 AC_SUBST(FREEHEP_GRAPHICSIO)
1020 AC_JAVA_CHECK_PACKAGE([freehep-io],[org.freehep.util.io.XMLSequence],[Freehep IO])
1021 FREEHEP_IO=$PACKAGE_JAR_FILE
1022 AC_SUBST(FREEHEP_IO)
1025 AC_JAVA_CHECK_PACKAGE([freehep-util],[org.freehep.util.StringUtilities],[Freehep Util])
1026 FREEHEP_UTIL=$PACKAGE_JAR_FILE
1027 AC_SUBST(FREEHEP_UTIL)
1030 # xml.apache.org SVG Library (under mandriva for example)
1031 AC_JAVA_CHECK_PACKAGE([batik-all],[org.apache.batik.parser.Parser],[Apache SVG Library],"yes")
1032 BATIK=$PACKAGE_JAR_FILE
1034 if test -z "$BATIK"; then
1035 # Other other distribs
1036 AC_JAVA_CHECK_PACKAGE([batik],[org.apache.batik.parser.Parser],[Apache SVG Library])
1037 BATIK=$PACKAGE_JAR_FILE
1040 AC_JAVA_CHECK_VERSION_PACKAGE([batik],[import org.apache.batik.Version;],$BATIK,[1.7],[Version.getVersion()])
1042 # Commons I/O library
1043 AC_JAVA_CHECK_PACKAGE([commons-io],[org.apache.commons.io.output.CountingOutputStream],[Commons I/O library])
1044 COMMONS_IO=$PACKAGE_JAR_FILE
1045 AC_SUBST(COMMONS_IO)
1047 # XML graphics common
1048 AC_JAVA_CHECK_PACKAGE([xmlgraphics-commons],[org.apache.xmlgraphics.util.Service],[Commons graphics library])
1049 XMLGRAPHICS_COMMONS=$PACKAGE_JAR_FILE
1050 AC_SUBST(XMLGRAPHICS_COMMONS)
1052 # Avalon Framework (PDF)
1053 AC_JAVA_CHECK_PACKAGE([avalon-framework],[org.apache.avalon.framework.configuration.ConfigurationException],[Common framework for Java server application])
1054 AVALON_FRAMEWORK=$PACKAGE_JAR_FILE
1055 AC_SUBST(AVALON_FRAMEWORK)
1057 # XML API EXT (conversion of a SVG => PNG)
1058 AC_JAVA_CHECK_PACKAGE([xml-apis-ext],[org.w3c.dom.svg.SVGDocument],[XML Commons external code],"yes")
1059 XML_APIS_EXT=$PACKAGE_JAR_FILE
1061 if test -z "$XML_APIS_EXT"; then
1062 # Other other distribs (Ex: Fedora/Redhat)
1063 AC_JAVA_CHECK_PACKAGE([xml-commons-apis-ext],[org.w3c.dom.svg.SVGDocument],[XML Commons external code])
1064 XML_APIS_EXT=$PACKAGE_JAR_FILE
1066 AC_SUBST(XML_APIS_EXT)
1068 ################ END Mandatory for graphic_export features #####
1071 # Logging (flexdock dep)
1072 AC_JAVA_CHECK_PACKAGE([commons-logging],[org.apache.commons.logging.LogFactory],[Apache logging])
1073 COMMONS_LOGGING=$PACKAGE_JAR_FILE
1074 AC_SUBST(COMMONS_LOGGING)
1077 AC_JAVA_CHECK_PACKAGE([jlatexmath],[org.scilab.forge.jlatexmath.TeXFormula],[LaTex Rendering])
1078 JLATEXMATH=$PACKAGE_JAR_FILE
1079 AC_SUBST(JLATEXMATH)
1081 AC_JAVA_CHECK_VERSION_PACKAGE([jlatexmath],[import org.scilab.forge.jlatexmath.TeXFormula;],$JLATEXMATH,[1.0.3],[TeXFormula.VERSION])
1084 AC_JAVA_CHECK_PACKAGE([jlatexmath-fop],[org.scilab.forge.jlatexmath.fop.JLaTeXMathObj],[LaTex Rendering - FOP plugin])
1085 JLATEXMATH_FOP=$PACKAGE_JAR_FILE
1086 AC_SUBST(JLATEXMATH_FOP)
1088 AC_DEFINE([WITH_GUI],[],[With the JAVA stuff (GUI, Console, JOGL...)])
1092 # Checkstyle (code checking)
1093 AC_JAVA_CHECK_PACKAGE([checkstyle],[com.puppycrawl.tools.checkstyle.CheckStyleTask],[Checkstyle - code checking],"yes")
1094 CHECKSTYLE=$PACKAGE_JAR_FILE
1095 AC_SUBST(CHECKSTYLE)
1097 # Commons beanutils (dependency of checkstyle)
1098 AC_JAVA_CHECK_PACKAGE([commons-beanutils],[org.apache.commons.beanutils.Converter],[Bean utility],"yes")
1099 COMMONS_BEANUTILS=$PACKAGE_JAR_FILE
1100 AC_SUBST(COMMONS_BEANUTILS)
1102 # antlr (dependency of checkstyle)
1103 AC_JAVA_CHECK_PACKAGE([antlr],[antlr.TokenStreamException],[language tool for constructing recognizers],"yes")
1104 ANTLR=$PACKAGE_JAR_FILE
1107 # Junit 4 (java unitary test)
1108 AC_JAVA_CHECK_PACKAGE([junit4],[org.junit.Assert],[Junit4 - Unit tests],"yes")
1109 if test -z "$PACKAGE_JAR_FILE"; then
1110 AC_JAVA_CHECK_PACKAGE([junit],[org.junit.Assert],[Junit4 -
1113 JUNIT4=$PACKAGE_JAR_FILE
1116 # Cobertura (java code coverage)
1117 AC_JAVA_CHECK_PACKAGE([cobertura],[net.sourceforge.cobertura.merge.Main],[cobertura - Java code coverage],"yes")
1118 COBERTURA=$PACKAGE_JAR_FILE
1121 # ASM (a dependency of Cobertura)
1122 AC_JAVA_CHECK_PACKAGE([asm3],[org.objectweb.asm.Type],[Java bytecode manipulation (dep of cobertura)],"yes")
1123 if test -z "$ASM3"; then
1124 AC_JAVA_CHECK_PACKAGE([asm],[org.objectweb.asm.Type],[Java bytecode manipulation (dep of cobertura)],"yes")
1126 ASM3=$PACKAGE_JAR_FILE
1129 AC_JAVA_CHECK_PACKAGE([ecj],[org.eclipse.jdt.core.compiler.batch.BatchCompiler],[Eclipse Java compiler],"yes")
1130 ECJ=$PACKAGE_JAR_FILE
1131 if test -z "$ECJ"; then
1132 ECJ='$SCILAB/thirdparty/ecj.jar'
1137 AC_MSG_WARN([Sun javac not found: I will not build the java interface])
1138 if test "$ac_java_jvm_name" != ""; then
1139 AC_MSG_WARN([We do not support $ac_java_jvm_name yet])
1142 AC_SUBST(JAVA_JNI_INCLUDE)
1143 AC_SUBST(JAVA_JNI_LIBS)
1147 if test "$enable_debug_java" = yes; then
1152 AC_SUBST(JAVAC_DEBUG)
1154 if test "$with_build_swig" != no -a "$with_build_swig" != ""; then
1157 SWIG_ENABLE_SCILAB()
1160 AC_SUBST(SWIG_SCILAB)
1164 # Giws is the equivalent of Swig developed by the Scilab team
1165 # in order to provide a wrapper to Java from C/C++
1166 if test "$enable_build_giws" != no -a "$enable_build_giws" != ""; then
1170 fi # "$with_jdk" != no;
1174 if test -z "$JAVAC"; then
1178 AC_SUBST(JAVA_ENABLE)
1180 # Xcos is not checked here because gui=no disables it
1181 AM_CONDITIONAL(NEED_JAVA, [test "$with_jdk" != no -a \( "$with_javasci" != no -o "$with_gui" != no -o "$enable_build_help" != no \)])
1182 AM_CONDITIONAL(GUI, [test "$with_jdk" != no -a "$with_gui" != no])
1183 AM_CONDITIONAL(JAVASCI, [test "$with_jdk" != no -a "$with_javasci" != no])
1184 AM_CONDITIONAL(SWIG, [test "$with_jdk" != no -a "$with_build_swig" != no -a "$with_build_swig" != ""])
1185 AM_CONDITIONAL(GIWS, [test "$with_jdk" != no -a "$enable_build_giws" != no -a "$enable_build_giws" != ""])
1187 ##############################################################
1189 ##############################################################
1193 if test "$JAVA_ENABLE" != no; then
1197 if test "$with_gui" != no; then
1201 AC_SUBST(GUI_ENABLE)
1203 ##############################################################
1204 ## test for functions in standard C library and C math library
1205 ##############################################################
1207 # Provided by unistd.h
1208 AC_CHECK_FUNCS([sleep] [usleep] [dup2] [getcwd] [getpagesize] [getpass])
1209 AC_CHECK_FUNCS([rmdir])
1211 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])])
1213 # Provided by <regex.h>
1214 AC_CHECK_FUNCS([regcomp])
1216 # Provided by stdlib.h
1217 AC_CHECK_FUNCS([atexit] [putenv] [setenv])
1219 # Provided by String.h
1220 AC_CHECK_FUNCS([bzero] [memmove] [memset] [strcasecmp] [strerror] [strchr] [strdup] [strpbrk] [strrchr] [strstr] [strtol])
1222 # Provided by select.h
1223 AC_CHECK_FUNCS([select])
1226 AC_CHECK_FUNCS([endpwent])
1228 # Provided by netdb.h
1229 AC_CHECK_FUNCS([gethostbyaddr] [gethostbyname] [gethostname])
1231 # Provided by time.h
1232 AC_CHECK_FUNCS([gettimeofday])
1234 # Provided by ctype.h
1235 AC_CHECK_FUNCS([isascii])
1237 # Provided by wctype.h
1238 AC_CHECK_FUNCS([iswprint])
1240 # Provided by types.h
1241 AC_CHECK_FUNCS([mkdir])
1243 # Provided by mman.h
1244 AC_CHECK_FUNCS([munmap])
1246 # Provided by signal.h
1247 AC_CHECK_FUNCS([strsignal])
1250 # Check of the libm (lib math). Macro provided by libtool.
1251 save_LDFLAGS="$LDFLAGS"
1254 # Provided by math.h
1256 LDFLAGS="$LDFLAGS $LIBM"
1257 AC_CHECK_FUNCS([pow] [sqrt] [finite] [floor] [exp10] [erf] [erfc] [isnan])
1259 ### If isinf exists or not (used to not be the case under Solaris)
1261 AC_DEFINE([HAVE_ISINF],[1],[Have isinf function or macro equivalent])
1262 AC_CHECK_FUNC([isinf],,[
1263 AC_DEFINE([isinf(x)],[(!finite(x) && x==x)],[Provide a macro to do isinf])
1266 LDFLAGS="$save_LDFLAGS"
1268 # Provided by regex.h
1269 AC_CHECK_FUNCS([re_comp])
1271 # Provided by socket.h
1272 AC_CHECK_FUNCS([socket])
1274 # Provided by utsname.h
1275 AC_CHECK_FUNCS([uname])
1277 # Provided by wtloop.c
1278 AC_CHECK_FUNCS([setlocale])
1280 # Function memcmp used in modules/fileio/src/c/xls.c
1283 # function stat used in modules/core/src/c/link_std.c
1286 # function strtod used in modules/core/src/c/getval.c
1289 ########################
1290 ## test for header files
1291 ########################
1293 AC_CHECK_HEADERS([limits.h values.h])
1295 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])
1297 # check header dirent
1300 # static struct timeval defined or not | used in modules/core/src/c/timer.c
1303 # check if the specific header is available or not | used in modules/core/src/c/link_SYSV.c
1307 #######################
1308 ## Test for structures ##
1309 #######################
1310 AC_CHECK_MEMBERS([struct stat.st_blksize])
1311 AC_CHECK_MEMBERS([struct stat.st_rdev])
1314 #######################
1316 #######################
1318 # gettext. See http://www.gnu.org/software/hello/manual/gettext/AM_005fGNU_005fGETTEXT.html
1319 AM_GNU_GETTEXT([external])
1320 AM_GNU_GETTEXT_VERSION([0.16])
1322 # function closedir used in modules/metanet/src/c/files.c
1323 AC_FUNC_CLOSEDIR_VOID
1325 # Signals used in modules/core/src/c/realmain.c
1328 # struct tm used in modules/core/src/c/history.c
1331 # st_blocks in the struct in modules/io/sci_gateway/c/intfilestat.c
1339 # some systems may have a system curses implementation as well as ncurses
1340 # installed. We need to be consistent in making sure we get the correct
1341 # library to go with the correct header and also provide a way for the user
1342 # to have some control over which is picked when both are available.
1344 # For now, just check for -lcurses and then -lncurses. The user control
1345 # may need to be revisited
1349 # Various observations:
1352 # - installs ncurses.h and possibly curses.h as a link to ncurses.h
1353 # - installs -lncurses.
1354 # - need to include term.h for tgetent() but tgetent() is in -lncurses.a
1356 # curses as found in NetBSD-4 and NetBSD-5
1357 # - installs curses.h
1358 # - need to include termcap.h and link with -ltermcap for tgetent()
1361 AC_CHECK_LIB([curses],[main])
1362 if test $ac_cv_lib_curses_main = no ; then
1363 AC_CHECK_LIB([ncurses],[main])
1366 # make sure we have what we need for tgetent
1367 AC_SEARCH_LIBS([tgetent],[termcap])
1369 AC_CHECK_HEADERS([ncurses.h curses.h])
1371 if test "x$ac_cv_lib_curses_main" = "xyes" -o "x$ac_cv_lib_ncurses_main" = "xyes" ; then
1372 AC_DEFINE([HAVE_TERMCAP],[],[Have Term Cap])
1374 AC_MSG_ERROR([No termcap library detected. Please install ncurses dev library (or termcap library)])
1381 AC_CHECK_LIB(dl, dlopen)
1383 AC_SEARCH_LIBS([pthread_join],[pthread])
1390 AC_HELP_STRING([--without-fftw],[Disable the interface to the FFTW 3 library]))
1393 if test "$with_fftw" != no; then
1398 AC_SUBST(FFTW_ENABLE)
1399 AM_CONDITIONAL(FFTW, test "$with_fftw" != no)
1406 # Disable by default the build of MPI:
1407 # * It is hard to package
1408 # * People are administrating cluster know about rebuilding packages
1409 # * They use their own MPI library
1411 AC_HELP_STRING([--with-mpi],[compile with MPI library]))
1414 if test "$with_mpi" == yes; then
1416 # We will have to detect other implementation of OpenMPI
1419 AC_SUBST(MPI_ENABLE)
1421 AM_CONDITIONAL(MPI, test "$with_mpi" == yes)
1428 AC_HELP_STRING([--without-openmp],[Disable the usage of OpenMP (parallelization of some algoritms)]))
1431 if test "$with_openmp" != no; then
1433 OPENMP_CFLAGS="-fopenmp"
1434 OPENMP_CXXFLAGS="-fopenmp"
1435 OPENMP_LIBS="-lgomp -lstdc++" # Force -lstdc++ because some compilers do not add it automatically.
1437 AC_CHECK_HEADERS([omp.h], [],
1438 [AC_MSG_ERROR([Could not find omp.h])])
1442 AC_SUBST(OPENMP_ENABLE)
1443 AC_SUBST(OPENMP_CFLAGS)
1444 AC_SUBST(OPENMP_CXXFLAGS)
1445 AC_SUBST(OPENMP_LIBS)
1447 AM_CONDITIONAL(OPENMP, test "$with_openmp" != no)
1450 #######################
1452 #######################
1456 #######################
1458 #######################
1460 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"
1461 ALL_LINGUAS_DOC="en_US fr_FR pt_BR ja_JP ru_RU"
1463 AC_ARG_ENABLE(build-localization,
1464 AC_HELP_STRING([--disable-build-localization],[Disable the localization build])
1466 BUILD_LOCALIZATION_ENABLE=no
1468 if test "$enable_build_localization" != no; then
1470 AC_SUBST(ALL_LINGUAS)
1471 AC_SUBST(ALL_LINGUAS_DOC)
1472 AC_CHECK_FUNCS([bind_textdomain_codeset])
1474 AC_PATH_PROG(MSGCAT, msgcat, no)
1475 # AC_PATH_PROG(MSGFMT, msgfmt, no)
1476 # AC_PATH_PROG(XGETTEXT, xgettext, no)
1478 if test x$MSGFMT = xno; then
1479 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 ])
1481 if test x$MSGCAT = xno; then
1482 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 ])
1484 BUILD_LOCALIZATION_ENABLE=yes
1486 AM_CONDITIONAL(GENERATE_LOCALIZATION_FILES, test "$BUILD_LOCALIZATION_ENABLE" = yes)
1488 #######################
1489 ## Test for blas/Atlas and lapack
1490 #######################
1491 AC_MSG_CHECKING([if BLAS, ATLAS or MKL is available])
1494 [AC_MSG_RESULT([$BLAS_TYPE found])]
1496 AC_MSG_ERROR([Impossible to find a BLAS compatible library (see BLAS or ATLAS).])
1499 AC_MSG_CHECKING([if LAPACK is available])
1502 [AC_MSG_RESULT([$LAPACK_TYPE found])],
1503 AC_MSG_ERROR([Impossible to find the LAPACK library.])
1507 AC_ARG_WITH(arpack-ng,
1508 AC_HELP_STRING([--without-arpack-ng],[Disable the interface to ARPACK-NG]))
1511 if test "$with_arpack_ng" != no; then
1513 AC_MSG_CHECKING([if ARPACK-NG is available])
1516 [AC_MSG_RESULT([ARPACK-NG library found])],
1517 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/ ).])
1521 [AC_MSG_RESULT([Working ARPACK-NG library found (probably ARPACK-NG or a patched version of ARPACK)])],
1522 [AC_MSG_ERROR([ARPACK library found, but seems not to work properly. Please make sure you are using arpack-ng])
1525 AC_MSG_CHECKING([Skip ARPACK-NG detection])
1528 AM_CONDITIONAL(ARPACK_NG, test "$ARPACK_NG" != "no")
1535 AC_ARG_WITH(umfpack,
1536 AC_HELP_STRING([--without-umfpack],[Disable the interface to the UMFPACK library]))
1539 if test "$with_umfpack" != no; then
1540 AC_UMFPACK([$BLAS_LIBS])
1544 AC_SUBST(UMFPACK_ENABLE)
1545 AM_CONDITIONAL(UMFPACK, test "$with_umfpack" != no)
1547 #######################
1549 #######################
1553 #######################
1555 #######################
1564 if test "$with_tk" != no; then
1565 if test "$MACOSX" = "1"; then
1566 AC_MSG_ERROR([Due to technical constraints, Tcl/Tk must be disabled under Mac OS X (--without-tk)])
1569 # check user arguments
1570 USER_TCL_LIB_PATH=""
1571 USER_TCL_INC_PATH=""
1572 AC_ARG_WITH(tcl-library,
1573 AC_HELP_STRING([--with-tcl-library=DIR],[Set the path to the TCL library]),
1574 [ USER_TCL_LIB_PATH=$withval
1576 AC_ARG_WITH(tcl-include,
1577 AC_HELP_STRING([--with-tcl-include=DIR],[Set the path to the TCL headers]),
1578 [ USER_TCL_INC_PATH=$withval
1581 USER_TK_LIB_PATH=$USER_TCL_LIB_PATH
1582 USER_TK_INC_PATH=$USER_TCL_INC_PATH
1584 AC_ARG_WITH(tk-library,
1585 AC_HELP_STRING([--with-tk-library=DIR],[Set the path to the TK library]),
1586 [ USER_TK_LIB_PATH=$withval
1589 AC_ARG_WITH(tk-include,
1590 AC_HELP_STRING([--with-tk-include=DIR],[Set the path to the TK headers]),
1591 [ USER_TK_INC_PATH=$withval
1594 ###########################
1595 ########## X11 checks
1596 ###########################
1597 ## This check is mandatory since tk needs Xlib headers and libs
1601 saved_cflags="$CFLAGS"
1602 saved_ldflags="$LDFLAGS"
1603 saved_cppflags="$CXXFLAGS"
1605 AC_CHECK_LIB([dl], [main], [TCLTK_LIBS=" -ldl"])
1609 if test "$WITH_TKSCI" = yes; then
1610 AC_DEFINE([WITH_TK], [], [With TK])
1612 AC_MSG_ERROR([TCL/TK not found. Use --without-tk or specify the librairies and include paths manually])
1615 AC_SUBST(TCLTK_LIBS)
1616 AC_SUBST(TCL_INC_PATH)
1617 AC_SUBST(TK_INC_PATH)
1620 AC_SUBST(WITH_TKSCI)
1621 AM_CONDITIONAL(TCLTK, test "$WITH_TKSCI" = yes)
1624 ## MATIO LIBRARY (MAT File I/O Library)
1629 AC_HELP_STRING([--without-matio],[Disable the interface to Matio (MAT File I/O library)]))
1631 AC_ARG_WITH(matio_include,
1632 AC_HELP_STRING([--with-matio-include=DIR],[Set the path to the MATIO headers]),
1633 [with_matio_include="-I$withval"], [])
1635 AC_ARG_WITH(matio_library,
1636 AC_HELP_STRING([--with-matio-library=DIR],[Set the path to the MATIO libraries]),
1637 [with_matio_library="-L$withval"], [])
1641 if test "$with_matio" != no; then
1642 if test -n "$with_matio_include" -o -n "$with_matio_library" ; then
1643 MATIO_CFLAGS="$with_matio_include"
1644 MATIO_LIBS="$with_matio_library -lm -lz -lmatio -lhdf5"
1646 if $WITH_DEVTOOLS; then # Scilab thirdparties
1647 MATIO_CFLAGS="-I$DEVTOOLS_INCDIR"
1648 MATIO_LIBS="-L$DEVTOOLS_LIBDIR -lm -lz -lmatio -lhdf5"
1650 PKG_CHECK_MODULES(MATIO, [matio >= 1.5.0])
1654 save_CFLAGS="$CFLAGS"
1657 CFLAGS="$CFLAGS $MATIO_CFLAGS"
1658 LIBS="$LIBS $MATIO_LIBS"
1660 AC_CHECK_HEADERS([matio.h], [],
1661 [AC_MSG_ERROR([Invalid MATIO_CFLAGS returned by pkg-config. Try to define MATIO_CFLAGS.])])
1662 AC_CHECK_LIB([matio], [Mat_Open], [],
1663 [AC_MSG_ERROR([Invalid MATIO_LIBS returned by pkg-config. Try to define MATIO_LIBS.])])
1666 CFLAGS="$save_CFLAGS"
1668 AC_DEFINE([WITH_MATIO], [], [With the MATIO library])
1671 AC_SUBST(MATIO_LIBS)
1672 AC_SUBST(MATIO_CFLAGS)
1676 AC_SUBST(MATIO_ENABLE)
1677 AM_CONDITIONAL(MATIO, test "$with_matio" != no)
1679 #############################
1680 ## Documentation management #
1681 #############################
1685 AC_ARG_ENABLE(build-help,
1686 AC_HELP_STRING([--disable-build-help],[Disable the help build])
1689 if test "$enable_build_help" != no; then
1695 if test "$JAVA_ENABLE" = no; then
1699 AC_SUBST(HELP_ENABLE)
1701 AM_CONDITIONAL(BUILD_HELP, test $HELP_ENABLE = yes)
1703 ## Install XML help files ###
1705 AC_ARG_WITH(install-help-xml,
1706 AC_HELP_STRING([--with-install-help-xml],[make install will install XML files])
1708 HELP_INSTALL_ENABLE=no
1709 if test "$with_install_help_xml" != no -a "$with_install_help_xml" != ""; then
1710 HELP_INSTALL_ENABLE=yes
1712 AM_CONDITIONAL(INSTALL_HELP_XML, test "$HELP_INSTALL_ENABLE" != "")
1714 ## Doxygen help generation
1715 AC_ARG_ENABLE(build-doxygen,
1716 AC_HELP_STRING([--enable-build-doxygen],[Generate doxygen C/C++ documentation]))
1719 if test "$enable_build_doxygen" != no -a "$enable_build_doxygen" != ""; then
1724 AM_CONDITIONAL(DOXYGEN, test $DOXYGEN_ENABLE = yes)
1726 ##############################################################
1728 ##############################################################
1732 if test "$JAVA_ENABLE" = no -o "$JAVASCI" = no; then
1736 AC_SUBST(JAVASCI_ENABLE)
1739 ##############################################################
1740 ## Enable test at compilation time
1741 ##############################################################
1743 COMPILATION_TESTS=no
1744 if test "$enable_compilation_tests" != no -a "$enable_compilation_tests" != ""; then
1745 COMPILATION_TESTS=yes
1748 if test COMPILATION_TESTS=yes -a "$JUNIT4" == ""; then
1749 AC_MSG_WARN([--enable-compilation-tests deactivated: Could not find Junit4"])
1750 COMPILATION_TESTS=no
1753 AM_CONDITIONAL(COMPILATION_TESTS, test "$COMPILATION_TESTS" != "no")
1755 ##############################################################
1756 ## Enable the global force link
1757 ##############################################################
1759 AC_ARG_ENABLE(force-full-link,
1760 AC_HELP_STRING([--enable-force-full-link],[Forces the explicit link between libscilab and some "on-the-fly" loaded libraries. NOT USE IN PRODUCTION.]))
1762 FORCE_FULL_LINK="no"
1763 if test "$enable_force_full_link" == "yes"; then
1764 FORCE_FULL_LINK="yes"
1767 AM_CONDITIONAL(FORCE_LINK, test "$FORCE_FULL_LINK" == "yes")
1769 ##############################################################
1770 ## demo_tools module
1771 ##############################################################
1773 DEMOTOOLS_ENABLE=yes
1775 if test "$GUI_ENABLE" = no; then
1779 AC_SUBST(DEMOTOOLS_ENABLE)
1781 ##############################################################
1782 ## graphics/renderer/graphic_export module
1783 ##############################################################
1787 if test "$GUI_ENABLE" = no; then
1791 AC_SUBST(GRAPHICS_ENABLE)
1793 #########################
1795 #########################
1799 AC_PROG_LIBTOOL([shared dlopen])
1802 # Eliminate -lstdc++ addition to postdeps for cross compiles.
1803 postdeps_CXX=`echo " $postdeps_CXX " | sed 's, -lstdc++ ,,g'`
1805 # Avoid to link all the dep from others libraries (*.la included by LIBADD)
1808 # Check to see if building shared libraries
1809 libtool_build_shared_libs=no
1810 if test "$enable_shared" = "yes"; then
1811 libtool_build_shared_libs=yes
1814 # Check to see if building static libraries
1815 libtool_build_static_libs=no
1816 if test "$enable_static" = "yes"; then
1817 libtool_build_static_libs=yes
1820 # AM_CONDITIONAL(ENABLE_STATIC, test "$libtool_build_static_libs" = yes)
1821 # Fake to disable the static build
1822 AM_CONDITIONAL(ENABLE_STATIC, test "$libtool_build_static_libs" = xxxx)
1832 AC_PATH_PROG(SPLINT, splint, no)
1835 ##### Detect ccache and use it by default if available
1838 AC_ARG_ENABLE(ccache,
1839 AC_HELP_STRING([--disable-ccache],[Disable the use of ccache])
1841 AC_PATH_PROG(CCACHE, ccache)
1842 if test x"$CCACHE" != x -a "$enable_ccache" != no; then
1847 #######################
1848 ###### Creation of the header file (machine.h)
1849 #######################
1851 AC_DEFINE_UNQUOTED([PATH_SEPARATOR], ["$PATH_SEPARATOR"],
1852 [The default path separator character.])
1854 AH_TOP([#ifndef MACHINE_H
1856 /* This file defines global element configuration of the build host */
1861 #ifdef DIR_SEPARATOR
1862 #undef DIR_SEPARATOR
1864 #define DIR_SEPARATOR "/"
1866 #endif /* MACHINE_H */
1869 # Define the standard extension of a dynamic library
1870 AC_DEFINE_UNQUOTED([SHARED_LIB_EXT],["$shrext_cmds"],[Extension of a shared library])
1875 ## Update the years in the various part of the code.
1878 if test ! -f modules/core/src/c/banier.c; then
1879 AC_MSG_ERROR([Could not find the Scilab banier file.])
1882 CURRENT_YEAR=`date "+%Y"`
1883 DETECTED_YEAR=`grep "Copyright (c) 2011-" modules/core/src/c/banier.c|sed -e "s/.*Copyright (c) 2011-\([[0-9]]*\).*/\1/g"`
1885 if test "$CURRENT_YEAR" != "$DETECTED_YEAR"; then
1886 sed -i -e "s| 2011-$DETECTED_YEAR | 2011-$CURRENT_YEAR |g" modules/core/src/c/banier.c modules/windows_tools/src/c/scilab_windows/console.c
1887 sed -i -e "s| 2011-$DETECTED_YEAR Scilab Enterprises| 2011-$CURRENT_YEAR Scilab Enterprises|g" etc/Info.plist.in
1888 sed -i -e "s|VALUE \"LegalCopyright\", \"Copyright (C) $DETECTED_YEAR|VALUE \"LegalCopyright\", \"Copyright (C) $CURRENT_YEAR|" $(find . -iname '*.rc')
1889 AC_MSG_WARN([New year ($CURRENT_YEAR) detected. Copyright files updated. Please commit them ASAP.])
1894 ## Make sure that the libstdc++ and libgcc can be compiled as static
1897 AC_CHECK_STDCPP_STATIC()
1903 # Stop to compile scilab when a warning is found ...
1904 # This stuff is at the end of the configure.ac because it causes some
1905 # problem with AC_COMPILE (the -Werror is added to the test)
1907 if test "$enable_stop_on_warning" = yes; then
1908 WARNING_CFLAGS="-Werror=implicit-function-declaration -Werror=declaration-after-statement "
1909 WARNING_CXXFLAGS="-Werror=implicit-function-declaration "
1912 # SCI_*FLAGS contains all defaults values detected on configure
1913 SCI_CFLAGS=$(echo $LARGEFILE_CFLAGS $CODECOVERAGE_CFLAGS $DEBUG_CFLAGS $ARCH_CFLAGS $COMPILER_CFLAGS $SCILIBS_CFLAGS $SSE_CFLAGS $BACKTRACE_CFLAGS $WARNING_CFLAGS)
1914 SCI_CXXFLAGS=$(echo $LARGEFILE_CXXFLAGS $CODECOVERAGE_CXXFLAGS $DEBUG_CXXFLAGS $ARCH_CXXFLAGS $COMPILER_CXXFLAGS $SCILIBS_CXXFLAGS $SSE_CXXFLAGS $BACKTRACE_CXXFLAGS $WARNING_CXXFLAGS)
1915 SCI_FFLAGS=$(echo $LARGEFILE_FFLAGS $CODECOVERAGE_FFLAGS $DEBUG_FFLAGS $ARCH_FFLAGS $COMPILER_FFLAGS $SCILIBS_FFLAGS $SSE_FFLAGS $BACKTRACE_FFLAGS $WARNING_FFLAGS)
1916 SCI_LDFLAGS=$(echo $LARGEFILE_LDFLAGS $CODECOVERAGE_LDFLAGS $DEBUG_LDFLAGS $ARCH_LDFLAGS $SCILIBS_LDFLAGS $SSE_LDFLAGS $BACKTRACE_LDFLAGS $WARNING_LDFLAGS)
1917 AC_SUBST(SCI_CFLAGS)
1918 AC_SUBST(SCI_CXXFLAGS)
1919 AC_SUBST(SCI_FFLAGS)
1920 AC_SUBST(SCI_LDFLAGS)
1924 desktop/images/icons/Makefile
1926 modules/helptools/Makefile
1927 modules/data_structures/Makefile
1928 modules/differential_equations/Makefile
1929 modules/optimization/Makefile
1930 modules/elementary_functions/Makefile
1931 modules/special_functions/Makefile
1933 modules/completion/Makefile
1934 modules/history_manager/Makefile
1935 modules/jvm/Makefile
1936 modules/commons/Makefile
1937 modules/sound/Makefile
1938 modules/statistics/Makefile
1939 modules/mexlib/Makefile
1940 modules/sparse/Makefile
1941 modules/linear_algebra/Makefile
1942 modules/polynomials/Makefile
1943 modules/symbolic/Makefile
1944 modules/signal_processing/Makefile
1945 modules/arnoldi/Makefile
1946 modules/interpolation/Makefile
1947 modules/intersci/Makefile
1948 modules/localization/Makefile
1949 modules/cacsd/Makefile
1950 modules/boolean/Makefile
1951 modules/integer/Makefile
1952 modules/double/Makefile
1953 modules/fileio/Makefile
1954 modules/spreadsheet/Makefile
1955 modules/string/Makefile
1956 modules/time/Makefile
1957 modules/graphics/Makefile
1958 modules/graphic_export/Makefile
1959 modules/graphic_objects/Makefile
1960 modules/renderer/Makefile
1961 modules/action_binding/Makefile
1962 modules/gui/Makefile
1963 modules/mpi/Makefile
1964 modules/randlib/Makefile
1965 modules/tclsci/Makefile
1966 modules/windows_tools/Makefile
1967 modules/core/Makefile
1968 modules/prebuildjava/Makefile
1969 modules/api_scilab/Makefile
1970 modules/call_scilab/Makefile
1971 modules/types/Makefile
1972 modules/hdf5/Makefile
1973 modules/fftw/Makefile
1974 modules/umfpack/Makefile
1975 modules/scicos/Makefile
1976 modules/scicos_blocks/Makefile
1977 modules/functions/Makefile
1978 modules/dynamic_link/Makefile
1979 modules/overloading/Makefile
1980 modules/javasci/Makefile
1981 modules/m2sci/Makefile
1982 modules/compatibility_functions/Makefile
1983 modules/development_tools/Makefile
1984 modules/output_stream/Makefile
1985 modules/console/Makefile
1986 modules/demo_tools/Makefile
1987 modules/genetic_algorithms/Makefile
1988 modules/simulated_annealing/Makefile
1989 modules/parameters/Makefile
1990 modules/matio/Makefile
1991 modules/atoms/Makefile
1992 modules/xcos/Makefile
1993 modules/scinotes/Makefile
1994 modules/ui_data/Makefile
1995 modules/graph/Makefile
1996 modules/parallel/Makefile
1997 modules/modules_manager/Makefile
1998 modules/history_browser/Makefile
1999 modules/preferences/Makefile
2000 modules/xml/Makefile
2001 modules/external_objects/Makefile
2002 modules/external_objects_java/Makefile
2009 etc/logging.properties
2011 scilab-lib.properties
2012 scilab-lib-doc.properties
2013 modules/helptools/etc/SciDocConf.xml
2014 modules/core/includes/version.h
2015 modules/core/includes/stack.h
2016 modules/atoms/etc/repositories
2017 modules/atoms/tests/unit_tests/repositories.orig
2020 # Detection of the module for the future version of Scilab 6
2021 # ie we detect module which ends with _yasp
2023 if test "$enable_yasp" = yes; then
2025 modules/development_tools/src/fake/Makefile
2029 # This script is used by Xcos in order to regenerate the function/block list
2030 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])
2034 # To distribution packager, you can uncomment this stuff is you want to
2035 # disable the rpath issue
2036 # However, you will have to set all the LD_LIBRARY_PATH to .libs/ directory
2037 # since scilab is compiling macros and help into the source tree (ie before
2038 # the "make install")
2039 # You should consider using chrpath:
2040 # http://directory.fsf.org/project/chrpath/
2041 # to remove it before the make install
2045 # AC_MSG_RESULT([Fixing libtool for -rpath problems.])
2046 # sed < libtool > libtool-2 \
2047 # 's/^hardcode_libdir_flag_spec.*$/hardcode_libdir_flag_spec=" -D__LIBTOOL_IS_A_FOOL__ "/'
2048 # mv libtool-2 libtool
2056 echo "Scilab is configured as follows. Please verify that this configuration"
2057 echo "matches your expectations."
2059 echo "Host system type : $host"
2061 echo " Option Value"
2062 echo "-------------------------------------------------------------------------"
2063 echo "Shared libraries....... --enable-shared=$libtool_build_shared_libs"
2064 echo "Static libraries....... --enable-static=$libtool_build_static_libs"
2065 echo "GNU ld................. --with-gnu-ld=$with_gnu_ld"
2066 echo "Enable debug .......... --enable-debug=$enable_debug"
2067 echo "Enable debug C......... --enable-debug-C=$enable_debug_C"
2068 echo "Enable debug C++....... --enable-debug-CXX=$enable_debug_CXX"
2069 echo "Enable debug Java...... --enable-debug-java=$enable_debug_java"
2070 echo "Enable debug Fortran... --enable-debug-fortran=$enable_debug_fortran"
2071 echo "Enable stop on warning. --enable-stop-on-warning=$enable_stop_on_warning"
2074 echo "Compiler Configuration:"
2075 echo " Intel (--with-intelcompilers) .... = $with_intelcompilers"
2076 echo " GNU gcc (--with-gcc) ............. = $with_gcc"
2077 echo " GNU Fortran 95 (--with-gfortran) . = $with_gfortran"
2080 echo " Do not use TCL/TK (--without-tk) ................. = $with_tk"
2081 echo " TCL include (--with-tcl-include) ................. = $USER_TCL_INC_PATH"
2082 echo " TCL library (--with-tcl-library) ................. = $USER_TCL_LIB_PATH"
2083 echo " TK include (--with-tk-include) ................... = $USER_TK_INC_PATH"
2084 echo " TK library (--with-tk-library) ................... = $USER_TK_LIB_PATH"
2085 echo " Install XML Help (--with-install-help-xml) ....... = $with_install_help_xml"
2086 echo " Compilation tests (--enable-compilation-tests) ... = $COMPILATION_TESTS"
2087 echo " Make the package relocatable (--enable-relocatable)= $RELOCATABLE"
2088 echo " Use FFTW (--without-fftw) ........................ = $with_fftw"
2089 echo " Use MATIO (--without-matio) ...................... = $with_matio"
2091 echo " Compile with Scilab thirdparties ................. = $WITH_DEVTOOLS"
2094 if test "$with_gui" = no; then
2095 echo "Not using Xcos because of the option --without-gui"
2097 if test $XCOS_ENABLE = yes; then
2099 echo "Build modelica compiler (--without-modelica) ....... = $with_modelica"
2101 if test "$with_modelica" != no -a "$OCAMLC" != no -a "$OCAMLOPT" != no; then
2102 echo "Ocaml Configuration (for Modelica compiler):"
2103 echo " OCAMLC ............. = $OCAMLC"
2104 echo " OCAMLOPT ........... = $OCAMLOPT"
2105 echo " OCAMLDEP ........... = $OCAMLDEP"
2107 echo "Will not build Modelica compiler"
2110 echo "Not using Xcos"
2115 if test "$enable_code_coverage" = yes; then
2116 echo "Code coverage configuration:"
2117 echo " LCOV .............. = $LCOV"
2118 echo " GENHTML ........... = $GENHTML"
2120 echo "Not using code coverage"
2124 if test $OPENMP_ENABLE = yes; then
2125 echo "OpenMP Configuration:"
2126 echo "OpenMP CFLAGS ...... = $OPENMP_CFLAGS"
2127 echo "OpenMP CXXFLAGS .... = $OPENMP_CXXFLAGS"
2128 echo "OpenMP LIBS ........ = $OPENMP_LIBS"
2129 echo "OpenMP LDFLAGS ..... = $OPENMP_LDFLAGS"
2131 echo "Not using OpenMP"
2135 if test $FFTW_ENABLE = yes; then
2136 echo "FFTW Configuration:"
2137 echo " FFTW LIBS .......... = $FFTW3_LIB"
2138 echo " FFTW CFLAGS ........ = $FFTW3_CFLAGS"
2140 echo "Not using FFTW"
2144 if test $MATIO_ENABLE = yes; then
2145 echo "MATIO Configuration:"
2146 echo " MATIO LIBS .......... = $MATIO_LIBS"
2147 echo " MATIO CFLAGS ........ = $MATIO_CFLAGS"
2149 echo "Not using MATIO"
2153 if test $UMFPACK_ENABLE = yes; then
2154 echo "UMFPACK Configuration:"
2155 echo " UMFPACK LIBS ....... = $UMFPACK_LIB"
2156 echo " UMFPACK CFLAGS ..... = $UMFPACK_CFLAGS"
2157 if test $SUITESPARSE = yes; then
2158 echo " UMFPACK SUITESPARSE = Yes"
2160 echo " UMFPACK SUITESPARSE = No"
2163 echo "Not using UMFPACK"
2168 echo "BLAS/LAPACK/ATLAS Configuration:"
2169 echo " BLAS LIBS ............. = $BLAS_LIBS"
2170 echo " BLAS TYPE ............. = $BLAS_TYPE"
2171 echo " LAPACK LIBS ........... = $LAPACK_LIBS"
2172 echo " LAPACK TYPE ........... = $LAPACK_TYPE"
2173 echo " ARPACK LIBS ........... = $ARPACK_LIBS"
2177 if test "$with_mpi" == yes; then
2178 echo "OpenMPI Configuration:"
2179 echo "OpenMPI LIBS ........... = $OPENMPI_LIBS"
2180 echo "OpenMPI C Compiler ..... = $OPENMPI_CC"
2181 echo "OpenMPI C++ Compiler ... = $OPENMPI_CXX"
2182 echo "OpenMPI F77 Compiler ... = $MPIF77"
2184 echo "Not using MPI"
2188 if test $BUILD_LOCALIZATION_ENABLE != no; then
2189 echo "Gettext/localization configuration:"
2190 echo " xgettext ............... = $XGETTEXT"
2191 echo " msgfmt ................ = $MSGFMT"
2192 echo " msgfmt_opts ............ = $MSGFMT_OPTS"
2193 echo " msgcat ................ = $MSGCAT"
2195 echo "Won't generate localization files"
2199 if test $HELP_ENABLE = yes; then
2200 echo "Documentation building configuration:"
2201 echo " Docbook XSL path ....... = $DOCBOOK_ROOT"
2202 echo " Saxon XSLT ............. = $SAXON"
2203 echo " XML commons external ... = $XML_APIS_EXT"
2205 echo "No documentation generated"
2209 echo "Java Configuration:"
2210 if test ! -z "$JAVAC"; then
2211 echo " JAVA_HOME ........... = $JAVA_HOME"
2212 echo " JAVAC ............... = $JAVAC"
2213 echo " JAVA_CLASSPATH ...... = $JAVA_CLASSPATH"
2214 echo " JAVA_VERSION ........ = $JAVA_VERSION"
2215 echo " JAVAC_FLAGS ......... = $JAVAC_FLAGS"
2216 echo " JAVA_JNI_INCLUDE .... = $JAVA_JNI_INCLUDE"
2217 echo " JAVA_JNI_LIBS ....... = $JAVA_JNI_LIBS"
2218 echo " JAVA_JNI_LIBS_PRELOAD = $JAVA_JNI_LIBS_PRELOAD"
2219 echo " JAVA ................ = $JAVA"
2220 echo " JAVADOC ............. = $JAVADOC"
2221 echo " JAR ................. = $JAR"
2222 echo " ANT ................. = $ANT"
2224 echo " JAVA disabled"
2229 echo "Java dependencies:"
2230 if test ! -z "$JAVAC"; then
2231 echo " Flexdock ............ = $FLEXDOCK"
2232 echo " JOGL 2............... = $JOGL2"
2233 echo " JOGL 2 LIBS (JNI) ... = $JOGL2_LIBS"
2234 echo " Gluegen 2 ........... = $GLUEGEN2_RT"
2235 echo " Gluegen 2 LIBS (JNI) = $GLUEGEN2_RT_LIBS"
2236 echo " Jeuclid (MathML) .... = $JEUCLID_CORE"
2237 echo " Jhall .............. = $JHALL"
2238 echo " Jrosetta (API) ...... = $JROSETTA_API"
2239 echo " Jrosetta (Engine) ... = $JROSETTA_ENGINE"
2240 echo " Commons Logging ..... = $COMMONS_LOGGING"
2241 echo " JGraph X ............ = $JGRAPHX"
2242 echo " SciRenderer ......... = $SCIRENDERER"
2243 echo " JLaTeXMath .......... = $JLATEXMATH"
2244 echo " ECJ ................. = $ECJ"
2248 if test ! -z "$JAVAC"; then
2249 echo "Documentation, graphic export:"
2250 echo " FOP (XML => PDF) .... = $FOP"
2251 echo " JLaTeXMath Fop ...... = $JLATEXMATH_FOP"
2252 echo " Batik (SVG) ......... = $BATIK"
2253 echo " Avalon Framework .... = $AVALON_FRAMEWORK"
2254 echo " Commons I/O ......... = $COMMONS_IO"
2255 echo " XML graphics commons = $XMLGRAPHICS_COMMONS"
2260 echo "Code quality (optional):"
2261 echo " Checkstyle .......... = $CHECKSTYLE"
2262 echo " Commons-beanutils ... = $COMMONS_BEANUTILS"
2263 echo " Antlr ............... = $ANTLR"
2264 echo " Junit4 .............. = $JUNIT4"
2265 echo " Cobertura ........... = $COBERTURA"
2266 echo " splint .............. = $SPLINT"
2269 echo "TCL/TK configuration:"
2270 echo " TK_INC_PATH ........ = $TK_INC_PATH"
2271 echo " TCL_INC_PATH ....... = $TCL_INC_PATH"
2272 echo " TCLTK_LIBS ......... = $TCLTK_LIBS"
2273 echo " TCL_SERIAL_VERSION . = $TCL_SERIAL_VERSION"
2274 echo " TK_SERIAL_VERSION .. = $TK_SERIAL_VERSION"
2277 echo "XML configuration:"
2278 echo " XML_FLAGS .......... = $XML_FLAGS"
2279 echo " XML_LIBS ........... = $XML_LIBS"
2280 echo " XML_VERSION ........ = $XML_VERSION"
2283 echo "HDF5 configuration:"
2284 echo " HDF5 CFLAGS ......... = $HDF5_CFLAGS"
2285 echo " HDF5 LIBS ........... = $HDF5_LIBS"
2288 echo "PCRE configuration:"
2289 echo " PCRE_CFLAGS ........ = $PCRE_CFLAGS"
2290 echo " PCRE_LIBS .......... = $PCRE_LIBS"
2291 echo " PCRE_VERSION ....... = $PCRE_VERSION"
2294 echo "CURL configuration:"
2295 echo " CURL_CFLAGS ........ = $CURL_CFLAGS"
2296 echo " CURL_LIBS .......... = $CURL_LIBS"
2297 echo " CURL_VERSION ....... = $CURL_VERSION"
2301 echo "SWIG Configuration:"
2302 if test ! -z "$SWIG_BIN"; then
2303 echo " SWIG_BIN ........... = $SWIG_BIN"
2304 echo " SWIG_JAVA .......... = $SWIG_JAVA"
2306 echo " SWIG generation disabled"
2310 echo "GIWS Configuration:"
2311 if test ! -z "$GIWS_BIN"; then
2312 echo " GIWS_BIN ........... = $GIWS_BIN"
2314 echo " GIWS generation disabled"
2318 echo "Libtool config:"
2319 echo " objext .............. = $objext"
2320 echo " libext (static) ..... = $libext"
2321 echo " shrext_cmds ......... = $shrext_cmds"
2322 echo " exeext .............. = $exeext"
2326 echo "Compilation paths:"
2327 echo " srcdir .............. = $SCI_SRCDIR"
2328 echo " srcdir_full ......... = $SCI_SRCDIR_FULL"
2329 echo " builddir ............ = $SCI_BUILDDIR"
2330 if test "$SCI_SRCDIR_FULL" != "$SCI_BUILDDIR"; then
2331 echo " VPATH build ......... = Activated"
2335 echo "Platform information:"
2336 echo " host ........... = $host"
2337 echo " host_cpu ....... = $host_cpu"
2338 echo " host_vendor .... = $host_vendor"
2339 echo " host_os ... .... = $host_os"
2340 echo " hostname ....... = $ac_hostname"
2341 echo " CPU 64 bits .... = $IS_64_BITS_CPU"
2342 if test -n "$MAC_DETECTED_ARCH"; then
2343 echo " Mac OS X arch .. = $MAC_DETECTED_ARCH"
2344 echo " Mac OS X version = $macosx_version"
2348 echo "Options used to compile and link:"
2349 echo " prefix ......... = $prefix"
2350 echo " localedir ...... = $localedir"
2351 echo " VERSION ........ = $PACKAGE_VERSION"
2352 echo " CC ............. = $CC"
2353 echo " CFLAGS ......... = $CFLAGS"
2354 echo " SCI_CFLAGS ..... = $SCI_CFLAGS"
2355 echo " DEFS ........... = $DEFS"
2356 echo " LD ............. = $LD"
2357 echo " LDFLAGS ........ = $LDFLAGS"
2358 echo " SCI_LDFLAGS .... = $SCI_LDFLAGS"
2359 echo " LIBS ........... = $LIBS"
2360 echo " CXX ............ = $CXX"
2361 echo " CXXFLAGS ....... = $CXXFLAGS"
2362 echo " SCI_CXXFLAGS ... = $SCI_CXXFLAGS"
2363 echo " F77 ............ = $F77"
2364 echo " FFLAGS ......... = $FFLAGS"
2365 echo " SCI_FFLAGS ..... = $SCI_FFLAGS"
2366 echo " F77_LDFLAGS .... = $F77_LDFLAGS"
2367 echo " FLIBS...... .... = $FLIBS"
2368 echo " TERMCAP_LIB .... = $TERMCAP_LIB"