1 // Copyright 2017 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_STRING_H_
6 #define V8_VERSION_STRING_H_
7 
8 #include "v8-version.h"  // NOLINT(build/include)
9 
10 // This is here rather than v8-version.h to keep that file simple and
11 // machine-processable.
12 
13 #if V8_IS_CANDIDATE_VERSION
14 #define V8_CANDIDATE_STRING " (candidate)"
15 #else
16 #define V8_CANDIDATE_STRING ""
17 #endif
18 
19 #define V8_SX(x) #x
20 #define V8_S(x) V8_SX(x)
21 
22 #if V8_PATCH_LEVEL > 0
23 #define V8_VERSION_STRING                                        \
24   V8_S(V8_MAJOR_VERSION)                                         \
25   "." V8_S(V8_MINOR_VERSION) "." V8_S(V8_BUILD_NUMBER) "." V8_S( \
26       V8_PATCH_LEVEL) V8_CANDIDATE_STRING
27 #else
28 #define V8_VERSION_STRING \
29   V8_S(V8_MAJOR_VERSION)  \
30   "." V8_S(V8_MINOR_VERSION) "." V8_S(V8_BUILD_NUMBER) V8_CANDIDATE_STRING
31 #endif
32 
33 #endif  // V8_VERSION_STRING_H_
34