api,header: setup and export MM version symbols in the API

This commit is contained in:
Aleksander Morgado
2013-06-13 09:48:10 +02:00
parent 0c7265de29
commit a43cecb456
8 changed files with 118 additions and 12 deletions

2
.gitignore vendored
View File

@@ -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]

View File

@@ -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

View File

@@ -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>

View File

@@ -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"/>

View File

@@ -1,3 +1,12 @@
<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>

View File

@@ -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

View File

@@ -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_ */

View File

@@ -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_ */