Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(6)

Unified Diff: icu_data.gyp

Issue 1000163003: Generate the icu data binaries at compile time instead of checking in binaries Base URL: https://chromium.googlesource.com/chromium/deps/icu.git@master
Patch Set: Fixed warnings in cross compiling Created 5 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « icu.gyp ('k') | icu_data.gypi » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: icu_data.gyp
diff --git a/icu_data.gyp b/icu_data.gyp
new file mode 100644
index 0000000000000000000000000000000000000000..49e19ebf34987449e9a3d926cd5024ed479b818c
--- /dev/null
+++ b/icu_data.gyp
@@ -0,0 +1,1907 @@
+# Copyright (c) 2015 The Chromium Authors. All rights reserved.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+
+# TODO:
+# Reuse the libs compiled for chromium when compiling the tools? May make it harder to build release in debug. And cross compiling?
+
+# Check that it's easy to do Opera's language additions with a minimum of patching.
+
+# Delete files not needed anymore:
+# * android/patch_locale.sh (X lines)
+# * linux/ ... / (Y MB)
+
+
+# To update for a newer ICU:
+# Diff the old and new Makefile.in and take appropriate action. Moving from 5.2 to 5.4 took 1-2 hours (first time).
+
+{
+ 'variables': {
+ 'ICU_VER': '54',
+
+ 'gencnval_exe': '<(PRODUCT_DIR)/<(EXECUTABLE_PREFIX)gencnval<(EXECUTABLE_SUFFIX)',
+ 'gendict_exe': '<(PRODUCT_DIR)/<(EXECUTABLE_PREFIX)gendict<(EXECUTABLE_SUFFIX)',
+ 'genbrk_exe': '<(PRODUCT_DIR)/<(EXECUTABLE_PREFIX)genbrk<(EXECUTABLE_SUFFIX)',
+ 'genrb_exe': '<(PRODUCT_DIR)/<(EXECUTABLE_PREFIX)genrb<(EXECUTABLE_SUFFIX)',
+ 'gencfu_exe': '<(PRODUCT_DIR)/<(EXECUTABLE_PREFIX)gencfu<(EXECUTABLE_SUFFIX)',
+ 'icupkg_exe': '<(PRODUCT_DIR)/<(EXECUTABLE_PREFIX)icupkg<(EXECUTABLE_SUFFIX)',
+ 'makeconv_exe': '<(PRODUCT_DIR)/<(EXECUTABLE_PREFIX)makeconv<(EXECUTABLE_SUFFIX)',
+ 'pkgdata_exe': '<(PRODUCT_DIR)/<(EXECUTABLE_PREFIX)pkgdata<(EXECUTABLE_SUFFIX)',
+
+ 'icu_gen_dir': '<(SHARED_INTERMEDIATE_DIR)/icudt<(ICU_VER)l',
+ 'icu_gen_tmp_dir': '<(SHARED_INTERMEDIATE_DIR)/tmp_icudt<(ICU_VER)l',
+
+ 'icu_use_data_file_flag%': 0,
+
+ 'icu_data_generated_contents': [
+ # Coll
+ '<@(icu_data_coll_res_root_generated)',
+ '<@(icu_data_coll_res_generated)',
+ '<@(icu_data_coll_res_alias_generated)',
+ '<(icu_gen_dir)/coll/res_index.res',
+ # Brk_brk
+ '<@(icu_data_brkitr_brk_generated)',
+ # Brk_res
+ '<@(icu_data_brkitr_res_root_generated)',
+ '<@(icu_data_brkitr_res_generated)',
+ '<(icu_gen_dir)/brkitr/res_index.res',
+ # Brk_dict
+ '<(icu_gen_dir)/brkitr/burmesedict.dict',
+ '<(icu_gen_dir)/brkitr/cjdict.dict',
+ '<(icu_gen_dir)/brkitr/khmerdict.dict',
+ '<(icu_gen_dir)/brkitr/laodict.dict',
+ '<(icu_gen_dir)/brkitr/thaidict.dict',
+ # Locales
+ '<@(icu_data_locales_res_root_generated)',
+ '<@(icu_data_locales_res_generated)',
+ # Misc + end of Locales
+ '<@(icu_data_locales_res_alias_generated)',
+ '<@(icu_data_misc_res_generated)',
+ '<(icu_gen_dir)/res_index.res',
+ '<(icu_gen_dir)/pool.res',
+ # Lang
+ '<@(icu_data_lang_res_root_generated)',
+ '<@(icu_data_lang_res_generated)',
+ '<@(icu_data_lang_res_alias_generated)',
+ '<(icu_gen_dir)/lang/res_index.res',
+ '<(icu_gen_dir)/lang/pool.res',
+ # Region
+ '<@(icu_data_region_res_root_generated)',
+ '<@(icu_data_region_res_generated)',
+ '<@(icu_data_region_res_alias_generated)',
+ '<(icu_gen_dir)/region/res_index.res',
+ '<(icu_gen_dir)/region/pool.res',
+ # Zone
+ '<@(icu_data_zone_res_root_generated)',
+ '<@(icu_data_zone_res_generated)',
+ '<@(icu_data_zone_res_alias_generated)',
+ '<@(icu_data_zone_res_extra_generated)',
+ '<(icu_gen_dir)/zone/res_index.res',
+ '<(icu_gen_dir)/zone/pool.res',
+ # Unit
+ '<@(icu_data_unit_res_root_generated)',
+ '<@(icu_data_unit_res_generated)',
+ '<@(icu_data_unit_res_alias_generated)',
+ '<(icu_gen_dir)/unit/res_index.res',
+ '<(icu_gen_dir)/unit/pool.res',
+ # Random data
+ '<(icu_gen_dir)/cnvalias.icu',
+ '<(icu_gen_dir)/coll/ucadata.icu',
+ '<(icu_gen_dir)/nfkc.nrm',
+ '<(icu_gen_dir)/nfkc_cf.nrm',
+ '<(icu_gen_dir)/uts46.nrm',
+
+ # converters
+ '<@(icu_data_ucm_generated)',
+
+ # Currency
+ '<@(icu_data_curr_res_root_generated)',
+ '<@(icu_data_curr_res_supplemental_generated)',
+ '<@(icu_data_curr_res_generated)',
+ '<@(icu_data_curr_res_alias_generated)',
+ '<(icu_gen_dir)/curr/res_index.res',
+ '<(icu_gen_dir)/curr/pool.res',
+
+ # RBNF
+ '<(icu_gen_dir)/rbnf/res_index.res',
+
+ # Translit (note css3transform.txt -> root.txt)
+ '<(icu_gen_dir)/translit/root.res',
+
+ # Confusables
+ '<(icu_gen_dir)/confusables.cfu',
+ ],
+ 'languages_to_minimize': 'bn,et,gu,kn,ml,mr,ms,ta,te', # Move to gypi?
+ 'conditions': [
+ ['OS=="android"', {
+ # Remove things we don't want to include for this configuration.
+ 'icu_data_generated_contents!': [
+ # Region data is fetched from the Android API on Android.
+ '<@(icu_data_region_res_root_generated)',
+ '<@(icu_data_region_res_generated)',
+ '<@(icu_data_region_res_alias_generated)',
+
+ # Languages from 'languages_to_minimize' above.
+ '<(icu_gen_dir)/curr/bn.res',
+ '<(icu_gen_dir)/curr/et.res',
+ '<(icu_gen_dir)/curr/gu.res',
+ '<(icu_gen_dir)/curr/kn.res',
+ '<(icu_gen_dir)/curr/ml.res',
+ '<(icu_gen_dir)/curr/mr.res',
+ '<(icu_gen_dir)/curr/ms.res',
+ '<(icu_gen_dir)/curr/ta.res',
+ '<(icu_gen_dir)/curr/te.res',
+
+ # Too big to include.
+ '<(icu_gen_dir)/brkitr/cjdict.dict',
+ ],
+ 'icu_data_curr_res_raw_sources!': [
+ # Languages from 'languages_to_minimize' above.
+ 'source/data/curr/bn.res',
+ 'source/data/curr/et.res',
+ 'source/data/curr/gu.res',
+ 'source/data/curr/kn.res',
+ 'source/data/curr/ml.res',
+ 'source/data/curr/mr.res',
+ 'source/data/curr/ms.res',
+ 'source/data/curr/ta.res',
+ 'source/data/curr/te.res',
+ ],
+ 'icu_data_region_res_sources!': ["<@(icu_data_region_res_alias_sources)"],
+ 'icu_data_region_res_alias_sources!': ["<@(icu_data_region_res_alias_sources)"],
+ }, {
+ # Else (not Android) - skip the Android workaround files.
+ # Add some workarounds for not having cjdict.dict.
+ 'icu_data_generated_contents!': [
+ '<(icu_gen_dir)/brkitr/word_ja.brk',
+ '<(icu_gen_dir)/brkitr/ja.res',
+ ],
+ 'icu_data_brkitr_brk_sources!': [
+ 'source/data/brkitr/word_ja.txt',
+ ],
+ 'icu_data_brkitr_brk_generated!': [
+ '<(icu_gen_dir)/brkitr/word_ja.brk',
+ ],
+ 'icu_data_brkitr_res_filtered_sources!': [
+ '<(icu_gen_tmp_dir)/brkitr/ja.txt',
+ ],
+ 'icu_data_brkitr_res_generated!': [
+ '<(icu_gen_dir)/brkitr/ja.res',
+ ],
+ }]
+ ],
+ },
+ 'includes': [
+ 'icu_data.gypi',
+ ],
+ 'targets': [
+ {
+ 'target_name': 'icu_cnv_base_files',
+ 'type': 'none',
+ 'dependencies': [
+ 'icu_tools.gyp:gencnval#host',
+ 'icu_tools.gyp:icupkg#host',
+ ],
+ 'sources': [
+ '<@(icu_data_nrm_sources)',
+ ],
+ 'rules': [
+ {
+ 'rule_name': 'icupkg_nrm',
+ 'extension': 'nrm',
+ 'inputs': [
+ '<(icupkg_exe)',
+ ],
+ 'outputs': [
+ # Can't use RULE_INPUT_NAME because of a bug in gyp's
+ # Makefile generator (see bug 472589).
+ '<(icu_gen_dir)/<(RULE_INPUT_ROOT).nrm',
+ ],
+ 'action': [
+ '<(icupkg_exe)',
+ '-tl',
+ '<(RULE_INPUT_PATH)',
+ '<(icu_gen_dir)/<(RULE_INPUT_NAME)',
+ ],
+ 'process_outputs_as_sources': 1,
+ },
+ ],
+ 'actions': [
+ {
+ 'action_name': 'icu_cnvalias',
+ 'inputs': [
+ '<(gencnval_exe)',
+ 'source/data/mappings/convrtrs.txt',
+ ],
+ 'outputs': [
+ '<(icu_gen_dir)/cnvalias.icu',
+ ],
+ 'action': [
+ '<(gencnval_exe)',
+ '-d',
+ '<(icu_gen_dir)',
+ 'source/data/mappings/convrtrs.txt',
+ ],
+ 'process_outputs_as_sources': 1,
+ },
+ {
+ 'action_name': 'icu_ucadata_icu',
+ 'inputs': [
+ '<(icupkg_exe)',
+ 'source/data/in/coll/ucadata-implicithan.icu',
+ ],
+ 'outputs': [
+ '<(icu_gen_dir)/coll/ucadata.icu',
+ ],
+ 'action': [
+ '<(icupkg_exe)',
+ '-tl',
+ 'source/data/in/coll/ucadata-implicithan.icu',
+ '<(icu_gen_dir)/coll/ucadata.icu',
+ ],
+ 'process_outputs_as_sources': 1, # Right place?
+ },
+ ],
+ },
+ {
+ 'target_name': 'icu_cnv_ucm_files',
+ 'type': 'none',
+ 'dependencies': [
+ 'icu_tools.gyp:makeconv#host',
+ ],
+ 'sources': [
+ '<@(icu_data_ucm_sources)'
+ ],
+ 'rules': [
+ {
+ 'rule_name': 'makeconv',
+ 'extension': 'ucm',
+ 'inputs': [
+ '<(makeconv_exe)',
+ ],
+ 'outputs': [
+ '<(icu_gen_dir)/<(RULE_INPUT_ROOT).cnv',
+ ],
+ 'action': [
+ '<(makeconv_exe)',
+ '-c',
+ '-d',
+ '<(icu_gen_dir)',
+ '<(RULE_INPUT_PATH)',
+ ],
+ 'process_outputs_as_sources': 1,
+ },
+ ],
+ },
+ # TODO: Merge all dicts into one action (since it can't be rule based)
+ {
+ 'target_name': 'icu_dict_cjdict',
+ 'type': 'none',
+ 'dependencies': [
+ 'icu_tools.gyp:gendict#host',
+ ],
+ 'sources': [
+ 'source/data/brkitr/cjdict.txt',
+ ],
+ 'rules': [
+ {
+ 'rule_name': 'gendict',
+ 'extension': 'txt',
+ 'inputs': [
+ '<(gendict_exe)',
+ ],
+ 'outputs': [
+ '<(icu_gen_dir)/brkitr/<(RULE_INPUT_ROOT).dict',
+ ],
+ 'action': [
+ '<(gendict_exe)',
+ '--uchars',
+ '-c',
+ '-i',
+ '<(icu_gen_dir)',
+ '<(RULE_INPUT_PATH)',
+ '<(icu_gen_dir)/brkitr/<(RULE_INPUT_ROOT).dict',
+ ],
+ 'process_outputs_as_sources': 1,
+ },
+ ],
+ },
+ {
+ 'target_name': 'icu_dict_burmesedict',
+ 'type': 'none',
+ 'dependencies': [
+ 'icu_tools.gyp:gendict#host',
+ ],
+ 'sources': [
+ 'source/data/brkitr/burmesedict.txt',
+ ],
+ 'rules': [
+ {
+ 'rule_name': 'gendict',
+ 'extension': 'txt',
+ 'inputs': [
+ '<(gendict_exe)',
+ ],
+ 'outputs': [
+ '<(icu_gen_dir)/brkitr/<(RULE_INPUT_ROOT).dict',
+ ],
+ 'action': [
+ '<(gendict_exe)',
+ '--bytes',
+ '--transform',
+ 'offset-0x1000', # Extract from rule/action somehow
+ '-c',
+ '-i',
+ '<(icu_gen_dir)',
+ '<(RULE_INPUT_PATH)',
+ '<(icu_gen_dir)/brkitr/<(RULE_INPUT_ROOT).dict',
+ ],
+ 'process_outputs_as_sources': 1,
+ },
+ ],
+ },
+ {
+ 'target_name': 'icu_dict_khmerdict',
+ 'type': 'none',
+ 'dependencies': [
+ 'icu_tools.gyp:gendict#host',
+ ],
+ 'sources': [
+ 'source/data/brkitr/khmerdict.txt',
+ ],
+ 'rules': [
+ {
+ 'rule_name': 'gendict',
+ 'extension': 'txt',
+ 'inputs': [
+ '<(gendict_exe)',
+ ],
+ 'outputs': [
+ '<(icu_gen_dir)/brkitr/<(RULE_INPUT_ROOT).dict',
+ ],
+ 'action': [
+ '<(gendict_exe)',
+ '--bytes',
+ '--transform',
+ 'offset-0x1780', # Extract from rule/action somehow
+ '-c',
+ '-i',
+ '<(icu_gen_dir)',
+ '<(RULE_INPUT_PATH)',
+ '<(icu_gen_dir)/brkitr/<(RULE_INPUT_ROOT).dict',
+ ],
+ 'process_outputs_as_sources': 1,
+ },
+ ],
+ },
+ {
+ 'target_name': 'icu_dict_thaidict',
+ 'type': 'none',
+ 'dependencies': [
+ 'icu_tools.gyp:gendict#host',
+ ],
+ 'sources': [
+ 'source/data/brkitr/thaidict.txt',
+ ],
+ 'rules': [
+ {
+ 'rule_name': 'gendict',
+ 'extension': 'txt',
+ 'inputs': [
+ '<(gendict_exe)',
+ ],
+ 'outputs': [
+ '<(icu_gen_dir)/brkitr/<(RULE_INPUT_ROOT).dict',
+ ],
+ 'action': [
+ '<(gendict_exe)',
+ '--bytes',
+ '--transform',
+ 'offset-0xe00', # TODO: Extract from rule/action somehow
+ '-c',
+ '-i',
+ '<(icu_gen_dir)',
+ '<(RULE_INPUT_PATH)',
+ '<(icu_gen_dir)/brkitr/<(RULE_INPUT_ROOT).dict',
+ ],
+ 'process_outputs_as_sources': 1,
+ },
+ ],
+ },
+ {
+ 'target_name': 'icu_dict_laodict',
+ 'type': 'none',
+ 'dependencies': [
+ 'icu_tools.gyp:gendict#host',
+ ],
+ 'sources': [
+ 'source/data/brkitr/laodict.txt',
+ ],
+ 'rules': [
+ {
+ 'rule_name': 'gendict',
+ 'extension': 'txt',
+ 'inputs': [
+ '<(gendict_exe)',
+ ],
+ 'outputs': [
+ '<(icu_gen_dir)/brkitr/<(RULE_INPUT_ROOT).dict',
+ ],
+ 'action': [
+ '<(gendict_exe)',
+ '--bytes',
+ '--transform',
+ 'offset-0x0e80', # TODO: Extract from rule/action somehow
+ '-c',
+ '-i',
+ '<(icu_gen_dir)',
+ '<(RULE_INPUT_PATH)',
+ '<(icu_gen_dir)/brkitr/<(RULE_INPUT_ROOT).dict',
+ ],
+ 'process_outputs_as_sources': 1,
+ },
+ ],
+ },
+ {
+ 'target_name': 'icu_filtered_for_size_files',
+ 'type': 'none',
+ 'actions': [
+ {
+ 'action_name': 'icu_filter_for_size',
+ 'inputs': [
+ 'build_tools/filter_data_for_size.py',
+ 'source/data/brkitr/word.txt',
+ 'source/data/brkitr/root.txt',
+ 'source/data/brkitr/ja.txt',
+ 'source/data/locales/pool.res',
+ 'source/data/curr/pool.res',
+ 'source/data/lang/pool.res',
+ '<@(icu_data_brkitr_res_root_raw_sources)',
+ '<@(icu_data_curr_res_raw_sources)',
+ '<@(icu_data_curr_res_alias_raw_sources)',
+ '<@(icu_data_curr_res_supplemental_raw_sources)',
+ '<@(icu_data_locales_res_raw_sources)',
+ '<@(icu_data_locales_res_alias_raw_sources)',
+ '<@(icu_data_lang_res_raw_sources)',
+ '<@(icu_data_lang_res_alias_raw_sources)',
+ '<@(icu_data_zone_res_raw_sources)',
+ '<@(icu_data_zone_res_alias_raw_sources)',
+ ],
+ 'outputs': [
+ '<(icu_gen_tmp_dir)/brkitr/word.txt',
+ '<(icu_gen_tmp_dir)/brkitr/root.txt',
+ '<(icu_gen_tmp_dir)/brkitr/ja.txt',
+ '<(icu_gen_tmp_dir)/locales/pool.res',
+ '<(icu_gen_tmp_dir)/curr/pool.res',
+ '<(icu_gen_tmp_dir)/lang/pool.res',
+ '<@(icu_data_brkitr_res_root_filtered_sources)',
+ '<@(icu_data_curr_res_filtered_sources)',
+ '<@(icu_data_curr_res_alias_filtered_sources)',
+ '<@(icu_data_curr_res_supplemental_filtered_sources)',
+ '<@(icu_data_locales_res_filtered_sources)',
+ '<@(icu_data_locales_res_alias_filtered_sources)',
+ '<@(icu_data_lang_res_filtered_sources)',
+ '<@(icu_data_lang_res_alias_filtered_sources)',
+ '<@(icu_data_zone_res_filtered_sources)',
+ '<@(icu_data_zone_res_alias_filtered_sources)',
+ '<(icu_gen_tmp_dir)/locales/root.txt',
+ '<(icu_gen_tmp_dir)/curr/root.txt',
+ '<(icu_gen_tmp_dir)/lang/root.txt',
+ '<(icu_gen_tmp_dir)/zone/root.txt',
+ ],
+ 'conditions': [
+ ['OS=="android"', {
+ 'variables': {
+ 'filter_mode': 'strip-for-size',
+ },
+ }, {
+ 'variables': {
+ 'filter_mode': 'clean-copy',
+ },
+ }
+ ]
+ ],
+ 'action': [
+ 'python',
+ 'build_tools/filter_data_for_size.py',
+ '--mode',
+ '<(filter_mode)',
+ '--in-word-txt',
+ 'source/data/brkitr/word.txt',
+ '--out-word-txt',
+ '<(icu_gen_tmp_dir)/brkitr/word.txt',
+ '--in-brkitr-root-txt',
+ 'source/data/brkitr/root.txt',
+ '--out-brkitr-root-txt',
+ '<(icu_gen_tmp_dir)/brkitr/root.txt',
+ '--in-brkitr-ja-txt',
+ 'source/data/brkitr/ja.txt',
+ '--out-brkitr-ja-txt',
+ '<(icu_gen_tmp_dir)/brkitr/ja.txt',
+ '--currency-keep-list',
+ 'android/currencies.list',
+ '--in-curr-dir',
+ 'source/data/curr',
+ '--out-curr-dir',
+ '<(icu_gen_tmp_dir)/curr',
+ '--minimize-language-list',
+ '<(languages_to_minimize)',
+ '--in-locales-dir',
+ 'source/data/locales',
+ '--out-locales-dir',
+ '<(icu_gen_tmp_dir)/locales',
+ '--in-lang-dir',
+ 'source/data/lang',
+ '--out-lang-dir',
+ '<(icu_gen_tmp_dir)/lang',
+ '--in-zone-dir',
+ 'source/data/zone',
+ '--out-zone-dir',
+ '<(icu_gen_tmp_dir)/zone',
+ '--remove-data-already-existing-in-android',
+ ],
+ 'process_outputs_as_sources': 1, # Right place?
+ }
+ ],
+ },
+ {
+ 'target_name': 'icu_brk_files',
+ 'type': 'none',
+ 'dependencies': [
+ 'icu_tools.gyp:genbrk#host',
+ 'icu_cnv_base_files',
+ 'icu_filtered_for_size_files',
+ ],
+ 'sources': [
+ '<@(icu_data_brkitr_brk_sources)'
+ ],
+ 'rules': [
+ {
+ 'rule_name': 'genbrk',
+ 'extension': 'txt',
+ 'inputs': [
+ '<(genbrk_exe)',
+ '<(icu_gen_dir)/cnvalias.icu',
+ ],
+ 'outputs': [
+ '<(icu_gen_dir)/brkitr/<(RULE_INPUT_ROOT).brk',
+ ],
+ 'action': [
+ '<(genbrk_exe)',
+ '-c',
+ '-i',
+ '<(icu_gen_dir)',
+ '-r',
+ '<(RULE_INPUT_PATH)',
+ '-o',
+ '<(icu_gen_dir)/brkitr/<(RULE_INPUT_ROOT).brk',
+ ],
+ 'process_outputs_as_sources': 1,
+ },
+ ],
+ },
+ {
+ 'target_name': 'icu_locales_res_files',
+ 'type': 'none',
+ 'dependencies': [
+ 'icu_tools.gyp:genrb#host',
+ 'icu_cnv_base_files',
+ 'icu_filtered_for_size_files',
+ ],
+ 'sources': [
+ '<@(icu_data_locales_res_root_sources)',
+ '<@(icu_data_locales_res_filtered_sources)',
+ '<@(icu_data_locales_res_alias_filtered_sources)',
+ ],
+ 'rules': [
+ {
+ 'rule_name': 'genrb',
+ 'extension': 'txt',
+ 'inputs': [
+ '<(genrb_exe)',
+ '<(icu_gen_tmp_dir)/locales/pool.res',
+ ],
+ 'outputs': [
+ '<(icu_gen_dir)/<(RULE_INPUT_ROOT).res',
+ ],
+ 'action': [
+ '<(genrb_exe)',
+ '--quiet', # Chromium addition to silence warnings.
+ '--usePoolBundle',
+ '-k',
+ '-R',
+ '-i',
+ '<(icu_gen_dir)',
+ '-s',
+ '<(icu_gen_tmp_dir)/locales',
+ '-d<(icu_gen_dir)', # Writing as two arguments and the gen dir argument just disappears. Magically. Because lists can't have duplicates unless they start with '-'.
+ '<(RULE_INPUT_NAME)',
+ ],
+ 'process_outputs_as_sources': 1,
+ },
+ ],
+ },
+ {
+ 'target_name': 'icu_misc_res_files',
+ 'type': 'none',
+ 'dependencies': [
+ 'icu_tools.gyp:genrb#host',
+ 'icu_cnv_base_files',
+ ],
+ 'sources': [
+ '<@(icu_data_misc_res_sources)',
+ ],
+ 'rules': [
+ {
+ 'rule_name': 'genrb',
+ 'extension': 'txt',
+ 'inputs': [
+ '<(genrb_exe)',
+ ],
+ 'outputs': [
+ '<(icu_gen_dir)/<(RULE_INPUT_ROOT).res',
+ ],
+ 'action': [
+ '<(genrb_exe)',
+ '-k',
+ '-R',
+ '-q',
+ '-i',
+ '<(icu_gen_dir)',
+ '-s',
+ 'source/data/misc',
+ '-d<(icu_gen_dir)', # Writing as two arguments and the gen dir argument just disappears. Magically. Because lists can't have duplicates unless they start with '-'.
+ '<(RULE_INPUT_NAME)',
+ ],
+ 'process_outputs_as_sources': 1,
+ },
+ ],
+ },
+ {
+ 'target_name': 'icu_res_index_txt_files_locales_curr_lang_region_zone_unit_coll_brkitr_rbnf_translit',
+ 'type': 'none',
+ 'actions': [
+ {
+ 'action_name': 'icu_write_locales_res_index_txt',
+ 'inputs': [
+ 'build_tools/write_res_index.py',
+ # Note: Only using file names, not files.
+ ],
+ 'outputs': [
+ '<(icu_gen_tmp_dir)/res_index.txt',
+ ],
+ 'action': [
+ 'python',
+ 'build_tools/write_res_index.py',
+ '--cldr-version',
+ '1.9', # FIXME: Move somewhere
+ '--outfile',
+ '<(icu_gen_tmp_dir)/res_index.txt',
+ '<@(icu_data_locales_res_raw_sources)',
+ ],
+ 'process_outputs_as_sources': 1, # Right place?
+ },
+ {
+ 'action_name': 'icu_write_curr_res_index_txt',
+ 'inputs': [
+ 'build_tools/write_res_index.py',
+ # Note: Only using file names, not files.
+ ],
+ 'outputs': [
+ '<(icu_gen_tmp_dir)/curr/res_index.txt',
+ ],
+ 'action': [
+ 'python',
+ 'build_tools/write_res_index.py',
+ '--outfile',
+ '<(icu_gen_tmp_dir)/curr/res_index.txt',
+ '<@(icu_data_curr_res_raw_sources)',
+ ],
+ 'process_outputs_as_sources': 1, # Right place?
+ },
+ {
+ 'action_name': 'icu_write_lang_res_index_txt',
+ 'inputs': [
+ 'build_tools/write_res_index.py',
+ # Only using the name of files, not their contents.
+ ],
+ 'outputs': [
+ '<(icu_gen_tmp_dir)/lang/res_index.txt',
+ ],
+ 'action': [
+ 'python',
+ 'build_tools/write_res_index.py',
+ '--outfile',
+ '<(icu_gen_tmp_dir)/lang/res_index.txt',
+ '<@(icu_data_lang_res_raw_sources)',
+ ],
+ 'process_outputs_as_sources': 1, # Right place?
+ },
+ {
+ 'action_name': 'icu_write_region_res_index_txt',
+ 'inputs': [
+ 'build_tools/write_res_index.py',
+ # Only using the file names, not the file contents.
+ ],
+ 'outputs': [
+ '<(icu_gen_tmp_dir)/region/res_index.txt',
+ ],
+ 'action': [
+ 'python',
+ 'build_tools/write_res_index.py',
+ '--outfile',
+ '<(icu_gen_tmp_dir)/region/res_index.txt',
+ '<@(icu_data_region_res_sources)',
+ ],
+ 'process_outputs_as_sources': 1, # Right place?
+ },
+ {
+ 'action_name': 'icu_write_zone_res_index_txt',
+ 'inputs': [
+ 'build_tools/write_res_index.py',
+ # Only using the file names, not the file contents.
+ ],
+ 'outputs': [
+ '<(icu_gen_tmp_dir)/zone/res_index.txt',
+ ],
+ 'action': [
+ 'python',
+ 'build_tools/write_res_index.py',
+ '--outfile',
+ '<(icu_gen_tmp_dir)/zone/res_index.txt',
+ '<@(icu_data_zone_res_raw_sources)',
+ ],
+ 'process_outputs_as_sources': 1, # Right place?
+ },
+ {
+ 'action_name': 'icu_write_unit_res_index_txt',
+ 'inputs': [
+ 'build_tools/write_res_index.py',
+ # Only using the file names, not the file contents.
+ ],
+ 'outputs': [
+ '<(icu_gen_tmp_dir)/unit/res_index.txt',
+ ],
+ 'action': [
+ 'python',
+ 'build_tools/write_res_index.py',
+ '--outfile',
+ '<(icu_gen_tmp_dir)/unit/res_index.txt',
+ '<@(icu_data_unit_res_sources)',
+ ],
+ 'process_outputs_as_sources': 1, # Right place?
+ },
+ {
+ 'action_name': 'icu_write_coll_res_index_txt',
+ 'inputs': [
+ 'build_tools/write_res_index.py',
+ # Only using the file names, not the file contents.
+ ],
+ 'outputs': [
+ '<(icu_gen_tmp_dir)/coll/res_index.txt',
+ ],
+ 'action': [
+ 'python',
+ 'build_tools/write_res_index.py',
+ '--outfile',
+ '<(icu_gen_tmp_dir)/coll/res_index.txt',
+ '<@(icu_data_coll_res_sources)',
+ ],
+ 'process_outputs_as_sources': 1, # Right place?
+ },
+ {
+ 'action_name': 'icu_write_brkitr_res_index_txt',
+ 'inputs': [
+ 'build_tools/write_res_index.py',
+ # Only using the file names, not the file contents.
+ ],
+ 'outputs': [
+ '<(icu_gen_tmp_dir)/brkitr/res_index.txt',
+ ],
+ 'action': [
+ 'python',
+ 'build_tools/write_res_index.py',
+ '--outfile',
+ '<(icu_gen_tmp_dir)/brkitr/res_index.txt',
+ '<@(icu_data_brkitr_res_sources)',
+ '<@(icu_data_brkitr_res_filtered_sources)',
+ ],
+ 'process_outputs_as_sources': 1, # Right place?
+ },
+ {
+ 'action_name': 'icu_write_rbnf_res_index_txt',
+ 'inputs': [
+ 'build_tools/write_res_index.py',
+ # Only using the file names, not the file contents.
+ ],
+ 'outputs': [
+ '<(icu_gen_tmp_dir)/rbnf/res_index.txt',
+ ],
+ 'action': [
+ 'python',
+ 'build_tools/write_res_index.py',
+ '--outfile',
+ '<(icu_gen_tmp_dir)/rbnf/res_index.txt',
+ ],
+ 'process_outputs_as_sources': 1, # Right place?
+ },
+ ],
+ },
+ {
+ 'target_name': 'icu_pool_res_locales_curr_lang_region_zone_unit',
+ 'type': 'none',
+ 'dependencies': [
+ 'icu_tools.gyp:icupkg#host',
+ ],
+ 'sources': [
+ '<@(icu_data_locales_res_filtered_sources)',
+ ],
+ 'actions': [
+ {
+ 'action_name': 'icu_locales_pool_res',
+ 'inputs': [
+ '<(icupkg_exe)',
+ 'source/data/locales/pool.res',
+ ],
+ 'outputs': [
+ '<(icu_gen_dir)/pool.res',
+ ],
+ 'action': [
+ '<(icupkg_exe)',
+ '-tl',
+ 'source/data/locales/pool.res',
+ '<(icu_gen_dir)/pool.res',
+ ],
+ 'process_outputs_as_sources': 1, # Right place?
+ },
+ {
+ 'action_name': 'icu_curr_pool_res',
+ 'inputs': [
+ '<(icupkg_exe)',
+ 'source/data/curr/pool.res',
+ ],
+ 'outputs': [
+ '<(icu_gen_dir)/curr/pool.res',
+ ],
+ 'action': [
+ '<(icupkg_exe)',
+ '-tl',
+ 'source/data/curr/pool.res',
+ '<(icu_gen_dir)/curr/pool.res',
+ ],
+ 'process_outputs_as_sources': 1, # Right place?
+ },
+ {
+ 'action_name': 'icu_lang_pool_res',
+ 'inputs': [
+ '<(icupkg_exe)',
+ 'source/data/lang/pool.res',
+ ],
+ 'outputs': [
+ '<(icu_gen_dir)/lang/pool.res',
+ ],
+ 'action': [
+ '<(icupkg_exe)',
+ '-tl',
+ 'source/data/lang/pool.res',
+ '<(icu_gen_dir)/lang/pool.res',
+ ],
+ 'process_outputs_as_sources': 1, # Right place?
+ },
+ {
+ 'action_name': 'icu_region_pool_res',
+ 'inputs': [
+ '<(icupkg_exe)',
+ 'source/data/region/pool.res',
+ ],
+ 'outputs': [
+ '<(icu_gen_dir)/region/pool.res',
+ ],
+ 'action': [
+ '<(icupkg_exe)',
+ '-tl',
+ 'source/data/region/pool.res',
+ '<(icu_gen_dir)/region/pool.res',
+ ],
+ 'process_outputs_as_sources': 1, # Right place?
+ },
+ {
+ 'action_name': 'icu_zone_pool_res',
+ 'inputs': [
+ '<(icupkg_exe)',
+ 'source/data/zone/pool.res',
+ ],
+ 'outputs': [
+ '<(icu_gen_dir)/zone/pool.res',
+ ],
+ 'action': [
+ '<(icupkg_exe)',
+ '-tl',
+ 'source/data/zone/pool.res',
+ '<(icu_gen_dir)/zone/pool.res',
+ ],
+ 'process_outputs_as_sources': 1, # Right place?
+ },
+ {
+ 'action_name': 'icu_unit_pool_res',
+ 'inputs': [
+ '<(icupkg_exe)',
+ 'source/data/unit/pool.res',
+ ],
+ 'outputs': [
+ '<(icu_gen_dir)/unit/pool.res',
+ ],
+ 'action': [
+ '<(icupkg_exe)',
+ '-tl',
+ 'source/data/unit/pool.res',
+ '<(icu_gen_dir)/unit/pool.res',
+ ],
+ 'process_outputs_as_sources': 1, # Right place?
+ },
+ ],
+ },
+ {
+ 'target_name': 'icu_locales_res_index_res_file',
+ 'type': 'none',
+ 'dependencies': [
+ 'icu_res_index_txt_files_locales_curr_lang_region_zone_unit_coll_brkitr_rbnf_translit',
+ 'icu_tools.gyp:genrb#host',
+ ],
+ 'sources': [
+ '<(icu_gen_tmp_dir)/res_index.txt',
+ ],
+ 'rules': [
+ {
+ 'rule_name': 'genrb',
+ 'extension': 'txt',
+ 'inputs': [
+ '<(genrb_exe)',
+ ],
+ 'outputs': [
+ '<(icu_gen_dir)/<(RULE_INPUT_ROOT).res',
+ ],
+ 'action': [
+ '<(genrb_exe)',
+ '-k',
+ '-R',
+ '-i',
+ '<(icu_gen_dir)',
+ '-d<(icu_gen_dir)', # Writing as two arguments and the gen dir argument just disappears. Magically. Because lists can't have duplicates unless they start with '-'.
+ '<(RULE_INPUT_PATH)',
+ ],
+ 'process_outputs_as_sources': 1,
+ },
+ ],
+ },
+ # START CURRENCY
+ {
+ 'target_name': 'icu_curr_res_files',
+ 'type': 'none',
+ 'dependencies': [
+ 'icu_tools.gyp:genrb#host',
+ 'icu_cnv_base_files',
+ 'icu_filtered_for_size_files',
+ ],
+ 'sources': [
+ '<@(icu_data_curr_res_root_sources)',
+ '<@(icu_data_curr_res_supplemental_filtered_sources)',
+ '<@(icu_data_curr_res_filtered_sources)',
+ '<@(icu_data_curr_res_alias_filtered_sources)',
+ ],
+ 'rules': [
+ {
+ 'rule_name': 'genrb',
+ 'extension': 'txt',
+ 'inputs': [
+ '<(genrb_exe)',
+ '<(icu_gen_tmp_dir)/curr/pool.res',
+ ],
+ 'outputs': [
+ '<(icu_gen_dir)/curr/<(RULE_INPUT_ROOT).res',
+ ],
+ 'action': [
+ '<(genrb_exe)',
+ '--quiet', # Chromium addition to silence warnings.
+ '--usePoolBundle',
+ '-k',
+ '-R',
+ '-i',
+ '<(icu_gen_dir)',
+ '-s',
+ '<(icu_gen_tmp_dir)/curr',
+ '-d',
+ '<(icu_gen_dir)/curr',
+ '<(RULE_INPUT_NAME)',
+ ],
+ 'process_outputs_as_sources': 1,
+ },
+ ],
+ },
+ {
+ 'target_name': 'icu_curr_res_index_res_file',
+ 'type': 'none',
+ 'dependencies': [
+ 'icu_res_index_txt_files_locales_curr_lang_region_zone_unit_coll_brkitr_rbnf_translit',
+ 'icu_tools.gyp:genrb#host',
+ ],
+ 'sources': [
+ '<(icu_gen_tmp_dir)/curr/res_index.txt',
+ ],
+ 'rules': [
+ {
+ 'rule_name': 'genrb',
+ 'extension': 'txt',
+ 'inputs': [
+ '<(genrb_exe)',
+ ],
+ 'outputs': [
+ '<(icu_gen_dir)/curr/<(RULE_INPUT_ROOT).res',
+ ],
+ 'action': [
+ '<(genrb_exe)',
+ '-k',
+ '-R',
+ '-i',
+ '<(icu_gen_dir)',
+ '-d',
+ '<(icu_gen_dir)/curr',
+ '<(RULE_INPUT_PATH)',
+ ],
+ 'process_outputs_as_sources': 1,
+ },
+ ],
+ },
+ # END CURRENCY
+ # START LANGUAGE
+ {
+ 'target_name': 'icu_lang_res_files',
+ 'type': 'none',
+ 'dependencies': [
+ 'icu_tools.gyp:genrb#host',
+ 'icu_cnv_base_files',
+ 'icu_filtered_for_size_files',
+ ],
+ 'sources': [
+ '<@(icu_data_lang_res_root_sources)',
+ '<@(icu_data_lang_res_filtered_sources)',
+ '<@(icu_data_lang_res_alias_filtered_sources)',
+ ],
+ 'rules': [
+ {
+ 'rule_name': 'genrb',
+ 'extension': 'txt',
+ 'inputs': [
+ '<(genrb_exe)',
+ '<(icu_gen_tmp_dir)/lang/pool.res',
+ ],
+ 'outputs': [
+ '<(icu_gen_dir)/lang/<(RULE_INPUT_ROOT).res',
+ ],
+ 'action': [
+ '<(genrb_exe)',
+ '--usePoolBundle',
+ '-k',
+ '-R',
+ '-i',
+ '<(icu_gen_dir)',
+ '-s',
+ '<(icu_gen_tmp_dir)/lang',
+ '-d',
+ '<(icu_gen_dir)/lang',
+ '<(RULE_INPUT_NAME)',
+ ],
+ 'process_outputs_as_sources': 1,
+ },
+ ],
+ },
+ {
+ 'target_name': 'icu_lang_res_index_res_file',
+ 'type': 'none',
+ 'dependencies': [
+ 'icu_res_index_txt_files_locales_curr_lang_region_zone_unit_coll_brkitr_rbnf_translit',
+ 'icu_tools.gyp:genrb#host',
+ ],
+ 'sources': [
+ '<(icu_gen_tmp_dir)/lang/res_index.txt',
+ ],
+ 'rules': [
+ {
+ 'rule_name': 'genrb',
+ 'extension': 'txt',
+ 'inputs': [
+ '<(genrb_exe)',
+ ],
+ 'outputs': [
+ '<(icu_gen_dir)/lang/<(RULE_INPUT_ROOT).res',
+ ],
+ 'action': [
+ '<(genrb_exe)',
+ '-k',
+ '-R',
+ '-i',
+ '<(icu_gen_dir)',
+ '-d',
+ '<(icu_gen_dir)/lang',
+ '<(RULE_INPUT_PATH)',
+ ],
+ 'process_outputs_as_sources': 1,
+ },
+ ],
+ },
+ # END LANGUAGE
+ # START REGION
+ {
+ 'target_name': 'icu_region_res_files',
+ 'type': 'none',
+ 'dependencies': [
+ 'icu_tools.gyp:genrb#host',
+ 'icu_cnv_base_files',
+ ],
+ 'sources': [
+ '<@(icu_data_region_res_root_sources)',
+ '<@(icu_data_region_res_sources)',
+ '<@(icu_data_region_res_alias_sources)',
+ ],
+ 'rules': [
+ {
+ 'rule_name': 'genrb',
+ 'extension': 'txt',
+ 'inputs': [
+ '<(genrb_exe)',
+ 'source/data/region/pool.res',
+ ],
+ 'outputs': [
+ '<(icu_gen_dir)/region/<(RULE_INPUT_ROOT).res',
+ ],
+ 'action': [
+ '<(genrb_exe)',
+ '--usePoolBundle',
+ '-k',
+ '-R',
+ '-i',
+ '<(icu_gen_dir)',
+ '-s',
+ 'source/data/region',
+ '-d',
+ '<(icu_gen_dir)/region',
+ '<(RULE_INPUT_NAME)',
+ ],
+ 'process_outputs_as_sources': 1,
+ },
+ ],
+ },
+ {
+ 'target_name': 'icu_region_res_index_res_file',
+ 'type': 'none',
+ 'dependencies': [
+ 'icu_res_index_txt_files_locales_curr_lang_region_zone_unit_coll_brkitr_rbnf_translit',
+ 'icu_tools.gyp:genrb#host',
+ ],
+ 'sources': [
+ '<(icu_gen_tmp_dir)/region/res_index.txt',
+ ],
+ 'rules': [
+ {
+ 'rule_name': 'genrb',
+ 'extension': 'txt',
+ 'inputs': [
+ '<(genrb_exe)',
+ ],
+ 'outputs': [
+ '<(icu_gen_dir)/region/<(RULE_INPUT_ROOT).res',
+ ],
+ 'action': [
+ '<(genrb_exe)',
+ '-k',
+ '-R',
+ '-i',
+ '<(icu_gen_dir)',
+ '-d',
+ '<(icu_gen_dir)/region',
+ '<(RULE_INPUT_PATH)',
+ ],
+ 'process_outputs_as_sources': 1,
+ },
+ ],
+ },
+ # END REGION
+ # START ZONE
+ {
+ 'target_name': 'icu_zone_res_files',
+ 'type': 'none',
+ 'dependencies': [
+ 'icu_tools.gyp:genrb#host',
+ 'icu_cnv_base_files',
+ 'icu_filtered_for_size_files',
+ ],
+ 'sources': [
+ '<@(icu_data_zone_res_root_sources)',
+ '<@(icu_data_zone_res_filtered_sources)',
+ '<@(icu_data_zone_res_alias_filtered_sources)',
+ '<@(icu_data_zone_res_extra_sources)',
+ ],
+ 'rules': [
+ {
+ 'rule_name': 'genrb',
+ 'extension': 'txt',
+ 'inputs': [
+ '<(genrb_exe)',
+ 'source/data/zone/pool.res',
+ ],
+ 'outputs': [
+ '<(icu_gen_dir)/zone/<(RULE_INPUT_ROOT).res',
+ ],
+ 'action': [
+ '<(genrb_exe)',
+ '--usePoolBundle',
+ '-k',
+ '-R',
+ '-i',
+ '<(icu_gen_dir)',
+ '-s',
+ '<(icu_gen_tmp_dir)/zone',
+ '-d',
+ '<(icu_gen_dir)/zone',
+ '<(RULE_INPUT_NAME)',
+ ],
+ 'process_outputs_as_sources': 1,
+ },
+ ],
+ },
+ {
+ 'target_name': 'icu_zone_res_index_res_file',
+ 'type': 'none',
+ 'dependencies': [
+ 'icu_res_index_txt_files_locales_curr_lang_region_zone_unit_coll_brkitr_rbnf_translit',
+ 'icu_tools.gyp:genrb#host',
+ ],
+ 'sources': [
+ '<(icu_gen_tmp_dir)/zone/res_index.txt',
+ ],
+ 'rules': [
+ {
+ 'rule_name': 'genrb',
+ 'extension': 'txt',
+ 'inputs': [
+ '<(genrb_exe)',
+ ],
+ 'outputs': [
+ '<(icu_gen_dir)/zone/<(RULE_INPUT_ROOT).res',
+ ],
+ 'action': [
+ '<(genrb_exe)',
+ '-k',
+ '-R',
+ '-i',
+ '<(icu_gen_dir)',
+ '-d',
+ '<(icu_gen_dir)/zone',
+ '<(RULE_INPUT_PATH)',
+ ],
+ 'process_outputs_as_sources': 1,
+ },
+ ],
+ },
+ # END ZONE
+ # START UNIT
+ {
+ 'target_name': 'icu_unit_res_files',
+ 'type': 'none',
+ 'dependencies': [
+ 'icu_tools.gyp:genrb#host',
+ 'icu_cnv_base_files',
+ ],
+ 'sources': [
+ '<@(icu_data_unit_res_root_sources)',
+ '<@(icu_data_unit_res_sources)',
+ '<@(icu_data_unit_res_alias_sources)',
+ ],
+ 'rules': [
+ {
+ 'rule_name': 'genrb',
+ 'extension': 'txt',
+ 'inputs': [
+ '<(genrb_exe)',
+ 'source/data/unit/pool.res',
+ ],
+ 'outputs': [
+ '<(icu_gen_dir)/unit/<(RULE_INPUT_ROOT).res',
+ ],
+ 'action': [
+ '<(genrb_exe)',
+ '--quiet', # Chromium addition to silence warnings.
+ '--usePoolBundle',
+ '-k',
+ '-R',
+ '-i',
+ '<(icu_gen_dir)',
+ '-s',
+ 'source/data/unit',
+ '-d',
+ '<(icu_gen_dir)/unit',
+ '<(RULE_INPUT_NAME)',
+ ],
+ 'process_outputs_as_sources': 1,
+ },
+ ],
+ },
+ {
+ 'target_name': 'icu_unit_res_index_res_file',
+ 'type': 'none',
+ 'dependencies': [
+ 'icu_res_index_txt_files_locales_curr_lang_region_zone_unit_coll_brkitr_rbnf_translit',
+ 'icu_tools.gyp:genrb#host',
+ ],
+ 'sources': [
+ '<(icu_gen_tmp_dir)/unit/res_index.txt',
+ ],
+ 'rules': [
+ {
+ 'rule_name': 'genrb',
+ 'extension': 'txt',
+ 'inputs': [
+ '<(genrb_exe)',
+ ],
+ 'outputs': [
+ '<(icu_gen_dir)/unit/<(RULE_INPUT_ROOT).res',
+ ],
+ 'action': [
+ '<(genrb_exe)',
+ '-k',
+ '-R',
+ '-i',
+ '<(icu_gen_dir)',
+ '-d',
+ '<(icu_gen_dir)/unit',
+ '<(RULE_INPUT_PATH)',
+ ],
+ 'process_outputs_as_sources': 1,
+ },
+ ],
+ },
+ # END UNIT
+ # START COLL
+ {
+ 'target_name': 'icu_coll_res_files',
+ 'type': 'none',
+ 'dependencies': [
+ 'icu_tools.gyp:genrb#host',
+ 'icu_cnv_base_files',
+ 'icu_misc_res_files', # Specifically keyTypeData for sr_Latn.txt
+ ],
+ 'sources': [
+ '<@(icu_data_coll_res_root_sources)',
+ '<@(icu_data_coll_res_sources)',
+ '<@(icu_data_coll_res_alias_sources)',
+ ],
+ 'rules': [
+ {
+ 'rule_name': 'genrb',
+ 'extension': 'txt',
+ 'inputs': [
+ '<(genrb_exe)',
+ ],
+ 'outputs': [
+ '<(icu_gen_dir)/coll/<(RULE_INPUT_ROOT).res',
+ ],
+ 'action': [
+ '<(genrb_exe)',
+ '-k',
+ '-R',
+ '-i',
+ '<(icu_gen_dir)',
+ '-s',
+ 'source/data/coll',
+ '-d',
+ '<(icu_gen_dir)/coll',
+ '<(RULE_INPUT_NAME)',
+ ],
+ 'process_outputs_as_sources': 1,
+ },
+ ],
+ },
+ {
+ 'target_name': 'icu_coll_res_index_res_file',
+ 'type': 'none',
+ 'dependencies': [
+ 'icu_res_index_txt_files_locales_curr_lang_region_zone_unit_coll_brkitr_rbnf_translit',
+ 'icu_tools.gyp:genrb#host',
+ ],
+ 'sources': [
+ '<(icu_gen_tmp_dir)/coll/res_index.txt',
+ ],
+ 'rules': [
+ {
+ 'rule_name': 'genrb',
+ 'extension': 'txt',
+ 'inputs': [
+ '<(genrb_exe)',
+ ],
+ 'outputs': [
+ '<(icu_gen_dir)/coll/<(RULE_INPUT_ROOT).res',
+ ],
+ 'action': [
+ '<(genrb_exe)',
+ '-k',
+ '-R',
+ '-i',
+ '<(icu_gen_dir)',
+ '-d',
+ '<(icu_gen_dir)/coll',
+ '<(RULE_INPUT_PATH)',
+ ],
+ 'process_outputs_as_sources': 1,
+ },
+ ],
+ },
+ # END COLL
+ # START BRKITR
+ {
+ 'target_name': 'icu_brkitr_res_files',
+ # icu_brkitr_res_filtered_files is the same except that -s (source
+ # dir) is icu_gen_tmp_dir in that action.
+ 'type': 'none',
+ 'dependencies': [
+ 'icu_tools.gyp:genrb#host',
+ 'icu_dict_cjdict',
+ 'icu_dict_laodict',
+ 'icu_dict_thaidict',
+ 'icu_dict_khmerdict',
+ 'icu_brk_files',
+ 'icu_cnv_base_files',
+ ],
+ 'sources': [
+ '<@(icu_data_brkitr_res_sources)',
+ ],
+ 'rules': [
+ {
+ 'rule_name': 'genrb',
+ 'extension': 'txt',
+ 'inputs': [
+ '<(genrb_exe)',
+ ],
+ 'outputs': [
+ '<(icu_gen_dir)/brkitr/<(RULE_INPUT_ROOT).res',
+ ],
+ 'action': [
+ '<(genrb_exe)',
+ '-k',
+ '-R',
+ '-i',
+ '<(icu_gen_dir)',
+ '-s',
+ 'source/data/brkitr',
+ '-d',
+ '<(icu_gen_dir)/brkitr',
+ '<(RULE_INPUT_NAME)',
+ ],
+ 'process_outputs_as_sources': 1,
+ },
+ ],
+ },
+ {
+ 'target_name': 'icu_brkitr_res_filtered_files',
+ # Same as icu_brkitr_res_files except that -s (source dir) is
+ # icu_gen_tmp_dir.
+ 'type': 'none',
+ 'dependencies': [
+ 'icu_tools.gyp:genrb#host',
+ 'icu_dict_cjdict',
+ 'icu_dict_laodict',
+ 'icu_dict_thaidict',
+ 'icu_dict_khmerdict',
+ 'icu_brk_files',
+ 'icu_cnv_base_files',
+ 'icu_filtered_for_size_files',
+ ],
+ 'sources': [
+ '<@(icu_data_brkitr_res_root_filtered_sources)',
+ '<@(icu_data_brkitr_res_filtered_sources)',
+ ],
+ 'rules': [
+ {
+ 'rule_name': 'genrb',
+ 'extension': 'txt',
+ 'inputs': [
+ '<(genrb_exe)',
+ ],
+ 'outputs': [
+ '<(icu_gen_dir)/brkitr/<(RULE_INPUT_ROOT).res',
+ ],
+ 'action': [
+ '<(genrb_exe)',
+ '-k',
+ '-R',
+ '-i',
+ '<(icu_gen_dir)',
+ '-s',
+ '<(icu_gen_tmp_dir)/brkitr',
+ '-d',
+ '<(icu_gen_dir)/brkitr',
+ '<(RULE_INPUT_NAME)',
+ ],
+ 'process_outputs_as_sources': 1,
+ },
+ ],
+ },
+ {
+ 'target_name': 'icu_brkitr_res_index_res_file',
+ 'type': 'none',
+ 'dependencies': [
+ 'icu_res_index_txt_files_locales_curr_lang_region_zone_unit_coll_brkitr_rbnf_translit',
+ 'icu_tools.gyp:genrb#host',
+ ],
+ 'sources': [
+ '<(icu_gen_tmp_dir)/brkitr/res_index.txt',
+ ],
+ 'rules': [
+ {
+ 'rule_name': 'genrb',
+ 'extension': 'txt',
+ 'inputs': [
+ '<(genrb_exe)',
+ ],
+ 'outputs': [
+ '<(icu_gen_dir)/brkitr/<(RULE_INPUT_ROOT).res',
+ ],
+ 'action': [
+ '<(genrb_exe)',
+ '-k',
+ '-R',
+ '-i',
+ '<(icu_gen_dir)',
+ '-d',
+ '<(icu_gen_dir)/brkitr',
+ '<(RULE_INPUT_PATH)',
+ ],
+ 'process_outputs_as_sources': 1,
+ },
+ ],
+ },
+ # END BRKITR
+ # START RBNF
+ {
+ 'target_name': 'icu_rbnf_res_index_res_file',
+ 'type': 'none',
+ 'dependencies': [
+ 'icu_res_index_txt_files_locales_curr_lang_region_zone_unit_coll_brkitr_rbnf_translit',
+ 'icu_tools.gyp:genrb#host',
+ ],
+ 'sources': [
+ '<(icu_gen_tmp_dir)/rbnf/res_index.txt',
+ ],
+ 'rules': [
+ {
+ 'rule_name': 'genrb',
+ 'extension': 'txt',
+ 'inputs': [
+ '<(genrb_exe)',
+ ],
+ 'outputs': [
+ '<(icu_gen_dir)/rbnf/<(RULE_INPUT_ROOT).res',
+ ],
+ 'action': [
+ '<(genrb_exe)',
+ '--quiet', # Chromium addition to silence warnings.
+ '-k',
+ '-R',
+ '-i',
+ '<(icu_gen_dir)',
+ '-d',
+ '<(icu_gen_dir)/rbnf',
+ '<(RULE_INPUT_PATH)',
+ ],
+ 'process_outputs_as_sources': 1,
+ },
+ ],
+ },
+ # END RBNF
+ # START TRANSLIT
+ {
+ 'target_name': 'icu_data_translit',
+ 'type': 'none',
+ 'dependencies': [
+ 'icu_tools.gyp:genrb#host',
+ ],
+ 'actions': [
+ {
+ 'action_name': 'genrb',
+ 'inputs': [
+ '<(genrb_exe)',
+ 'source/data/translit/css3transform.txt',
+ ],
+ 'outputs': [
+ '<(icu_gen_dir)/translit/root.res',
+ ],
+ 'action': [
+ '<(genrb_exe)',
+ '-k',
+ '-R',
+ '-i',
+ '<(icu_gen_dir)',
+ '-s',
+ 'source/data/translit',
+ '-d',
+ '<(icu_gen_dir)/translit',
+ 'css3transform.txt',
+ ],
+ 'process_outputs_as_sources': 1, # Right place?
+ },
+ ],
+ },
+ # END TRANSLIT
+ # START CONFUSABLES
+ {
+ 'target_name': 'icu_data_confusables',
+ 'type': 'none',
+ 'dependencies': [
+ 'icu_tools.gyp:gencfu#host',
+ ],
+ 'actions': [
+ {
+ 'action_name': 'gencfu',
+ 'inputs': [
+ '<(gencfu_exe)',
+ '<(icu_gen_dir)/cnvalias.icu',
+ 'source/data/unidata/confusables.txt',
+ 'source/data/unidata/confusablesWholeScript.txt',
+ ],
+ 'outputs': [
+ '<(icu_gen_dir)/confusables.cfu',
+ ],
+ 'action': [
+ '<(gencfu_exe)',
+ '-c',
+ '-i',
+ '<(icu_gen_dir)',
+ '-r',
+ 'source/data/unidata/confusables.txt',
+ '-w',
+ 'source/data/unidata/confusablesWholeScript.txt',
+ '-o',
+ '<(icu_gen_dir)/confusables.cfu',
+ ],
+ 'process_outputs_as_sources': 1, # Right place?
+ },
+ ],
+ },
+ # END CONFUSABLES
+ # START icudata.lst/icudtl.dat
+ {
+ 'target_name': 'icu_data_package',
+ 'type': 'none',
+ 'dependencies': [
+ 'icu_tools.gyp:pkgdata#host',
+ 'icu_cnv_base_files',
+ 'icu_data_confusables',
+ 'icu_data_translit',
+ 'icu_cnv_ucm_files',
+ 'icu_dict_cjdict',
+ 'icu_dict_khmerdict',
+ 'icu_dict_burmesedict',
+ 'icu_dict_laodict',
+ 'icu_dict_thaidict',
+ 'icu_brk_files',
+ 'icu_locales_res_files',
+ 'icu_misc_res_files',
+ 'icu_pool_res_locales_curr_lang_region_zone_unit',
+ 'icu_locales_res_index_res_file',
+ 'icu_curr_res_files',
+ 'icu_curr_res_index_res_file',
+ 'icu_lang_res_files',
+ 'icu_lang_res_index_res_file',
+ 'icu_region_res_files',
+ 'icu_region_res_index_res_file',
+ 'icu_zone_res_files',
+ 'icu_zone_res_index_res_file',
+ 'icu_unit_res_files',
+ 'icu_unit_res_index_res_file',
+ 'icu_coll_res_files',
+ 'icu_coll_res_index_res_file',
+ 'icu_brkitr_res_files',
+ 'icu_brkitr_res_filtered_files',
+ 'icu_brkitr_res_index_res_file',
+ 'icu_rbnf_res_index_res_file',
+ ],
+ 'variables': {
+ 'icu_resource_files_file': '<|(icu_data_resource_list.tmp <@(icu_data_generated_contents))'
+ },
+ 'actions': [
+ {
+ 'action_name': 'write_icudata_lst',
+ 'inputs': [
+ 'build_tools/write_icudata_lst.py',
+ '<(icu_resource_files_file)',
+ ],
+ 'outputs': [
+ '<(icu_gen_tmp_dir)/icudata.lst',
+ ],
+ 'action': [
+ 'python',
+ 'build_tools/write_icudata_lst.py',
+ '--inroot',
+ '<(icu_gen_dir)',
+ '--PRODUCT_DIR',
+ '<(PRODUCT_DIR)',
+ '--infile',
+ '<(icu_resource_files_file)',
+ '--outfile',
+ '<(icu_gen_tmp_dir)/icudata.lst',
+ ],
+ },
+ {
+ 'action_name': 'write_icupkg_inc',
+ 'inputs': [
+ 'build_tools/write_icupkg_inc.py',
+ ],
+ 'outputs': [
+ '<(icu_gen_tmp_dir)/icupkg.inc',
+ ],
+ 'action': [
+ 'python',
+ 'build_tools/write_icupkg_inc.py',
+ '--outfile',
+ '<(icu_gen_tmp_dir)/icupkg.inc',
+ "--ver",
+ "<(ICU_VER)",
+ "--icu-dir",
+ ".", # Check: Is this a usable path once the data is used?
+ ],
+ },
+ {
+ 'action_name': 'pkgdata',
+ 'conditions': [
+ ['icu_use_data_file_flag==1',
+ # This is the common/recommended way:
+ # External .dat file.
+ {
+ 'inputs': [
+ 'build_tools/run_without_cygwin.py',
+ '<(pkgdata_exe)',
+ '<(icu_gen_tmp_dir)/icudata.lst',
+ '<@(icu_data_generated_contents)',
+ ],
+ 'outputs': [
+ '<(icu_gen_tmp_dir)/icudt<(ICU_VER)l.dat',
+ ],
+ 'variables': {
+ 'pkgdata_args': [
+ '-m', # Mode
+ 'common',
+ ]
+ },
+ } ],
+ ['icu_use_data_file_flag==0 and OS=="win"',
+ {
+ 'inputs': [
+ 'build_tools/run_without_cygwin.py',
+ '<(pkgdata_exe)',
+ '<(icu_gen_tmp_dir)/icudata.lst',
+ '<@(icu_data_generated_contents)',
+ ],
+ 'outputs': [
+ # Windows pkgdata puts the dll in the
+ # Source directory.
+ '<(icu_gen_dir)/icudt<(ICU_VER).dll',
+ ],
+ 'variables': {
+ 'pkgdata_args': [
+ '-e', # Entry point
+ 'icudt<(ICU_VER)',
+ '-m', # Mode
+ 'dll',
+ '-L', # Lib name
+ 'icudata',
+ ]
+ },
+ # Do we also need:
+ # editbin /NXCOMPAT /DYNAMICBASE "$(U_ICUDATA_NAME).dll"
+ # ? They add randomness to the dll load and makes
+ # the data non-executable (I think?).
+ } ],
+ ['icu_use_data_file_flag==0 and OS!="win"',
+ {
+ 'inputs': [
+ 'build_tools/run_without_cygwin.py',
+ '<(pkgdata_exe)',
+ '<(icu_gen_tmp_dir)/icudata.lst',
+ '<(icu_gen_tmp_dir)/icupkg.inc',
+ '<@(icu_data_generated_contents)',
+ ],
+ 'outputs': [
+ '<(icu_gen_tmp_dir)/icudt<(ICU_VER)l.S',
+ ],
+ 'variables': {
+ 'pkgdata_args': [
+ '-O',
+ '<(icu_gen_tmp_dir)/icupkg.inc',
+ '-e', # Entry point
+ 'icudt<(ICU_VER)',
+ '-m', # Mode
+ 'dll',
+ '-L', # Lib name
+ 'icudata',
+ ]
+ },
+ }]
+ ],
+ # v8 standalone inserts a cygwin environment in the path and
+ # on Windows pkgdata expects to find the VS linker (link.exe)
+ # in the path. So we strip cygwin from the path before
+ # invoking pkgdata.
+ 'action': [
+ 'python',
+ 'build_tools/run_without_cygwin.py',
+ '<(pkgdata_exe)',
+ '-q', # Quiet
+ '-c', # Use default copyright.
+ '-s<(icu_gen_dir)', # Source
+ '-d<(icu_gen_tmp_dir)', # Destination
+ '-T<(icu_gen_tmp_dir)', # Temp dir
+ '-r', # Revision
+ '<(ICU_VER).1',
+ '-p', # Data name
+ 'icudt<(ICU_VER)l',
+ '<@(pkgdata_args)',
+ '<(icu_gen_tmp_dir)/icudata.lst',
+ ],
+ },
+ ],
+ },
+ # END pkgdata
+ {
+ 'target_name': 'icu_data',
+ 'type': 'none',
+ 'dependencies': [
+ 'icu_data_package',
+ ],
+ 'conditions': [
+ ['icu_use_data_file_flag==1', {
+ 'actions': [
+ {
+ # TODO: Get it generated at the right
+ # place with the right name?
+ 'action_name': 'copy_rename_icudtl_dat',
+ 'inputs': [
+ '<(icu_gen_tmp_dir)/icudt<(ICU_VER)l.dat',
+ ],
+ 'outputs': [
+ '<(PRODUCT_DIR)/icudtl.dat',
+ ],
+ 'action': [
+ 'python',
+ 'build_tools/copy_rename_file.py',
+ '<(icu_gen_tmp_dir)/icudt<(ICU_VER)l.dat',
+ '<(PRODUCT_DIR)/icudtl.dat',
+ ]
+ }
+ ]
+ }],
+ ['icu_use_data_file_flag==0 and OS=="win"', {
+ 'actions': [
+ {
+ # TODO: Get it generated at the right
+ # place with the right name?
+ 'action_name': 'copy_rename_icudtl_dll',
+ 'inputs': [
+ # Windows pkgdata puts the dll in the
+ # Source directory.
+ '<(icu_gen_dir)/icudt<(ICU_VER).dll',
+ ],
+ 'outputs': [
+ '<(PRODUCT_DIR)/icudtl.dll',
+ ],
+ 'action': [
+ 'python',
+ 'build_tools/copy_rename_file.py',
+ '<(icu_gen_dir)/icudt<(ICU_VER).dll',
+ '<(PRODUCT_DIR)/icudtl.dll',
+ ]
+ }
+ ]
+ }],
+ ],
+ },
+ ], # targets
+}
« no previous file with comments | « icu.gyp ('k') | icu_data.gypi » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698