From: Toon Knapen (toon.knapen_at_[hidden])
Date: 2004-10-11 06:11:59
Jürgen Hunold wrote:
> Hi !
> On Monday 11 October 2004 12:24, Toon Knapen wrote:
>>Vladimir Prus wrote:
>>What's weird is that
>>lib bar : foo ;
>>obj foo : foo.cpp : <variant>release:<optimization>off ;
>>will induce all dependencies of library 'bar' (wich are in some
>>project-rule) to be compiled with '<optimization>off' also ?!
> You mean all libraries on which 'bar' depends ?
Yes that is whay I mean.
> Yes, you will get them all compiled with these flags too.
This is not very logical IMO. libary 'bar' depends on foo and on some
other libraries, let's say xyz. Now the rule that generates the 'foo'
object specifies extra requirements. These requirements will be
propagated to the targets on which foo depends (but there are no such
targets). Foo OTOH has no usage-requirements and thus no specific
requirements should be propagated to the targets that depend on foo
(like bar). And certainly bar should not take this requirement of foo
and propagate it to all targets on which bar depends. This means that
the requirement on foo.o is propagated in two directions (first to the
dependent 'bar' of 'foo') and next to all dependencies of 'bar'.
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