From: Rene Rivera (grafik666_at_[hidden])
Date: 2003-06-03 11:39:11
[2003-06-03] Ali Azarbayejani wrote:
>Vladimir Prus wrote:
>> For example:
>> exe hello : hello.cpp @/stlport/stlport ;
>> exe hello : hello.cpp : <library>@/stlport/stlport ;
>> In both cases, everything must work if @/stlport/stlport produces
>> 1. A target for a searched-library
>> 2. A target which only conveys usage-requirements, but is not intended to
>> 3. No targets at all
>I'm thinking of this both in terms of the existing design and the new
>Target design I'm working on. In both cases, this sounds like an
>appropriate application of the "run-actions" functionality.
>There is a rule "feature.action" which registers rules to run associated
>with either a feature or a property. The rule is run in the context of
>processed properties and it is in the new design the very last stage of
>property processing (in the current design it is near the end of
>property processing). Each rule may create new properties to add to the
>So, we should always write
> exe hello : hello.cpp <stdlib>stlport ;
>and should register
> feature.action <stdlib>stlport : process-stlport ;
> rule process-stlport registered-property : context-properties
> // return appropriate combination of
> // <library>@/stlport/stlport
> // <include>...
> // <define>...
> // etc.
>The only problem with this approach is that it won't work (I think).
>Because in both the existing and new designs, these rules get called
>after dependencies are generated (so the library won't be processed
>correctly). Of course, this rule could do that generation as well...
That sounds basically like the modifiers concept, except that modifiers work
both before and after (AFAIK/remember) generation of dependencies. And is
not limited to properties, it can modify the name, properties, sources, and
mutiple option of a target.
-- grafik - Don't Assume Anything
-- rrivera_at_[hidden] - grafik_at_[hidden]
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