List Info

Thread: implicit-dependency problem




implicit-dependency problem
user name
2006-02-10 09:19:11
Hi Daniel,
> I am trying to use <implicit-dependency> to bring
in a header generated by
> the msvc mc generator.
>
> The person who helped me figure this out told me I had
to include both
> <implicit-dependency>msg
> <dependency>msg
>
> This seemed a bit odd to me, but the dependant won't
compile unless either
> <dependency> is given or the msg target is built
first.
>
> Does this seem right?  Is there a bug with
<implicit-dependency>?
>
> Attached is a test case (requires msvc toolkit).

Thanks for providing the testcase! But you forgot to tell
how to use it 
If I run "bjam", the "msg" target is
built, just because it's part of the same 
Jamfile and is not marked as "explicit".

I suppose you meant running "bjam test". There are
points to make:

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).

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.


- Volodya





_______________________________________________
Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost-build
[1]

about | contact  Other archives ( Real Estate discussion Medical topics )