4 revision
= patches
= version
= ver
= beta
= dirty
=
6 # First see if we can use git-describe, then check for a version file
7 # (included in release tarballs). Fall back to default if neither works
8 ver
=`git describe --abbrev=12 HEAD 2>/dev/null`
10 tag
=`git describe --abbrev=0 HEAD 2>/dev/null`
13 git update-index
-q --refresh >/dev
/null
2>&1
14 test -z "`git diff-index --name-only HEAD --`" ||
17 if test "$ver" != "$tag"; then
18 beta
=`expr "$ver" : .*[0-9]-'\(beta[0-9]*\)'`
19 revision
=`expr "$ver" : '.*\(-g[a-f0-9]*\)$'`
20 version
=`expr "$ver" : '\(.*\)-g[a-f0-9*]'`
21 patches
=p
`expr "$ver" : $tag-'\(.*\)'$revision`
22 ver
=`expr "$ver" : v*'\(.*\)'`$dirty
24 version
="$tag$patches$revision$dirty"
25 elif test -f version
; then
26 ver
=`cat version` || ver
="$DEF_VER"
30 cat << EOF > version.c
32 const char *merlin_version = "$version";
34 echo "version.c created with merlin_version = $version"
37 echo "patches=$patches"
38 echo "version=$version"
39 echo "revision=$revision"