diff options
-rw-r--r-- | Makefile | 8 | ||||
-rw-r--r-- | src/mesa/main/version.c | 7 |
2 files changed, 14 insertions, 1 deletions
@@ -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 c7a0d69a4f..80fa0c244e 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); } } |