diff options
author | Aleksander Morgado <aleksander@lanedo.com> | 2013-06-13 11:53:43 +0200 |
---|---|---|
committer | Aleksander Morgado <aleksander@lanedo.com> | 2013-06-13 12:01:12 +0200 |
commit | 306a3c9d0172a43939059a3c564077930907f19e (patch) | |
tree | f561e300b2e054bfd04326507b76684b3218b524 | |
parent | eaa6bcd2a14b3bda34ee1ca8bcbb2227aa82e651 (diff) | |
download | libqmi-306a3c9d0172a43939059a3c564077930907f19e.tar.gz |
libqmi-glib,api: provide version info
-rw-r--r-- | .gitignore | 1 | ||||
-rw-r--r-- | configure.ac | 20 | ||||
-rw-r--r-- | docs/reference/libqmi-glib/libqmi-glib-common.sections | 9 | ||||
-rw-r--r-- | docs/reference/libqmi-glib/libqmi-glib-docs.xml | 1 | ||||
-rw-r--r-- | libqmi-glib/Makefile.am | 5 | ||||
-rw-r--r-- | libqmi-glib/libqmi-glib.h | 1 | ||||
-rw-r--r-- | libqmi-glib/qmi-version.h.in | 69 |
7 files changed, 105 insertions, 1 deletions
@@ -35,6 +35,7 @@ libqmi-glib/.deps libqmi-glib/Makefile libqmi-glib/Makefile.in libqmi-glib/libqmi-glib.la +libqmi-glib/qmi-version.h libqmi-glib/generated/.libs libqmi-glib/generated/.deps diff --git a/configure.ac b/configure.ac index 2e9ebcd2..5da861c5 100644 --- a/configure.ac +++ b/configure.ac @@ -1,7 +1,14 @@ dnl Process this file with autoconf to produce a configure script. AC_PREREQ([2.68]) -AC_INIT([libqmi], [1.5.0], [libqmi-devel@lists.freedesktop.org]) +dnl The QMI version number +m4_define([qmi_major_version], [1]) +m4_define([qmi_minor_version], [5]) +m4_define([qmi_micro_version], [0]) +m4_define([qmi_version], + [qmi_major_version.qmi_minor_version.qmi_micro_version]) + +AC_INIT([libqmi], [qmi_version], [libqmi-devel@lists.freedesktop.org]) AC_CONFIG_SRCDIR([config.h.in]) AC_CONFIG_HEADERS([config.h]) AC_CONFIG_MACRO_DIR([m4]) @@ -26,6 +33,16 @@ LT_INIT dnl Specific warnings to always use LIBQMI_COMPILER_WARNINGS +dnl Version stuff +QMI_MAJOR_VERSION=qmi_major_version +QMI_MINOR_VERSION=qmi_minor_version +QMI_MICRO_VERSION=qmi_micro_version +QMI_VERSION=qmi_version +AC_SUBST(QMI_MAJOR_VERSION) +AC_SUBST(QMI_MINOR_VERSION) +AC_SUBST(QMI_MICRO_VERSION) +AC_SUBST(QMI_VERSION) + dnl General dependencies for libqmi-glib PKG_CHECK_MODULES(LIBQMI_GLIB, glib-2.0 >= 2.32 @@ -68,6 +85,7 @@ AC_CONFIG_FILES([Makefile build-aux/templates/Makefile build-aux/qmi-codegen/Makefile libqmi-glib/Makefile + libqmi-glib/qmi-version.h libqmi-glib/generated/Makefile libqmi-glib/test/Makefile cli/Makefile diff --git a/docs/reference/libqmi-glib/libqmi-glib-common.sections b/docs/reference/libqmi-glib/libqmi-glib-common.sections index 8697b49b..6d693c03 100644 --- a/docs/reference/libqmi-glib/libqmi-glib-common.sections +++ b/docs/reference/libqmi-glib/libqmi-glib-common.sections @@ -1,4 +1,13 @@ <SECTION> +<FILE>qmi-version</FILE> +<TITLE>Version checks</TITLE> +QMI_MAJOR_VERSION +QMI_MICRO_VERSION +QMI_MINOR_VERSION +QMI_CHECK_VERSION +</SECTION> + +<SECTION> <FILE>qmi-client</FILE> <TITLE>QmiClient</TITLE> QMI_CID_NONE diff --git a/docs/reference/libqmi-glib/libqmi-glib-docs.xml b/docs/reference/libqmi-glib/libqmi-glib-docs.xml index cd638aff..2c386b27 100644 --- a/docs/reference/libqmi-glib/libqmi-glib-docs.xml +++ b/docs/reference/libqmi-glib/libqmi-glib-docs.xml @@ -39,6 +39,7 @@ <chapter> <title>Core</title> + <xi:include href="xml/qmi-version.xml"/> <xi:include href="xml/qmi-message.xml"/> <xi:include href="xml/qmi-device.xml"/> <xi:include href="xml/qmi-client.xml"/> diff --git a/libqmi-glib/Makefile.am b/libqmi-glib/Makefile.am index 50c49f63..5e6a26ab 100644 --- a/libqmi-glib/Makefile.am +++ b/libqmi-glib/Makefile.am @@ -15,6 +15,7 @@ libqmi_glib_la_CPPFLAGS = \ libqmi_glib_la_SOURCES = \ libqmi-glib.h \ + qmi-version.h \ qmi-errors.h \ qmi-enums-wds.h qmi-enums-wds.c \ qmi-enums-dms.h qmi-flags64-dms.h \ @@ -34,6 +35,7 @@ libqmi_glib_la_LIBADD = \ includedir = @includedir@/libqmi-glib include_HEADERS = \ libqmi-glib.h \ + qmi-version.h \ qmi-errors.h \ qmi-enums.h \ qmi-enums-private.h \ @@ -46,3 +48,6 @@ include_HEADERS = \ qmi-message.h \ qmi-device.h \ qmi-client.h + +EXTRA_DIST = \ + qmi-version.h.in diff --git a/libqmi-glib/libqmi-glib.h b/libqmi-glib/libqmi-glib.h index bfdad675..3d601113 100644 --- a/libqmi-glib/libqmi-glib.h +++ b/libqmi-glib/libqmi-glib.h @@ -28,6 +28,7 @@ /* libqmi-glib headers */ +#include "qmi-version.h" #include "qmi-device.h" #include "qmi-client.h" #include "qmi-message.h" diff --git a/libqmi-glib/qmi-version.h.in b/libqmi-glib/qmi-version.h.in new file mode 100644 index 00000000..22dda01a --- /dev/null +++ b/libqmi-glib/qmi-version.h.in @@ -0,0 +1,69 @@ +/* -*- Mode: C; tab-width: 4; indent-tabs-mode: t; c-basic-offset: 4 -*- */ +/* + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the + * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, + * Boston, MA 02110-1301 USA. + * + * Copyright (C) 2013 Lanedo GmbH + */ + +#ifndef _QMI_VERSION_H_ +#define _QMI_VERSION_H_ + +/** + * SECTION:qmi-version + * @short_description: Version information in the API. + * + * This section defines types that are used to identify the libqmi-glib version. + **/ + +/** + * QMI_MAJOR_VERSION: + * + * Evaluates to the major version number of libqmi-glib which this source + * is compiled against. + */ +#define QMI_MAJOR_VERSION (@QMI_MAJOR_VERSION@) + +/** + * QMI_MINOR_VERSION: + * + * Evaluates to the minor version number of libqmi-glib which this source + * is compiled against. + */ +#define QMI_MINOR_VERSION (@QMI_MINOR_VERSION@) + +/** + * QMI_MICRO_VERSION: + * + * Evaluates to the micro version number of libqmi-glib which this source + * compiled against. + */ +#define QMI_MICRO_VERSION (@QMI_MICRO_VERSION@) + +/** + * QMI_CHECK_VERSION: + * @major: major version (e.g. 1 for version 1.2.5) + * @minor: minor version (e.g. 2 for version 1.2.5) + * @micro: micro version (e.g. 5 for version 1.2.5) + * + * Returns: %TRUE if the version of the libqmi-glib header files + * is the same as or newer than the passed-in version. + */ +#define QMI_CHECK_VERSION(major,minor,micro) \ + (QMI_MAJOR_VERSION > (major) || \ + (QMI_MAJOR_VERSION == (major) && QMI_MINOR_VERSION > (minor)) || \ + (QMI_MAJOR_VERSION == (major) && QMI_MINOR_VERSION == (minor) && QMI_MICRO_VERSION >= (micro))) + +#endif /* _QMI_VERSION_H_ */ |