Commit graph

463 commits

Author SHA1 Message Date
5a06ca1ed7
Merge branch 'master' of https://github.com/swig/swig into Cmerge 2023-02-18 00:05:36 -07:00
Olly Betts
747a6a264f [php] Fix handling of multi-module cases
Look up unknown base classes using SWIG_MangledTypeQueryModule().

Revert to using SWIG_TypeCheck() instead of SWIG_TypeCheckStruct()
as the latter doesn't seem to work for this case (at least for PHP
right now).

Add mod_runme.php as a regression test for this.

Adjust the PHP test harness not to set up reflection for the module
unless it's actually needed for a testcase.  Currently the approach
to find the module name doesn't work for multi-module testcases.

See #2126
2022-10-18 10:28:17 +13:00
William S Fulton
cea25abca5 Completely remove CFFI
No meaningful progress to update CFFI to experimental status
has been made since CFFI was disabled in SWIG-4.0.0 as the first
stage to removal. This commit is the final stage to remove it.

See issue #1966 for an attempt at updating CFFI to experimental
status. Anyone wishing for SWIG to support CFFI again might
want to utilise this work.
2022-10-06 23:29:33 +01:00
William S Fulton
7b0f7caaf2 Makefile re-order
All target languages are in now in alphabetical order
2022-10-06 23:29:33 +01:00
Vadim Zeitlin
864f32159a Merge branch 'restore-compat-wrappers-names' into C
Merge with the latest master including PR #2371.
2022-09-17 14:36:37 +02:00
William S Fulton
7a3e79cfc6 JSC version display tweaks 2022-08-04 07:14:30 +01:00
William S Fulton
675c94c575 Add in EXTRA_CFLAGS and EXTRA_CXXFLAGS for more flexible test-suite testing 2022-07-31 01:02:08 +01:00
Olly Betts
64d72483c6 Clean up Tcl version docs and handling
We require 8.4 now which simplifies things a bit.
2022-07-28 14:30:43 +12:00
Olly Betts
9cdf46e8c8 [php] Adjust #required params for subclass methods
If the same method name is implemented in a parent class then the
subclass can't have more required parameters than that or else we
get a compatibility error when the module is loaded.

The testsuite wasn't catching this problem because it was no longer
trying to load the modules for testcases without _runme.php, because
the mechanism to do that relied on there being a generated .php
wrapper, which we no longer have by default.  Fix that to provide a
regression test for this fix.

See #2151
2022-06-14 16:00:46 +12: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
William S Fulton
a343b7e254 Remove -py3 command line option
Closes #1779
2022-03-23 18:13:07 +00:00
Olly Betts
c7af8eabb3 Default to running tests with Python 3
Specify PY2=1 to use Python 2.

See #1779
Closes #2235
2022-03-17 18:55:10 +13:00
Ian Lance Taylor
4499422308 swig -go: fail test if "go build" fails 2022-03-05 21:54:48 -08: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
Vadim Zeitlin
cb974ef662 Use COMPILETOOL with C_LDSHARED and CXX_LDSHARED
This is consistent with the way this is done for the other backends and
allows to avoid overriding these variables for partialcheck target.

Co-Authored-By: Olly Betts <olly@survex.com>
2022-01-04 01:29:21 +01:00
Vadim Zeitlin
3b7f772dde Remove extra trailing blank line in examples makefile
This was removed in master but somehow survived in this branch.
2022-01-04 01:24:12 +01:00
Vadim Zeitlin
f42b0eaa71 Use different executable names for C and C++ examples
Trying to create the same "runme" executable for both C and C++ examples
could result in errors when using parallel make, as one of the targets
could fail to write to the file being currently executed.

Using separate names works around this problem.
2021-11-27 00:19:05 +01:00
Vadim Zeitlin
2ab549611b Syntax check generated headers using both C and C++ compilers
For C++ tests, check header compilation using C++ compiler too, as this
detects constructs valid in C but invalid in C++ and will also be useful
for checking C++-specific parts of the headers that will be generated in
the future.
2021-11-19 00:08:44 +01:00
Vadim Zeitlin
3765a08743 Allow having C++ test cases for C backend
Support compiling and running either _runme.c or _runme.cxx files for
the given test (but not both).

Add a simple C++ test file to check that it actually works.
2021-11-19 00:08:43 +01:00
Vadim Zeitlin
e1815634ec Clean the generated headers for C too
This fixes a check-maintainer-clean problem.
2021-10-05 01:34:32 +02:00
Vadim Zeitlin
5bbaecfb81 Set LD_LIBRARY_PATH when running C examples too
This is needed to find the SWIG-generated shared library when using C
too, as it's already the case for many (but, surprisingly, not all)
other target languages.
2021-10-05 01:01:37 +02:00
Vadim Zeitlin
ac4f3c78be Merge branch 'master' into C
Merge with the latest master before making more changes.
2021-10-04 16:03:36 +02:00
Olly Betts
353baebfcf [Allegrocl] Remove code for Allegro Common Lisp
We dropped support for it in SWIG 4.0.0 and nobody has stepped forward
to revive it in over 2 years.

See #2009.
2021-05-13 10:38:40 +12:00
Olly Betts
586eb24efe php: Stop using dl()
With modern PHP it only works with the CLI version of PHP, so it's
better to direct users to load the extension via "extension=" in
php.ini.

