mesa: Fix generation of git_sha1.h.tmp for gitlinks
authorChad Versace <chad.versace@intel.com>
Fri, 10 Jul 2015 01:46:21 +0000 (18:46 -0700)
committerChad Versace <chad.versace@intel.com>
Fri, 10 Jul 2015 18:24:25 +0000 (11:24 -0700)
Don't assume that $(top_srcdir)/.git is a directory. It may be a
gitlink file [1] if $(top_srcdir) is a submodule checkout or a linked
worktree [2].

[1] A "gitlink" is a text file that specifies the real location of
    the gitdir.
[2] Linked worktrees are a new feature in Git 2.5.

Cc: "10.6, 10.5" <mesa-stable@lists.freedesktop.org>
Reviewed-by: Iago Toral Quiroga <itoral@igalia.com>
(cherry picked from commit 75784243df1f5bb0652fb243b37d69f36d493a86)

src/mesa/Makefile.am

index 71794b5dada199f66b4ef3dd27d73843cfc44d16..4ba5b2fac291c6293a81c066d77b25e24dc8f04b 100644 (file)
@@ -40,8 +40,11 @@ gl_HEADERS = $(top_srcdir)/include/GL/*.h
 
 .PHONY: main/git_sha1.h.tmp
 main/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.
        @touch main/git_sha1.h.tmp
-       @if test -d $(top_srcdir)/.git; then \
+       @if test -e $(top_srcdir)/.git; then \
                if which git > /dev/null; then \
                    git --git-dir=$(top_srcdir)/.git log -n 1 --oneline | \
                        sed 's/^\([^ ]*\) .*/#define MESA_GIT_SHA1 "git-\1"/' \