summaryrefslogtreecommitdiff
path: root/lib/mesa/bin/git_sha1_gen.py
diff options
context:
space:
mode:
authorJonathan Gray <jsg@cvs.openbsd.org>2018-10-23 05:47:28 +0000
committerJonathan Gray <jsg@cvs.openbsd.org>2018-10-23 05:47:28 +0000
commitf6666e4c3977a5d74f3da7464672ea48e44dff4b (patch)
tree21df237f03b2aabc094d514d3d8f0d13c4f00f4e /lib/mesa/bin/git_sha1_gen.py
parent6f93ffbe5713be116f31de00cb562a09606a779c (diff)
Import Mesa 17.3.9
Diffstat (limited to 'lib/mesa/bin/git_sha1_gen.py')
-rwxr-xr-xlib/mesa/bin/git_sha1_gen.py36
1 files changed, 36 insertions, 0 deletions
diff --git a/lib/mesa/bin/git_sha1_gen.py b/lib/mesa/bin/git_sha1_gen.py
new file mode 100755
index 000000000..c75dba101
--- /dev/null
+++ b/lib/mesa/bin/git_sha1_gen.py
@@ -0,0 +1,36 @@
+#!/usr/bin/env python
+
+"""
+Generate the contents of the git_sha1.h file.
+The output of this script goes to stdout.
+"""
+
+
+import os
+import os.path
+import subprocess
+import sys
+
+
+def get_git_sha1():
+ """Try to get the git SHA1 with git rev-parse."""
+ git_dir = os.path.join(os.path.dirname(sys.argv[0]), '..', '.git')
+ try:
+ git_sha1 = subprocess.check_output([
+ 'git',
+ '--git-dir=' + git_dir,
+ 'rev-parse',
+ 'HEAD',
+ ], stderr=open(os.devnull, 'w')).decode("ascii")
+ except:
+ # don't print anything if it fails
+ git_sha1 = ''
+ return git_sha1
+
+
+git_sha1 = os.environ.get('MESA_GIT_SHA1_OVERRIDE', get_git_sha1())[:10]
+if git_sha1:
+ git_sha1_h_in_path = os.path.join(os.path.dirname(sys.argv[0]),
+ '..', 'src', 'git_sha1.h.in')
+ with open(git_sha1_h_in_path , 'r') as git_sha1_h_in:
+ sys.stdout.write(git_sha1_h_in.read().replace('@VCS_TAG@', git_sha1))