Python is the scripting language we've been using for scripts that need to run across all supported platforms. Shell is *not* a portable language for scripts. Reviewed-by: Eric Engestrom <eric.engestrom@imgtec.com>tags/17.3-branchpoint
@@ -53,7 +53,7 @@ EXTRA_DIST = \ | |||
common.py \ | |||
docs \ | |||
doxygen \ | |||
bin/git_sha1_gen.sh \ | |||
bin/git_sha1_gen.py \ | |||
scons \ | |||
SConstruct | |||
@@ -0,0 +1,20 @@ | |||
#!/usr/bin/env python | |||
import os.path | |||
import subprocess | |||
import sys | |||
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', | |||
'--short=10', | |||
'HEAD', | |||
], stderr=open(os.devnull, 'w')) | |||
except subprocess.CalledProcessError as e: | |||
# don't print anything if git fails | |||
pass | |||
else: | |||
sys.stdout.write('#define MESA_GIT_SHA1 "git-%s"\n' % git_sha1.rstrip()) |
@@ -1,12 +0,0 @@ | |||
#!/bin/sh | |||
# run git from the sources directory | |||
cd "$(dirname "$0")" | |||
# don't print anything if git fails | |||
if ! git_sha1=$(git --git-dir=../.git rev-parse --short=10 HEAD 2>/dev/null) | |||
then | |||
exit | |||
fi | |||
printf '#define MESA_GIT_SHA1 "git-%s"\n' "$git_sha1" |
@@ -21,7 +21,7 @@ | |||
.PHONY: git_sha1.h.tmp | |||
git_sha1.h.tmp: | |||
@sh $(top_srcdir)/bin/git_sha1_gen.sh > $@ | |||
@python $(top_srcdir)/bin/git_sha1_gen.py > $@ | |||
git_sha1.h: git_sha1.h.tmp | |||
@echo "updating git_sha1.h" |
@@ -1,6 +1,7 @@ | |||
import filecmp | |||
import os | |||
import subprocess | |||
from sys import executable as python_cmd | |||
Import('*') | |||
@@ -25,7 +26,7 @@ def write_git_sha1_h_file(filename): | |||
tempfile = "git_sha1.h.tmp" | |||
with open(tempfile, "w") as f: | |||
args = [ 'sh', Dir('#').abspath + '/bin/git_sha1_gen.sh' ] | |||
args = [ python_cmd, Dir('#').abspath + '/bin/git_sha1_gen.py' ] | |||
try: | |||
subprocess.Popen(args, stdout=f).wait() | |||
except: |
@@ -46,7 +46,7 @@ LOCAL_GENERATED_SOURCES += $(addprefix $(intermediates)/, git_sha1.h) | |||
$(intermediates)/git_sha1.h: $(wildcard $(MESA_TOP)/.git/logs/HEAD) | |||
@mkdir -p $(dir $@) | |||
@echo "GIT-SHA1: $(PRIVATE_MODULE) <= git" | |||
$(hide) sh $(MESA_TOP)/bin/git_sha1_gen.sh > $@ | |||
$(hide) python $(MESA_TOP)/bin/git_sha1_gen.py > $@ | |||
LOCAL_EXPORT_C_INCLUDE_DIRS := $(intermediates) | |||