Commit graph

297 commits

Author SHA1 Message Date
Olly Betts
b9153698db Drop configure probe for popen()
It was only used by the command encoder which we removed.
2023-02-03 11:58:10 +13:00
Olly Betts
747651c7e4 configure: Check for php8.2 too 2023-01-18 16:11:11 +13:00
William S Fulton
fe2d781b42 Bump version to 4.2.0 and migrate CHANGES to CHANGES.current 2022-11-04 20:09:13 +00:00
William S Fulton
b975f401a9 Re-order language detection in configure.ac
Check in alphabetical order to make looking at configure output a tad easier
2022-10-06 23:29:33 +01:00
Olly Betts
631b41ae7b Use https for swig.org links 2022-10-06 13:16:39 +13:00
William S Fulton
623b7d97a7 Remove swig.spec file
Discussion #2316
2022-09-20 22:31:50 +01:00
William S Fulton
b34092c517 Add -pthread to lua testing
Required to fix linker errors in li_std_auto_ptr and cpp11_std_unique_ptr test cases
2022-08-11 22:08:10 +01:00
William S Fulton
662b88b605 JavaScript Webkit testing and detection changes
Add testing for javascriptcoregtk-4.1.
Simplify configure detection of JSC, relying only only pkg-config.
Add javascriptcoregtk-4.1 tests to GHA.
2022-08-04 07:14:30 +01:00
William S Fulton
c1bfda210f Fix configure messages when C++20 is not available 2022-07-31 00:42:08 +01:00
Olly Betts
07f0b732ba Add machinery for C++14, C++17 and C++20 testing
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.
2022-07-26 15:28:51 +12:00
Olly Betts
dd0c8632bf Set PYTHON*DYNAMICLINKING for AIX
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
2022-07-18 18:38:49 +12:00
Olly Betts
6043554c38 configure.ac: Add missing shell quoting
Fixes "./configure[4896]: test: argument expected" on stderr.
2022-04-13 11:14:29 +12:00
William S Fulton
dba941120d Enable C++11 testing by default, Appveyor testing scaled back
./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.
2022-04-06 19:45:31 +01:00
William S Fulton
e8c1bda0b5 D compiler detection enhancements
Detect LLVM D compiler ldmd2 or ldc2.
Show D version. Note that dmd does not have an
explicit command line option to show version.
2022-04-04 22:02:05 +01:00
Olly Betts
ef3f25ab1c Remove -browse command line option
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
2022-04-03 08:56:07 +12:00
Olly Betts
23fa9804c8 Clarify messages where "Python" means 2.x
See #2235
2022-03-18 10:23:17 +13:00
William S Fulton
b433ef9415 Last resort to use /usr/lib in python linking 2022-03-16 22:54:51 +00:00
William S Fulton
ade890854d Fix detection of python .lib file for 2 digits in minor version 2022-03-16 22:43:49 +00:00
Olly Betts
2da3815f99 [Go] Make -intgosize optional
We no longer support Go < 1.2 so we can default intgo to ptrdiff_t
and uintgo to size_t.

Fixes #683
Fixes #2233
2022-03-16 18:30:05 +13:00
Clément DAVID
ce6c0c47f6 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
2022-02-21 10:01:27 +01:00
Olly Betts
3e42fec457 Use CFLAGS for testcases on AIX
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
2022-01-26 15:27:08 +13:00
Olly Betts
e21ea9b167 Fix LDSHARED on AIX
Stop trying to use an ld_so_aix script which hasn't been present in
the tree since at least the start of git history in 1999.

Fixes #1919
2022-01-26 15:16:39 +13:00
William S Fulton
f8e4a5cc25 Few more PCRE to PCRE2 changes 2022-01-21 18:35:20 +00:00
Julien Schueller
15515f390c PCRE2
Closes #2120
2022-01-21 07:46:08 +01:00
Olly Betts
748a9a5452 [perl] Require at least Perl 5.8.0
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.
2022-01-19 10:07:30 +13:00
Olly Betts
fa36d6fd28 [python] Add 3.10 to Python versions in configure 2021-12-24 16:43:25 +13:00
Olly Betts
c60507ef70 [php] configure: Check for php8.1 binary 2021-12-08 13:10:38 +13:00
William S Fulton
dbab08ec21 Scilab testing: don't hang on error 2021-11-16 19:48:22 +00:00
William S Fulton
75cacc1325 CC and CXX override improvements in examples
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
2021-11-15 19:55:26 +00:00
William S Fulton
5f8768daed Support testing on AIX for tcl
Contributed by Tony Reix

