File: HACKING

package info (click to toggle)
pybindgen 0.20.0%2Bdfsg1-5
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 1,932 kB
  • sloc: python: 15,981; cpp: 1,889; ansic: 617; makefile: 86; sh: 4
file content (25 lines) | stat: -rw-r--r-- 1,048 bytes parent folder | download | duplicates (7)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
== Needed tools ==

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