wiki:PythonPort/Process

Boost.Build Python porting process

The Boost.Build Python porting was started by Pedro Ferreira in 2005. Quite a number of modules was ported, but final integration was not performed. This revival of this project therefore needs to:

  • Examine modules Pedro has ported, compare it with Boost.Build Jam mainline, and produce up-to-date version.
  • Port modules that were never ported.

To track what's ported and what's not, we just a comments at top of Python module. If a module has a comment in the form:

# Status: being ported by <XXX>

it means it's in the process of being ported by XXX.

If a module has a comment:

# Status: ported

then it's fully ported.

Finally, if a Python module exists but has no comment of the above forms, it has to be compared with SVN HEAD jam code and updated -- or reported from scratch, if you're so inclined. If a Python module for some Jam module does not exists, it clearly should be ported.

Guidelines

Some of important guidelines are:

  • No design changes whatsoever, except as documented in PythonPort/Design. We'll have enough fun debugging the port to afford debugging not only port, but also design changes at the same time. Even if better Python design is obvious and seems simple, try to resist the temptation for now.
  • If it's not possible to port something because another module is not yet up-to-date, leave "FIXME" comment, telling what's needed to be done.
  • If you start work on a module, please add a "# Status:" comment and immediately commit, so that others don't try to port it at the same time.
  • As a module is ported, add some explanations to PythonPort/Design -- both concerning the Python-specific issues and general notes how that level works.
Last modified 17 years ago Last modified on Oct 10, 2007, 2:57:15 PM