1 // Copyright 2009 the V8 project authors. All rights reserved. 2 // Use of this source code is governed by a BSD-style license that can be 3 // found in the LICENSE file. 4 5 #ifndef V8_VERSION_H_ 6 #define V8_VERSION_H_ 7 8 namespace v8 { 9 namespace internal { 10 11 class Version { 12 public: 13 // Return the various version components. GetMajor()14 static int GetMajor() { return major_; } GetMinor()15 static int GetMinor() { return minor_; } GetBuild()16 static int GetBuild() { return build_; } GetPatch()17 static int GetPatch() { return patch_; } IsCandidate()18 static bool IsCandidate() { return candidate_; } 19 20 // Calculate the V8 version string. 21 static void GetString(Vector<char> str); 22 23 // Calculate the SONAME for the V8 shared library. 24 static void GetSONAME(Vector<char> str); 25 GetVersion()26 static const char* GetVersion() { return version_string_; } 27 28 private: 29 // NOTE: can't make these really const because of test-version.cc. 30 static int major_; 31 static int minor_; 32 static int build_; 33 static int patch_; 34 static bool candidate_; 35 static const char* soname_; 36 static const char* version_string_; 37 38 // In test-version.cc. 39 friend void SetVersion(int major, int minor, int build, int patch, 40 bool candidate, const char* soname); 41 }; 42 43 } } // namespace v8::internal 44 45 #endif // V8_VERSION_H_ 46