I ran check-swig-{py|pl|rb} with some SWIG versions on swig-py3 branch.
Environment: OS: FreeBSD 11.2 Python 2: 2.7.16 Python 3: 3.7.3 Perl: 5.28.2 Ruby: 2.5.5p157 Results are below. SWIG 1.3.24: I couldn't build swig itself. SWIG 2.0.0: Python 2 ... OK (skipped=1) Python 3 ... can't build modules Perl ... can't build modules (Perhaps due to issue on build with Perl >= 5.16, fixed in SWIG 2.0.8)[1] Ruby ... 100% passed SWIG 2.0.12: Python 2 ... OK (skipped=1) Python 3 ... FAILED (failures=16, errors=22) Perl ... PASS Ruby ... 100% passed SWIG 3.0.0: Python 2 ... OK (skipped=1) Python 3 ... FAILED (failures=16, errors=22) Perl ... PASS Ruby ... 100% passed SWIG 3.0.9: Python 2 ... can't import modules (regression, fixed in SWIG 3.0.10)[2] Python 3 ... can't import modules (regression, fixed in SWIG 3.0.10)[2] Perl ... PASS Ruby ... 100% passed SWIG 3.0.10: Python 2 ... OK (skipped=1) Python 3 ... OK Perl ... PASS Ruby ... 100% passed SWIG 3.0.12: Python 2 ... OK (skipped=1) Python 3 ... OK Perl ... PASS Ruby ... 100% passed SWIG 4.0.1: Python 2 ... can't build modules correctly (SVN-4818) Python 3 ... can't build modules correctly (SVN-4818) Perl ... PASS Ruby ... 100% passed [1] https://github.com/swig/swig/blob/rel-2.0.8/CHANGES.current#L30 [2] https://github.com/swig/swig/blob/rel-3.0.10/RELEASENOTES#L11 I also make a patch to update subversion/binding/swig/INSTALL, however I don't touch build/ac-macros/swig.m4. Cheers, -- Yasuhito FUTATSUKI <futat...@poem.co.jp>
Index: subversion/bindings/swig/INSTALL =================================================================== --- subversion/bindings/swig/INSTALL (revision 1868723) +++ subversion/bindings/swig/INSTALL (working copy) @@ -64,15 +64,24 @@ BUILDING SWIG BINDINGS FOR SVN ON UNIX -Step 1: Install a suitable version of SWIG (which is - currently SWIG version 1.3.24 or later). +Step 1: Install a suitable version of SWIG + * Currently supported SWIG version is 1.3.24 and later, however, + - Python bindings doesn't support SWIG 4.0.0 and later (yet). + - Python 3 support for Python bindings requires SWIG 3.0.10 and later, + in 3.0.x. + - Python bindings doesn't support SWIG 3.0.9 + - Ruby bindings doesn't support SWIG 3.0.8. + - Make sure language specific supported version of SWIG itself, e.g. + - Perl 5.16 and later requires SWIG 2.0.8 and later. + * Perhaps your distribution packages a suitable version - if it does install it, and skip to the last bullet point in this section. * Go to http://www.swig.org/, download the source tarball, and unpack. - * In the SWIG-1.3.xx directory, run ./configure. + * In the swig-x.y.z, directory, run ./configure (where x.y.z is + SWIG version, e.g. 3.0.12). If you plan to build the Python bindings, and have a system with more than one version of Python installed, you may need @@ -95,13 +104,13 @@ Run 'make && make install' * To verify you have SWIG installed correctly, run "swig -version" - from the command line. SWIG should report that it is version 1.3.24 - or newer. + from the command line. SWIG should report that it is suitable version + mentioned above. Step 1a: Install py3c library if building Python SWIG bindings. - * Check your distribution packages first for a suitable version, and if found - install from there. + * Check your distribution packages first for a suitable version, and + if found install from there. * To install from source, download the latest release from https://github.com/encukou/py3c.