[X2Go-Commits] [libx2goclient] 62/132: configure.ac: rework versioning.
git-admin at x2go.org
git-admin at x2go.org
Fri Dec 3 15:26:31 CET 2021
This is an automated email from the git hooks/post-receive script.
x2go pushed a commit to branch master
in repository libx2goclient.
commit 1f67ba232527939d2b0ddd9352ce78edc293d3a8
Author: Mihai Moldovan <ionic at ionic.de>
Date: Thu May 27 05:27:19 2021 +0200
configure.ac: rework versioning.
We'll use a versioning scheme adopted from glib and slightly modified to
not differentiate between stable and unstable/development releases.
---
configure.ac | 98 +++++++++++++++++++++++++++++++++++++++++++++++++++++-------
1 file changed, 88 insertions(+), 10 deletions(-)
diff --git a/configure.ac b/configure.ac
index 604604e..eae65e3 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1,7 +1,57 @@
AC_PREREQ([2.64])
+# We'll mostly adopt the glib versioning scheme here, because it generally
+# makes sense.
+# In contrast to glib's scheme, we'll not differentiate between stable and
+# unstable versions, though.
+#
+# Making releases:
+# either
+# libx2goclient_minor_version += 1;
+# libx2goclient_micro_version = 0;
+# libx2goclient_interface_age += 1;
+# or
+# libx2goclient_micro_version += 1;
+# libx2goclient_interface_age += 1;
+# libx2goclient_binary_age += 1;
+# if any functions have been added, set libx2goclient_interface_age to 0.
+# if backwards compatibility has been broken,
+# set libx2goclient_binary_age _and_ libx2goclient_interface_age to 0, while
+# increasing libx2goclient_major_version and resetting
+# libx2goclient_minor_version and libx2goclient_micro_version to 0.
+#
+# remember to add a LIBX2GOCLIENT_VERSION_xxx macro every time the minor
+# version is bumped, as well as the LIBX2GOCLIENT_DEPRECATED_IN and
+# LIBX2GOCLIENT_AVAILABLE_IN macros for that version - see FIXMEversion.h for
+# further information.
+#
+# in easier to understand terms:
+#
+# <mclasen> on the stable branch, interface age == micro
+# [for libx2goclient] on minor releases, reset
+# interface age = micro version = 0
+
+m4_define([libx2goclient_major_version], [0])
+m4_define([libx2goclient_minor_version], [0])
+m4_define([libx2goclient_micro_version], [0])
+m4_define([libx2goclient_interface_age], [0])
+m4_define([libx2goclient_binary_age],
+ [m4_eval(100 * libx2goclient_minor_version + libx2goclient_micro_version)])
+m4_define([libx2goclient_version],
+ [libx2goclient_major_version.libx2goclient_minor_version.libx2goclient_micro_version])
+
+# libtool version related macros
+m4_define([libx2goclient_lt_release], [libx2goclient_major_version.libx2goclient_minor_version])
+m4_define([libx2goclient_lt_current],
+ [m4_eval(100 * libx2goclient_minor_version + libx2goclient_micro_version - libx2goclient_interface_age)])
+m4_define([libx2goclient_lt_revision], [libx2goclient_interface_age])
+m4_define([libx2goclient_lt_age], [m4_eval(libx2goclient_binary_age - libx2goclient_interface_age)])
+m4_define([libx2goclient_lt_current_minus_age],
+ [m4_eval(libx2goclient_lt_current - libx2goclient_lt_age)])
+
+
AC_INIT([libx2goclient],
- [0.0.5],
+ [libx2goclient_version],
[https://github.com/ArcticaProject/libx2goclient/issues],
[libx2goclient],
[https://github.com/ArcticaProject/libx2goclient])
@@ -20,16 +70,44 @@ AC_CONFIG_MACRO_DIR([m4])
dnl make sure we keep ACLOCAL_FLAGS around for maintainer builds to work
AC_SUBST(ACLOCAL_AMFLAGS, "\${ACLOCAL_FLAGS}")
-# Before making a release, the LT_VERSION string should be modified.
-# The string is of the form C:R:A.
-# - If interfaces have been changed or added, but binary compatibility has
-# been preserved, change to C+1:0:A+1
-# - If binary compatibility has been broken (eg removed or changed interfaces)
-# change to C+1:0:0
-# - If the interface is the same as the previous version, change to C:R+1:A
-LT_VERSION=18:4:1
-AC_SUBST(LT_VERSION)
+LIBX2GOCLIENT_MAJOR_VERSION=libx2goclient_major_version
+LIBX2GOCLIENT_MINOR_VERSION=libx2goclient_minor_version
+LIBX2GOCLIENT_MICRO_VERSION=libx2goclient_micro_version
+LIBX2GOCLIENT_INTERFACE_AGE=libx2goclient_interface_age
+LIBX2GOCLIENT_BINARY_AGE=libx2goclient_binary_age
+LIBX2GOCLIENT_VERSION=libx2goclient_version
+
+AC_SUBST(LIBX2GOCLIENT_MAJOR_VERSION)
+AC_SUBST(LIBX2GOCLIENT_MINOR_VERSION)
+AC_SUBST(LIBX2GOCLIENT_MICRO_VERSION)
+AC_SUBST(LIBX2GOCLIENT_VERSION)
+AC_SUBST(LIBX2GOCLIENT_INTERFACE_AGE)
+AC_SUBST(LIBX2GOCLIENT_BINARY_AGE)
+
+AC_DEFINE(LIBX2GOCLIENT_MAJOR_VERSION, [libx2goclient_major_version],
+ [Define to the major libx2goclient version])
+AC_DEFINE(LIBX2GOCLIENT_MINOR_VERSION, [libx2goclient_minor_version],
+ [Define to the minor libx2goclient version])
+AC_DEFINE(LIBX2GOCLIENT_MICRO_VERSION, [libx2goclient_micro_version],
+ [Define to the micro libx2goclient version])
+AC_DEFINE(LIBX2GOCLIENT_INTERFACE_AGE, [libx2goclient_interface_age],
+ [Define to the libx2goclient interface age])
+AC_DEFINE(LIBX2GOCLIENT_BINARY_AGE, [libx2goclient_binary_age],
+ [Define to the libx2goclient binary age])
+
+# libtool versioning
+LT_RELEASE=libx2goclient_lt_release
+LT_CURRENT=libx2goclient_lt_current
+LT_REVISION=libx2goclient_lt_revision
+LT_AGE=libx2goclient_lt_age
+LT_CURRENT_MINUS_AGE=libx2goclient_lt_current_minus_age
+AC_SUBST(LT_RELEASE)
+AC_SUBST(LT_CURRENT)
+AC_SUBST(LT_REVISION)
+AC_SUBST(LT_AGE)
+AC_SUBST(LT_CURRENT_MINUS_AGE)
+
AM_MAINTAINER_MODE
--
Alioth's /home/x2go-admin/maintenancescripts/git/hooks/post-receive-email on /srv/git/code.x2go.org/libx2goclient.git
More information about the x2go-commits
mailing list