Commit bba34225c14 for nodejs
commit bba34225c149b21f5fee96e168d7ee6f0bb5efb9
Author: Steven R. Loomis <srl295@gmail.com>
Date: Wed Sep 23 10:47:46 2026 -0500
build: add `v8_enable_temporal_systemicu`
- switch needed to enable Temporal with system-icu
- also update configure.py to no longer disable Temporal
Signed-off-by: Steven R. Loomis <srl295@gmail.com>
PR-URL: https://github.com/nodejs/node/pull/65992
Fixes: https://github.com/nodejs/node/issues/62676
Refs: https://github.com/srl295/v8/commit/cd89fe6f7acb6f5d069f6cc741fa68303214e98f
Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com>
Reviewed-By: Chengzhong Wu <legendecas@gmail.com>
Reviewed-By: Joyee Cheung <joyeec9h3@gmail.com>
Reviewed-By: Richard Lau <richard.lau@ibm.com>
diff --git a/configure.py b/configure.py
index 8b3332a461f..4bf8e2e39ee 100755
--- a/configure.py
+++ b/configure.py
@@ -2261,9 +2261,6 @@ def configure_v8(o, configs):
case 'none':
warn('Temporal support disabled when compiling without ICU')
options.v8_disable_temporal_support = True
- case 'system-icu':
- warn('Temporal support disabled when compiling with a shared ICU library')
- options.v8_disable_temporal_support = True
o['variables']['v8_enable_temporal_support'] = 0 if options.v8_disable_temporal_support else 1
o['variables']['v8_trace_maps'] = 1 if options.trace_maps else 0
o['variables']['v8_use_perfetto'] = 1 if options.with_perfetto else 0
@@ -2544,6 +2541,8 @@ def configure_intl(o):
# always set icu_small, node.gyp depends on it being defined.
o['variables']['icu_small'] = b(False)
o['variables']['icu_system'] = b(False)
+ # always set this
+ o['variables']['v8_enable_temporal_systemicu'] = 1
# prevent data override
o['defines'] += ['ICU_NO_USER_DATA_OVERRIDE']
diff --git a/tools/v8_gypfiles/features.gypi b/tools/v8_gypfiles/features.gypi
index 3f51d3da004..95717992bca 100644
--- a/tools/v8_gypfiles/features.gypi
+++ b/tools/v8_gypfiles/features.gypi
@@ -303,6 +303,11 @@
# Enable Temporal API. Enabling this feature will
# add a dependency on the temporal_rs library.
'v8_enable_temporal_support%': 0,
+ # Enable Temporal even with system-icu.
+ # This will use an improved codepath which does not
+ # depend on internal ICU headers.
+ # This option can be on unconditionally.
+ 'v8_enable_temporal_systemicu%': 1,
# Lite mode disables a number of performance optimizations to reduce memory
# at the cost of performance.
@@ -425,6 +430,9 @@
}],
['v8_enable_temporal_support==1', {
'defines': ['V8_TEMPORAL_SUPPORT',],
+ }],
+ ['v8_enable_temporal_systemicu==1', {
+ 'defines': ['V8_ENABLE_TEMPORAL_SYSTEMICU',],
}],
# Refs: https://github.com/nodejs/node/pull/23801
# ['v8_enable_handle_zapping==1', {