diff options
Diffstat (limited to 'lib/Driver')
-rw-r--r-- | lib/Driver/Driver.cpp | 9 | ||||
-rw-r--r-- | lib/Driver/Makefile | 10 |
2 files changed, 16 insertions, 3 deletions
diff --git a/lib/Driver/Driver.cpp b/lib/Driver/Driver.cpp index 03138bf0ee..49a4dca54c 100644 --- a/lib/Driver/Driver.cpp +++ b/lib/Driver/Driver.cpp @@ -220,10 +220,15 @@ void Driver::PrintVersion() const { 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 4aeba9f5f8..c6a31b0d3c 100644 --- a/lib/Driver/Makefile +++ b/lib/Driver/Makefile @@ -12,7 +12,15 @@ LIBRARYNAME := clangDriver 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 |