On 15/08/2016 14:16, Pekka Paalanen wrote:
From: Pekka Paalanen <pekka.paala...@collabora.co.uk>

Check that the defined versions for Weston and libweston are consistent
and according to the version bumping rules:

- In pre-release and only pre-release versions the weston and libweston
  may differ

- when they differ, libweston version must be exactly (weston.major+1).0.0

- otherwise, the versions must be exactly the same.

Cc: Jonas Ådahl <jad...@gmail.com>
Cc: Quentin Glidic <sardemff7+...@sardemff7.net>
Signed-off-by: Pekka Paalanen <pekka.paala...@collabora.co.uk>

After a few reads, making sure to understand all cases:
Reviewed-by: Quentin Glidic <sardemff7+...@sardemff7.net>

Cheers,


---
 configure.ac | 32 ++++++++++++++++++++++++++++++++
 1 file changed, 32 insertions(+)

diff --git a/configure.ac b/configure.ac
index 70010fd..5ace737 100644
--- a/configure.ac
+++ b/configure.ac
@@ -39,6 +39,38 @@ AM_INIT_AUTOMAKE([1.11 parallel-tests foreign no-dist-gzip 
dist-xz color-tests s

 AM_SILENT_RULES([yes])

+# Check Weston and libweston version consistency
+m4_if(m4_cmp(weston_micro_version, [90]), [-1],
+      [
+       dnl micro < 90
+       dnl A final or stable release, not a pre-release:
+       dnl Weston and libweston versions must match.
+       m4_if(weston_version, 
libweston_major_version[.]libweston_minor_version[.]libweston_patch_version,
+             [],
+             [AC_MSG_ERROR([Weston and libweston version mismatch for a final 
release])])
+      ],
+      [
+       dnl A pre-release:
+       dnl libweston must be equal or greater than weston.
+       m4_case(m4_list_cmp([weston_major_version, weston_minor_version, 
weston_micro_version],
+                            [libweston_major_version, libweston_minor_version, 
libweston_patch_version]),
+                [-1], [
+                       dnl weston < libweston
+                       dnl libweston must be weston_major+1.0.0
+                       m4_if(m4_eval(weston_major_version+1)[.0.0],
+                             
libweston_major_version[.]libweston_minor_version[.]libweston_patch_version,
+                             [],
+                             [AC_MSG_ERROR([libweston version is greater but 
not (weston_major+1).0.0])])
+                ],
+                [0], [
+                       dnl weston == libweston, all ok
+                ],
+                [1], [
+                       dnl weston > libweston, wrong
+                       AC_MSG_ERROR([Weston version is greater than 
libweston.])
+                ])
+       ])
+
 # Check for programs
 AC_PROG_CC
 AC_PROG_SED



--

Quentin “Sardem FF7” Glidic
_______________________________________________
wayland-devel mailing list
wayland-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/wayland-devel

Reply via email to