diff options
Diffstat (limited to 'mesalib/bin/extract_git_sha1')
-rw-r--r-- | mesalib/bin/extract_git_sha1 | 30 |
1 files changed, 20 insertions, 10 deletions
diff --git a/mesalib/bin/extract_git_sha1 b/mesalib/bin/extract_git_sha1 index cf3006f8f..828387016 100644 --- a/mesalib/bin/extract_git_sha1 +++ b/mesalib/bin/extract_git_sha1 @@ -1,10 +1,20 @@ -#!/bin/sh
-touch src/mesa/main/git_sha1.h
-if which git > /dev/null; then
- # Extract the 7-digit "short" SHA1 for the current HEAD, convert
- # it to a string, and wrap it in a #define. This is used in
- # src/mesa/main/version.c to put the GIT SHA1 in the GL_VERSION string.
- git log -n 1 --oneline |\
- sed 's/^\([^ ]*\) .*/#define MESA_GIT_SHA1 "git-\1"/' \
- > src/mesa/main/git_sha1.h
-fi
+#!/bin/sh +if [ ! -f src/mesa/main/git_sha1.h ]; then + touch src/mesa/main/git_sha1.h +fi + +if [ ! -d .git ]; then + exit +fi + +if which git > /dev/null; then + # Extract the 7-digit "short" SHA1 for the current HEAD, convert + # it to a string, and wrap it in a #define. This is used in + # src/mesa/main/version.c to put the GIT SHA1 in the GL_VERSION string. + git log -n 1 --oneline |\ + sed 's/^\([^ ]*\) .*/#define MESA_GIT_SHA1 "git-\1"/' \ + > src/mesa/main/git_sha1.h.tmp + if ! cmp -s src/mesa/main/git_sha1.h.tmp src/mesa/main/git_sha1.h; then + mv src/mesa/main/git_sha1.h.tmp src/mesa/main/git_sha1.h + fi +fi |