Boost logo

Boost-Build :

From: David Abrahams (dave_at_[hidden])
Date: 2006-11-20 12:25:13


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.

-- 
Dave Abrahams
Boost Consulting
www.boost-consulting.com

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