Python bindings using cppyy (was: An update on Python bindings)

Shaheed Haque srhaque at theiet.org
Tue Nov 7 12:26:11 GMT 2017


I have made an attempt to get roughly all the bindings I was previously
attempting with SIP to be (a) generated and (b) built.

As of now, we have:

- Customisations with a diffstat that reads "21 files changed, 20
insertions(+), 48 deletions(-)".
- All but 5-6 of the formal tier 1, 2 and 3 frameworks [1] building.
- Of the wider set of 111 informal frameworks [2] I have all but 14
building.

Most of the customisations are to workaround missing dependencies in the
CMake descriptions.Most of the build issues are compile-issues (e.g.
incomplete #includes, or incorrect -I settings), but there are at least 2
that look like cppyy issues. This is pretty solid proof that building atop
technology that is based on LLVM and Cling can trivially process at least
these KDE sources (including templates, overloads, operators, and the rest).

Oh, and it has taken about a month to get here. As a baseline, the
SIP-based attempt took about 18 months, several thousand lines of custom
rules (including a lot of deleting overloads, operators and templates that
could not be handled) to get a little over half the bindings through steps
a and b. The build takes about 10 minutes on a single core, versus about
3-4 hours with the SIP-based attempt.

More anon...

Thanks, Shaheed

[1] https://api.kde.org/frameworks/
[2] More liberally defined than [1], corresponding to what Ubuntu installs
as "libkf5xxx" packages. This include [1].
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.kde.org/pipermail/kde-core-devel/attachments/20171107/a10ffca6/attachment.htm>


More information about the kde-core-devel mailing list