smokegen on clang - next steps

Stephen Kelly steveire at gmail.com
Thu Jan 5 23:57:15 UTC 2017


Chris Burel wrote:

> I've been working on a fork from the KDE repos, that I've been keeping in
> github (because it lets me do non-fast-forward pushes, which is disabled
> for the KDE repo).  The code is here:
> https://github.com/chrisburel/smokegen
> https://github.com/chrisburel/smokeqt
> https://github.com/chrisburel/perlqt
> 
> I'm thinking of pushing these changes to the KDE repos and making a
> reviewboard post for the smokegen and smokeqt changes.
> 
> So, does anyone use smokeqt anymore?  Is anyone interested in taking a
> look to see if my implementation of smokegen with llvm is legit?

Hi Chris,

That is interesting work. I've just read through your commits.

Myself and Shaheed Hague have also been working on bindings for KF5 using 
clang to process the headers. 

 https://steveire.wordpress.com/2016/05/18/generating-python-bindings

The major differences are

 * We're using the clang-python bindings which wrap the C API whereas you 
use the C++ API.
 * We're currently generating python bindings (though generating for other 
binding languages would be possible with some refactoring)

I notice you have been through similar pains to us, such as typedef handling 
and making enums fully qualified. I wrote to the cfe-dev mailing list about 
that 6 months ago:

 http://lists.llvm.org/pipermail/cfe-dev/2016-May/048930.html

I don't know anything about perl, but this certainly looks interesting. Feel 
free to look into how the python bindings work too. The code is now in the 
extra-cmake-modules repo and is used in kitemmodels, kguiaddons and 
kwidgetsaddons currently.

Thanks,

Steve.


More information about the Kde-bindings mailing list