Boost logo

Boost-Build :

From: Vladimir Prus (ghost_at_[hidden])
Date: 2003-09-17 00:20:12


Rene Rivera wrote:

> > /cdrom
> > project
> > lib1
> > lib2
> >
> >In project1 I run, say
> >
> > bjam --build-dir=/home/ghost/build/project
> >
> >and targets will be generated to the specified directory. What is
> > "project" depends on "lib1" and "lib2"? Where should targets be
> > generated?
> >
> >And, BTW, if V1 now supports multiple projects, how it solves this
>
> question?
>
> Some of those same questions are why in the v1 cross-project changes I
> moved to putting the generated binaries into a single integrated
> project-root level "bin" directory. Basically it sets ALL_LOCATE_TARGET to:
> <project-root>/bin/<project-name>/path/to/sub-project, for each project
> used. That keeps the targets all unique.

The problem with V2 is that there's no requirement to specify any id for a
project. Jamfile at "project" can just refer to a target in "lib1/Jamfile",
and that last Jamfile not necessary will specify project-id.

But, sure we can require that if user wants to relocate build directories,
then Jamfile at each project root should specify project-id. Seems like a
good solution.

> In your example, assuming all those directories are individual projects,
> you would end up with:
>
> build/project/bin/project/...
> build/project/bin/lib1/...
> build/project/bin/lib2/...

Does that mean than in all circumstances, external projects will be generated
under current project? I.e. if the same library is used by two project, it
will be compiled twice?

- 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