// 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.

#define GLSLANG_REVISION "$WCREV$"
#define GLSLANG_DATE     "$WCDATE$"
