On 5/6/19 11:15 PM, Gavin Lambert via Boost wrote:
There's no particular reason why a b2 build couldn't do the same thing -- in fact it probably already does.
Right - that's what "b2 headers" does. b2 headers creates a structure of links which maps the original to that which the user uses. But this is not a good match for users needs. And users don't want to have to deal with b2. This is why my proposal doesn't added any new burden to the user.
So whenever the user runs the "get me a Boost library" command (whatever that turns out to be) it probably has to run a b2 build anyway, so that will just happen.
I'm not seeing this at all. I don't think any solution which requires a user to download, build and execute b2 is going to fly.
I don't see why it would need to be any more complex than downloading the existing Boost superproject root and doing the equivalent of "git submodule update --init" on only the specified submodules, then running a b2 build/stage cycle (modified to cope with missing modules).
Some would disagree with you.
To clarify, I don't mean that "regular users" should have to do a full git clone (if they wanted one, they could already do that). But there are ways to tell git to only download a specific tree without any history, or to just use snapshot archives instead of using git itself.
Hmmm - I can't understand all that the above does and how it does it. I would hope it would be easy to invoke: Get me boost library X and place in directory location Y. This would boil down to invoking a git clone and making the translation from the boost development tree to the simpler tree structure that users currently get. If there is git command that can do this- great! Please post it here. Robert Ramey