On 8/30/06, Geoffrey Winn <[EMAIL PROTECTED]> wrote:
<snip>. Using the Apache stdcxx library instead would provide

us with a number of benefits


Agreed. +1 for this.

The one difficulty is that once SDO links against the stdcxx library then
all users of SDO must also do so. I think this gives us two options

1. Just do it, and live with the consequences. In this case we will (one
way
or another) pre-req stdcxx on all platforms, and all users of SDO for C++
will be required to use stdcxx as their C++ standard library.

2. Create a build time switch that chooses between whatever the platform
offers (ie the current arrangement) and stdcxx. Presumably defaulting to
the
current arrangement.

I prefer option 2 but obviously it somewhat complicates our build process
and perhaps more seriously adds another complication to our test cases.

What does the team think?


My preference is also for option 2 as it gives our users more choice.
However, we may find ourselves #ifdef-ing chunks of code out to get around
the aforementioned differences in libraries (see Pete's map problem on
Windows yesterday..) which will make code less readable, etc. I think
starting this with the SDO codebase is a good idea, as this is a relatively
standalone set of code, and will give us a good idea what the issues are
with this approach.

A side question - SDO has a couple of pre-reqs (libxml2, etc) - will these
need to be rebuilt against stdcxx as well?

Cheers
Andy

Reply via email to