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).
When I go somewhere inside the Boost source tree, and use b2 to build a
target, and that target has #include , 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.
I agree that this would not be an issue if b2 used separate include paths
for each library.