Boost logo

Boost :

From: Joel de Guzman (joel_at_[hidden])
Date: 2003-12-17 07:31:47

Robert Ramey wrote:

> However, I do have a large issue with spirit not supporting
> older compilers still in wide use. E.G. VC 7 and 6
> among others. The serialization library depends upon
> this for parsing XML input. The current situation leaves
> me with two choices.
> a) remove dependency on spirt
> b) restrict usage of XML archives only to conforming compilers.
> EIther of these seems intolerable to me.
> Would it be possible that spirit 1.6 also be included in
> boost 1.31 perhaps under different directory/namespace ?
> What can be done here.

Hi Robert,

Hmmm... Dilemma indeed. You are aware that 1.6.x will still
be maintained and developed until older compilers are no longer
widely used, right? Wouldn't it be possible to just tell VC6/7
(or Borland) users to just DL Spirit 1.6.x from Spirit's site?

We (Spirit developers) have extensibly discussed this issue.
It would have been nice if you joined in the discussion (The
discussion was public). I am very thankful to all Spirit
developers including those who initially ported Spirit to
various compilers. The problem I have is that developers who
contribute effort tend to do so in a fleeting manner, in short
bursts. In the end, the maintenance and upgrade falls on a
handfull of really active developers, among whom, only me and
Hartmut (Kaiser) are coding on Windows. Apparently, Hartmut
is not doing VC6 anymore and both of us don't have Borland
5.6 and later.

I repeatedly pleaded for support from the community, especially
those who are proficient in VC6/7 and Borland, but I was not
quite succesful. What I was asking for was to make sure that
the code base is compiling as expected on each of these compilers,
especially those compilers we do not have access to. It's really
counterproductive to keep a balancing act of maintaining backward
compatibility to lesser abled compilers while moving forward towards
more advanced C++ coding. The slightest, seemingly innocuous code
change could potentially break extremely fragile compilers such
as VC6/7 and Borland. Spirit v1.6.x is a very delicately balanced
piece of code. We try to resist any potentially disruptive code
that would hurt the balance. However, keeping the status quo
stiffles progress and puts developers in a straight-jacket. For
instance, Mr. X is a strictly g++ programmer and has lots of nice
ideas and coding expertise too. It'll be a loss if I decline from
his offer to do some cool coding because he'll almost certainly
disrupt the VC6/7/Borland balance. The consensus was to have two
branches. One that maintains VC6/7/Borland compatibility, and
another that moves forward to more aggressive C++ coding.

Spirit is an unfunded project. Unless other programmers can help us
out in maintaining compatibility to VC6/7/Borland, this is the best
we can do given the circumstances. It's not too late to bring back
support for these compilers in one code base *IFF* there are volunteers
who will be willing to do the maintenance work for the said compilers.

Tell us what you think. I'd also be interested to hear what other
boosters think. I'm sure this *IS* an issue for other libraries apart
from Spirit. I cross-posted this to Spirit's list as well... ***A
final plea to those concerned with Spirit for VC6/7/Borland.***

Best regards,

Joel de Guzman

Boost list run by bdawes at, gregod at, cpdaniel at, john at