Files
pybindgen/HACKING
T

32 lines
1.2 KiB
Plaintext

== Needed tools ==
bzr branches do not come with WAF.
You have to get WAF; see http://code.google.com/p/waf/
PyBindGen has been tested to work with WAF version 1.4.2. Other
versions may or not work.
You also need to install python, with development headers, and a 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