| Version 9 (modified by , 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.
| File | Lines | Status | Notes |
| targets.jam | 1550 | almost | |
| feature.jam | 1284 | pending | |
| virtual-target.jam | 1231 | almost | Need to fix dependency properties |
| generators.jam | 1214 | pending | |
| project.jam | 1018 | pending | |
| property.jam | 694 | pending | |
| toolset.jam | 510 | pending | |
| property-set.jam | 464 | pending | |
| type.jam | 370 | pending | |
| build-request.jam | 301 | pending | |
| modifiers.jam | 241 | pending | |
| scanner.jam | 151 | pending | |
| alias.jam | 75 | done | |
| version.jam | 20 | pending |
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
- Use 'Metatarget' prefix for classes in the 'target' module
- Kill ProjectAttributes and keep all information about project inside ProjectTarget
Note:
See TracWiki
for help on using the wiki.
