wiki:PythonPort/Process

Version 2 (modified by ghost, 18 years ago) ( diff )

--

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.
  • 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.
Note: See TracWiki for help on using the wiki.