From: David Champion Date: Wed, 29 Jun 2011 16:57:12 +0000 (-0500) Subject: version.sh: support building outside of source directory X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=402f1aee7bfdec21c34a2de348a7b6b5f15d11ee;p=mutt version.sh: support building outside of source directory Reported by Emanuele Giaquinta . Thanks also to Michael Elkins . --- diff --git a/configure.ac b/configure.ac index bbcf5f8e..f4609172 100644 --- a/configure.ac +++ b/configure.ac @@ -7,11 +7,11 @@ AC_PREREQ([2.54]) AC_INIT([mutt.h]) AM_CONFIG_HEADER([config.h]) -mutt_cv_version=`cat $srcdir/VERSION` +mutt_cv_version=`cat "$srcdir/VERSION"` AM_INIT_AUTOMAKE(mutt, $mutt_cv_version) AC_SUBST([CONFIG_STATUS_DEPENDENCIES], ['$(top_srcdir)/VERSION']) -MUTT_VERSION=`sh ./version.sh` +MUTT_VERSION=`env HGROOT="$srcdir" sh "$srcdir/version.sh"` AC_DEFINE_UNQUOTED(MUTT_VERSION,"$MUTT_VERSION", [Full textual version string.]) AC_GNU_SOURCE diff --git a/version.sh b/version.sh index cd902bd3..1286a274 100644 --- a/version.sh +++ b/version.sh @@ -1,13 +1,17 @@ #!/bin/sh +# Adopt $HGROOT from the environment, if present +HG=hg +[ -n "$HGROOT" ] && HG="$HG -R '$HGROOT'" + # Ensure that we have a repo here and that mercurial is installed. If # not, just cat the VERSION file; it contains the latest release number. -{ [ -d .hg ] && hg >/dev/null 2>&1; } || exec cat VERSION +{ [ -d "$HGROOT/.hg" ] && $HG >/dev/null 2>&1; } || exec cat VERSION # This is a mercurial repo and we have the hg command. # Get essential properties of the current working copy -set -- `hg parents --template='{rev} {node|short}\n'` +set -- `$HG parents --template='{rev} {node|short}\n'` rev="$1" node="$2" @@ -21,7 +25,7 @@ cleantag () { getdistance_old () { # fudge it - set -- `hg tags | sort -n +1 | egrep 'mutt-.*rel' | tail -1 | cut -d: -f1` + set -- `$HG tags | sort -n +1 | egrep 'mutt-.*rel' | tail -1 | cut -d: -f1` latesttag="$1" latestrev="$2" distance=`expr $rev - $latestrev` @@ -29,12 +33,12 @@ getdistance_old () { } getdistance_new () { - hg parents --template='{latesttag} {latesttagdistance}\n' + $HG parents --template='{latesttag} {latesttagdistance}\n' } # latesttag appeared in hg 1.4. Test for it. -[ "`hg log -r . --template='{latesttag}'`" = '' ] && +[ "`$HG log -r . --template='{latesttag}'`" = '' ] && set -- `getdistance_old` || set -- `getdistance_new` @@ -48,7 +52,7 @@ else fi # if we have mq patches applied, mention it -qparent=`hg log -r qparent --template='{rev}\n' 2>/dev/null || echo $rev` +qparent=`$HG log -r qparent --template='{rev}\n' 2>/dev/null || echo $rev` qdelta=`expr $rev - $qparent` if [ $qdelta -eq 0 ]; then qdist=""