diff --git a/doc/building.html b/doc/building.html index bc6dc01b..fd101617 100644 --- a/doc/building.html +++ b/doc/building.html @@ -77,10 +77,10 @@ library, but if multiple Boost.Python extension modules are used together, it will prevent sharing of types across extension modules, and consume extra code space. To build boost_python, use Boost.Build in the usual way - from the libs/python/build subdirectory of your boost - installation (if you have already built boost from the top level this may - have no effect, since the work is already done).

+ href="../../../tools/build/v1/build_system.htm">Boost.Build in the + usual way from the libs/python/build subdirectory of your + boost installation (if you have already built boost from the top level + this may have no effect, since the work is already done).

Basic Configuration

You may need to configure the following variables to point Boost.Build at @@ -266,48 +266,79 @@ bjam -sTOOLS=Building your Extension Module - Though there are other approaches, the smoothest and most reliable - way to build an extension module using Boost.Python is with - Boost.Build. If you have to use another build system, you should - use Boost.Build at least once with the - "-n" option so you can see the command-lines it uses, - and replicate them. You are likely to run into compilation or linking - problems otherwise. + Though there are other approaches, the smoothest and most reliable way to + build an extension module using Boost.Python is with Boost.Build. If you + have to use another build system, you should use Boost.Build at least + once with the "-n" option so you can see the + command-lines it uses, and replicate them. You are likely to run into + compilation or linking problems otherwise. - The libs/python/example - subdirectory of your boost installation contains a small example - which builds and tests two extensions. To build your own - extensions copy the example subproject and make the following two edits: +

The files required to build a Boost.Python extension module using bjam + are the "local" files Jamfile, Jamrules, and + boost_build.jam, and the boost/ + and tools/build/v1/ subdirectories of your Boost + tree. The latter directory contains the source code of the + Boost.Build system, which is used to generate the correct build + commands for your extension module. The 'v1' refers to + Boost.Build version 1. Version 2 is pre-release and currently not + ready for general use. -

    -
  1. boost-build.jam - -edit the line which reads +

    + The libs/python/example/ project we're going to build is + set up to automatically rebuild the Boost.Python library in place + whenever it's out-of-date rather than just reusing an existing + library, so you'll also need the Boost.Python library sources in + boost/python/src/. +

    -
    +
    + Note: Third-party package and distribution maintainers + for various operating systems sometimes split up Boost's + structure or omit parts of it, so if you didn't download an + official Boost + release you might want to browse our CVS + structure to make sure you have everything you need, and in the + right places. +
    + +

    The libs/python/example + subdirectory of your boost installation contains a small example which + builds and tests two extensions. To build your own extensions copy the + example subproject and make the following two edits:

    + +
      +
    1. + boost-build.jam - edit + the line which reads + +
       boost-build ../../../tools/build/v1 ;
       
      -
      +
    + so that the path refers to the tools/build/v1 + subdirectory of your Boost installation. +
  2. -so that the path refers to the tools/build/v1 subdirectory -of your Boost installation. +
  3. + Jamrules - edit + the line which reads - -
  4. Jamrules - -edit the line which reads - -
    +
     path-global BOOST_ROOT : ../../.. ;
     
    -
    -so that the path refers to the root directory of your Boost installation. -
+ + so that the path refers to the root directory of your Boost + installation. + + -

- The instructions above for testing Boost.Python - apply equally to your new extension modules in this subproject. +

The instructions above for testing Boost.Python + apply equally to your new extension modules in this subproject.

Build Variants

Three
-

© Copyright David Abrahams 2002. Permission to copy, use, modify, - sell and distribute this document is granted provided this copyright - notice appears in all copies. This document is provided ``as is'' without - express or implied warranty, and with no claim as to its suitability for - any purpose.

+

© Copyright David Abrahams 2002-2004. Permission to copy, + use, modify, sell and distribute this document is granted provided + this copyright notice appears in all copies. This document is + provided ``as is'' without express or implied warranty, and with + no claim as to its suitability for any purpose.

-

Updated: 29 December, 2002 (David Abrahams)

+

Updated: 13 April 2004 (David Abrahams)