Boost logo

Boost :

Subject: Re: [boost] [Git] Documentation for Git and Modular Boost conversion
From: Beman Dawes (bdawes_at_[hidden])
Date: 2012-12-11 17:03:14


On Tue, Dec 11, 2012 at 12:07 PM, Paul A. Bristow
<pbristow_at_[hidden]> wrote:
>> -----Original Message-----
>> From: boost-bounces_at_[hidden] [mailto:boost-bounces_at_[hidden]] On Behalf Of Beman
>> Dawes
>> Sent: Tuesday, December 11, 2012 4:50 PM
>> To: boost_at_[hidden]
>> Subject: Re: [boost] [Git] Documentation for Git and Modular Boost conversion
>>
>> On Tue, Dec 11, 2012 at 9:29 AM, Paul A. Bristow <pbristow_at_[hidden]> wrote:
>> > * Layout of directory structure seems a significantly different
>> > structure to most Boost libraries, with boost_1-0-99/boost and
>> > boost_1-0-99/libs (as referenced
>> http://www.boost.org/development/requirements.html#Directory_structure. Is this intended?
>
> You haven't confirmed that the directory structure has changed significantly.

I've added some additional works to hopefully make it clearer that the
location of header directories and headers has indeed moved.

> Was
> boost-root/boost/simple/
> simple.hpp ... /detail/stuff.hpp
>
> boost-root/libs/simple/ test
> boost-root/libs/simple/example
> boost-root/libs/simple/doc
>
> now is boost-root/libs/simple/include/simple.hpp ...

Actually,

  now is boost-root/libs/simple/include/boost/simple/simple.hpp

Note that the install procedure will install a logical link from
boost-root/boost/simple to boost-root/libs/simple/include/boost/simple
so that user includes like #include <boost/simple/simple.hpp> still
work. (Whether "logical link" is one link for the directory or one per
header, and whether symlinks, hard links, or file copies are used is
an implementation detail.)

> and
>
> boost-root/libs/simple/test,
> boost-root/libs/simple/example
> boost-root/libs/simple/doc ...
>
> There was a logic (about whose details I am having a senior moment) for the previous structure.

A user wants to be able to tell a compiler "-Iboost-root" once, rather
than have to supply a path for each library. At the time, we didn't
want to bother with logical links.

> I just want to be sure that the change is intended (and perhaps even understand why ;-)

(1) A unified directory structure for each library makes sense when
libraries live in their own public repos. (2) We want to preserve
existing user code, (3) we want to limit changes to directory
structure as much as possible.

> Would it be useful if I actually created a simple example - trying to follow your docs?

Yes!

--Beman


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