== Needed tools == PyBindGen uses a unofficial branch of WAF. A copy of it is included, but the original can be obtained via bazaar from launchpad: $ bzr clone lp:~gjc/waf/cmd waf-cmd You need to install python, with development headers, and a C/C++ compiler. == Project style / goals / development guidelines == Code style rules: * Should generate clean C or C++ code - Near what a human programmer would write; * Do not depend on C++ language features except when wrapping C++ APIs - It should be possible to generate pure C modules for wrapping pure C libraries; * No C++ templates allowed (except if wrapping them) * Macros should be used rarely, and should be small if used at all - Shift the complexity into Python side, keep the C/C++ simple (even if large); * Generated code should not require any external library - Whenever possible, do not create functions, expand the needed code from the Python code generator instead; == Submitting patches == 1. First, make sure all unit tests pass: waf clean && waf check 2. Report the feature/bug in launchpad: https://bugs.launchpad.net/pybindgen/+filebug 3. Attach a patch or branch to the bug report