summaryrefslogtreecommitdiff
path: root/src/SConscript
diff options
context:
space:
mode:
authorEric Engestrom <eric.engestrom@imgtec.com>2017-06-27 12:08:41 +0100
committerEric Engestrom <eric.engestrom@imgtec.com>2017-06-29 16:24:58 +0100
commit3fd425aed764fb771f2f49ddb6b30b389a114504 (patch)
tree8c9b64b199048e823505d8418d170936e70ad49c /src/SConscript
parentccfac28835ac67b81182bc5860f1af92fd2d2447 (diff)
build systems: uniformize git_sha1.h generation
Signed-off-by: Eric Engestrom <eric.engestrom@imgtec.com> Reviewed-by: Matt Turner <mattst88@gmail.com> Reviewed-by: Emil Velikov <emil.velikov@collabora.com>
Diffstat (limited to 'src/SConscript')
-rw-r--r--src/SConscript28
1 files changed, 8 insertions, 20 deletions
diff --git a/src/SConscript b/src/SConscript
index d861af8e4d..5e1171b524 100644
--- a/src/SConscript
+++ b/src/SConscript
@@ -22,27 +22,15 @@ def write_git_sha1_h_file(filename):
to retrieve the git hashid and write the header file. An empty file
will be created if anything goes wrong."""
- args = [ 'git', 'rev-parse', '--short=10', 'HEAD' ]
- try:
- (commit, foo) = subprocess.Popen(args, stdout=subprocess.PIPE).communicate()
- except:
- print "Warning: exception in write_git_sha1_h_file()"
- # git log command didn't work
- if not os.path.exists(filename):
- dirname = os.path.dirname(filename)
- if dirname and not os.path.exists(dirname):
- os.makedirs(dirname)
- # create an empty file if none already exists
- f = open(filename, "w")
- f.close()
- return
-
- # note that commit[:-1] removes the trailing newline character
- commit = '#define MESA_GIT_SHA1 "git-%s"\n' % commit[:-1]
tempfile = "git_sha1.h.tmp"
- f = open(tempfile, "w")
- f.write(commit)
- f.close()
+ with open(tempfile, "w") as f:
+ args = [ 'sh', Dir('#').abspath + '/git_sha1_gen.sh' ]
+ try:
+ subprocess.Popen(args, stdout=f)
+ except:
+ print "Warning: exception in write_git_sha1_h_file()"
+ return
+
if not os.path.exists(filename) or not filecmp.cmp(tempfile, filename):
# The filename does not exist or it's different from the new file,
# so replace old file with new.