Add the git version to the banner

This commit is contained in:
Dave Hylands
2014-04-03 16:32:58 -07:00
parent 5bf565e353
commit bf7d690e36
3 changed files with 27 additions and 2 deletions

16
py/py-version.sh Executable file
View File

@@ -0,0 +1,16 @@
#!/bin/bash
git_hash="$(git rev-parse --short HEAD 2> /dev/null || echo unknown)"
git_files_are_clean=1
# Check if there are any modified files.
git diff --no-ext-diff --quiet --exit-code 2> /dev/null || git_files_are_clean=0
# Check if there are any staged files.
git diff-index --cached --quiet HEAD -- 2> /dev/null || git_files_are_clean=0
if [ "${git_files_are_clean}" != "1" ]; then
git_hash="${git_hash}-dirty"
fi
cat <<EOF
// This file was generated by py/py-version.sh
#define MICROPY_GIT_HASH "${git_hash}"
#define MICROPY_BUILD_DATE "$(date '+%Y-%m-%d')"
EOF

View File

@@ -90,6 +90,14 @@ PY_O_BASENAME = \
# prepend the build destination prefix to the py object files
PY_O = $(addprefix $(PY_BUILD)/, $(PY_O_BASENAME))
# Anything that depends on FORCE will be considered out-of-date
FORCE:
.PHONY: FORCE
$(PY_BUILD)/py-version.h: FORCE
$(Q)$(PY_SRC)/py-version.sh > $@.tmp
$(Q)if [ -f "$@" ] && cmp -s $@ $@.tmp; then rm $@.tmp; else echo "Generating $@"; mv $@.tmp $@; fi
# qstr data
# Adding an order only dependency on $(PY_BUILD) causes $(PY_BUILD) to get
@@ -104,7 +112,7 @@ $(PY_BUILD)/qstrdefs.generated.h: $(PY_QSTR_DEFS) $(QSTR_DEFS) $(PY_SRC)/makeqst
# the right .o's to get recompiled if the generated.h file changes. Adding
# an order-only dependendency to all of the .o's will cause the generated .h
# to get built before we try to compile any of them.
$(PY_O): | $(PY_BUILD)/qstrdefs.generated.h
$(PY_O): | $(PY_BUILD)/qstrdefs.generated.h $(PY_BUILD)/py-version.h
# emitters