Version string generation

master
Mike Gerwitz 2016-11-17 23:54:50 -05:00
commit 4c9539a1e0
2 changed files with 49 additions and 1 deletions

View File

@ -16,7 +16,11 @@
# along with this program. If not, see <http://www.gnu.org/licenses/>.
##
AC_INIT([tame], [1.0.0], [dev@lovullo.com])
# version string is dynamically generated
m4_define([ver], m4_esyscmd(tools/vergen))
m4_if(ver, [], [m4_exit(1)])
AC_INIT([tame], [ver], [dev@lovullo.com])
AC_CONFIG_AUX_DIR([tools])
AM_INIT_AUTOMAKE([foreign])

44
tools/vergen 100755
View File

@ -0,0 +1,44 @@
#!/bin/sh
# Generates version string
#
# Copyright (C) 2012, 2013, 2014 Free Software Foundation, Inc.
#
# This file is part of GNU ease.js.
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
#
# This script has been modified slightly by LoVullo Associates to support
# TAME's versioning scheme (`v'-prefixed).
##
# for distributions
if [ -s version ]; then
cat version
exit
fi
git rev-parse --show-toplevel >/dev/null 2>&1 || {
echo 'fatal: git repository is not available'
}
version=$(
git describe --match='v[0-9]\.*' --abbrev=7 HEAD 2>/dev/null \
| sed 's/^v//'
)
git update-index -q --refresh
test -z "$( git diff-index --name-only HEAD)" || version="$version-dirty"
echo -n "$version"