Added a macro similar to the GLib's GLIB_CHECK_VERSION so that one can simply do something like: #if LIBVIR_CHECK_VERSION(1,1,3) /* Call function here that appeared in 1.1.3 and newer */ virSomeNewFunction(); #endif --- v3: rename from LIBVIRT_CHECK_VERSION to LIBVIR_CHECK_VERSION v2: Change from Linux kernel style macro to GLib style macro --- include/libvirt/libvirt.h.in | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/include/libvirt/libvirt.h.in b/include/libvirt/libvirt.h.in index d656634..146a59b 100644 --- a/include/libvirt/libvirt.h.in +++ b/include/libvirt/libvirt.h.in @@ -1466,6 +1466,22 @@ VIR_EXPORT_VAR virConnectAuthPtr virConnectAuthPtrDefault; #define LIBVIR_VERSION_NUMBER @LIBVIRT_VERSION_NUMBER@ +/** + * LIBVIR_CHECK_VERSION: + * @major: major component of the version number + * @minor: minor component of the version number + * @micro: micro component of the version number + * + * Macro for developers to easily check what version of the library + * their code is compiling against. + * e.g. + * #if LIBVIR_CHECK_VERSION(1,1,3) + * // some code that only works in 1.1.3 and newer + * #endif + */ +#define LIBVIR_CHECK_VERSION(major, minor, micro) \ + ((major) * 1000000 + (minor) * 1000 + (micro) <= LIBVIR_VERSION_NUMBER) + int virGetVersion (unsigned long *libVer, const char *type, unsigned long *typeVer); -- 1.8.3.2 -- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list