[clutter] build: Bind interface age to minor and micro version



commit b08fe46874271b834cbfb1f62ce32461b16a68ab
Author: Emmanuele Bassi <ebassi gnome org>
Date:   Fri May 12 11:00:44 2017 +0100

    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.

 configure.ac |   24 +++++-------------------
 1 files changed, 5 insertions(+), 19 deletions(-)
---
diff --git a/configure.ac b/configure.ac
index f9c8288..b5e186f 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)])
 


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]