diff options
Diffstat (limited to 'libelftc/make-toolchain-version')
| -rwxr-xr-x | libelftc/make-toolchain-version | 26 |
1 files changed, 16 insertions, 10 deletions
diff --git a/libelftc/make-toolchain-version b/libelftc/make-toolchain-version index 8891258eeaf9..0cdf370cc32b 100755 --- a/libelftc/make-toolchain-version +++ b/libelftc/make-toolchain-version @@ -3,7 +3,7 @@ # This script generates a project-wide version identifier for use by # the `elftc_version()' API. # -# $Id: make-toolchain-version 3299 2016-01-09 19:58:46Z jkoshy $ +# $Id: make-toolchain-version 3414 2016-02-16 22:55:28Z jkoshy $ # # Defaults. @@ -64,19 +64,25 @@ done curdir=`pwd` cd ${top} || usage "ERROR: Cannot change directory to \"${top}\"." -if [ -d .svn -o -d ../.svn ]; then # FreeBSD and SF.Net sources. - versionstring=" svn:"$(svnversion) -elif [ -d CVS ]; then # NetBSD. +if [ -d CVS ]; then # Look for CVS (NetBSD). versionstring=" cvs:unknown" -else # DragonFlyBSD. - versionstring=" git:"$(git describe --all --dirty --long 2> /dev/null) - - # Cannot determine an in-tree version number. - if [ $? -ne 0 ]; then - versionstring="" +else # Try git (DragonFlyBSD). + gitversion="$(git describe --all --dirty --long 2> /dev/null)" + if [ -n "${gitversion}" ]; then + versionstring=" git:${gitversion}" + else # Assume an SVN checkout (SourceForge or FreeBSD). + svnversion="$(svnversion)" + if [ -n "${svnversion}" ]; then + versionstring=" svn:$(svnversion)" + fi fi fi +if [ -z "${versionstring}" ]; then + echo "ERROR: cannot determine a revision number." 1>&2 + exit 1 +fi + cd ${curdir} || usage "Cannot change back to ${curdir}." # |
