Version.cpp revision 198092
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  char *Begin = strstr(URL, "cfe/");
30  if (Begin) {
31    Path = Begin + 4;
32    return Path;
33  }
34
35  Path = URL;
36  return Path;
37}
38
39
40unsigned getClangSubversionRevision() {
41#ifndef SVN_REVISION
42  // Subversion was not available at build time?
43  return 0;
44#else
45  return strtol(SVN_REVISION, 0, 10);
46#endif
47}
48
49} // end namespace clang
50