Skip to content

Commit 2780f01

Browse files
committed
deps: backport b096c44 from upstream V8
Original commit message: [build] Introduce an embedder version string Sometimes, the embedder might want to merge a fix to an abandoned branch or to a supported branch but the fix is not relevant to Chromium. This adds a new version string that the embedder can set at compile time and that will be appended to the official V8 version. The separator must be provided in the string. For instance, to have a full version string like "6.0.287.53-emb.1", the embedder must set V8_EMBEDDER_STRING to "-emb.1". Related Node.js issue: #9754 BUG=v8:5740 R=machenbach@chromium.org Cq-Include-Trybots: master.tryserver.chromium.linux:linux_chromium_rel_ng Change-Id: Ifa2d9bd213795e6d54886436f8c3787ac6162823 Reviewed-on: https://chromium-review.googlesource.com/690475 Reviewed-by: Michael Achenbach <machenbach@chromium.org> Reviewed-by: Yang Guo <yangguo@chromium.org> Commit-Queue: Michaël Zasso <mic.besace@gmail.com> Cr-Commit-Position: refs/heads/master@{#48301} Refs: v8/v8@b096c44 PR-URL: #15785 Reviewed-By: Anna Henningsen <anna@addaleax.net> Reviewed-By: Colin Ihrig <cjihrig@gmail.com> Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl> Reviewed-By: Gibson Fahnestock <gibfahn@gmail.com> Reviewed-By: Ali Ijaz Sheikh <ofrobots@google.com> Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Michael Dawson <michael_dawson@ca.ibm.com>
1 parent 33b2b10 commit 2780f01

7 files changed

Lines changed: 75 additions & 31 deletions

File tree

deps/v8/BUILD.gn

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,9 @@ declare_args() {
4040
# Embeds the given script into the snapshot.
4141
v8_embed_script = ""
4242

43+
# Allows the embedder to add a custom suffix to the version string.
44+
v8_embedder_string = ""
45+
4346
# Sets -dENABLE_DISASSEMBLER.
4447
v8_enable_disassembler = ""
4548

@@ -224,6 +227,9 @@ config("features") {
224227

225228
defines = []
226229

230+
if (v8_embedder_string != "") {
231+
defines += [ "V8_EMBEDDER_STRING=\"$v8_embedder_string\"" ]
232+
}
227233
if (v8_enable_disassembler) {
228234
defines += [ "ENABLE_DISASSEMBLER" ]
229235
}

deps/v8/gypfiles/features.gypi

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,9 @@
3333
'v8_target_arch%': '<(target_arch)',
3434
},
3535

36+
# Allows the embedder to add a custom suffix to the version string.
37+
'v8_embedder_string%': '',
38+
3639
'v8_enable_disassembler%': 0,
3740

3841
'v8_promise_internal_field_count%': 0,
@@ -86,6 +89,9 @@
8689
},
8790
'target_defaults': {
8891
'conditions': [
92+
['v8_embedder_string!=""', {
93+
'defines': ['V8_EMBEDDER_STRING="<(v8_embedder_string)"',],
94+
}],
8995
['v8_enable_disassembler==1', {
9096
'defines': ['ENABLE_DISASSEMBLER',],
9197
}],

deps/v8/include/v8-version-string.h

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,14 +16,18 @@
1616
#define V8_CANDIDATE_STRING ""
1717
#endif
1818

19+
#ifndef V8_EMBEDDER_STRING
20+
#define V8_EMBEDDER_STRING ""
21+
#endif
22+
1923
#define V8_SX(x) #x
2024
#define V8_S(x) V8_SX(x)
2125

2226
#if V8_PATCH_LEVEL > 0
2327
#define V8_VERSION_STRING \
2428
V8_S(V8_MAJOR_VERSION) \
2529
"." V8_S(V8_MINOR_VERSION) "." V8_S(V8_BUILD_NUMBER) "." V8_S( \
26-
V8_PATCH_LEVEL) V8_CANDIDATE_STRING
30+
V8_PATCH_LEVEL) V8_EMBEDDER_STRING V8_CANDIDATE_STRING
2731
#else
2832
#define V8_VERSION_STRING \
2933
V8_S(V8_MAJOR_VERSION) \

deps/v8/src/log-utils.cc

Lines changed: 10 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -52,9 +52,16 @@ void Log::Initialize(const char* log_file_name) {
5252

5353
if (output_handle_ != nullptr) {
5454
Log::MessageBuilder msg(this);
55-
msg.Append("v8-version,%d,%d,%d,%d,%d", Version::GetMajor(),
56-
Version::GetMinor(), Version::GetBuild(), Version::GetPatch(),
57-
Version::IsCandidate());
55+
if (strlen(Version::GetEmbedder()) == 0) {
56+
msg.Append("v8-version,%d,%d,%d,%d,%d", Version::GetMajor(),
57+
Version::GetMinor(), Version::GetBuild(),
58+
Version::GetPatch(), Version::IsCandidate());
59+
} else {
60+
msg.Append("v8-version,%d,%d,%d,%d,%s,%d", Version::GetMajor(),
61+
Version::GetMinor(), Version::GetBuild(),
62+
Version::GetPatch(), Version::GetEmbedder(),
63+
Version::IsCandidate());
64+
}