[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