Boost logo

Boost-Build :

From: Vladimir Prus (ghost_at_[hidden])
Date: 2003-12-19 06:42:18


Vladimir Prus wrote:

> > I intend to use <include-type> everywhere so it's not a problem to me.
> > However, I think it's not very elegant, and even with proper
> > documentation it may be confusing to the non-initiated...
>
> Yes, that's the primary reason why I'm not sure what to do.
>
> And it turns out there's another problem. If all targets are returned, the
> check for unused targets will be broken. Say we got target as source and
> did nothing with it.
> Is it because something's wrong, or just the target is of 'non-consumable'
> type? Should we emit the warning about unused source?
>
> Some time ago we were checking that at least one target from a main target
> is consumed. That logic was complex, and I've simplified it. And with the
> current logic we'll either get not warnings at all, or spirous warnings.
> What a mess!

Ok, I think I've found the solution. Some time ago Dave said it would be good
to mark targets which are not indented to be processed earlier. I've
implemented this now. All targets produced by a generator are marked as
"intermediate", but for top-level generator, the targets which are of
requested type are marked as non-termporary.

E.g. now

lib a : a.cpp ;

returns only targets of type "LIB". With my change it place, it returns more
targets (say, RSP, or STATIC_DATA that I wanted), but those extra targets are
marked "intermediate".

This allows 'stage' rule to install only non-intermediate targets, but other
main target which are free to use all targets.

If I don't hear objections to this way of doing things, I'll commit my change.

- 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