wiki:PythonPort/Status

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

--

Boost.Build Python port overall status

What works

  • Interface between Python and Boost.Jam build engine is finished.
  • Project loading and target declaration works
  • Top-level code is ported, including getting build request, loading configuration files and projects and building/cleaning.
  • A simple project with a 'make' rule loads and builds fine

Status of porting code modules

The below table documents the state of files in the 'build' directory. There, 'done' means the file is totally done, 'almost' means the file is essentially done, but maybe we tweaks are necessary as other files are ported and 'pending' is not yet there.

FileLinesStatusNotes
targets.jam1550almost
feature.jam1284pending
virtual-target.jam1231almostNeed to fix dependency properties
generators.jam1214pending
project.jam1018pending
property.jam694pending
toolset.jam510pending
property-set.jam464pending
type.jam370pending
build-request.jam301pending
modifiers.jam241pending
scanner.jam151pending
alias.jam75done
version.jam20pending

Status of porting tools

We'll start by porting gcc, and proceed to other compilers only when all tests pass with gcc.

Post port: code cleanup

After all tests are passing with gcc, the following cleanups are desired:

  • Convert all modules still using global variables to using 'context' object.
  • Introduce Property class, and no longer store properties as specially formatted strings

Post port: design cleanup

Note: See TracWiki for help on using the wiki.