From 0f13a5ae3cf36cd688eda42d09c222a3eae19ef7 Mon Sep 17 00:00:00 2001 From: Antoine du Hamel Date: Mon, 21 Sep 2026 19:45:56 +0200 Subject: [PATCH 1/2] build: port `make_temporal_zoneinfo_cpp` to GYP Signed-off-by: Antoine du Hamel --- tools/v8_gypfiles/v8.gyp | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/tools/v8_gypfiles/v8.gyp b/tools/v8_gypfiles/v8.gyp index 093be6e5395..1c386de0cd5 100644 --- a/tools/v8_gypfiles/v8.gyp +++ b/tools/v8_gypfiles/v8.gyp @@ -1161,6 +1161,31 @@ '../../deps/crates/crates.gyp:temporal_capi', ], }], + ['v8_enable_i18n_support==0', { + 'sources': [ + '<(SHARED_INTERMEDIATE_DIR)/src/builtins/builtins-temporal-zoneinfo64-data.cc', + ], + 'actions': [ + { + 'action_name': 'make_temporal_zoneinfo_cpp', + 'inputs': [ + '<(V8_ROOT)/tools/include-file-as-bytes.py', + '../../deps/crates/vendor/zoneinfo64-v0_3/src/data/zoneinfo64.res', + ], + 'outputs': [ + '<(SHARED_INTERMEDIATE_DIR)/src/builtins/builtins-temporal-zoneinfo64-data.cc', + ], + 'action': [ + '<(python)', + '<(V8_ROOT)/tools/include-file-as-bytes.py', + '../../deps/crates/vendor/zoneinfo64-v0_3/src/data/zoneinfo64.res', + '<@(_outputs)', + 'zoneinfo64_static_data', + ], + 'message': 'Generating zoneinfo64 static data for Temporal', + }, + ], + }], ], 'sources': [ ' Date: Wed, 23 Sep 2026 10:03:13 +0200 Subject: [PATCH 2/2] fixup! build: port `make_temporal_zoneinfo_cpp` to GYP --- deps/crates/crates.gyp | 33 +++++++++++++++++++++++++++++++++ tools/v8_gypfiles/v8.gyp | 24 ++---------------------- 2 files changed, 35 insertions(+), 22 deletions(-) diff --git a/deps/crates/crates.gyp b/deps/crates/crates.gyp index 0720ee6dcf3..216b0cff512 100644 --- a/deps/crates/crates.gyp +++ b/deps/crates/crates.gyp @@ -3,6 +3,8 @@ 'cargo%': 'cargo', 'cargo_vendor_dir': './vendor', 'temporal_capi_dir': 'temporal_capi-v0_2', + 'zoneinfo64_dir': 'zoneinfo64-v0_3', + 'temporal_zoneinfo64_data_output': '<(SHARED_INTERMEDIATE_DIR)/src/builtins/builtins-temporal-zoneinfo64-data.cc', 'cargo_rust_target%': '', }, 'conditions': [ @@ -125,5 +127,36 @@ ], }, }, + { + # Bakes zoneinfo64.res into a C++ source for Temporal when ICU is not + # available to load it at runtime. + 'target_name': 'temporal_zoneinfo64_data', + 'type': 'none', + 'toolsets': ['host', 'target'], + 'hard_dependency': 1, + 'direct_dependent_settings': { + 'sources': [ + '<(temporal_zoneinfo64_data_output)', + ], + }, + 'actions': [ + { + 'action_name': 'make_temporal_zoneinfo_cpp', + 'inputs': [ + '../v8/tools/include-file-as-bytes.py', + '<(cargo_vendor_dir)/<(zoneinfo64_dir)/src/data/zoneinfo64.res', + ], + 'outputs': [ + '<(temporal_zoneinfo64_data_output)', + ], + 'action': [ + '<(python)', + '<@(_inputs)', + '<@(_outputs)', + 'zoneinfo64_static_data', + ], + }, + ], + }, ] } diff --git a/tools/v8_gypfiles/v8.gyp b/tools/v8_gypfiles/v8.gyp index 1c386de0cd5..fd8394b3708 100644 --- a/tools/v8_gypfiles/v8.gyp +++ b/tools/v8_gypfiles/v8.gyp @@ -1162,28 +1162,8 @@ ], }], ['v8_enable_i18n_support==0', { - 'sources': [ - '<(SHARED_INTERMEDIATE_DIR)/src/builtins/builtins-temporal-zoneinfo64-data.cc', - ], - 'actions': [ - { - 'action_name': 'make_temporal_zoneinfo_cpp', - 'inputs': [ - '<(V8_ROOT)/tools/include-file-as-bytes.py', - '../../deps/crates/vendor/zoneinfo64-v0_3/src/data/zoneinfo64.res', - ], - 'outputs': [ - '<(SHARED_INTERMEDIATE_DIR)/src/builtins/builtins-temporal-zoneinfo64-data.cc', - ], - 'action': [ - '<(python)', - '<(V8_ROOT)/tools/include-file-as-bytes.py', - '../../deps/crates/vendor/zoneinfo64-v0_3/src/data/zoneinfo64.res', - '<@(_outputs)', - 'zoneinfo64_static_data', - ], - 'message': 'Generating zoneinfo64 static data for Temporal', - }, + 'dependencies': [ + '../../deps/crates/crates.gyp:temporal_zoneinfo64_data', ], }], ],