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_directory)
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 #ifndef V8_EMBEDDER_STRING
20 #define V8_EMBEDDER_STRING ""
21 #endif
22 
23 #define V8_SX(x) #x
24 #define V8_S(x) V8_SX(x)
25 
26 #if V8_PATCH_LEVEL > 0
27 #define V8_VERSION_STRING                                        \
28   V8_S(V8_MAJOR_VERSION)                                         \
29   "." V8_S(V8_MINOR_VERSION) "." V8_S(V8_BUILD_NUMBER) "." V8_S( \
30       V8_PATCH_LEVEL) V8_EMBEDDER_STRING V8_CANDIDATE_STRING
31 #else
32 #define V8_VERSION_STRING                              \
33   V8_S(V8_MAJOR_VERSION)                               \
34   "." V8_S(V8_MINOR_VERSION) "." V8_S(V8_BUILD_NUMBER) \
35       V8_EMBEDDER_STRING V8_CANDIDATE_STRING
36 #endif
37 
38 #endif  // V8_VERSION_STRING_H_
39