Boost logo

Boost-Build :

From: Daniel Einspanjer (deinspanjer_at_[hidden])
Date: 2006-02-10 10:06:19


"Vladimir Prus" <ghost_at_[hidden]> wrote in message
news:200602101219.12197.ghost_at_cs.msu.su...
> 1. The '<implicit-dependency>' won't automatically build 'msg'. It just
> means
> 'I think there's header in 'msg' that this target depends on'. This is by
> design (though if you think that's wrong design, I'm open to arguments).

I would expect msg to be built by a bjam test if the mc file changed since
the header is a dependant of that file. Would you agree?

If msg were a static lib instead of a shared lib, building an exe that
depended on msg should cause msg to be rebuilt if msg.cpp. In this case
however, I would agree that <implicit-dependency> alone shouldn't cause that
behavior. In that case, I think the exe target should have both
<implicit-dependency> and <dependency> to indicate the two subtly different
dependencies on the msg target.

> 2. The *header* should be automatically generated, because it's used from
> 'log.cpp'. It's not generated, and that's a bug. Pretty subtle one,
> because
> if you say "bjam", the dependency between generated header and the
> including .cpp file will be correctly found, so this bug does not
> reproduce
> on whole-project builds.
>
> I attach a patch to fix that issue. It will soon be committed, but I'd
> need to
> write tests first so this might take more time.

I applied your patch to my tree and it does cause my real world build to
work as I would expect even when removing the extraneous <dependency>msg.

Thanks!
Daniel


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