Boost logo

Boost-Build :

From: David Abrahams (dave_at_[hidden])
Date: 2004-12-10 11:14:36

Vladimir Prus wrote:

> Another remark about --build-dir. We cannot use declare id of the
> project, because it can lead to clashes when you have two copies of
> the same project. Imagine:
> cd my_project bjam --build_dir=foo --with_boost=1.32 bjam
> --build_dir=foo --with_boost=cvs
> If build location for boost does not encode project location, we'll
> be building both boosts to the same place....

I thought of that. Here are several solutions that can be used together:

1. keep a record of the directory of each project that was used to build
into a given target directory. Issue a prominent warning or error if
that directory changes, with instructions about deleting the marker file.

2. Institute my target reference scheme that allows project renaming
(**), and use the ID assigned from the place where the build was
initiated to determine the target directory.

3. Encourage versioned project IDs, so boost would expose itself as
boost-1.32.0//, and *that* would be used as a target directory name.

4. Allow primary and secondary project IDs, so people who want to can
refer just to the secondary project ID (boost//)

5. As a last resort, a command-line option that allows users to direct
the build directory of any project. I'm not at all certain this is
needed if you have #2.

(**) Yes I know I need to document it. It's a bit hard to understand
where any piece of documentation fits in because I don't really
understand the BBv2 documentation structure. If you can make a
suggestion I'll get right to it.

Dave Abrahams
Boost Consulting

Boost-Build list run by bdawes at, david.abrahams at, gregod at, cpdaniel at, john at