|
Boost : |
Subject: Re: [boost] Boost Modularization: did we get it right?
From: Steven Watanabe (watanabesj_at_[hidden])
Date: 2012-05-10 01:46:02
AMDG
On 05/09/2012 01:06 PM, Daniel James wrote:
> On 9 May 2012 20:18, Daniel Pfeifer <daniel_at_[hidden]> wrote:
>> 2012/5/9 Steven Watanabe <watanabesj_at_[hidden]>:
>>
>> <snip>
>>
>>> Behavior:
>>> If symlinks are supported, creates a symbolic
>>> link to the directory.
>>
>> This is fragile. Imagine Graph generates a link at boost/graph and
>> GraphParallel generates a link at boost/graph/parallel.
>> GraphParallel's link will end up in Graph's source directory!
>> There is also the case that multiple libraries provide files in the
>> same directory (eg. boost/pending). They cannot all link the
>> directory.
>>
>> The script should always link individual files. That is dead slow,
>> yes. But it is the only safe approach.
>
> Have you seen GNU stow? It links directories, but if two packages
> clash, replaces the link with a new directory, and fills that with
> links.
>
That should work. I've tried to implement
it in the attached.
Usage is:
import link ;
symlink boost-utility : utility/include/boost : <location>. ;
symlink boost-graph : graph/include/boost : <location>. ;
...
project :
requirements
<include>.
<implicit-dependency>boost-utility
<implicit-dependency>boost-graph
...
;
I haven't tested this beyond basic
merging of two directories yet. Once
I get it fully working, we should be
able to just add an appropriate glob
to Jamroot.
In Christ,
Steven Watanabe
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk