Boost logo

Boost-Build :

From: Christopher Currie (codemonkey_at_[hidden])
Date: 2004-07-09 10:58:00


David Abrahams wrote:

> OK, so I read on a bit and find that we're using constructs like:
>
> /other_project//lib1/<link>static
>
> Now, this just seems like egregious overloading of the "/"
> character. Here we have a target reference and a property.
> Presumably the reason we need "//" is because an implicit feature
> might be used:
>
> /other_project//lib1/gcc
>
> and we need to distinguish this from the target called "gcc" in the
> other_project/lib1 project. But how is this _not_ going to be
> confusing for people? It's confusing for me!

The other reason we need the double slash is when the target name
contains a slash. Say I have a tool that generates header files, and I
want to have those headers placed in an arbitrary directory structure;
the easy way is to do something like:

myrule includes/genheader.hpp : gensource.x ;

Now I'd need the double slash so that when I refer to:

/project/path//includes/genheader.hpp

BB knows to look for a project called "/project/path" and not
"/project/path/includes".

-- 
Christopher Currie <codemonkey_at_[hidden]>
 

Boost-Build list run by bdawes at acm.org, david.abrahams at rcn.com, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk