[geos-commits] r3664 - in branches/3.3: . src

svn_geos at osgeo.org svn_geos at osgeo.org
Wed Jun 6 00:04:45 PDT 2012


Author: strk
Date: 2012-06-06 00:04:45 -0700 (Wed, 06 Jun 2012)
New Revision: 3664

Modified:
   branches/3.3/README
   branches/3.3/src/Makefile.am
Log:
Clarify problems with linking against C++ api (#553)

Path by Greg Troxel.

Modified: branches/3.3/README
===================================================================
--- branches/3.3/README	2012-06-06 07:03:26 UTC (rev 3663)
+++ branches/3.3/README	2012-06-06 07:04:45 UTC (rev 3664)
@@ -57,6 +57,15 @@
 Using the C++ interface (discouraged)
 -------------------------------------
 
+NB: The C++ interface should not be used directly; the geos project
+views it as a bug for another program to use the C++ interface or even
+to directly link against the C++ library.  The C++ library name will
+change on every minor release because it is too hard to know if there
+have been ABI changes.  (The C libary uses the C++ interface, but the
+C library follows normal ABI-change-sensitive versioning, so programs
+that link only against the C library should work without relinking
+when geos is upgraded.)
+
 To compile programs against the C++ lib:
 
   CFLAGS += `geos-config --cflags`

Modified: branches/3.3/src/Makefile.am
===================================================================
--- branches/3.3/src/Makefile.am	2012-06-06 07:03:26 UTC (rev 3663)
+++ branches/3.3/src/Makefile.am	2012-06-06 07:04:45 UTC (rev 3664)
@@ -22,6 +22,10 @@
 
 lib_LTLIBRARIES = libgeos.la
 
+# libgeos uses -release because it is not feasible to know if the ABI
+# has changed between releases; the project chooses not to expend the
+# effort to determine this because depending programs should not be
+# using the C++ library.
 libgeos_la_LDFLAGS = \
     -release @VERSION_MAJOR at .@VERSION_MINOR at .@VERSION_PATCH@ \
     -no-undefined



More information about the geos-commits mailing list