Support running testcases conditional on the compiler supporting
a each language version, like we already handle C++11.
Currently no testcases are actually run in this way for these
newer language versions.
Changes based on supplied patch, but reworked version not tested as
I don't have access to AIX and the submitter hasn't responded in
18 months.
Fixes#1920
./configure now enables C++11 and later C++ standards testing by default (when
running: 'make check').
The options to control this testing are the same:
./configure --enable-cpp11-testing
./configure --disable-cpp11-testing
But the former is now the default and the latter can be used to turn off C++11 and
later C++ standards testing.
Reduce the number of tests on Appveyor by only running 32-bit (x86) using
latest Visual Studio (2022). Drop 32-bit Cygwin and MinGW testing.
Add C# and Java testing on VS2022 and drop Java testing on older Visual Studio.
This reduces the really long run times on Appveyor, however, VS2022 is
somewhat slower than older compilers.
This option was undocumented. If used it quietly did nothing
unless you'd installed the SWILL library before building SWIG, but
SWILL is no longer maintained and hasn't seen a release since
2008-04-10.
It's clear nobody has used this functionality for some time as the
code to support it in SWIG isn't actually valid ISO C++:
Modules/browser.cxx: In member function ‘void Browser::show_attributes(Node*)’:
Modules/browser.cxx:57:23: warning: ISO C++ forbids converting a string constant to ‘char*’ [-Wwrite-strings]
57 | char *trunc = "";
| ^~
Modules/browser.cxx:61:21: warning: ISO C++ forbids converting a string constant to ‘char*’ [-Wwrite-strings]
61 | trunc = "...";
| ^~~~~
Closes#2251
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
On AIX, one can compile applications either in 32bit or 64bit.
With GCC, this is done by using: -maix64 or -maix32 (default).
Thus, when building & testing Swig in 64bit, the -maix64 option must be
passed to all calls to gcc.
Fixes#1923
As discussed and agreed in #1629, it's become hard to test with Perl
5.6 or earlier, such old versions are no longer in active use, and
4.1.0 is an appropriate time to make such a change.
I've dropped the compatibility code that was obvious to me, but there's
probably more that can be cleaned up now.
Use the overridden CC and CXX compiles when linking
when overriding at make time.
Previously the following would use CC and CXX specified at
configure time when linking:
make CC=gcc-11 CXX=g++-11
Remove replacement code added in by autoupdate.
Go with recommendation to unconditionally include C headers
(which we have been doing all along).
Minimum autoconf version can be restored back to what it was.
We do need AC_PROG_EGREP - used by AC_EGREP_CPP
Previously if the compiler was detected to support c++11,
-std=c++11 was set preventing c++17 code from being properly tested.
Now c++14 and c++17 support is looked for and the -std flag is
appropriately set to the compiler's maximum supported version.
All Python examples and tests have been written to be both Python 2 and Python 3
compatible, removing the need for 2to3 to run the examples or test-suite.
The 2to3 executable is not always available and even when available does not
always work, e.g. with pyenv. An alternative would be to use the lib2to3 Python
module instead, but this isn't available in some older versions of Python 3.
I had this problem on Ubuntu Bionic on Travis:
checking Examples/python/callback
pyenv: 2to3-3.8: command not found
The `2to3-3.8' command exists in these Python versions:
3.8
3.8.1
Reference issues:
https://github.com/pypa/virtualenv/issues/1399https://travis-ci.community/t/2to3-command-not-found-in-venv-in-bionic/4495
AC_CHECK_PROGS will find the tool using exactly the name given: it
only searches for "pkg-config". When doing native builds, this is
generally fine. However, when cross-compiling, this is not ideal
as `pkg-config` is often configured for the build system, not the
system we want to cross-compile for.
Switch to using the AC_PATH_TOOL tool instead. This will look for
"pkg-config" with a $host- prefix first before falling back to the
plain "pkg-config". When doing native builds, things should still
behave the same, but now things work better out of the box when we
cross-compile.
For example, `./configure --host=aarch64-linux-gnu` will first look
for "aarch64-linux-gnu-pkg-config" before falling back to the plain
"pkg-config".
Using `-isystem` flag causes compilation errors with GCC10.
Replace it with `-I` flag.
Fixes#1805
Signed-off-by: Anatol Pomozov <anatol.pomozov@gmail.com>
- As of Octave 5.1.0, mkoctfile no longer works with 'env -'
(no environment), so need to pass at least PATH and
LD_LIBRARY_PATH for it to work.
- Still need to clear environment so that it doesn't override
mkoctfile defined variables, e.g. CXXFLAGS.
No real changes, just use simpler quoting construct which is sufficient
(as we don't need to expand any variables) and also happens not to break
Vim 8 syntax highlighting in the entire file, unlike double quotes.