Perl bindings (was: Re: prioritizing aggregated DBs)

Olly Betts olly at survex.com
Tue Apr 7 07:14:04 BST 2020


On Fri, Feb 21, 2020 at 07:20:22PM +0000, Eric Wong wrote:
> Btw, is the XS Perl binding going to be updated for Database::size()?
> Or is the SWIG binding the only way forward?

The XS Perl bindings require manual changes to wrap any new C++ method,
so they've always ended up lagging behind the C++ API.

The SWIG bindings automatically wrap most new C++ methods without any
manual changes at all, which means they are usually up to date and
are much less work to maintain.

So I definitely see the SWIG bindings as the future.  There are a
few lingering compatibility niggles I'd like to resolve, but we
really ought to resolve the lingering problems we easily can and
document any incompatibilities we can't resolve, then declare them
"ready".

I'm not very actively maintaining Search::Xapian at this point - I'll
fix compatibility issues and the like, but I'm not updating it for new
C++ API features.  However, I'm happy to merge clean patches for
Search::Xapian if there are missing things people care about enough to
address.  Wrapping methods that were added in a recent 1.4.x release is
probably a bit trickier as ideally the XS bindings should build with any
1.4.x release.

> Fwiw, I also wrote about some issues I found with the SWIG binding
> sometime back: https://trac.xapian.org/ticket/523#comment:13
> (but I've worked around the issues and public-inbox supports both
> SWIG and XS on FreeBSD systems)

Sorry, I must have missed that comment at the time.  I pushed fixes for
those earlier today.

If anyone else knows of incompatibilities which aren't covered in
https://trac.xapian.org/ticket/523 then please report them.

Cheers,
    Olly



More information about the Xapian-discuss mailing list