[Xfce4-commits] [apps/xfdashboard] 01/01: As the shared library libxfdashboard is more or less the "application" and xfdashboard is (more or less) just a wrapper around it the library should include the version as library "version-info". I tried to use the calculation of current, revision and age for this library version information as GTK+ does. I really hope it make sense and works ... on all platforms.
noreply at xfce.org
noreply at xfce.org
Wed Feb 17 13:15:57 CET 2016
This is an automated email from the git hooks/post-receive script.
nomad pushed a commit to branch master
in repository apps/xfdashboard.
commit 6819d47f46fcd2e3485ae8e0427cf94a007f2479
Author: Stephan Haller <nomad at froevel.de>
Date: Wed Feb 17 13:13:12 2016 +0100
As the shared library libxfdashboard is more or less the "application" and xfdashboard is (more or less) just a wrapper around it the library should include the version as library "version-info". I tried to use the calculation of current, revision and age for this library version information as GTK+ does. I really hope it make sense and works ... on all platforms.
---
configure.ac.in | 26 ++++++++++++++++++++++----
libxfdashboard/Makefile.am | 6 ++++++
2 files changed, 28 insertions(+), 4 deletions(-)
diff --git a/configure.ac.in b/configure.ac.in
index 74f62dd..d746746 100644
--- a/configure.ac.in
+++ b/configure.ac.in
@@ -77,9 +77,9 @@ LT_PREREQ([2.2.6])
LT_INIT([disable-static])
LT_LIB_M
-dnl **************************
-dnl *** Substitute version ***
-dnl **************************
+dnl **********************************
+dnl *** Substitute package version ***
+dnl **********************************
XFDASHBOARD_VERSION=xfdashboard_version()
XFDASHBOARD_VERSION_MAJOR=xfdashboard_version_major()
XFDASHBOARD_VERSION_MINOR=xfdashboard_version_minor()
@@ -90,6 +90,20 @@ AC_SUBST([XFDASHBOARD_VERSION_MINOR])
AC_SUBST([XFDASHBOARD_VERSION_MICRO])
dnl **********************************
+dnl *** Substitute library version ***
+dnl **********************************
+m4_define([libxfdashboard_binary_age], [m4_eval(10000 * xfdashboard_version_major + 100 * xfdashboard_version_minor + xfdashboard_version_micro)])
+m4_define([libxfdashboard_interface_age], [xfdashboard_version_micro])
+
+m4_define([libxfdashboard_lt_current], [m4_eval(libxfdashboard_binary_age - libxfdashboard_interface_age)])
+m4_define([libxfdashboard_lt_revision], [libxfdashboard_interface_age])
+m4_define([libxfdashboard_lt_age], [m4_eval(libxfdashboard_binary_age - libxfdashboard_interface_age)])
+m4_define([libxfdashboard_verinfo], [libxfdashboard_lt_current():libxfdashboard_lt_revision():libxfdashboard_lt_age()])
+
+LIBXFDASHBOARD_VERINFO=libxfdashboard_verinfo()
+AC_SUBST([LIBXFDASHBOARD_VERINFO])
+
+dnl **********************************
dnl *** Check for standard headers ***
dnl **********************************
AC_HEADER_STDC()
@@ -272,7 +286,11 @@ dnl ***************************
dnl *** Print configuration ***
dnl ***************************
echo
-echo "Build Configuration for $PACKAGE version $VERSION revision $REVISION:"
+echo "Build configuration:"
+echo " Package: $PACKAGE"
+echo " Version: $VERSION"
+echo " Revision: $REVISION"
+echo " Library version: $LIBXFDASHBOARD_VERINFO"
echo
echo "Library versions used:"
echo " libwnck: $LIBWNCK_VERSION"
diff --git a/libxfdashboard/Makefile.am b/libxfdashboard/Makefile.am
index d4b328e..353629b 100644
--- a/libxfdashboard/Makefile.am
+++ b/libxfdashboard/Makefile.am
@@ -177,6 +177,12 @@ libxfdashboard_la_LIBADD = \
$(DBUS_GLIB_LIBS) \
$(LIBM)
+libxfdashboard_la_LDFLAGS = \
+ -export-dynamic \
+ -version-info $(LIBXFDASHBOARD_VERINFO) \
+ -export-symbols-regex "^[^_].*" \
+ -no-undefined
+
if XFDASHBOARD_BUILD_WITH_XCOMPOSITE
libxfdashboard_la_CFLAGS += \
$(XCOMPOSITE_CFLAGS)
--
To stop receiving notification emails like this one, please contact
the administrator of this repository.
More information about the Xfce4-commits
mailing list