summaryrefslogtreecommitdiff
path: root/tools/icu/icu-generic.gyp
diff options
context:
space:
mode:
authorSteven R. Loomis <srloomis@us.ibm.com>2019-09-30 11:17:49 -0700
committerRich Trott <rtrott@gmail.com>2019-10-03 15:21:26 -0700
commit1a25e901b7c380929f0d08599f49dd77897a627f (patch)
tree3fdac9d1df5970cf8870bf5a9a5ae1cb45fa890a /tools/icu/icu-generic.gyp
parenta71fb978a40b5251fdb012bab5e03598d5397a10 (diff)
downloadandroid-node-v8-1a25e901b7c380929f0d08599f49dd77897a627f.tar.gz
android-node-v8-1a25e901b7c380929f0d08599f49dd77897a627f.tar.bz2
android-node-v8-1a25e901b7c380929f0d08599f49dd77897a627f.zip
tools: support full-icu by default
Instead of an English-only icudt64l.dat in the repo, we now have icudt64l.dat.gz with all locales. - updated READMEs and docs - shrinker now copies source, and compresses (bzip2) the ICU data file - configure expects deps/icu-small to be full ICU with a full compressed data file Fixes: https://github.com/nodejs/node/issues/19214 Co-Authored-By: Richard Lau <riclau@uk.ibm.com> Co-Authored-By: Jan Olaf Krems <jan.krems@gmail.com> Co-Authored-By: James M Snell <jasnell@gmail.com> PR-URL: https://github.com/nodejs/node/pull/29522 Reviewed-By: Jan Krems <jan.krems@gmail.com> Reviewed-By: Jiawen Geng <technicalcute@gmail.com> Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Michael Dawson <michael_dawson@ca.ibm.com> Reviewed-By: Michaƫl Zasso <targos@protonmail.com>
Diffstat (limited to 'tools/icu/icu-generic.gyp')
-rw-r--r--tools/icu/icu-generic.gyp37
1 files changed, 21 insertions, 16 deletions
diff --git a/tools/icu/icu-generic.gyp b/tools/icu/icu-generic.gyp
index b8f0d13836..d2d0e5a318 100644
--- a/tools/icu/icu-generic.gyp
+++ b/tools/icu/icu-generic.gyp
@@ -212,16 +212,17 @@
'conditions': [
[ 'icu_small == "false"', { # and OS=win
# full data - just build the full data file, then we are done.
- 'sources': [ '<(SHARED_INTERMEDIATE_DIR)/icudt<(icu_ver_major)<(icu_endianness)_dat.obj' ],
+ 'sources': [ '<(SHARED_INTERMEDIATE_DIR)/icudt<(icu_ver_major)<(icu_endianness)_dat.<(icu_asm_ext)' ],
'dependencies': [ 'genccode#host' ],
'actions': [
{
'action_name': 'icudata',
'msvs_quote_cmd': 0,
'inputs': [ '<(icu_data_in)' ],
- 'outputs': [ '<(SHARED_INTERMEDIATE_DIR)/icudt<(icu_ver_major)<(icu_endianness)_dat.obj' ],
+ 'outputs': [ '<(SHARED_INTERMEDIATE_DIR)/icudt<(icu_ver_major)<(icu_endianness)_dat.<(icu_asm_ext)' ],
+ # on Windows, we can go directly to .obj file (-o) option.
'action': [ '<(PRODUCT_DIR)/genccode',
- '-o',
+ '<@(icu_asm_opts)', # -o
'-d', '<(SHARED_INTERMEDIATE_DIR)',
'-n', 'icudata',
'-e', 'icudt<(icu_ver_major)',
@@ -256,9 +257,9 @@
'action_name': 'genccode',
'msvs_quote_cmd': 0,
'inputs': [ '<(SHARED_INTERMEDIATE_DIR)/icutmp/icudt<(icu_ver_major)<(icu_endianness).dat' ],
- 'outputs': [ '<(SHARED_INTERMEDIATE_DIR)/icudt<(icu_ver_major)<(icu_endianness)_dat.obj' ],
+ 'outputs': [ '<(SHARED_INTERMEDIATE_DIR)/icudt<(icu_ver_major)<(icu_endianness)_dat.<(icu_asm_ext)' ],
'action': [ '<(PRODUCT_DIR)/genccode',
- '-o',
+ '<@(icu_asm_opts)', # -o
'-d', '<(SHARED_INTERMEDIATE_DIR)/',
'-n', 'icudata',
'-e', 'icusmdt<(icu_ver_major)',
@@ -266,20 +267,20 @@
},
],
# This file contains the small ICU data.
- 'sources': [ '<(SHARED_INTERMEDIATE_DIR)/icudt<(icu_ver_major)<(icu_endianness)_dat.obj' ],
+ 'sources': [ '<(SHARED_INTERMEDIATE_DIR)/icudt<(icu_ver_major)<(icu_endianness)_dat.<(icu_asm_ext)' ],
} ] ], #end of OS==win and icu_small == true
}, { # OS != win
'conditions': [
[ 'icu_small == "false"', {
- # full data - just build the full data file, then we are done.
- 'sources': [ '<(SHARED_INTERMEDIATE_DIR)/icudt<(icu_ver_major)_dat.c' ],
+ # full data - no trim needed
+ 'sources': [ '<(SHARED_INTERMEDIATE_DIR)/icudt<(icu_ver_major)_dat.<(icu_asm_ext)' ],
'dependencies': [ 'genccode#host', 'icupkg#host', 'icu_implementation#host', 'icu_uconfig' ],
'include_dirs': [
'<(icu_path)/source/common',
],
'actions': [
{
- # Swap endianness (if needed), or at least copy the file
+ # Copy the .dat file, swapping endianness if needed.
'action_name': 'icupkg',
'inputs': [ '<(icu_data_in)' ],
'outputs':[ '<(SHARED_INTERMEDIATE_DIR)/icudt<(icu_ver_major)<(icu_endianness).dat' ],
@@ -290,7 +291,7 @@
],
},
{
- # Rename without the endianness marker
+ # Rename without the endianness marker (icudt64l.dat -> icudt64.dat)
'action_name': 'copy',
'inputs': [ '<(SHARED_INTERMEDIATE_DIR)/icudt<(icu_ver_major)<(icu_endianness).dat' ],
'outputs':[ '<(SHARED_INTERMEDIATE_DIR)/icudt<(icu_ver_major).dat' ],
@@ -300,12 +301,14 @@
],
},
{
+ # convert full ICU data file to .c, or .S, etc.
'action_name': 'icudata',
'inputs': [ '<(SHARED_INTERMEDIATE_DIR)/icudt<(icu_ver_major).dat' ],
- 'outputs':[ '<(SHARED_INTERMEDIATE_DIR)/icudt<(icu_ver_major)_dat.c' ],
+ 'outputs':[ '<(SHARED_INTERMEDIATE_DIR)/icudt<(icu_ver_major)_dat.<(icu_asm_ext)' ],
'action': [ '<(PRODUCT_DIR)/genccode',
'-e', 'icudt<(icu_ver_major)',
'-d', '<(SHARED_INTERMEDIATE_DIR)',
+ '<@(icu_asm_opts)',
'-f', 'icudt<(icu_ver_major)_dat',
'<@(_inputs)' ],
},
@@ -318,7 +321,8 @@
'export_dependent_settings': [ 'icustubdata' ],
'actions': [
{
- # trim down ICU
+ # Trim down ICU.
+ # Note that icupkg is invoked automatically, swapping endianness if needed.
'action_name': 'icutrim',
'inputs': [ '<(icu_data_in)', 'icu_small.json' ],
'outputs': [ '<(SHARED_INTERMEDIATE_DIR)/icutmp/icudt<(icu_ver_major)<(icu_endianness).dat' ],
@@ -333,7 +337,7 @@
'-v',
'-L', '<(icu_locales)'],
}, {
- # rename to get the final entrypoint name right
+ # rename to get the final entrypoint name right (icudt64l.dat -> icusmdt64.dat)
'action_name': 'rename',
'inputs': [ '<(SHARED_INTERMEDIATE_DIR)/icutmp/icudt<(icu_ver_major)<(icu_endianness).dat' ],
'outputs': [ '<(SHARED_INTERMEDIATE_DIR)/icutmp/icusmdt<(icu_ver_major).dat' ],
@@ -342,17 +346,18 @@
'<@(_outputs)',
],
}, {
- # build final .dat -> .obj
+ # For icu-small, always use .c, don't try to use .S, etc.
'action_name': 'genccode',
'inputs': [ '<(SHARED_INTERMEDIATE_DIR)/icutmp/icusmdt<(icu_ver_major).dat' ],
- 'outputs': [ '<(SHARED_INTERMEDIATE_DIR)/icusmdt<(icu_ver_major)_dat.c' ],
+ 'outputs': [ '<(SHARED_INTERMEDIATE_DIR)/icusmdt<(icu_ver_major)_dat.<(icu_asm_ext)' ],
'action': [ '<(PRODUCT_DIR)/genccode',
+ '<@(icu_asm_opts)',
'-d', '<(SHARED_INTERMEDIATE_DIR)',
'<@(_inputs)' ],
},
],
# This file contains the small ICU data
- 'sources': [ '<(SHARED_INTERMEDIATE_DIR)/icusmdt<(icu_ver_major)_dat.c' ],
+ 'sources': [ '<(SHARED_INTERMEDIATE_DIR)/icusmdt<(icu_ver_major)_dat.<(icu_asm_ext)' ],
# for umachine.h
'include_dirs': [
'<(icu_path)/source/common',