Boost logo

Boost :

Subject: Re: [boost] Directory structure not quite right yet?
From: Bjørn Roald (bjorn_at_[hidden])
Date: 2015-01-02 03:30:45


On 02. jan. 2015 06:16, Peter Dimov wrote:
> Bjørn Roald wrote:
>> However, "b2 stage" could by default have same effect as "b2 install
>> --prefix=.", then you will get exactly what you want I think.
>
> No, this is not what I want. I don't want two copies of the headers, one
> in include/boost/, and one in boost/ (that would be pretty stupid). I
> don't want a symlink include/boost -> boost (somewhat less stupid).

You cut out too much of my post to see the context here. My point was
that when the $BOOST/boost folder is gone, because the "b2 headers"
target is gone, there will not be two copies, only one. And there will
not be symbolic links or hard links, it will be real copies of every
file that is copied by the install or stage rules. Note that these
files are staged like this as convenience for the end user which is
using boost, not for building or testing boost libraries.

> When I go somewhere inside the Boost source tree, and use b2 to build a
> target, and that target has #include <boost/shared_ptr.hpp>, I want b2
> to create a link include/boost/shared_ptr.hpp ->
> libs/smart_ptr/include/boost/shared_ptr.hpp, and then to use
> <include>include, rather than creating a link boost/shared_ptr.hpp ->
> libs/smart_ptr/include/boost/shared_ptr.hpp and using <include>. .
>
> Note that this has nothing to do with staging or installing. The
> "headers" target is an implicit dependency. Even if I had a copy of the
> headers in include/boost/, b2 would still recreate them in boost/ each
> time I build something.

Not if the "b2 headers" target is removed all together.

> I agree that this would not be an issue if b2 used separate include
> paths for each library.

Right, so if that is the direction things are going, then the "b2
headers" target will be redundant and the task of staging header files
for users belongs naturally in the install and stage rules. If this is
going to happen any time the next few years, then I think moving "b2
headers" target directory into $BOOST/include now is just needless noise
regardless of its potential merit of a $BOOST/include with regard to
user expectations.

--
Bjørn

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