Boost logo

Boost :

Subject: Re: [boost] CMake - one more time
From: Raffi Enficiaud (raffi.enficiaud_at_[hidden])
Date: 2016-04-24 04:35:49


Le 24/04/16 à 01:12, Paul Fultz II a écrit :
>> You don't need the entire Boost to test Hana with Boost.Build. There is no easy way at present to get just the subset you would need, or even determine what that subset is, but this is not a limitation of Boost.Build or of the current Boost structure. The modules are optional. The main test script does include everything but it should be easy to fix it to walk the tree instead. The main build script has already been made intelligent enough to build what's there and not build what isn’t.
>
> Yes, its capable. My point being that boost move in the direction of being able to be built and distributed in modules(perhaps using bpm) instead of putting everything in a superproject.

There are good things in having a superproject though, especially (from
the top of my head):
- a release is associated to a unique revision of the superproject (not
as many revs as there are libraries)
- library authors do not need to take care of releases, this is done by
the (wonderful) release team
- the set of module is scoped and its state is consistent. I believe
this is harder to achieve if, eg. at some point libraries external to
boost are referenced.

To be honest, as a developer, I do not care so much of being forced to
clone the whole superproject, it works quite well on all the platforms I
tried so far. The number of libraries grows quite slowly as well, and I
had to clone once per machine so far.

I also rely on platform packager: even if they are sometime quite slow
in delivering new versions (although Brew is quite reactive, Debian much
less), they are quite good at their job.

But as you point out, I believe that tools such as BPM can be augmented
with some "intelligent cloning" of submodules for instance, which would
avoid that. So then you would have to clone the superproject in a
shallow manner, and then compile BPM to clone the subset of libraries
you need. This will address the particular use-case you are referring to
in the case of Hana, and I believe this is useful for many people as well.
The DAG that BPM is maintaining can be updated manually, or in a commit
oriented manner by the robot for instance (although I do not like robots
being empowered with commit ability).

>> To fully test Hana, by the way, you do need a number of other Boost libraries, mostly because of the ext/ directory. Or so Boostdep informs me.
>>
>> _______________________________________________
>> Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost
>
>
> _______________________________________________
> Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost
>


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