summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEmmanuele Bassi <ebassi@gnome.org>2017-05-12 11:00:44 +0100
committerEmmanuele Bassi <ebassi@gnome.org>2017-05-12 11:00:44 +0100
commitb08fe46874271b834cbfb1f62ce32461b16a68ab (patch)
treec265588655d76fc05fe2881f2998a383a64e403d
parent03c7b026685effb897aced7db4bbef8705e21338 (diff)
downloadclutter-b08fe46874271b834cbfb1f62ce32461b16a68ab.tar.gz
build: Bind interface age to minor and micro version
Instead of requiring to manually update the interface age, we can simply check for the minor version, and either set it to 0 for development releases, or set it to the micro version for stable one. We don't do API additions in micro releases anyway.
-rw-r--r--configure.ac24
1 files changed, 5 insertions, 19 deletions
diff --git a/configure.ac b/configure.ac
index f9c828825..b5e186fe6 100644
--- a/configure.ac
+++ b/configure.ac
@@ -12,26 +12,12 @@ m4_define([clutter_major_version], [1])
m4_define([clutter_minor_version], [26])
m4_define([clutter_micro_version], [1])
-# • for stable releases: increase the interface age by 1 for each release;
-# if the API changes, set to 0. interface_age and binary_age are used to
-# create the soname of the shared object:
-#
-# (<minor> * 100 + <micro>) - <interface_age>
-#
-# this allows using the same soname for different micro-releases in case
-# no API was added or deprecated. for instance:
-#
-# clutter 1.2.0 -> 100 * 2 + 0 = 200, interface age = 0 -> 200
-# clutter 1.2.2 -> 100 * 2 + 2 = 202, interface age = 2 -> 200
-# clutter 1.2.4 -> 100 * 2 + 4 = 204, interface age = 4 -> 200
-# [ API addition, deprecation ]
-# clutter 1.2.6 -> 100 * 2 + 6 = 206, interface age = 0 -> 206
-# clutter 1.2.8 -> 100 * 2 + 8 = 208, interface age = 2 -> 206
-# clutter 1.2.10 -> 100 * 2 + 10 = 210, interface age = 4 -> 206
-# ...
-#
+# • for stable releases: increase the interface age by 1 for each release
# • for development releases: keep clutter_interface_age to 0
-m4_define([clutter_interface_age], [1])
+m4_define([clutter_interface_age],
+ [m4_if(m4_eval(clutter_minor_version % 2), [1],
+ [0],
+ [clutter_micro_version])])
m4_define([clutter_binary_age], [m4_eval(100 * clutter_minor_version + clutter_micro_version)])