Boost logo

Boost-Build :

Subject: Re: [Boost-build] selecting Python version for Boost.Python
From: Stefan Seefeld (stefan_at_[hidden])
Date: 2018-02-06 20:53:41


On 06.02.2018 15:25, Steven Watanabe via Boost-build wrote:
> AMDG
>
> On 02/06/2018 12:46 PM, Stefan Seefeld via Boost-build wrote:
>>> Python does not conform to this. It only supports one
>>> version of python 2 and one version of python 3 which
>>> are determined solely by the configuration files and
>>> cannot be overridden on the command line.
>> That's exactly what I'd like to fix. In fact, there are multiple issues
>> I'd like to fix, but to do that I need to understand what behaviour
>> would be consistent with the rest of b2.
>> Here are the issues I want to address:
>>
>> * `b2 python=<N>` doesn't have any effect, when it really should pick a
>> single python version
>> * the current logic builds at most two versions, as you say: at most one
>> python 2 and one python 3 version. For consistency we should build as
>> many versions as are selected
>> * a requirement for the last point: instead of just appending '3' to the
>> library name iff it's built with Python 3, the real Python version, i.e.
>> <major><minor> (without the dot) should be appended.
>>
> The way to do this is to change the <tag> rule to append
> the version to the name instead of creating separate
> targets for python2 and python3. This change should
> fix all of the above.

Trying to figure out what the "tag rule" is and how to change (I assume
"override" ?) it, I find
https://github.com/boostorg/python/blob/develop/build/Jamfile#L110-L111.
Can you explain the meaning of those two lines ? (In particular, the
second line, featuring "...python-tag".)

Thanks,

Stefan

-- 
      ...ich hab' noch einen Koffer in Berlin...
    



signature.png

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