Changes between Version 3 and Version 4 of PythonPort
- Timestamp:
- Oct 10, 2007, 12:51:24 PM (18 years ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
PythonPort
v3 v4 1 = Python port information=1 = Boost.Build V2 python port = 2 2 3 There's highly experimental Python port of Boost.Build V2. It's currently not intended for users at all, and unless you're willing to develop it, we suggest you don't even look at it. 3 This page describes porting of Boost.Build to Python. This page is only of interest of developers willing to help 4 with the port. 4 5 5 If you're willing to work on that port, follow these steps: 6 == Why? == 6 7 7 * Get CVS version of Boost.Build V2 8 * Run the following command from the source root: 9 {{{ 10 cvs up -r BOOST_BUILD_PYTHON python 11 cvs up -r BOOST_BUILD_PYTHON pybb.jam 12 }}} 8 Boost.Build V2 is mostly implemented in the interpreted language of the underlying build tool, and it has 9 a number of problems: 13 10 14 * Build {{{bjam}}} with Python support: 15 {{{ 16 ./build.sh --with-python=/usr 17 }}} 18 * Set the {{{BOOST_BUILD_PATH}}} to the directory where Boost.Build is located. 11 * No user knows that language, making it hard to extend Boost.Build or become new developer. 12 * The language is strange at times, and not very nicely documented. 13 * There's no standard libraries, so every new functionality should be implemented from scratch 14 * The only data structure in the language is list of strings. This makes many tests cumbersome, and leads to excessive memory consumption and poor performance on some workloads. 19 15 20 * Go to {{{python/tests/bjam/make}}} and run: 21 {{{ 22 bjam --build-system=pybb 23 }}} 24 The expected effect is that the {{{a.cpp}}} file is copied to {{{a}}} file. 16 == How? == 17 18 The Python port is supposed to be 1:1 translation, with only mechanical changes. The language used to describe targets will 19 not change, and all tests won't be altered. The port will be declared complete when all files are ported, and all tests pass 20 using ported version. 21 22 == Hacking and trying == 23 24 25
