From: Vladimir Prus (ghost_at_[hidden])
Date: 2005-07-06 09:52:30
On Wednesday 06 July 2005 08:32, Rene Rivera wrote:
> Valentin Samko wrote:
> > I am trying to adapt bbv2 to use it instead of existing build system
> > for a large project, and one of the requirements is to be able to have
> > several libraries/projects with the same name, but different version
> > numbers.
> > I am happy to add new bjam rules for these requirements, but I am not
> > sure I understand how to write these rules. I found <version> feature
> > and corresponding rules in \v2\build\modifiers.jam with a small example
> > in \v2\example\versioned\jamfile.jam. What exactly does this future do,
> > and how can it be used?
> Well since I wrote those I guess I have to answer, somewhat. First as
> you perhaps saw by the copyright date I wrote that a long time ago,
> can't believe it's been two years already, so it's a bit rusty. Second,
> I just checked and the code doesn't work as it's using the old style
> class syntax. Third, I'm not sure even fixing the syntax would make it
> work since so much of BBv2 has changed since then. Having said that...
> The intent of that code was to generalize the manipulations that happen
> to a target based on features and some specific rules. Basically it
> transforms some set of features into a transformation of the target, in
> the singular case implemented changing the name based on the version
> feature. This is something I did internally in BBv1 after the 2nd or 3rd
> time I rewrote the equivalent, for example templates are implemented
> with this, but it's still PITA in BBv1.
I should add that at the moment, the modifiers.jam and <version> feature are
not used in V2. The logic for adding version number for Boost, for example,
is precisely the same as in V1, and we don't yet have any problems with it.
Basically, we just have a top-level rule that add version number of all
library target names.
-- Vladimir Prus http://vladimir_prus.blogspot.com Boost.Build V2: http://boost.org/boost-build2
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