Integrate version numbering into autoconf

configure.in is now the master source for the package version number,
this propagates to src/platform.hpp (for zmq_version) and doc/Makefile.am
(for documentation generation) automagically.
This commit is contained in:
Martin Lucina 2010-02-11 17:49:40 +01:00
parent 432fbd796b
commit 30b967e2a4
5 changed files with 35 additions and 12 deletions

View File

@ -1,12 +1,38 @@
# -*- Autoconf -*-
# Process this file with autoconf to produce a configure script.
AC_PREREQ(2.61)
AC_INIT([zeromq],[dev],[http://www.zeromq.org])
#
# Change the version number below after doing a public release.
# The version in git should reflect the *next* version planned.
# Version must be MAJOR.MINOR.PATCH otherwise things will break.
#
AC_INIT([zeromq],[0.0.0],[zeromq-dev@lists.zeromq.org])
AC_CONFIG_AUX_DIR(config)
AC_CONFIG_MACRO_DIR(config)
AM_CONFIG_HEADER(src/platform.hpp)
AM_INIT_AUTOMAKE(tar-ustar)
# This defines PACKAGE_VERSION_... in src/platform.hpp
PV_MAJOR=`echo $PACKAGE_VERSION | cut -d . -f 1`
PV_MINOR=`echo $PACKAGE_VERSION | cut -d . -f 2`
PV_PATCH=`echo $PACKAGE_VERSION | cut -d . -f 3`
AC_DEFINE_UNQUOTED([PACKAGE_VERSION_MAJOR],[$PV_MAJOR],
[0MQ major version])
AC_DEFINE_UNQUOTED([PACKAGE_VERSION_MINOR],[$PV_MINOR],
[0MQ minor version])
AC_DEFINE_UNQUOTED([PACKAGE_VERSION_PATCH],[$PV_PATCH],
[0MQ patchlevel])
# This lets us use PACKAGE_VERSION in Makefiles
AC_SUBST(PACKAGE_VERSION)
#
# Libtool -version-info (ABI version)
#
# Currently 0.0.0 ("unstable"). Don't change this unless you
# know exactly what you're doing and have read and understand
# http://www.gnu.org/software/libtool/manual/html_node/Updating-version-info.html
#
# libzmq -version-info
LTVER="0:0:0"
AC_SUBST(LTVER)

View File

@ -29,9 +29,11 @@ dist-hook : $(MAN_DOC) $(MAN_HTML)
SUFFIXES=.html .txt .xml .1 .3 .7
.txt.html:
asciidoc -d manpage -b xhtml11 -f asciidoc.conf $<
asciidoc -d manpage -b xhtml11 -f asciidoc.conf \
-azmq_version=@PACKAGE_VERSION@ $<
.txt.xml:
asciidoc -d manpage -b docbook -f asciidoc.conf $<
asciidoc -d manpage -b docbook -f asciidoc.conf \
-azmq_version=@PACKAGE_VERSION@ $<
.xml.1:
xmlto man $<
.xml.3:

View File

@ -23,7 +23,7 @@ template::[header-declarations]
<refentrytitle>{mantitle}</refentrytitle>
<manvolnum>{manvolnum}</manvolnum>
<refmiscinfo class="source">0MQ</refmiscinfo>
<refmiscinfo class="version">2.0.0</refmiscinfo>
<refmiscinfo class="version">{zmq_version}</refmiscinfo>
<refmiscinfo class="manual">0MQ Manual</refmiscinfo>
</refmeta>
<refnamediv>

View File

@ -27,11 +27,6 @@ namespace zmq
enum
{
// Current version of 0MQ.
version_major = 0,
version_minor = 0,
version_patch = 0,
// Number of new messages in message pipe needed to trigger new memory
// allocation. Setting this parameter to 256 decreases the impact of
// memory allocation by approximately 99.6%

View File

@ -52,9 +52,9 @@
void zmq_version (int *major_, int *minor_, int *patch_)
{
*major_ = zmq::version_major;
*minor_ = zmq::version_minor;
*patch_ = zmq::version_patch;
*major_ = PACKAGE_VERSION_MAJOR;
*minor_ = PACKAGE_VERSION_MINOR;
*patch_ = PACKAGE_VERSION_PATCH;
}
const char *zmq_strerror (int errnum_)