On 06.02.2018 17:30, Steven Watanabe via Boost-build wrote:
AMDG

On 02/06/2018 03:07 PM, Stefan Seefeld via Boost-build wrote:
OK, I'm attempting to simply change the `python-tag` rule (in Jamroot)
to inject the python version (<major><minor>) into the generated name
(if it's a library).
Additionally to that change, I modified Boost.Python's Jamfile to remove
the explicit looping over versions, as per your suggestion:

https://github.com/boostorg/python/commit/ae1875b3ac3e90f68900c1c8fe88fa8556dac2e1

This works, somewhat: If I have a single "using python" statement in my
user-config.jam file, I get libraries "boost_python" and "boost_numpy"
with the expected version suffix.
However, I only get one ! With more than one "using python" statements,
only the first will be built. What am I missing ?
Did you ask for multiple versions on the command line?

No. I see I misunderstood. Unless versions are explicitly specified on the command-line, only the first one found is being built. OK, that works indeed now.
(Oh, and in addition, the build path also doesn't include the python
version any longer, so even if b2 would do the looping implicitly,
different versions of object files would overwrite each other, as per a
bug we discussed recently.)

The version is not included in the path when it is equal to the default.

Indeed, so that works too.

So now that the library name has changed, I suppose there is at least one other change I need to add: Windows auto-linking support requires the library name to be encoded in some source (header) file, doesn't it ?

Any other changes I need to make, either to code or build logic, somewhere ?

Thanks !

Stefan
-- 

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