From: David Abrahams (david.abrahams_at_[hidden])
Date: 2002-02-10 23:53:19
----- Original Message -----
From: "bmosher_at_crosswinds_dot_net" <bmosher_at_[hidden]>
> > Firstly, the precise meaning of "rooted dynamically" isn't
> > completely clear to me.
> A better description of the question might be "Will the Boost.Build
> system allow you to cd to an arbitrary directory of the tree and
> build all the targets defined there and below in its subtree?"
I'm pretty sure you can just have each directory's Jamfile contain
subincludes for its immediate subdirectories.
> > ... Is it too much of a burden to keep
> > the directory you've labeled "top level repository root" around? It
> > does result in at most log(N) extra directory levels, but in your
> > case it looks like that number is 1, and it might even be zero.
> I'm not sure that I'm in a position to answer this as I'm trying to
> fit into the existing practice at our shop. This question arose when
> I was going over the Boost.Build functionality with our build
> engineer. Truthfully, the current nightly build system does works
> from the top-down. It's the individual developers that we'd like to
> accommodate. They currently use msvc ide dsp's to do their work and
> often pull down just the subtree of interest to them. Getting them to
> switch to jam looks to be a challenge and we're hoping to be as
> flexible as we can to minimize organizational resistance. Maybe we
> can get them to maintain the structure from the top-level when they
> checkout, but it's hard to say. The tree is currently deeper than my
> simplified diagram indicated. I personally don't mind keeping the
> top-level directory fixed.
Eventually I hope someone will implement what's needed to have the Jamfiles
generate .DSPs (and other IDE project formats)... but I make no promises ;-)
> > I assume that by "hard-rooted" you mean that the relative locations
> > of subprojects to the project root is fixed. Yes, that's the
> > intention of Boost.Build V1. As I've said, though, the project root
> > is just there to make a convenient place to build everything from,
> > and to stash common user-defined rules. You can invoke subinclude
> > from any Jamfile.
> Hmm, based on this last statement, it sounds as though I could easily
> define intermediate Jamfiles to do this aggregation. They would do
> nothing but subinclude the subprojects below it. Then I guess the
> only problem would be keeping the root directory fixed. Seems
> straightforward enough. If we can abandon the need to remap the
> client root, this would work, correct?
> Am I on the right track here?
To me, it sounds like you are.
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