On 30/08/06, Andrew Borley <[EMAIL PROTECTED]> wrote:
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.
yup! 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.
Defintiely option 2! A side question - SDO has a couple of pre-reqs (libxml2, etc) - will these
need to be rebuilt against stdcxx as well?
libxml2 is C rather than c++ so I don't think this is an issue. Same for Axis2C for the sdo_axiom utility. Cheers, -- Pete