build: Convert git_sha1_gen script to Python.
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>
This commit is contained in:
@@ -53,7 +53,7 @@ EXTRA_DIST = \
|
|||||||
common.py \
|
common.py \
|
||||||
docs \
|
docs \
|
||||||
doxygen \
|
doxygen \
|
||||||
bin/git_sha1_gen.sh \
|
bin/git_sha1_gen.py \
|
||||||
scons \
|
scons \
|
||||||
SConstruct
|
SConstruct
|
||||||
|
|
||||||
|
20
bin/git_sha1_gen.py
Executable file
20
bin/git_sha1_gen.py
Executable file
@@ -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
|
.PHONY: git_sha1.h.tmp
|
||||||
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
|
git_sha1.h: git_sha1.h.tmp
|
||||||
@echo "updating git_sha1.h"
|
@echo "updating git_sha1.h"
|
||||||
|
@@ -1,6 +1,7 @@
|
|||||||
import filecmp
|
import filecmp
|
||||||
import os
|
import os
|
||||||
import subprocess
|
import subprocess
|
||||||
|
from sys import executable as python_cmd
|
||||||
|
|
||||||
Import('*')
|
Import('*')
|
||||||
|
|
||||||
@@ -25,7 +26,7 @@ def write_git_sha1_h_file(filename):
|
|||||||
|
|
||||||
tempfile = "git_sha1.h.tmp"
|
tempfile = "git_sha1.h.tmp"
|
||||||
with open(tempfile, "w") as f:
|
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:
|
try:
|
||||||
subprocess.Popen(args, stdout=f).wait()
|
subprocess.Popen(args, stdout=f).wait()
|
||||||
except:
|
except:
|
||||||
|
@@ -46,7 +46,7 @@ LOCAL_GENERATED_SOURCES += $(addprefix $(intermediates)/, git_sha1.h)
|
|||||||
$(intermediates)/git_sha1.h: $(wildcard $(MESA_TOP)/.git/logs/HEAD)
|
$(intermediates)/git_sha1.h: $(wildcard $(MESA_TOP)/.git/logs/HEAD)
|
||||||
@mkdir -p $(dir $@)
|
@mkdir -p $(dir $@)
|
||||||
@echo "GIT-SHA1: $(PRIVATE_MODULE) <= git"
|
@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)
|
LOCAL_EXPORT_C_INCLUDE_DIRS := $(intermediates)
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user