summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTushar Gohad <tushar.gohad@intel.com>2015-12-10 04:54:40 -0700
committerTushar Gohad <tushar.gohad@intel.com>2015-12-10 06:09:02 -0700
commit28dec505f48e887aea922d6b65a6bab8fbf69cec (patch)
treeac0929adb05a76ae62b83d37ccfe400a9a245933
parent43250c6f53451ed54f912261786e94595b0be9ae (diff)
downloadliberasurecode-28dec505f48e887aea922d6b65a6bab8fbf69cec.tar.gz
Get version from liberasurecode version header
... (keep version in one place)
-rw-r--r--Makefile.am2
-rw-r--r--configure.ac57
-rw-r--r--erasurecode.pc.in2
-rw-r--r--src/Makefile.am2
4 files changed, 38 insertions, 25 deletions
diff --git a/Makefile.am b/Makefile.am
index b3676ee..5f6fb9b 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -31,7 +31,7 @@ thisinclude_HEADERS = \
include/rs_vand/rs_galois.h \
include/rs_vand/liberasurecode_rs_vand.h
-pkgconfig_DATA = erasurecode-$(API_VERSION).pc
+pkgconfig_DATA = erasurecode-$(LIBERASURECODE_API_VERSION).pc
install-exec-hook:
-(mkdir -p $(DESTDIR)$(includedir) && \
diff --git a/configure.ac b/configure.ac
index ac9876f..19a07d2 100644
--- a/configure.ac
+++ b/configure.ac
@@ -2,30 +2,38 @@
# Standard Stuff
################################################################################
+AC_PREREQ([2.61])
+AC_INIT(liberasurecode, [-],
+ [tusharsg AT gmail DOT com, kmgreen2 AT gmail DOT com],
+ [], [https://bitbucket.org/tsg-/liberasurecode/])
+AM_MAINTAINER_MODE([disable])
+m4_ifndef([AM_SILENT_RULES], [m4_define([AM_SILENT_RULES],[])])
+AM_SILENT_RULES([yes])
+
# Release version
-m4_define([package_version_major],[1])
-m4_define([package_version_minor],[1])
-m4_define([package_version_micro],[2])
+AC_PATH_PROG(SED, sed, "", $PATH:/bin:/usr/bin:/usr/local/bin)
+if test -z "$SED"; then
+ AC_MSG_WARN([sed was not found])
+fi
-# API version
-m4_define([api_version],[1])
+AC_MSG_CHECKING([liberasurecode API version])
+LIBERASURECODE_VERSION_MAJOR=`$SED -ne 's/^#define _MAJOR *\([0-9]*\)/\1/p' ${srcdir}/include/erasurecode/erasurecode_version.h 2>/dev/null`
+AC_MSG_RESULT($LIBERASURECODE_VERSION_MAJOR)
+if test -z "$LIBERASURECODE_VERSION_MAJOR"; then
+ AC_MSG_ERROR([API version number can not be retrieved from include/erasurecode/erasurecode_version.h])
+fi
+LIBERASURECODE_VERSION_MINOR=`$SED -ne 's/^#define _MINOR *\([0-9]*\)/\1/p' ${srcdir}/include/erasurecode/erasurecode_version.h 2>/dev/null`
+LIBERASURECODE_VERSION_MICRO=`$SED -ne 's/^#define _REV *\([0-9]*\)/\1/p' ${srcdir}/include/erasurecode/erasurecode_version.h 2>/dev/null`
+LIBERASURECODE_VERSION=${LIBERASURECODE_VERSION_MAJOR}.${LIBERASURECODE_VERSION_MINOR}.${LIBERASURECODE_VERSION_MICRO}
+LIBERASURECODE_API_VERSION=${LIBERASURECODE_VERSION_MAJOR}
-AC_INIT(liberasurecode,
- [package_version_major.package_version_minor.package_version_micro])
-
-AC_GNU_SOURCE
+LIBERASURECODE_VERSION_INFO=$((${LIBERASURECODE_VERSION_MAJOR}+${LIBERASURECODE_VERSION_MINOR})):${LIBERASURECODE_VERSION_MICRO}:${LIBERASURECODE_VERSION_MINOR}
-AC_PREREQ([2.61])
+AC_GNU_SOURCE
AM_INIT_AUTOMAKE([subdir-objects])
LT_INIT # libtool
-AC_CONFIG_HEADER(include/config_liberasurecode.h)
-
-AM_MAINTAINER_MODE([disable])
-m4_ifndef([AM_SILENT_RULES], [m4_define([AM_SILENT_RULES],[])])
-AM_SILENT_RULES([yes])
-
AC_PROG_LN_S
dnl Compiling with per-target flags requires AM_PROG_CC_C_O.
@@ -61,10 +69,15 @@ m4_popdef([pkg_description])
PKG_INSTALLDIR
-AC_SUBST([PACKAGE_VERSION_MAJOR],package_version_major)
-AC_SUBST([PACKAGE_VERSION_MINOR],package_version_minor)
-AC_SUBST([PACKAGE_VERSION_MICRO],package_version_micro)
-AC_SUBST([API_VERSION],api_version)
+AC_SUBST(LIBERASURECODE_VERSION_MAJOR)
+AC_SUBST(LIBERASURECODE_API_VERSION)
+AC_SUBST(LIBERASURECODE_VERSION_MINOR)
+AC_SUBST(LIBERASURECODE_VERSION_MICRO)
+AC_SUBST(LIBERASURECODE_VERSION)
+AC_SUBST(LIBERASURECODE_VERSION_INFO)
+AC_SUBST([PACKAGE_VERSION], LIBERASURECODE_VERSION)
+
+AC_CONFIG_HEADER(include/config_liberasurecode.h)
AX_EXT()
@@ -248,8 +261,8 @@ AC_CONFIG_FILES([\
])
AC_CONFIG_FILES([\
- erasurecode-$API_VERSION.pc:erasurecode.pc], [],
- [API_VERSION='$API_VERSION'])
+ erasurecode-${LIBERASURECODE_API_VERSION}.pc:erasurecode.pc], [],
+ [LIBERASURECODE_API_VERSION='$LIBERASURECODE_API_VERSION'])
AM_CONDITIONAL([HAVE_DOXYGEN], [test -n "$DOXYGEN"])
AM_COND_IF([HAVE_DOXYGEN],
diff --git a/erasurecode.pc.in b/erasurecode.pc.in
index 29f8192..ee6d82b 100644
--- a/erasurecode.pc.in
+++ b/erasurecode.pc.in
@@ -7,7 +7,7 @@ includedir=@includedir@
Name: erasurecode
Description: C library with pluggable erasure code backends
-Version: @PACKAGE_VERSION@
+Version: @LIBERASURECODE_VERSION@
Requires:
Conflicts:
Libs: -L${libdir} -lerasurecode
diff --git a/src/Makefile.am b/src/Makefile.am
index 5a9f33b..2566f74 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -32,7 +32,7 @@ liberasurecode_la_LIBADD = \
builtin/rs_vand/liberasurecode_rs_vand.la -lpthread -lm @GCOV_LDFLAGS@
# Version format (C - A).(A).(R) for C:R:A input
-liberasurecode_la_LDFLAGS = -rpath '$(libdir)' -version-info 2:0:1
+liberasurecode_la_LDFLAGS = -rpath '$(libdir)' -version-info @LIBERASURECODE_VERSION_INFO@
MOSTLYCLEANFILES = *.gcda *.gcno *.gcov utils/chksum/*.gcda utils/chksum/*.gcno utils/chksum/*.gcov \
backends/null/*.gcda backends/null/*.gcno backends/null/*.gcov \