wiki:PythonPort/Status

Version 12 (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.jam1018almost
property.jam694pending
toolset.jam510pending
property-set.jam464almost
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.

FileLinesStatusNotes
python.jam1167pending
msvc.jam1003pending
builtin.jam919pending
gcc.jam878pending
common.jam830pending
qt4.jam591pending
testing.jam518pending
mpi.jam501pending
stage.jam493pending
doxygen.jam459pending
boostbook.jam456pending
quickbook.jam314pending
stlport.jam296pending
cw.jam245pending
gettext.jam234pending
qcc.jam228pending
borland.jam224pending
unix.jam223pending
qt3.jam212pending
hp_cxx.jam168pending
intel-win.jam161pending
rc.jam155pending
pathscale.jam149pending
mipspro.jam145pending
midl.jam142pending
pgi.jam139pending
symlink.jam138pending
sun.jam137pending
dmc.jam134pending
vacpp.jam130pending
whale.jam116pending
xsltproc.jam112pending
como-win.jam112pending
generate.jam108pending
acc.jam107pending
fop.jam102pending
intel-linux.jam101pending
como-linux.jam101pending
package.jam98pending
pch.jam97pending
darwin.jam96pending
cast.jam89pending
docutils.jam81pending
make.jam73pending
notfile.jam71pending
fortran.jam55pending
boostbook-config.jam53pending
quickbook-config.jam44pending
mc.jam44pending
ifort.jam44pending
xlf.jam39pending
gfortran.jam39pending
xsltproc-config.jam37pending
hpfortran.jam35pending
cw-config.jam34pending
lex.jam33pending
bison.jam32pending
intel.jam30pending
como.jam30pending
python-config.jam27pending
qt.jam17pending
msvc-config.jam12pending
doxygen-config.jam11pending

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
  • Introduce Feature class, and don't use icky dict.

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.