Boost logo

Boost-Build :

From: TEMPLIE Cédric (cedric.templie_at_[hidden])
Date: 2005-01-05 08:26:01


I use <dependency> in my project requirements to specify which projects
have to be build before the current project can be build...

In most cases project to build before have themself dependency project.
These dependency project could be the same for 2 projects...

It seems that if there is at least one cross dependency, the system
rebuild unnecessary things.


project a : <dependency>/b <dependency>/c
project b : <dependency>/d
project c : <dependency>/d

if I build project a by doing bjam debug in the dir of project a, it
build b, c, d and a. Just after without modifying anything, I retry to
build project a (bjam debug).
it rebuild project b, c, d and a....

I suppose that it is the way <dependency> work.

Anyway, I do not like very much to use <dependency>, I am sure using
<source> to depends on other project libraries is the better way to
work. And I think that using that will avoid my rebuild issues.

I know that my system is complex, but all difficulties I have are
because when I build a project, I also need to stage some sources...

Vladimir Prus told me a solution: have an alias at top-level that calls
all of stage rules of my subprojects, but what I want is to stage things
only when the project is build... so it is not enough. Or I missed
something in the explanation of Vladimir Prus...

But if there is a way to tell the system to stage some things after
building (without to have something like bjam install) I certainly
change my build system to use <source>.
I mean if a project need a lib to build, the fact to build this lib
implies that the lib and its headers is exported in a specific directory.

I know that Vladimir Prus was working on stage dependencies, but I don't
know what is the state of the work he did.

One other thing, I want to be able to build all projects from the
top-level and projects individually.

Thanks in advance



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