Boost logo

Boost :

From: Peter Dimov (pdimov_at_[hidden])
Date: 2019-05-24 18:27:38


Mathias Gaunard wrote:
> Hi,
>
> I'd like to point out that bcp namespace aliasing has been broken for
> quite a while, which impacts package providers of Boost which choose to
> package it with a versioned namespace.
> We should try to fix to enable more people to upgrade.
>
> The bug has been reported March 2018 on trac
> https://svn.boost.org/trac10/ticket/13460
> Then again by me this week on github
> https://github.com/boostorg/bcp/issues/4

Your issue is a bit on the laconic side. You don't explain what the problem
is, you don't explain how the problem can be reproduced, what is the
scenario that breaks, how we can test it to be sure it's fixed, etc.

I can guess that bcp --namespace=foo edits the line

    import tools/boost_install/boost-install ;

into

    import tools/foo_install/boost-install ;

and that it turns

    name = boost_$(name) ;
    autolink = <link>shared:<define>$(name:U)_DYN_LINK=1 ;

into

    name = foo_$(name) ;
    autolink = <link>shared:<define>$(name:U)_DYN_LINK=1 ;

which results in FOO_DYN_LINK=1 being defined.

We can fix the latter by changing it to

    autolink = <link>shared:<define>BOOST_$(name:U)_DYN_LINK=1 ;
    name = boost_$(name) ;

and we could in principle change the former to

    import tools/boost\_install/boost-install ;

in order to hide it from bcp, although that's not very pretty.

But as a first step I think that we need to add a Travis test to tools/bcp
that exercises the scenario we want to fix. For which we probably need to
know what it is.


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk