aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAleksander Morgado <aleksander@lanedo.com>2013-06-13 09:48:10 +0200
committerAleksander Morgado <aleksander@lanedo.com>2013-06-13 10:04:49 +0200
commita43cecb456327b6a19c026c097d588a08961d394 (patch)
tree8ddbccdcdc23c3a5a894c8313fa48cba1334e623
parent0c7265de29163ab9c9ba03257d393ce99bb47ff6 (diff)
api,header: setup and export MM version symbols in the API
-rw-r--r--.gitignore2
-rw-r--r--configure.ac24
-rw-r--r--docs/reference/api/ModemManager-dbus-reference.xml6
-rw-r--r--docs/reference/api/ModemManager-docs.xml7
-rw-r--r--docs/reference/api/ModemManager-sections.txt9
-rw-r--r--include/Makefile.am4
-rw-r--r--include/ModemManager-version.h.in69
-rw-r--r--include/ModemManager.h9
8 files changed, 118 insertions, 12 deletions
diff --git a/.gitignore b/.gitignore
index 6347d3a4..b17c0509 100644
--- a/.gitignore
+++ b/.gitignore
@@ -28,6 +28,8 @@ libtool
callouts/mm-modem-probe
test/lsudev
+include/ModemManager-version.h
+
libmm-glib/generated/mm-gdbus-*.[ch]
libmm-glib/generated/mm-enums-types.[ch]
libmm-glib/generated/mm-errors-types.[ch]
diff --git a/configure.ac b/configure.ac
index ed63832d..61cfa4bd 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1,6 +1,13 @@
-AC_PREREQ([2.60])
+AC_PREREQ([2.63])
-AC_INIT([ModemManager],[0.7.991],[dcbw@redhat.com],[ModemManager])
+dnl The MM version number
+m4_define([mm_major_version], [0])
+m4_define([mm_minor_version], [7])
+m4_define([mm_micro_version], [991])
+m4_define([mm_version],
+ [mm_major_version.mm_minor_version.mm_micro_version])
+
+AC_INIT([ModemManager],[mm_version],[dcbw@redhat.com],[ModemManager])
AM_INIT_AUTOMAKE([1.9 subdir-objects tar-ustar no-dist-gzip dist-xz -Wno-portability])
m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])])
AM_MAINTAINER_MODE([enable])
@@ -21,6 +28,16 @@ dnl Initialize libtool
LT_PREREQ([2.2])
LT_INIT
+dnl Version stuff
+MM_MAJOR_VERSION=mm_major_version
+MM_MINOR_VERSION=mm_minor_version
+MM_MICRO_VERSION=mm_micro_version
+MM_VERSION=mm_version
+AC_SUBST(MM_MAJOR_VERSION)
+AC_SUBST(MM_MINOR_VERSION)
+AC_SUBST(MM_MICRO_VERSION)
+AC_SUBST(MM_VERSION)
+
dnl
dnl Documentation
dnl
@@ -166,7 +183,7 @@ AC_SUBST(PPPD_PLUGIN_DIR)
dnl
-dnl Tests
+dnl Unit tests
dnl
AC_ARG_WITH(tests, AS_HELP_STRING([--with-tests], [Build ModemManager tests]))
AM_CONDITIONAL(WITH_TESTS, test "x$with_tests" = "xyes")
@@ -265,6 +282,7 @@ data/ModemManager.pc
data/mm-glib.pc
data/org.freedesktop.ModemManager1.policy.in
include/Makefile
+include/ModemManager-version.h
build-aux/Makefile
libqcdm/Makefile
libqcdm/src/Makefile
diff --git a/docs/reference/api/ModemManager-dbus-reference.xml b/docs/reference/api/ModemManager-dbus-reference.xml
index c84e4598..64049062 100644
--- a/docs/reference/api/ModemManager-dbus-reference.xml
+++ b/docs/reference/api/ModemManager-dbus-reference.xml
@@ -75,12 +75,6 @@
</section>
</chapter>
- <chapter id="ref-dbus-common-types">
- <title>Common types</title>
- <xi:include href="mm-enums.xml"/>
- <xi:include href="mm-errors.xml"/>
- </chapter>
-
<chapter id="ref-dbus-object-manager">
<title>The <literal>/org/freedesktop/ModemManager1</literal> object</title>
<para>
diff --git a/docs/reference/api/ModemManager-docs.xml b/docs/reference/api/ModemManager-docs.xml
index aef28d31..d321a5a1 100644
--- a/docs/reference/api/ModemManager-docs.xml
+++ b/docs/reference/api/ModemManager-docs.xml
@@ -73,6 +73,13 @@
<!-- Part 1, overview -->
<xi:include href="xml/ModemManager-overview.xml"/>
+ <part id="ref-common-types">
+ <title>Common types and definitions</title>
+ <xi:include href="xml/mm-version.xml"/>
+ <xi:include href="xml/mm-enums.xml"/>
+ <xi:include href="xml/mm-errors.xml"/>
+ </part>
+
<!-- Part 2, DBus reference -->
<xi:include href="xml/ModemManager-dbus-reference.xml"/>
diff --git a/docs/reference/api/ModemManager-sections.txt b/docs/reference/api/ModemManager-sections.txt
index 94cc0336..d9d11c88 100644
--- a/docs/reference/api/ModemManager-sections.txt
+++ b/docs/reference/api/ModemManager-sections.txt
@@ -1,4 +1,13 @@
<SECTION>
+<FILE>mm-version</FILE>
+<TITLE>Version checks</TITLE>
+MM_MAJOR_VERSION
+MM_MICRO_VERSION
+NM_MINOR_VERSION
+MM_CHECK_VERSION
+</SECTION>
+
+<SECTION>
<FILE>mm-enums</FILE>
<TITLE>Flags and Enumerations</TITLE>
MMBearerIpFamily
diff --git a/include/Makefile.am b/include/Makefile.am
index f0a69d9d..424b51c3 100644
--- a/include/Makefile.am
+++ b/include/Makefile.am
@@ -8,6 +8,7 @@ include_HEADERS = \
ModemManager-names.h \
ModemManager-enums.h \
ModemManager-errors.h \
+ ModemManager-version.h \
ModemManager.h
ModemManager-names.h: $(XMLS) $(top_srcdir)/build-aux/header-generator.xsl
@@ -15,3 +16,6 @@ ModemManager-names.h: $(XMLS) $(top_srcdir)/build-aux/header-generator.xsl
CLEANFILES = \
ModemManager-names.h
+
+EXTRA_DIST = \
+ ModemManager-version.h.in
diff --git a/include/ModemManager-version.h.in b/include/ModemManager-version.h.in
new file mode 100644
index 00000000..01953901
--- /dev/null
+++ b/include/ModemManager-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 _MM_VERSION_H_
+#define _MM_VERSION_H_
+
+/**
+ * SECTION:mm-version
+ * @short_description: Version information in the API.
+ *
+ * This section defines types that are used to identify the ModemManager version.
+ **/
+
+/**
+ * MM_MAJOR_VERSION:
+ *
+ * Evaluates to the major version number of ModemManager which this source
+ * is compiled against.
+ */
+#define MM_MAJOR_VERSION (@MM_MAJOR_VERSION@)
+
+/**
+ * MM_MINOR_VERSION:
+ *
+ * Evaluates to the minor version number of ModemManager which this source
+ * is compiled against.
+ */
+#define NM_MINOR_VERSION (@MM_MINOR_VERSION@)
+
+/**
+ * MM_MICRO_VERSION:
+ *
+ * Evaluates to the micro version number of ModemManager which this source
+ * compiled against.
+ */
+#define MM_MICRO_VERSION (@MM_MICRO_VERSION@)
+
+/**
+ * MM_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 ModemManager header files
+ * is the same as or newer than the passed-in version.
+ */
+#define MM_CHECK_VERSION(major,minor,micro) \
+ (MM_MAJOR_VERSION > (major) || \
+ (MM_MAJOR_VERSION == (major) && MM_MINOR_VERSION > (minor)) || \
+ (MM_MAJOR_VERSION == (major) && MM_MINOR_VERSION == (minor) && MM_MICRO_VERSION >= (micro)))
+
+#endif /* _MM_VERSION_H_ */
diff --git a/include/ModemManager.h b/include/ModemManager.h
index 5a30ebc6..3a6eb43c 100644
--- a/include/ModemManager.h
+++ b/include/ModemManager.h
@@ -1,6 +1,6 @@
/*
* ModemManager Interface Specification
- * version 0.6
+ * version 0.8
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
@@ -18,8 +18,9 @@
* Boston, MA 02110-1301 USA.
*
* Copyright (C) 2008 - 2009 Novell, Inc.
- * Copyright (C) 2009 - 2012 Red Hat, Inc.
- * Copyright (C) 2011 - 2012 Google, Inc.
+ * Copyright (C) 2009 - 2013 Red Hat, Inc.
+ * Copyright (C) 2011 - 2013 Google, Inc.
+ * Copyright (C) 2011 - 2013 Lanedo Gmbh
*/
#ifndef _MODEM_MANAGER_H_
@@ -36,5 +37,7 @@
/* Public header with errors */
#include <ModemManager-errors.h>
+/* Public header with version info */
+#include <ModemManager-version.h>
#endif /* _MODEM_MANAGER_H_ */