Changes between Version 3 and Version 4 of PythonPort


Ignore:
Timestamp:
Oct 10, 2007, 12:51:24 PM (18 years ago)
Author:
ghost
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • PythonPort

    v3 v4  
    1 = Python port information =
     1= Boost.Build V2 python port =
    22
    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.
     3This page describes porting of Boost.Build to Python. This page is only of interest of developers willing to help
     4with the port.
    45
    5 If you're willing to work on that port, follow these steps:
     6== Why? ==
    67
    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 }}}
     8Boost.Build V2 is mostly implemented in the interpreted language of the underlying build tool, and it has
     9a number of problems:
    1310
    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.
    1915
    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
     18The Python port is supposed to be 1:1 translation, with only mechanical changes. The language used to describe targets will
     19not change, and all tests won't be altered. The port will be declared complete when all files are ported, and all tests pass
     20using ported version.
     21
     22== Hacking and trying ==
     23
     24
     25