Browse Source

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.
0.10
Wladimir J. van der Laan 11 years ago
parent
commit
2df5e3427c
  1. 10
      share/genbuild.sh

10
share/genbuild.sh

@ -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

Loading…
Cancel
Save