Closes #1922
2021-04-28 00:04:50 +01:00
William S Fulton
f14c712001 Correct disabling of c++11 testing
C++11 testing was not being turned off when the
C++ compiler check for C++11 features failed and
'configure --enable-cpp11-testing' was used
2021-04-26 22:32:52 +01:00
William S Fulton
abcae7c68b Remove AC_HEADER_STDC replacement code
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
2021-04-26 22:32:52 +01:00
William S Fulton
0c3da29dc3 configure.ac update
Updated using autoupdate from autoconf 2.71
2021-04-26 22:32:52 +01:00
William S Fulton
fb0c4aeb53 Clean configure output detecting Javascriptcore 2021-04-26 22:32:52 +01:00
William S Fulton
0a99192339 Testing of C++14 and C++17 detection improved
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.
2021-04-26 22:32:52 +01:00
William S Fulton
71709af99a Show CFLAGS and CXXFLAGS for SWIG executable build 2021-03-23 19:46:00 +00:00
Olly Betts
56d7435573 Merge branch 'php8-support'
Fixes #1929, Fixes #1978
2021-03-21 10:57:35 +13:00
William S Fulton
82fb0540ca Modernise C++11 compiler support detection in autotools
Replace AX_CXX_COMPILE_STDCXX_11 with AX_CXX_COMPILE_STDCXX
from autoconf archive.
2021-03-20 00:53:13 +00:00
Olly Betts
3584c7d49c Add initial support for PHP8
Testcase director_overload2 is failing, but the rest of the testsuite
passes.
2021-03-19 19:30:27 +13:00
Olly Betts
6b5b682eed Add php7.4 to list configure checks for 2021-03-17 12:40:14 +13:00
Andy Polyakov
f97020fb0c configure.ac: re-prioritize node.js detection.
Having 'node' taking priority over 'nodejs' make is easier to "sand-box"
different node.js version by merely adjusting PATH.
2021-03-02 15:21:02 +01:00
Andy Polyakov
1abb726d69 configure.ac: pick up javascriptcoregtk-4.0,3.0 if available.
Ubuntu 20 doesn't have libwebkitgtk-dev/libjavascriptcoregtk-1.0-dev,
but it has 4.0. Ubuntu 18 provides 3.0 as option.
2021-03-01 15:51:12 +01:00
William S Fulton
ac8de714af Travis testing tcl for MacOSX10.14 and later
Used suggestion from
https://www.postgresql-archive.org/PG-vs-macOS-Mojave-td6047357.html#a6056680
to add in sysroot.

Note that the examples failed at runtime unless tcl was installed from homebrew:
  brew install --cask tcl
2021-02-20 14:50:01 +00:00
William S Fulton
ec2b47ef2a Remove need for Python 2to3
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/1399
  https://travis-ci.community/t/2to3-command-not-found-in-venv-in-bionic/4495
2020-08-15 18:04:58 +01:00
Mike Frysinger
e9a21197ec configure: use AC_PATH_TOOL for pkg-config
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".
2020-06-12 19:08:29 -04:00
Mike Frysinger
24945669fd configure: change $PKGCONFIG to $PKG_CONFIG
The PKG_CONFIG variable name aligns with the standard upstream
value that the pkg-config project itself uses.
2020-06-11 18:04:15 -04:00
William S Fulton
470d1926f8 Bump version to 4.1.0 2020-06-08 20:47:47 +01:00
Anatol Pomozov
9da2e4f5d4 Replace -isystem compile flag with -I
Using `-isystem` flag causes compilation errors with GCC10.
Replace it with `-I` flag.

Fixes #1805

Signed-off-by: Anatol Pomozov <anatol.pomozov@gmail.com>
2020-06-02 23:33:12 -07:00
William S Fulton
ac3f668c83 Minor configure.ac output display correction testing for octave 2020-06-02 18:11:12 +01:00
Karl Wette
d11e29615d Octave: use pre-compiled headers to speed up test suite, if supported 2020-05-31 22:11:51 +10:00