Boost logo

Boost :

Subject: Re: [boost] [predef] RFC: Predefined version numbers library..
From: Rene Rivera (grafikrobot_at_[hidden])
Date: 2011-12-01 08:07:17


On 11/30/2011 11:43 PM, Robert Ramey wrote:
> Rene Rivera wrote:
>> Long ago, yes, years ago, I proposed normalizing the variety of ways
>> of defining (in the preprocessor) version numbers and reflecting the
>> predefined version information. As can be seen here
>> <http://www.crystalclearsoftware.com/cgi-bin/boost_wiki/wiki.pl?BoostConfig>.
>>
>> Time traveling to the present I have finally put the finishing touches
>> on the end result of this concept as a "Predef" library. It's now
>> grown to include detection of more types of predefs, almost complete
>> documentation with a reference generated directly from the source, and
>> some utilities on adding new predefs.
>>
>> I'm still working on cross-platform testing. But I thought now would
>> be a good time to ask for comments and for people to try it out.
>>
>> The lib is in the sandbox at
>> <http://svn.boost.org/svn/boost/sandbox/predef>. And the docs can be
>> rad directly from
>> <http://svn.boost.org/svn/boost/sandbox/predef/libs/predef/doc/html/index.html>.
>
> It's not clear how this conflicts with or complements the current config
> system.
> Could you expand upon this please?

It mostly complements Boost Config. And the parts that it conflicts with
are actually exceptions in what Boost Config should be doing. This
library doesn't define *features*, it defines everything else though.
The exceptions being some of the informational macros Boost Config
defines. This library would make it easier to write and maintain Boost
Config (assuming it was rewritten to use Predef). And of course the same
applies to any other library that needs to make platform/compiler
choices as opposed to just language feature choices.

> Also this sort of "enshrines" the concept of a a "Boost Version" which I
> think
> is something that should/will eventually be replaced with versions of
> particular libraries.

I don't see how you get that it "enshrines" the boost version, as it
doesn't define a Boost version at all :-\ In fact it would make it
easier for the modular system as then individual libraries could provide
a consistent version number macro for others to use. And users would
have a single version number format to worry about instead of likely dozens.

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

Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk