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.

Reply via email to