On 07/01/2017 03:44 AM, Eric Engestrom wrote:
On 1 July 2017 00:18:31 BST, Brian Paul <bri...@vmware.com> wrote:
Hi Eric,

Shouldn't the new script file be put in the bin/ directory with the
other helper scripts?

I guess you're right, not sure why I didn't do that.
Feel free to move it (just make sure to ../ the --git-dir too), or I can
do that when I get back in front of a computer next week.

No rush.  If you can do it, great.


Should we also merge bin/ and scripts/, maybe?
I think get_reviewers.pl would stay in scripts/ because that path
is in everyone's configuration, but I think everything in bin/ is
manually invoked, right?

Rob Clark put get_reviewer.pl in scripts/ so he's probably the person to ask. I guess I'd prefer everything in bin/ and no scripts/ but it's not a big deal.

-Brian


On 06/29/2017 09:52 AM, Eric Engeström wrote:
Module: Mesa
Branch: master
Commit: 3fd425aed764fb771f2f49ddb6b30b389a114504
URL:
https://urldefense.proofpoint.com/v2/url?u=http-3A__cgit.freedesktop.org_mesa_mesa_commit_-3Fid-3D3fd425aed764fb771f2f49ddb6b30b389a114504&d=DwIGaQ&c=uilaK90D4TOVoH58JNXRgQ&r=Ie7_encNUsqxbSRbqbNgofw0ITcfE8JKfaUjIQhncGA&m=C2QHFlT8FYNq-A29CoLU1hnnK3jQhP0A-EpQrqbU_GQ&s=ZjxcahOcytLNOgFBZuod2dWN2xvP8Ph32iP3dluOunQ&e=

Author: Eric Engestrom <eric.engest...@imgtec.com>
Date:   Tue Jun 27 12:08:41 2017 +0100

build systems: uniformize git_sha1.h generation

Signed-off-by: Eric Engestrom <eric.engest...@imgtec.com>
Reviewed-by: Matt Turner <matts...@gmail.com>
Reviewed-by: Emil Velikov <emil.veli...@collabora.com>

---

   git_sha1_gen.sh                      | 12 ++++++++++++
   src/Makefile.am                      | 13 +------------
   src/SConscript                       | 28
++++++++--------------------
   src/mesa/Android.libmesa_git_sha1.mk |  7 +------
   4 files changed, 22 insertions(+), 38 deletions(-)

diff --git a/git_sha1_gen.sh b/git_sha1_gen.sh
new file mode 100755
index 0000000000..20ab8df8ea
--- /dev/null
+++ b/git_sha1_gen.sh
@@ -0,0 +1,12 @@
+#!/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"
diff --git a/src/Makefile.am b/src/Makefile.am
index df912c442a..d8a2ee59fc 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -21,18 +21,7 @@

   .PHONY: git_sha1.h.tmp
   git_sha1.h.tmp:
-       @# Don't assume that $(top_srcdir)/.git is a directory. It may be
-       @# a gitlink file if $(top_srcdir) is a submodule checkout or a
linked
-       @# worktree.
-       @# If we are building from a release tarball copy the bundled
header.
-       @touch git_sha1.h.tmp
-       @if test -e $(top_srcdir)/.git; then \
-               if which git > /dev/null; then \
-                       printf '#define MESA_GIT_SHA1 "git-%s"\n' \
-                       `git --git-dir=$(top_srcdir)/.git rev-parse --short=10 
HEAD` \
-                       > git_sha1.h.tmp ; \
-               fi \
-       fi
+       @sh $(top_srcdir)/git_sha1_gen.sh > $@

   git_sha1.h: git_sha1.h.tmp
        @echo "updating git_sha1.h"
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.
diff --git a/src/mesa/Android.libmesa_git_sha1.mk
b/src/mesa/Android.libmesa_git_sha1.mk
index 0fd176bf7d..a5a1ebb37f 100644
--- a/src/mesa/Android.libmesa_git_sha1.mk
+++ b/src/mesa/Android.libmesa_git_sha1.mk
@@ -46,12 +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) touch $@
-       $(hide) if which git > /dev/null; then \
-                       git --git-dir $(MESA_TOP)/.git log -n 1 --oneline | \
-                       sed 's/^\([^ ]*\) .*/#define MESA_GIT_SHA1 "git-\1"/' \
-                       > $@; \
-               fi
+       $(hide) sh $(MESA_TOP)/git_sha1_gen.sh > $@

   LOCAL_EXPORT_C_INCLUDE_DIRS := $(intermediates)



_______________________________________________
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/mesa-dev

Reply via email to