From 43ddf2099baf01ae22985f60e0f735a00f578844 Mon Sep 17 00:00:00 2001 From: wm4 Date: Tue, 5 Aug 2014 02:23:14 +0200 Subject: client API: add and use the MPV_MAKE_VERSION macro This is probably nicer. The actual version number doesn't change (other than the minor being incremented). The "| 0UL" is to make the type unsigned long int, like it was before. --- DOCS/client-api-changes.rst | 1 + libmpv/client.h | 9 ++++----- wscript_build.py | 9 ++++----- 3 files changed, 9 insertions(+), 10 deletions(-) diff --git a/DOCS/client-api-changes.rst b/DOCS/client-api-changes.rst index ee370d7bc0..e8c5445e94 100644 --- a/DOCS/client-api-changes.rst +++ b/DOCS/client-api-changes.rst @@ -25,6 +25,7 @@ API changes :: + 1.3 - add MPV_MAKE_VERSION() 1.2 - remove "stream-time-pos" property (no replacement) 1.1 - remap dvdnav:// to dvd:// - add "--cache-file", "--cache-file-size" diff --git a/libmpv/client.h b/libmpv/client.h index 687611c5e7..4a653963eb 100644 --- a/libmpv/client.h +++ b/libmpv/client.h @@ -158,12 +158,11 @@ extern "C" { * number is incremented. This affects only C part, and not properties and * options. * - * The version number is often converted into a human readable form by writing - * the major and minor version number in decimal. E.g.: - * version 0x001001FF - * becomes 16.511 (dec(0x0010) + "." + dec(0x01FF)) + * You can use MPV_MAKE_VERSION() and compare the result with integer + * relational operators (<, >, <=, >=). */ -#define MPV_CLIENT_API_VERSION 0x00010002UL +#define MPV_MAKE_VERSION(major, minor) (((major) << 16) | (minor) | 0UL) +#define MPV_CLIENT_API_VERSION MPV_MAKE_VERSION(1, 3) /** * Return the MPV_CLIENT_API_VERSION the mpv source has been compiled with. diff --git a/wscript_build.py b/wscript_build.py index 5eebf89ee8..593d5bb2a7 100644 --- a/wscript_build.py +++ b/wscript_build.py @@ -450,11 +450,10 @@ def build(ctx): if build_shared or build_static: if build_shared: ctx.load("syms") - vnum = int(re.search('^#define MPV_CLIENT_API_VERSION 0x(.*)UL$', - ctx.path.find_node("libmpv/client.h").read(), - re.M) - .group(1), 16) - libversion = str(vnum >> 16) + '.' + str(vnum & 0xffff) + '.0' + vre = '^#define MPV_CLIENT_API_VERSION MPV_MAKE_VERSION\((.*), (.*)\)$' + libmpv_header = ctx.path.find_node("libmpv/client.h").read() + major, minor = re.search(vre, libmpv_header, re.M).groups() + libversion = major + '.' + minor + '.0' def _build_libmpv(shared): features = "c " -- cgit v1.2.3