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