
AMDG On 05/09/2012 01:06 PM, Daniel James wrote:
On 9 May 2012 20:18, Daniel Pfeifer <daniel@pfeifer-mail.de> wrote:
2012/5/9 Steven Watanabe <watanabesj@gmail.com>:
<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