Add revision information.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@67220 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/lib/Driver/Driver.cpp b/lib/Driver/Driver.cpp
index 03138bf..49a4dca 100644
--- a/lib/Driver/Driver.cpp
+++ b/lib/Driver/Driver.cpp
@@ -220,10 +220,15 @@
   if (zap)
     *zap = 0;
   const char *vers = buf+6;
-
+  // FIXME: Add cmake support and remove #ifdef
+#ifdef SVN_REVISION
+  const char *revision = SVN_REVISION;
+#else
+  const char *revision = "";
+#endif
   // FIXME: The following handlers should use a callback mechanism, we
   // don't know what the client would like to do.
-  llvm::errs() << "ccc version 1.0 (" << vers << ")" << "\n";
+  llvm::errs() << "ccc version 1.0 (" << vers << " " << revision << ")" << "\n";
   // FIXME: Add cmake support and remove #ifdef
 #ifdef TARGET_TRIPLE
   llvm::errs() << "Target: " << TARGET_TRIPLE << "\n";
diff --git a/lib/Driver/Makefile b/lib/Driver/Makefile
index 4aeba9f..c6a31b0 100644
--- a/lib/Driver/Makefile
+++ b/lib/Driver/Makefile
@@ -12,7 +12,15 @@
 BUILD_ARCHIVE = 1
 CXXFLAGS = -fno-rtti
 
-CPPFLAGS += -I$(PROJ_SRC_DIR)/../../include -I$(PROJ_OBJ_DIR)/../../include -DTARGET_TRIPLE='"$(TARGET_TRIPLE)"'
+SVN_REVISION = $(shell cd $(PROJ_SRC_DIR)/../.. && svnversion)
+
+CPPFLAGS += -I$(PROJ_SRC_DIR)/../../include -I$(PROJ_OBJ_DIR)/../../include -DTARGET_TRIPLE='"$(TARGET_TRIPLE)"' -DSVN_REVISION='"$(SVN_REVISION)"'
 
 include $(LEVEL)/Makefile.common
 
+.ver:
+	@if [ '$(SVN_REVISION)' != '$(shell cat .ver-svn 2>/dev/null)' ]; then	\
+		echo '$(SVN_REVISION)' > .ver-svn;			\
+	fi
+.ver-svn: .ver
+$(ObjDir)/Driver.o: .ver-svn