From f48f75b1e812d33b76e439412efffa8277ab9abe Mon Sep 17 00:00:00 2001 From: Werner Koch Date: Tue, 12 Feb 2013 14:02:08 +0100 Subject: [PATCH] Add macro GPGME_VERSION_NUMBER. * src/gpgme.h.in (GPGME_VERSION_NUMBER): New. * configure.ac (my_version_major, my_version_minor) (my_version_micro): New m4 macros. (my_version): Build from new m4 macros. (VERSION_NUMBER): New ac_subst. --- NEWS | 1 + configure.ac | 9 +++++++-- src/gpgme.h.in | 6 +++++- 3 files changed, 13 insertions(+), 3 deletions(-) diff --git a/NEWS b/NEWS index 16902721..2678a218 100644 --- a/NEWS +++ b/NEWS @@ -3,6 +3,7 @@ Noteworthy changes in version 1.3.3 (unreleased) * Interface changes relative to the 1.3.1 release: ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + GPGME_VERSION_NUMBER NEW. gpgme_io_writen NEW. gpgme_set_global_flag NEW. gpgme_set_pinentry_mode NEW. diff --git a/configure.ac b/configure.ac index 75b6fcb0..af3788d8 100644 --- a/configure.ac +++ b/configure.ac @@ -33,9 +33,12 @@ min_automake_version="1.11" # for a specific feature can already be done under the assumption that # the GIT version is the most recent one in a branch. To disable the # GIT version for the real release, set the my_isgit macro to no. -m4_define(my_version, [1.3.3]) +m4_define(my_version_major, [1]) +m4_define(my_version_minor, [3]) +m4_define(my_version_micro, [3]) m4_define(my_isgit, [yes]) +m4_define(my_version, [my_version_major.my_version_minor.my_version_micro]) m4_define([svn_revision], m4_esyscmd([printf "%d" $( (svn info 2>/dev/null \ || echo 'Revision: 0')|sed -n '/^Revision:/ {s/[^0-9]//gp;q;}')])) m4_define([git_revision], @@ -64,9 +67,10 @@ GPGME_CONFIG_API_VERSION=1 NEED_LIBASSUAN_API=2 NEED_LIBASSUAN_VERSION=2.0.2 - m4_define([git_brevis],m4_esyscmd(printf "%u" 0x[]m4_substr(git_revision,0,4))) BUILD_REVISION=m4_if(git_revision,[],[svn_revision],[git_brevis]) +VERSION_NUMBER=m4_esyscmd(printf "0x%02x%02x%02x" \ + my_version_major my_version_minor my_version_micro) PACKAGE=$PACKAGE_NAME VERSION=$PACKAGE_VERSION @@ -100,6 +104,7 @@ AC_SUBST(LIBGPGME_LT_REVISION) AC_SUBST(PACKAGE) AC_SUBST(VERSION) +AC_SUBST(VERSION_NUMBER) AC_DEFINE_UNQUOTED(PACKAGE, "$PACKAGE", [Name of this package]) AC_DEFINE_UNQUOTED(VERSION, "$VERSION", [Version of this package]) diff --git a/src/gpgme.h.in b/src/gpgme.h.in index 9d9a5562..12bd4ac7 100644 --- a/src/gpgme.h.in +++ b/src/gpgme.h.in @@ -80,6 +80,10 @@ extern "C" { library. */ #define GPGME_VERSION "@PACKAGE_VERSION@" +/* The version number of this header. It may be used to handle minor + API incompatibilities. */ +#define GPGME_VERSION_NUMBER @VERSION_NUMBER@ + /* Check for a matching _FILE_OFFSET_BITS definition. */ #if @NEED__FILE_OFFSET_BITS@ #ifndef _FILE_OFFSET_BITS @@ -95,7 +99,7 @@ extern "C" { /* Some opaque data types used by GPGME. */ -/* The context holds some global state and configration options, as +/* The context holds some global state and configuration options, as well as the results of a crypto operation. */ struct gpgme_context; typedef struct gpgme_context *gpgme_ctx_t;