Boost logo

Boost-Build :

From: David Abrahams (dave_at_[hidden])
Date: 2005-04-28 08:55:57


Vladimir Prus <ghost_at_[hidden]> writes:

> On Thursday 28 April 2005 16:10, David Abrahams wrote:
>> Vladimir Prus <ghost_at_[hidden]> writes:
>> > Ouch! The site-config file initializes stlport, which is a project
>> > itself, and so tries to inherit from 'user-config', that's not defined
>> > yet!
>> >
>> > I've modified the logic so that "standlone" project (those that don't
>> > correspond to Jamfiles), do not inherit from user-config.
>> >
>> > Can you try again?
>>
>> I think one problem is that
>>
>> # Support for Python and the the Boost.Python library.
>> #
>> # This module defines
>> #
>> # - a project 'python' with a target 'python' in it, that corresponds
>> # to the python library
>> #
>>
>> Which "python library?" Boost.Python, or Python itself?
>
> The target 'python' correspond to Python itself.

That's unclear from the comments; please clear it up.

>> Can't I get support for Python without bringing in
>> Boost.Python-related stuff?
>
> At the moment, no. The python.jam both defines 'python' target --
> which is for Python itself, and python-extension -- which is for
> Boost.Python.

We'll need to get that cleared up eventually: there should be
Boost.Python-unaware rules or target types for extending and embedding
Python, and something else (if we need it) for Boost.Python.

>> # - a main target rule 'python-extension' which can be used
>> # to build a python extension.
>> #
>> # Extensions that use Boost.Python must explicitly link to it.
>>
>> rule init ( version ? : root ? : includes ? : libraries ? :
>> cygwin-condition ? ) {
>>
>>
>> ...
>>
>>
>> rule python-extension ( name : sources * : requirements * : default-build *
>> : usage-requirements * )
>> {
>>
>>
>> So why aren't there any comments describing the arguments to init and
>> python-extension?
>
> Well, 'python-extension' arguments are exactly the same as for any main
> target. I'll document 'init' right now.
>
>>
>> It appears that the includes argument to init is never even used.
>> What's up with that?
>
> It's passed to 'init-unix', for example, and then used there:
>
> includes ?= $(root)/include/python$(version) ;
> .........
> alias python
> :
> :
> :
> : <include>$(includes)
> <library-path>$(libraries)
> <find-shared-library>python$(version)
>

But it's never used for Windows.

-- 
Dave Abrahams
Boost Consulting
www.boost-consulting.com
 

Boost-Build list run by bdawes at acm.org, david.abrahams at rcn.com, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk