Fix build time when building from tarball (now really)

Don't define BUILD_DATE at all when no git version information
is available. `version.cpp` will then define it for us correctly
to the last commit date.

This has been fixed and broken many times over 0.9 history
(21cc8bd, ef1e984), please don't touch this code unless you plan
on testing all possible scenarios including gitian builds.

Fixes #3570.
This commit is contained in:
Wladimir J. van der Laan 2014-01-30 11:43:18 +01:00
parent 39d4eee96e
commit 2df5e3427c

View File

@ -13,8 +13,8 @@ else
exit 1 exit 1
fi fi
TIME=$(date '+%F %T %z') DESC=""
LAST_COMMIT_DATE=""
if [ -e "$(which git)" -a -d ".git" ]; then if [ -e "$(which git)" -a -d ".git" ]; then
# clean 'dirty' status of touched files that haven't been modified # clean 'dirty' status of touched files that haven't been modified
git diff >/dev/null 2>/dev/null git diff >/dev/null 2>/dev/null
@ -23,7 +23,7 @@ if [ -e "$(which git)" -a -d ".git" ]; then
DESC="$(git describe --dirty 2>/dev/null)" DESC="$(git describe --dirty 2>/dev/null)"
# get a string like "2012-04-10 16:27:19 +0200" # get a string like "2012-04-10 16:27:19 +0200"
TIME="$(git log -n 1 --format="%ci")" LAST_COMMIT_DATE="$(git log -n 1 --format="%ci")"
fi fi
if [ -n "$DESC" ]; then if [ -n "$DESC" ]; then
@ -35,5 +35,7 @@ fi
# only update build.h if necessary # only update build.h if necessary
if [ "$INFO" != "$NEWINFO" ]; then if [ "$INFO" != "$NEWINFO" ]; then
echo "$NEWINFO" >"$FILE" echo "$NEWINFO" >"$FILE"
echo "#define BUILD_DATE \"$TIME\"" >>"$FILE" if [ -n "$LAST_COMMIT_DATE" ]; then
echo "#define BUILD_DATE \"$LAST_COMMIT_DATE\"" >> "$FILE"
fi
fi fi