Version.cpp revision 199482
1//===- Version.cpp - Clang Version Number -----------------------*- C++ -*-===// 2// 3// The LLVM Compiler Infrastructure 4// 5// This file is distributed under the University of Illinois Open Source 6// License. See LICENSE.TXT for details. 7// 8//===----------------------------------------------------------------------===// 9// 10// This file defines several version-related utility functions for Clang. 11// 12//===----------------------------------------------------------------------===// 13#include <cstring> 14#include <cstdlib> 15using namespace std; 16 17namespace clang { 18 19const char *getClangSubversionPath() { 20 static const char *Path = 0; 21 if (Path) 22 return Path; 23 24 static char URL[] = "$URL: http://llvm.org/svn/llvm-project/cfe/trunk/lib/Basic/Version.cpp $"; 25 char *End = strstr(URL, "/lib/Basic"); 26 if (End) 27 *End = 0; 28 29 End = strstr(URL, "/clang/tools/clang"); 30 if (End) 31 *End = 0; 32 33 char *Begin = strstr(URL, "cfe/"); 34 if (Begin) { 35 Path = Begin + 4; 36 return Path; 37 } 38 39 Path = URL; 40 return Path; 41} 42 43 44unsigned getClangSubversionRevision() { 45#ifndef SVN_REVISION 46 // Subversion was not available at build time? 47 return 0; 48#else 49 return strtol(SVN_REVISION, 0, 10); 50#endif 51} 52 53} // end namespace clang 54