[geos-devel] boost

strk at refractions.net strk at refractions.net
Wed Mar 1 07:09:02 EST 2006


On Wed, Mar 01, 2006 at 12:53:26PM +0100, Mateusz Å?oskot wrote:
> strk at refractions.net wrote:

...

> >	- GEOS ABI was too weak, thus we provided 
> >	  a C-API interface to keep binary compatibility
> >	  in the long term
> 
> Unfortunately, I can not get the idea of keeping
> double APIs: C and C++ :-)))
> 
> If something is written in C++, why to bother with C?

Becase we want some kind of insulation to keep binary compatibility
until GEOS gets stable (could be a very long time).

Note that GEOS is an important module for PostGIS, and 
it is very nice for PostGIS users to be able to upgrade
GEOS library w/out having to recompile PostGIS, as GEOS
life cycle is very much different from PostGIS, which is
a much stable piece of software.

Yes, it would have been possible to make the C++ ABI stable
as well, but not havin done from the start makes it hard now.

A *full-C++* approach has been taken by GDAL. In that case
within a single library you have both C and C++ entry points,
with C ABI compatibility retained and C++ one pretty left
to randomness. This brought to problems in 'encoding' library
versions, as in a versioned library you must either declare compatibility
or not with previoius versions, and you can't make distinctions
between the two entry points.

--strk;



More information about the geos-devel mailing list