|
Boost-Build : |
From: Vladimir Prus (ghost_at_[hidden])
Date: 2004-07-10 01:13:20
Christopher Currie wrote:
> 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
Nope. In target references, at least now, the feature name should be
explicitly specified.
> > 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".
IIRC, this was the original reason (brough by Ali) why double slash was added.
- Volodya
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