mirror of
https://github.com/zeromq/libzmq.git
synced 2025-03-03 04:38:42 +01:00
configure.in: Extract API version from zmq.h
* Added a version.sh and relevant changes to configure.in to extract the API version from zmq.h at the time autogen.sh is run. * Moved the version macros to be next to zmq_version in zmq.h and improved the comments. * Modified ZMQ_MAKE_VERSION to use (x) instead of plain x when expanding macro parameters. Signed-off-by: Martin Lucina <mato@kotelna.sk>
This commit is contained in:
parent
26d7669464
commit
3b3df731e6
@ -4,6 +4,7 @@ SUBDIRS = src doc perf devices
|
|||||||
DIST_SUBDIRS = src doc perf devices builds/msvc
|
DIST_SUBDIRS = src doc perf devices builds/msvc
|
||||||
|
|
||||||
EXTRA_DIST = \
|
EXTRA_DIST = \
|
||||||
|
$(top_srcdir)/version.sh \
|
||||||
$(top_srcdir)/foreign/openpgm/@pgm_basename@.tar.gz \
|
$(top_srcdir)/foreign/openpgm/@pgm_basename@.tar.gz \
|
||||||
$(top_srcdir)/foreign/xmlParser/xmlParser.cpp \
|
$(top_srcdir)/foreign/xmlParser/xmlParser.cpp \
|
||||||
$(top_srcdir)/foreign/xmlParser/xmlParser.hpp
|
$(top_srcdir)/foreign/xmlParser/xmlParser.hpp
|
||||||
|
@ -2,11 +2,13 @@
|
|||||||
# Process this file with autoconf to produce a configure script.
|
# Process this file with autoconf to produce a configure script.
|
||||||
AC_PREREQ(2.61)
|
AC_PREREQ(2.61)
|
||||||
#
|
#
|
||||||
# Change the version number below after doing a public release.
|
# The 0MQ version number is extracted from include/zmq.h using
|
||||||
|
# the version.sh script. Hence, it should be updated there.
|
||||||
# The version in git should reflect the *next* version planned.
|
# The version in git should reflect the *next* version planned.
|
||||||
# Version must be MAJOR.MINOR.PATCH otherwise things will break.
|
|
||||||
#
|
#
|
||||||
AC_INIT([zeromq],[2.0.10],[zeromq-dev@lists.zeromq.org])
|
AC_INIT([zeromq],
|
||||||
|
m4_esyscmd([./version.sh | tr -d '\n']),
|
||||||
|
[zeromq-dev@lists.zeromq.org])
|
||||||
|
|
||||||
AC_CONFIG_AUX_DIR(config)
|
AC_CONFIG_AUX_DIR(config)
|
||||||
AC_CONFIG_MACRO_DIR(config)
|
AC_CONFIG_MACRO_DIR(config)
|
||||||
|
@ -30,16 +30,6 @@ extern "C" {
|
|||||||
#include "winsock2.h"
|
#include "winsock2.h"
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/* Version macros */
|
|
||||||
#define ZMQ_VERSION_MAJOR 2
|
|
||||||
#define ZMQ_VERSION_MINOR 0
|
|
||||||
#define ZMQ_VERSION_PATCH 10
|
|
||||||
|
|
||||||
#define ZMQ_MAKE_VERSION(major, minor, patch) \
|
|
||||||
(major * 10000 + minor * 100 + patch)
|
|
||||||
#define ZMQ_VERSION \
|
|
||||||
ZMQ_MAKE_VERSION(ZMQ_VERSION_MAJOR, ZMQ_VERSION_MINOR, ZMQ_VERSION_PATCH)
|
|
||||||
|
|
||||||
/* Win32 needs special handling for DLL exports */
|
/* Win32 needs special handling for DLL exports */
|
||||||
#if defined _WIN32
|
#if defined _WIN32
|
||||||
# if defined DLL_EXPORT
|
# if defined DLL_EXPORT
|
||||||
@ -55,6 +45,17 @@ extern "C" {
|
|||||||
/* 0MQ versioning support. */
|
/* 0MQ versioning support. */
|
||||||
/******************************************************************************/
|
/******************************************************************************/
|
||||||
|
|
||||||
|
/* Version macros for compile-time API version detection */
|
||||||
|
#define ZMQ_VERSION_MAJOR 2
|
||||||
|
#define ZMQ_VERSION_MINOR 0
|
||||||
|
#define ZMQ_VERSION_PATCH 10
|
||||||
|
|
||||||
|
#define ZMQ_MAKE_VERSION(major, minor, patch) \
|
||||||
|
((major) * 10000 + (minor) * 100 + (patch))
|
||||||
|
#define ZMQ_VERSION \
|
||||||
|
ZMQ_MAKE_VERSION(ZMQ_VERSION_MAJOR, ZMQ_VERSION_MINOR, ZMQ_VERSION_PATCH)
|
||||||
|
|
||||||
|
/* Run-time API version detection */
|
||||||
ZMQ_EXPORT void zmq_version (int *major, int *minor, int *patch);
|
ZMQ_EXPORT void zmq_version (int *major, int *minor, int *patch);
|
||||||
|
|
||||||
/******************************************************************************/
|
/******************************************************************************/
|
||||||
|
21
version.sh
Executable file
21
version.sh
Executable file
@ -0,0 +1,21 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
#
|
||||||
|
# This script extracts the 0MQ version from include/zmq.h, which is the master
|
||||||
|
# location for this information.
|
||||||
|
#
|
||||||
|
if [ ! -f include/zmq.h ]; then
|
||||||
|
echo "version.sh: error: include/zmq.h does not exist" 1>&2
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
MAJOR=`egrep '^#define +ZMQ_VERSION_MAJOR +[0-9]+$' include/zmq.h`
|
||||||
|
MINOR=`egrep '^#define +ZMQ_VERSION_MINOR +[0-9]+$' include/zmq.h`
|
||||||
|
PATCH=`egrep '^#define +ZMQ_VERSION_PATCH +[0-9]+$' include/zmq.h`
|
||||||
|
if [ -z "$MAJOR" -o -z "$MINOR" -o -z "$PATCH" ]; then
|
||||||
|
echo "version.sh: error: could not extract version from include/zmq.h" 1>&2
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
MAJOR=`echo $MAJOR | awk '{ print $3 }'`
|
||||||
|
MINOR=`echo $MINOR | awk '{ print $3 }'`
|
||||||
|
PATCH=`echo $PATCH | awk '{ print $3 }'`
|
||||||
|
echo $MAJOR.$MINOR.$PATCH
|
||||||
|
|
Loading…
x
Reference in New Issue
Block a user