Version reporting: Restart active use of revision.h, now based on a git tag.

The new make-revision script regenerates glslang/Include/revision.h,
used as it always has been, but made with a git-tag version and the
the number of commits on master.

I have a pre-commit hook that will automatically do this on master,
likely often enough to work in practice, without needing pull requests
to include it.
diff --git a/StandAlone/StandAlone.cpp b/StandAlone/StandAlone.cpp
index b88d8ad..2a740ed 100644
--- a/StandAlone/StandAlone.cpp
+++ b/StandAlone/StandAlone.cpp
@@ -39,6 +39,7 @@
 
 #include "Worklist.h"
 #include "./../glslang/Include/ShHandle.h"
+#include "./../glslang/Include/revision.h"
 #include "./../glslang/Public/ShaderLang.h"
 #include "../SPIRV/GlslangToSpv.h"
 #include "../SPIRV/GLSL450Lib.h"
@@ -782,12 +783,13 @@
             return ESuccess;
     }
 
-    if (Options & EOptionDumpVersions) {        
+    if (Options & EOptionDumpVersions) {
+        printf("Glslang Version: %s %s\n", GLSLANG_REVISION, GLSLANG_DATE);
         printf("ESSL Version: %s\n", glslang::GetEsslVersionString());
         printf("GLSL Version: %s\n", glslang::GetGlslVersionString());
         std::string spirvVersion;
         glslang::GetSpirvVersion(spirvVersion);
-        printf("SPIR-V Version %s\n", spirvVersion.c_str());  // TODO: move to consume source-generated data
+        printf("SPIR-V Version %s\n", spirvVersion.c_str());
         if (Worklist.empty())
             return ESuccess;
     }
diff --git a/glslang/Include/revision.h b/glslang/Include/revision.h
index 00836fc..6661aad 100644
--- a/glslang/Include/revision.h
+++ b/glslang/Include/revision.h
@@ -1,13 +1,6 @@
-// The file revision.h should be updated to the latest version, somehow, on 
-// check-in, if glslang has changed.
-//
-// revision.template is the source for revision.h when using SubWCRev as the
-// method of updating revision.h.  You don't have to do it this way, the
-// requirement is only that revision.h gets updated.
-//
-// revision.h is under source control so that not all consumers of glslang
-// source have to figure out how to create revision.h just to get a build
-// going.  However, if it is not updated, it can be a version behind.
+// This header is generated by the make-revision script.
+// For the version, it uses the latest git tag followed by the number of commits.
+// For the date, it uses the current date (when then script is run).
 
-#define GLSLANG_REVISION "25512"
-#define GLSLANG_DATE     "2014/02/24 14:36:08"
+#define GLSLANG_REVISION "1.1.686"
+#define GLSLANG_DATE "01-Aug-2015"
diff --git a/make-revision b/make-revision
new file mode 100755
index 0000000..ab5a859
--- /dev/null
+++ b/make-revision
@@ -0,0 +1,9 @@
+#!/bin/sh
+
+echo "// This header is generated by the make-revision script."
+echo "// For the version, it uses the latest git tag followed by the number of commits."
+echo "// For the date, it uses the current date (when then script is run)."
+
+echo
+echo \#define GLSLANG_REVISION \"`git describe --tags --abbrev=0`.`git log --oneline | wc -l`\"
+echo \#define GLSLANG_DATE \"`date +%d-%b-%Y`\"