• Home
Name Date Size #Lines LOC

..--

README.mdD12-May-20241.7 KiB4030

current_ver.depD12-May-2024157 76

icu-generic.gypD12-May-202418 KiB492489

icu-system.gypD12-May-2024470 2118

icu_small.jsonD12-May-2024961 4847

icu_versions.jsonD12-May-202426 43

iculslocs.ccD12-May-202411.4 KiB403295

icutrim.pyD12-May-202411.9 KiB356271

no-op.ccD12-May-2024526 191

shrink-icu-src.pyD12-May-20244.7 KiB140106

README.md

1# Notes about the `tools/icu` subdirectory
2
3This directory contains tools and information about the
4[International Components for Unicode][ICU] (ICU) integration.
5Both V8 and Node.js use ICU to provide internationalization functionality.
6
7* `patches/` are one-off patches, actually entire source file replacements,
8  organized by ICU version number.
9* `icu_small.json` controls the "small" (English only) ICU. It is input to
10  `icutrim.py`
11* `icu-generic.gyp` is the build file used for most ICU builds within ICU.
12  <!-- have fun -->
13* `icu-system.gyp` is an alternate build file used when `--with-intl=system-icu`
14  is invoked. It builds against the `pkg-config` located ICU.
15* `iculslocs.cc` is source for the `iculslocs` utility, invoked by `icutrim.py`
16  as part of repackaging. Not used separately. See source for more details.
17* `no-op.cc` contains an empty function to convince gyp to use a C++ compiler.
18* `shrink-icu-src.py` is used during upgrade (see guide below).
19
20Note:
21
22> The files in this directory were written for the Node.js v0.12 effort.
23> The original intent was to merge the tools such as `icutrim.py` and `iculslocs.cc`
24> back into ICU. ICU has gained its own “data slicer” tool.
25> There is an issue open, <https://github.com/nodejs/node/issues/25136>
26> for replacing `icutrim.py` with the [ICU data slicer][].
27
28## See Also
29
30* [docs/guides/maintaining-icu.md](../../doc/contributing/maintaining/maintaining-icu.md)
31  for information on maintaining ICU in Node.js
32
33* [docs/api/intl.md](../../doc/api/intl.md) for information on the
34  internationalization-related APIs in Node.js
35
36* [The ICU Homepage][ICU]
37
38[ICU]: http://icu-project.org
39[ICU data slicer]: https://github.com/unicode-org/icu/blob/HEAD/docs/userguide/icu_data/buildtool.md
40