<div dir="ltr">By the way, IIUC, it seems that SIP 4 can generate XML description of the code, and if I am reading the runes from Phil correctly, this is the core direction going forward for SIP 5 so that it can then support multiple output languages more fully.<br></div><div class="gmail_extra"><br><div class="gmail_quote">On 5 January 2017 at 23:57, Stephen Kelly <span dir="ltr"><<a href="mailto:steveire@gmail.com" target="_blank">steveire@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Chris Burel wrote:<br>
<br>
> I've been working on a fork from the KDE repos, that I've been keeping in<br>
> github (because it lets me do non-fast-forward pushes, which is disabled<br>
> for the KDE repo).  The code is here:<br>
> <a href="https://github.com/chrisburel/smokegen" rel="noreferrer" target="_blank">https://github.com/chrisburel/<wbr>smokegen</a><br>
> <a href="https://github.com/chrisburel/smokeqt" rel="noreferrer" target="_blank">https://github.com/chrisburel/<wbr>smokeqt</a><br>
> <a href="https://github.com/chrisburel/perlqt" rel="noreferrer" target="_blank">https://github.com/chrisburel/<wbr>perlqt</a><br>
><br>
> I'm thinking of pushing these changes to the KDE repos and making a<br>
> reviewboard post for the smokegen and smokeqt changes.<br>
><br>
> So, does anyone use smokeqt anymore?  Is anyone interested in taking a<br>
> look to see if my implementation of smokegen with llvm is legit?<br>
<br>
Hi Chris,<br>
<br>
That is interesting work. I've just read through your commits.<br>
<br>
Myself and Shaheed Hague have also been working on bindings for KF5 using<br>
clang to process the headers.<br>
<br>
 <a href="https://steveire.wordpress.com/2016/05/18/generating-python-bindings" rel="noreferrer" target="_blank">https://steveire.wordpress.<wbr>com/2016/05/18/generating-<wbr>python-bindings</a><br>
<br>
The major differences are<br>
<br>
 * We're using the clang-python bindings which wrap the C API whereas you<br>
use the C++ API.<br>
 * We're currently generating python bindings (though generating for other<br>
binding languages would be possible with some refactoring)<br>
<br>
I notice you have been through similar pains to us, such as typedef handling<br>
and making enums fully qualified. I wrote to the cfe-dev mailing list about<br>
that 6 months ago:<br>
<br>
 <a href="http://lists.llvm.org/pipermail/cfe-dev/2016-May/048930.html" rel="noreferrer" target="_blank">http://lists.llvm.org/<wbr>pipermail/cfe-dev/2016-May/<wbr>048930.html</a><br>
<br>
I don't know anything about perl, but this certainly looks interesting. Feel<br>
free to look into how the python bindings work too. The code is now in the<br>
extra-cmake-modules repo and is used in kitemmodels, kguiaddons and<br>
kwidgetsaddons currently.<br>
<br>
Thanks,<br>
<br>
Steve.<br>
</blockquote></div><br></div>