On 9/26/07, <b class="gmail_sendername">Gustavo Carneiro</b> <<a href="mailto:gjcarneiro@gmail.com">gjcarneiro@gmail.com</a>> wrote:<div><span class="gmail_quote"></span><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
<span></span>I know Py++. You cannot compare Py++ with PyBindGen. I would say that PyBindGen replaces
Boost.Python. Py++ is a layer on top of Boost.Python. Py++ generates Boost.Python module definition sources through automatic scanning of C++ header files. PyBindGen lacks the header files scanning feature that Py++ provides, and I really miss that feature in PyBindGen. I hope that someone (maybe me) finds time to work on that for PyBindGen, some day...
</blockquote><div><br>pygccxml is stand-alone Python package. You are free to integrate it within your project. </div><br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
I'm not sure if Py++ is modular enough to be able to receive a different code generation backend besides
Boost.Python (Roman, feel free to comment :).</blockquote><div><br>Some refactoring is needed, but the code generators could share a lot of code. <br></div><br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
Although I like Py++ a lot, I really hate Boost.Python. Maybe it's because of my lack of skill in understanding C++ templates, but I feel like Boost.Python hides too many details underneath a layer of cryptic to follow set of C++ templates, while I need to see the generated code in order to check that memory management details are being declared and implemented correctly.
</blockquote><div><br>:-), I think you are going to reinvent the wheel here. I guess there are many reasons why memory management is complex and you eventually rediscover all of them<br></div><br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
In addition, to compile
Boost.Python based bindings your users need to have the boost python library and header files installed.</blockquote><div><br>Completely agree with you. It takes too much time to setup working environment. <br><br></div>
<blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;"> In contrast, PyBindGen generated extensions only require python development header files in order to compile, nothing more. I also think
Boost.Python extensions compile to rather large modules...</blockquote><div><br>This is also true. <br><br>Good luck with your project and let me know if you need help with pygccxml.<br></div></div><br clear="all"><br>--
<br>Roman Yakovenko<br>C++ Python language binding<br><a href="http://www.language-binding.net/">http://www.language-binding.net/</a>