Add Scilab 5.5.2 6.0.2 and 6.1.0 from upstream

This commit log Scilab version at ./configure to ease maintenance. It
uses Scilab include next to the bin directory which will work for both
system-wide install and binaries from scilab.org.

SCILAB_VERSION is define as an automake variable for easier
failure investigation.

Note: the Ubuntu Scilab version is used when available, in the current
CI config there is:
 * Scilab 5.5 from scilab.org
 * Scilab 6.0 from Ubuntu 18.04
 * Scilab 6.1 from Ubuntu 20.04
This commit is contained in:
Clément DAVID 2021-04-13 15:06:04 +02:00
commit ce6c0c47f6
4 changed files with 38 additions and 22 deletions

View file

@ -180,7 +180,10 @@ jobs:
VER: '3.0'
CPPSTD: c++11
- SWIGLANG: scilab
os: ubuntu-18.04 # scilab-6.1 in ubuntu-20.04 not yet working
VER: '5.5.2'
- SWIGLANG: scilab
os: ubuntu-18.04 # scilab 6.0
- SWIGLANG: scilab
- SWIGLANG: tcl
# c++11 testing
- SWIGLANG: csharp
@ -213,7 +216,9 @@ jobs:
CPPSTD: c++11
- SWIGLANG: scilab
CPPSTD: c++11
os: ubuntu-18.04 # scilab-6.1 in ubuntu-20.04 not yet working
os: ubuntu-18.04 # scilab 6.0
- SWIGLANG: scilab
CPPSTD: c++11
- SWIGLANG: tcl
CPPSTD: c++11
# c++14 testing
@ -249,7 +254,9 @@ jobs:
CPPSTD: c++14
- SWIGLANG: scilab
CPPSTD: c++14
os: ubuntu-18.04 # scilab-6.1 in ubuntu-20.04 not yet working
os: ubuntu-18.04 # scilab 6.0
- SWIGLANG: scilab
CPPSTD: c++14
- SWIGLANG: tcl
CPPSTD: c++14
# c++17 testing (using gcc11)
@ -298,7 +305,6 @@ jobs:
- SWIGLANG: scilab
CPPSTD: c++17
GCC: 11
os: ubuntu-18.04 # scilab-6.1 in ubuntu-20.04 not yet working
- SWIGLANG: tcl
CPPSTD: c++17
GCC: 11

View file

@ -1357,6 +1357,7 @@ r_clean:
SCILAB = @SCILAB@
SCILAB_INC= @SCILABINCLUDE@
SCILAB_OPT = @SCILABOPT@
SCILAB_VERSION = @SCILAB_VERSION@
SCILAB_LIBPREFIX = lib
# ----------------------------------------------------------------
@ -1389,7 +1390,7 @@ scilab_run:
# -----------------------------------------------------------------
scilab_version:
echo `$(SCILAB) -version | head -1`
echo `$(SCILAB) -nwni -version | head -1`
# -----------------------------------------------------------------
# Cleaning the scilab examples

View file

@ -137,11 +137,14 @@ case "$SWIGLANG" in
fi
;;
"scilab")
# Travis has the wrong version of Java pre-installed resulting in error using scilab:
# /usr/bin/scilab-bin: error while loading shared libraries: libjava.so: cannot open shared object file: No such file or directory
echo "JAVA_HOME was set to $JAVA_HOME"
unset JAVA_HOME
$RETRY sudo apt-get -qq install scilab
if [[ -z "$VER" ]]; then
$RETRY sudo apt-get -qq install scilab scilab-include
else
$RETRY wget --progress=dot:giga "https://www.scilab.org/download/$VER/scilab-$VER.bin.linux-x86_64.tar.gz"
# $HOME/.local/bin is in PATH and writeable
mkdir -p "$HOME/.local"
tar -xzf "scilab-$VER.bin.linux-x86_64.tar.gz" --strip-components=1 -C "$HOME/.local"
fi
;;
"tcl")
$RETRY sudo apt-get -qq install tcl-dev

