Boost logo

Boost-Build :

From: Rene Rivera (grafikrobot_at_[hidden])
Date: 2006-11-20 15:19:05


David Abrahams wrote:
> Vladimir Prus <ghost_at_[hidden]> writes:
>
>>> That splits current "<build>yes" into what we actually have of implicit
>>> vs. explicit building. This way we can do the more convenient of setting
>>> "<build>explicit" at the project level, and then be able to select
>>> specific targets to <build>implicit.
>> I'm afraid this won't place nice with target alternatives:
> ^^^^^
> "play"
>
>> obj foo : foo_msvc.c : <toolset>msvc ;
>> obj foo : foo_gcc.c : <toolset>gcc ;
>> explicit foo ;
>>
>> To make 'explicit' a value of a 'build' property, you'd have to duplicate it.
>
> Surely when declaring target alternatives, the likelihood that
> something must be duplicated (e.g. "obj foo" :) ) is quite high? I
> don't see why "explicit" deserves special treatment to avoid
> duplication and I like Rene's suggestion.
>
> Actually, I would prefer to see something like:
>
> obj foo
> : [ alternative foo_msvc.c : <toolset>msvc ]
> [ alternative foo_gcc.c : <toolset>gcc ]
> : explicit # common requirements here
> ;
>
> which further improve declarativeness as well as removing more
> duplication.

Good point about doing it in one target declaration. As it happens
that's currently possible as with the extra <build>explicit:

obj foo
   : ## not sure if obj targets can have no sources here.
   : <toolset>msvc:<source>foo_msvc.c
     <toolset>gcc:<source>foo_gcc.c
     <build>explicit ;

-- 
-- Grafik - Don't Assume Anything
-- Redshift Software, Inc. - http://redshift-software.com
-- rrivera/acm.org - grafik/redshift-software.com
-- 102708583/icq - grafikrobot/aim - grafikrobot/yahoo

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