diff options
author | Eric Engestrom <[email protected]> | 2017-06-27 12:08:41 +0100 |
---|---|---|
committer | Eric Engestrom <[email protected]> | 2017-06-29 16:24:58 +0100 |
commit | 3fd425aed764fb771f2f49ddb6b30b389a114504 (patch) | |
tree | 8c9b64b199048e823505d8418d170936e70ad49c /src/SConscript | |
parent | ccfac28835ac67b81182bc5860f1af92fd2d2447 (diff) |
build systems: uniformize git_sha1.h generation
Signed-off-by: Eric Engestrom <[email protected]>
Reviewed-by: Matt Turner <[email protected]>
Reviewed-by: Emil Velikov <[email protected]>
Diffstat (limited to 'src/SConscript')
-rw-r--r-- | src/SConscript | 28 |
1 files changed, 8 insertions, 20 deletions
diff --git a/src/SConscript b/src/SConscript index d861af8e4d7..5e1171b5246 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. |