Suggested by ferdynator in #1529.
2021-05-03 18:42:28 +12:00
Olly Betts
c87047fd39 Merge branch 'master' into gsoc2017-php7-classes-via-c-api 2021-05-03 16:17:02 +12: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
Olly Betts
d6f9f4b6c0 Make examples fail on any PHP diagnostic
Previously we called set_error_handler() in tests.php to do this, but
that only sets it for the test-suite.  Now we set it in on the PHP
command line, which works for both.
2021-04-19 13:40:46 +12:00
Olly Betts
9df60351e4 Don't pass -q when running CLI PHP in testsuite
This suppressed output of HTTP headers with PHP < 4.3, but in more
recent versions it doesn't do anything for CLI PHP.
2021-03-23 11:47:19 +13:00
Olly Betts
ecddf13ecb Stop trying to disable PHP safe_mode in testsuite
PHP no longer supports safe_mode (since PHP 5.4) so this doesn't do
anything for any PHP version we currently support!
2021-03-22 15:42:52 +13: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
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
Karl Wette
d11e29615d Octave: use pre-compiled headers to speed up test suite, if supported 2020-05-31 22:11:51 +10:00
Ian Lance Taylor
62136ff782 Fix Go version check and Go in-tree example tests
Fixes #1607
2019-08-09 14:06:45 -07:00
Ian Lance Taylor
7aafe3d8b2 Fix all Go tests to build with "go build"
Tested against Go 1.6 through Go 1.13beta1, and gccgo.

Fixes #1607
2019-08-08 14:30:50 -07:00
Vadim Zeitlin
55741f9e31 Merge branch 'master' into C 2019-07-24 20:26:50 +02:00
Ian Lance Taylor
8a1c09e280 Fix Go tests to run in module mode
Stop using relative imports and add a go.mod file.

Tested against Go 1.6 through Go pre-1.13, and gccgo.
2019-04-24 21:43:38 -07:00
Ian Lance Taylor
77f075b6e8 When generating Go code, make -cgo the default.
Add new -no-cgo option to disable the default.
Keep -cgo as a no-op for existing users.
2019-04-19 12:49:56 -07:00
William S Fulton
be8061c7f5 Cosmetic C# Makefile tweak 2019-04-08 19:44:10 +01:00
William S Fulton
166b683e89 More ocaml parallel make fixes
The previous commit removed a pile of 'test -f' hacks which were sort of
working for parallel builds and broke parallel test-suite builds. Now
this is fixed properly - these files are safely created in the
test-suite already. Now we create them safely in the examples.
2019-03-26 19:51:09 +00:00
William S Fulton
b092055ca8 Fix parallel 'make check-ocaml-examples'
Some versions of ocamlc create a file of the same name in the tmp directory when invoking
using ocalmc on swigp4.ml. The name is the same even from different example directories.
TMPDIR is a workaround to make ocamlc use a different directory for this temp file.
Parallel make (-j) broke because different instances of ocamlc tried to
create the same temp file.
Issue #1503
2019-03-26 07:48:33 +00:00
William S Fulton
e5a3c1e28c MzScheme and Travis CXXFLAGS/CFLAGS support
mzc seems to use the CFLAGS, but not the CXXFLAGS env variables.
Pass the CXXFLAGS as ++ccf options when compiling c++.
2019-02-10 10:35:27 +00:00
William S Fulton
4bb0b974c0 Mzscheme out of source examples fixes 2019-02-09 17:14:46 +00:00
William S Fulton
09e0577d95 Disable Chicken target language
Clean up to disable target languages that have been neglected/not functional.
Target language be fully deleted in SWIG 4.1 unless a new maintainer brings
it up to an acceptable status (experimental or supported).

Issue #1447
2019-02-05 18:42:12 +00:00
William S Fulton
cb4bd26422 Disable Common Lisp / CLISP target language
Clean up to disable target languages that have been neglected/not functional.
Target language be fully deleted in SWIG 4.1 unless a new maintainer brings
it up to an acceptable status (experimental or supported).

Issue #1447
2019-02-05 18:42:07 +00:00
William S Fulton
f63d0db21b Disable Common Lisp / UFFI target language
Clean up to disable target languages that have been neglected/not functional.
Target language be fully deleted in SWIG 4.1 unless a new maintainer brings
it up to an acceptable status (experimental or supported).

Issue #1447
2019-02-05 18:41:54 +00:00
William S Fulton
8aa4086136 Disable Pike target language
Clean up to disable target languages that have been neglected/not functional.
Target language be fully deleted in SWIG 4.1 unless a new maintainer brings
it up to an acceptable status (experimental or supported).

Issue #1447
2019-02-05 18:41:46 +00:00
William S Fulton
ee3aeb8177 Disable Modula3 target language
Clean up to disable target languages that have been neglected/not functional.
Target language be fully deleted in SWIG 4.1 unless a new maintainer brings
it up to an acceptable status (experimental or supported).

Issue #1447
2019-02-05 18:41:34 +00:00
Zackery Spytz
25e650e7d8 [OCaml] Fix toplevel creation for ocamlmktop versions >= 4.04.0
The -o and -c options of ocamlc/ocamlopt were modified to be stricter
in 4.04.0.
da56cf6dfd

The changes in Examples/Makefile.in are compatible with earlier OCaml
versions (at least back to 3.12.0).
2019-01-25 01:58:48 -07:00
Zackery Spytz
4ca7cd7b27 [OCaml] Eliminate use of -Wno-write-strings
Don't convert string literals to char * in the strings_test example.

In constantWrapper(), use SwigType_str() instead of SwigType_lstr()
in order to keep const qualifiers.
2019-01-24 05:32:35 -07:00
Zackery Spytz
98af86f58b Merge remote-tracking branch 'upstream/master' into OCaml-make-j-race-conds 2019-01-10 13:32:19 -07:00