On 12/31/2014 06:28 PM, Peter Dimov wrote:
Typically, when some library is installed in, say, $LIB, its headers reside in $LIB/include and its .a/.lib files in $LIB/lib. Our libraries, when built, go to $BOOST/stage/lib, which is close enough. But our header directory is just $BOOST, which doesn't seem right, as the whole of Boost is accessible through it. It makes sense, at least to me, to have the headers in $BOOST/include/boost, instead of just $BOOST/boost. The transition to Git would have been a good time to switch to that - there were enough other changes to the structure.
I'm not saying that we should switch right away or something like that, but am I the only one to whom such a switch (at some unspecified time in the future) seems a good idea?
Personally and theoretically, I'm ambivalent here. We never had any practical issues with the current layout, and 'stage' is not 100% equivalent to installed package, and one can argue that $BOOST/stage/include might be a better location than $BOOST/include, or that $BOOST/stage/lib should be changed to $BOOST/lib (and then everybody will be confused bewteen "libs" and "lib", so maybe we should rename "libs" to "components"), but the change you propose is also logical and easy to make. The only important aspect though, speaking as release manager, is that if we change this now, we'll likely break a huge number of user build and automation scripts that expect current layout, lots of instructions on the web using current layout, and so forth. That's easily person-months of pain. Do we want it so badly? -- Vladimir Prus CodeSourcery / Mentor Embedded http://vladimirprus.com