summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Makefile.am17
-rw-r--r--configure.in8
-rw-r--r--include/zmq.h21
-rwxr-xr-xversion.sh21
4 files changed, 50 insertions, 17 deletions
diff --git a/Makefile.am b/Makefile.am
index 09706c4..e7d221f 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -4,9 +4,17 @@ SUBDIRS = src doc perf devices tests
DIST_SUBDIRS = src doc perf devices tests builds/msvc
EXTRA_DIST = \
-$(top_srcdir)/foreign/openpgm/@pgm_basename@.tar.gz \
-$(top_srcdir)/foreign/xmlParser/xmlParser.cpp \
-$(top_srcdir)/foreign/xmlParser/xmlParser.hpp
+ autogen.sh \
+ version.sh \
+ MAINTAINERS \
+ foreign/openpgm/@pgm_basename@.tar.gz \
+ foreign/xmlParser/xmlParser.cpp \
+ foreign/xmlParser/xmlParser.hpp
+MAINTAINERCLEANFILES = \
+ $(srcdir)/aclocal.m4 \
+ $(srcdir)/autom4te.cache \
+ $(srcdir)/configure \
+ `find "$(srcdir)" -type f -name Makefile.in -print`
dist-hook:
@if test -d "$(srcdir)/.git"; \
@@ -26,4 +34,5 @@ dist-hook:
-rm -rf $(distdir)/foreign/openpgm/@pgm_basename@
distclean-local:
-rm -rf $(top_srcdir)/foreign/openpgm/@pgm_basename@
-
+maintainer-clean-local:
+ -rm -rf $(top_srcdir)/config
diff --git a/configure.in b/configure.in
index 3c6f1e7..33fdfb4 100644
--- a/configure.in
+++ b/configure.in
@@ -2,11 +2,13 @@
# Process this file with autoconf to produce a configure script.
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.
-# Version must be MAJOR.MINOR.PATCH otherwise things will break.
#
-AC_INIT([zeromq],[2.1.0],[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_MACRO_DIR(config)
diff --git a/include/zmq.h b/include/zmq.h
index 910e381..9684cd5 100644
--- a/include/zmq.h
+++ b/include/zmq.h
@@ -30,16 +30,6 @@ extern "C" {
#include "winsock2.h"
#endif
-/* Version macros */
-#define ZMQ_VERSION_MAJOR 2
-#define ZMQ_VERSION_MINOR 1
-#define ZMQ_VERSION_PATCH 0
-
-#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 */
#if defined _WIN32
# if defined DLL_EXPORT
@@ -55,6 +45,17 @@ extern "C" {
/* 0MQ versioning support. */
/******************************************************************************/
+/* Version macros for compile-time API version detection */
+#define ZMQ_VERSION_MAJOR 2
+#define ZMQ_VERSION_MINOR 1
+#define ZMQ_VERSION_PATCH 0
+
+#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);
/******************************************************************************/
diff --git a/version.sh b/version.sh
new file mode 100755
index 0000000..b88bb61
--- /dev/null
+++ b/version.sh
@@ -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
+