View file

@ -1218,7 +1218,7 @@ if test x"${SCILABBIN}" = xno; then
else
# Check for Scilab executable
if test "x$SCILABBIN" = xyes; then
AC_CHECK_PROGS(SCILAB, scilab)
AC_PATH_PROG(SCILAB, scilab)
else
AC_MSG_CHECKING(for scilab)
if test -f "$SCILABBIN"; then
@ -1231,18 +1231,18 @@ else
if test -n "$SCILAB"; then
# Check for Scilab version (needs api_scilab so needs version 5.3.3 or higher)
SCILAB_FULL_VERSION=`$SCILAB -version | head -1 | sed -e 's|Scilab version \"\(.*\)\"|\1|g'`
SCILAB_VERSION=`$SCILAB -nwni -version | head -1 | sed -e 's|Scilab version \"\(.*\)\"|\1|g'`
AC_MSG_CHECKING(Scilab version is 5.3.3 or higher)
SCILAB_MAJOR_VERSION=`echo $SCILAB_FULL_VERSION | cut -d. -f1`
SCILAB_MINOR_VERSION=`echo $SCILAB_FULL_VERSION | cut -d. -f2`
SCILAB_MAINTENANCE_VERSION=`echo $SCILAB_FULL_VERSION | cut -d. -f3`
SCILAB_VERSION="$SCILAB_MAJOR_VERSION$SCILAB_MINOR_VERSION$SCILAB_MAINTENANCE_VERSION"
SCILAB_MAJOR_VERSION=`echo $SCILAB_VERSION | cut -d. -f1`
SCILAB_MINOR_VERSION=`echo $SCILAB_VERSION | cut -d. -f2`
SCILAB_MAINTENANCE_VERSION=`echo $SCILAB_VERSION | cut -d. -f3`
SCILAB_VERSION_NO_DOTS="$SCILAB_MAJOR_VERSION$SCILAB_MINOR_VERSION$SCILAB_MAINTENANCE_VERSION"
if test $SCILAB_VERSION -ge 533; then
AC_MSG_RESULT(yes)
if test -n "$SCILAB_VERSION_NO_DOTS" && test "$SCILAB_VERSION_NO_DOTS" -ge 533; then
AC_MSG_RESULT(yes - $SCILAB_VERSION)
else
AC_MSG_RESULT(no)
AC_MSG_RESULT(no - $SCILAB_VERSION)
SCILAB=
fi
@ -1250,22 +1250,27 @@ else
# Set Scilab startup options depending on version
AC_MSG_CHECKING(for Scilab startup options)
SCILABOPT="-nwni -nb"
if test $SCILAB_VERSION -ge 540; then
if test $SCILAB_VERSION_NO_DOTS -ge 540; then
SCILABOPT+=" -noatomsautoload"
fi
if test $SCILAB_VERSION -ge 600; then
if test $SCILAB_VERSION_NO_DOTS -ge 600; then
SCILABOPT+=" -quit"
fi
AC_MSG_RESULT($SCILABOPT)
# Check for Scilab header files
AC_MSG_CHECKING(for Scilab header files)
headers="`AS_DIRNAME(["$SCILAB"])`/../include"
if test "$SCILABINCDIR" != ""; then
dirs="$SCILABINCDIR"
elif test -d "$SCI"; then
dirs="$SCI/include $SCI/../../include"
elif test -d "$headers"; then
dirs="$headers"
elif test -n "$PKG_CONFIG "; then
dirs=`$PKG_CONFIG scilab --cflags-only-I | sed -e 's/-I//g'`
else
dirs=""
dirs="/usr/include"
fi
for i in $dirs; do
if test -r $i/api_scilab.h; then
@ -1290,6 +1295,7 @@ fi
AC_SUBST(SCILAB)
AC_SUBST(SCILABINCLUDE)
AC_SUBST(SCILABOPT)
AC_SUBST(SCILAB_VERSION)
#----------------------------------------------------------------