Dear PLplot developers,
Please find here attached a patch developed by Nicolas Boulenguez that we
are currently applying to the Debian package. The patches regards the
setting of the libplplotada's shared object version.
Here is the description of the patch, as written by Nicolas:
“The SOVersion sometimes needs to evolve independently of the API (and
thus, is unrelated with semantic versioning), or even without
knowledge by the upstream author. For example, a rebuild of the
library with a different compiler may break its ABI.
This patch provides redistributors like Debian an easy way to set the
libplplotada_SOVERSION on the CMake command line, without patching
CMake files.
This patch only affects the Ada library, but the suggestion applies
to any language allowing dynamic linking.
As far as I know, the part added by _VERSION and the related symbolic
links are a complexity added by CMake (probably in order to follow
the GNU libtool conventions), but the linker only cares about the
SOVERSION.”
Please consider applying this patch to PLplot.
Best regards,
Rafael Laboissière
Description: allow override of libplotada shared object version
The SOVersion sometimes needs to evolve independently of the API (and
thus, is unrelated with semantic versioning), or even without
knowledge by the upstream author. For example, a rebuild of the
library with a different compiler may break its ABI.
.
This patch provides redistributors like Debian an easy way to set the
libplplotada_SOVERSION on the CMake command line, without patching
CMake files.
.
This patch only affects the Ada library, but the suggestion applies
to any language allowing dynamic linking.
.
As far as I know, the part added by _VERSION and the related symbolic
links are a complexity added by CMake (probably in order to follow
the GNU libtool conventions), but the linker only cares about the
SOVERSION.
Author: Nicolas Boulenguez <nico...@debian.org>
--- a/cmake/modules/plplot_version.cmake
+++ b/cmake/modules/plplot_version.cmake
@@ -58,7 +58,7 @@
# Libraries with source code in the bindings subdirectory tree.
-set(plplotada_SOVERSION 4)
+set(plplotada_SOVERSION 4 CACHE STRING "libplplotada shared object version")
set(plplotada_VERSION ${plplotada_SOVERSION}.0.0)
set(plplotcxx_SOVERSION 15)
_______________________________________________
Plplot-devel mailing list
Plplot-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/plplot-devel