Boost logo

Boost-Build :

Subject: Re: [Boost-build] Named metatarget parameters
From: Gevorg Voskanyan (v_gevorg_at_[hidden])
Date: 2010-03-11 12:21:20

Spencer E. Olson wrote:
> I wasn't going to chime in, but I had to reply to at least one of the previous
> posts.
> Regardless of whether the language parsing could be a problem as Rene pointed
> out, the arg-type: value1 value2 thing just looks plain ugly and a lot
> different from what is used currently. Personally, I like the suggestions
> that Johan is making, such that we would have the following (including the []
> portion in the requirements):
> lib program_options
> : parsers.cpp # By position
> : requirements
> <link>static
> [ target-builds has_long_long : "skipping boost.math long long" ]
> : usage-requirements <define>BOOST_ALL_NO_LIB=1
> : default-build
> <toolset>gcc:<variant>release
> <toolset>pgi:<variant>debug
> : description "Does something about dashes on command line"
> : license "BSL 1.0"
> ;
> I really don't like the overuse of the ':' character. The above looks a lot
> more like 'project' and is much easier to understand and use than either the
> current format or some of the other suggestions. Furthermore, because we are
> not introducing a new concept for the ':' character, we don't add any more
> confusion especially when you might want to put a conditional as demonstrated
> above in the 'default-build' portion.
> Spencer

I want to second to everything Spencer has said above. Being consistent with 'project' would be just great, as it would eliminate one more source of confusion and as such ease the learning curve for newbies. Mixing styles (i.e. using [] when it is necessary and omitting otherwise) looks fine to me as well, especially as the need to use brackets would probably not come up very often anyway.

In any case, introducing named parameters for metatarget declarations is a very welcome move, so thanks a ton for bringing it up, Volodya!

Best Regards,

Boost-Build list run by bdawes at, david.abrahams at, gregod at, cpdaniel at, john at