[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