From: Vladimir Prus (ghost_at_[hidden])
Date: 2006-11-22 03:26:08
On Monday 20 November 2006 20:25, 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:
> > 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
I think that such syntax has some advantages. In fact, I plan to
implement "named parameters" for main rules really soon now,
and this syntax might be fused with it.
But let's do one thing at a time -- good or bad, "explicit foo" works now.
Rene, will you make install targets explicit, or should I?
After that, can either Dave or Rene enter a new ticket about better syntax?
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