V8 optionally implements the ECMAScript 402 specification. The API is enabled by default, but can be turned off at compile time.
The i18n implementation adds a dependency on ICU. As of v7.2, V8 requires at least ICU version 63. The exact dependency is specified in V8’s
Run the following command to check out a suitable version of ICU into
See “staying up to date” for more details.
Alternative ICU checkout #
You can check out the ICU sources at a different location and define the gyp variable
icu_gyp_path to point at the
System ICU #
Last but not least, you can compile V8 against a version of ICU installed in your system. To do so, specify the GYP variable
use_system_icu=1. If you also have
want_separate_host_toolset enabled, the bundled ICU is still compiled to generate the V8 snapshot. The system ICU is only used for the target architecture.
Embedding V8 #
If you embed V8 in your application, but your application itself doesn’t use ICU, you need to initialize ICU before calling into V8 by executing:
It is safe to invoke this method if ICU was not compiled in, then it does nothing.
Compiling without i18n support #
To build V8 without i18n support, use
gn args to set
v8_enable_i18n_support = false before compiling.