From: Ian Romanick <ian.d.roman...@intel.com>

---
 Makefile                |    8 ++++++++
 src/mesa/main/version.c |    7 ++++++-
 2 files changed, 14 insertions(+), 1 deletions(-)

diff --git a/Makefile b/Makefile
index a1ab65e..c85b903 100644
--- a/Makefile
+++ b/Makefile
@@ -5,7 +5,15 @@ TOP = .
 SUBDIRS = src
 
 
+# The git command below generates an empty string when we're not
+# building in a GIT tree (i.e., building from a release tarball).
 default: $(TOP)/configs/current
+       @touch src/mesa/main/git_sha1.h
+       @if which git > /dev/null; then \
+           git log -n 1 --oneline |\
+               sed 's/^\([^ ]*\) .*/#define MESA_GIT_SHA1 "\1"/' \
+               > src/mesa/main/git_sha1.h; \
+       fi
        @for dir in $(SUBDIRS) ; do \
                if [ -d $$dir ] ; then \
                        (cd $$dir && $(MAKE)) || exit 1 ; \
diff --git a/src/mesa/main/version.c b/src/mesa/main/version.c
index c7a0d69..80fa0c2 100644
--- a/src/mesa/main/version.c
+++ b/src/mesa/main/version.c
@@ -25,6 +25,7 @@
 #include "imports.h"
 #include "mtypes.h"
 #include "version.h"
+#include "git_sha1.h"
 
 
 
@@ -185,7 +186,11 @@ compute_version(struct gl_context *ctx)
    ctx->VersionString = (char *) malloc(max);
    if (ctx->VersionString) {
       _mesa_snprintf(ctx->VersionString, max,
-                    "%u.%u Mesa " MESA_VERSION_STRING,
+                    "%u.%u Mesa " MESA_VERSION_STRING
+#ifdef MESA_GIT_SHA1
+                    " (" MESA_GIT_SHA1 ")"
+#endif
+                    ,
                     ctx->VersionMajor, ctx->VersionMinor);
    }
 }
-- 
1.7.4

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

Reply via email to