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

Side by Side 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: Polishing and making BUILD.gn smaller 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 unified diff | Download patch
OLDNEW
(Empty)
1 # Copyright (c) 2015 The Chromium Authors. All rights reserved.
2 # Use of this source code is governed by a BSD-style license that can be
3 # found in the LICENSE file.
4
5 # TODO:
6 # Reuse the libs compiled for chromium when compiling the tools? May make it har der to build release in debug. And cross compiling?
7
8 # Check that it's easy to do Opera's language additions with a minimum of patchi ng.
9
10 # Delete files not needed anymore:
11 # * android/patch_locale.sh (X lines)
12 # * linux/ ... / (Y MB)
13
14
15 # To update for a newer ICU:
16 # Diff the old and new Makefile.in and take appropriate action. Moving from 5.2 to 5.4 took 1-2 hours (first time).
17
18 {
19 'variables': {
20 'ICU_VER': '54',
21
22 'gencnval_exe': '<(PRODUCT_DIR)/<(EXECUTABLE_PREFIX)gencnval<(EXECUTABLE _SUFFIX)',
23 'gendict_exe': '<(PRODUCT_DIR)/<(EXECUTABLE_PREFIX)gendict<(EXECUTABLE_S UFFIX)',
24 'genbrk_exe': '<(PRODUCT_DIR)/<(EXECUTABLE_PREFIX)genbrk<(EXECUTABLE_SUF FIX)',
25 'genrb_exe': '<(PRODUCT_DIR)/<(EXECUTABLE_PREFIX)genrb<(EXECUTABLE_SUFFI X)',
26 'gencfu_exe': '<(PRODUCT_DIR)/<(EXECUTABLE_PREFIX)gencfu<(EXECUTABLE_SUF FIX)',
27 'icupkg_exe': '<(PRODUCT_DIR)/<(EXECUTABLE_PREFIX)icupkg<(EXECUTABLE_SUF FIX)',
28 'makeconv_exe': '<(PRODUCT_DIR)/<(EXECUTABLE_PREFIX)makeconv<(EXECUTABLE _SUFFIX)',
29 'pkgdata_exe': '<(PRODUCT_DIR)/<(EXECUTABLE_PREFIX)pkgdata<(EXECUTABLE_S UFFIX)',
30
31 'icu_gen_dir': '<(SHARED_INTERMEDIATE_DIR)/icudt<(ICU_VER)l',
32 'icu_gen_tmp_dir': '<(SHARED_INTERMEDIATE_DIR)/tmp_icudt<(ICU_VER)l',
33
34 'icu_use_data_file_flag%': 0,
35
36 'icu_data_generated_contents': [
37 # Coll
38 '<@(icu_data_coll_res_root_generated)',
39 '<@(icu_data_coll_res_generated)',
40 '<@(icu_data_coll_res_alias_generated)',
41 '<(icu_gen_dir)/coll/res_index.res',
42 # Brk_brk
43 '<@(icu_data_brkitr_brk_generated)',
44 # Brk_res
45 '<@(icu_data_brkitr_res_root_generated)',
46 '<@(icu_data_brkitr_res_generated)',
47 '<(icu_gen_dir)/brkitr/res_index.res',
48 # Brk_dict
49 '<(icu_gen_dir)/brkitr/burmesedict.dict',
50 '<(icu_gen_dir)/brkitr/cjdict.dict',
51 '<(icu_gen_dir)/brkitr/khmerdict.dict',
52 '<(icu_gen_dir)/brkitr/laodict.dict',
53 '<(icu_gen_dir)/brkitr/thaidict.dict',
54 # Locales
55 '<@(icu_data_locales_res_root_generated)',
56 '<@(icu_data_locales_res_generated)',
57 # Misc + end of Locales
58 '<@(icu_data_locales_res_alias_generated)',
59 '<@(icu_data_misc_res_generated)',
60 '<(icu_gen_dir)/res_index.res',
61 '<(icu_gen_dir)/pool.res',
62 # Lang
63 '<@(icu_data_lang_res_root_generated)',
64 '<@(icu_data_lang_res_generated)',
65 '<@(icu_data_lang_res_alias_generated)',
66 '<(icu_gen_dir)/lang/res_index.res',
67 '<(icu_gen_dir)/lang/pool.res',
68 # Region
69 '<@(icu_data_region_res_root_generated)',
70 '<@(icu_data_region_res_generated)',
71 '<@(icu_data_region_res_alias_generated)',
72 '<(icu_gen_dir)/region/res_index.res',
73 '<(icu_gen_dir)/region/pool.res',
74 # Zone
75 '<@(icu_data_zone_res_root_generated)',
76 '<@(icu_data_zone_res_generated)',
77 '<@(icu_data_zone_res_alias_generated)',
78 '<@(icu_data_zone_res_extra_generated)',
79 '<(icu_gen_dir)/zone/res_index.res',
80 '<(icu_gen_dir)/zone/pool.res',
81 # Unit
82 '<@(icu_data_unit_res_root_generated)',
83 '<@(icu_data_unit_res_generated)',
84 '<@(icu_data_unit_res_alias_generated)',
85 '<(icu_gen_dir)/unit/res_index.res',
86 '<(icu_gen_dir)/unit/pool.res',
87 # Random data
88 '<(icu_gen_dir)/cnvalias.icu',
89 '<(icu_gen_dir)/coll/ucadata.icu',
90 '<(icu_gen_dir)/nfkc.nrm',
91 '<(icu_gen_dir)/nfkc_cf.nrm',
92 '<(icu_gen_dir)/uts46.nrm',
93
94 # converters
95 '<@(icu_data_ucm_generated)',
96
97 # Currency
98 '<@(icu_data_curr_res_root_generated)',
99 '<@(icu_data_curr_res_supplemental_generated)',
100 '<@(icu_data_curr_res_generated)',
101 '<@(icu_data_curr_res_alias_generated)',
102 '<(icu_gen_dir)/curr/res_index.res',
103 '<(icu_gen_dir)/curr/pool.res',
104
105 # RBNF
106 '<(icu_gen_dir)/rbnf/res_index.res',
107
108 # Translit (note css3transform.txt -> root.txt)
109 '<(icu_gen_dir)/translit/root.res',
110
111 # Confusables
112 '<(icu_gen_dir)/confusables.cfu',
113 ],
114 'languages_to_minimize': 'bn,et,gu,kn,ml,mr,ms,ta,te', # Move to gypi?
115 'conditions': [
116 ['OS=="android"', {
117 # Remove things we don't want to include for this configuration.
118 'icu_data_generated_contents!': [
119 # Region data is fetched from the Android API on Android.
120 '<@(icu_data_region_res_root_generated)',
121 '<@(icu_data_region_res_generated)',
122 '<@(icu_data_region_res_alias_generated)',
123
124 # Languages from 'languages_to_minimize' above.
125 '<(icu_gen_dir)/curr/bn.res',
126 '<(icu_gen_dir)/curr/et.res',
127 '<(icu_gen_dir)/curr/gu.res',
128 '<(icu_gen_dir)/curr/kn.res',
129 '<(icu_gen_dir)/curr/ml.res',
130 '<(icu_gen_dir)/curr/mr.res',
131 '<(icu_gen_dir)/curr/ms.res',
132 '<(icu_gen_dir)/curr/ta.res',
133 '<(icu_gen_dir)/curr/te.res',
134
135 # Too big to include.
136 '<(icu_gen_dir)/brkitr/cjdict.dict',
137 ],
138 'icu_data_curr_res_raw_sources!': [
139 # Languages from 'languages_to_minimize' above.
140 'source/data/curr/bn.res',
141 'source/data/curr/et.res',
142 'source/data/curr/gu.res',
143 'source/data/curr/kn.res',
144 'source/data/curr/ml.res',
145 'source/data/curr/mr.res',
146 'source/data/curr/ms.res',
147 'source/data/curr/ta.res',
148 'source/data/curr/te.res',
149 ],
150 'icu_data_region_res_sources!': ["<@(icu_data_region_res_alias_s ources)"],
151 'icu_data_region_res_alias_sources!': ["<@(icu_data_region_res_a lias_sources)"],
152 }, {
153 # Else (not Android) - skip the Android workaround files.
154 # Add some workarounds for not having cjdict.dict.
155 'icu_data_generated_contents!': [
156 '<(icu_gen_dir)/brkitr/word_ja.brk',
157 '<(icu_gen_dir)/brkitr/ja.res',
158 ],
159 'icu_data_brkitr_brk_sources!': [
160 'source/data/brkitr/word_ja.txt',
161 ],
162 'icu_data_brkitr_brk_generated!': [
163 '<(icu_gen_dir)/brkitr/word_ja.brk',
164 ],
165 'icu_data_brkitr_res_filtered_sources!': [
166 '<(icu_gen_tmp_dir)/brkitr/ja.txt',
167 ],
168 'icu_data_brkitr_res_generated!': [
169 '<(icu_gen_dir)/brkitr/ja.res',
170 ],
171 }]
172 ],
173 },
174 'includes': [
175 'icu_data.gypi',
176 ],
177 'targets': [
178 {
179 'target_name': 'icu_cnv_base_files',
180 'type': 'none',
181 'dependencies': [
182 'icu_tools.gyp:gencnval#host',
183 'icu_tools.gyp:icupkg#host',
184 ],
185 'toolsets': ['host', 'target'],
186 'sources': [
187 '<@(icu_data_nrm_sources)',
188 ],
189 'rules': [
190 {
191 'rule_name': 'icupkg_nrm',
192 'extension': 'nrm',
193 'inputs': [
194 '<(icupkg_exe)',
195 ],
196 'outputs': [
197 # Can't use RULE_INPUT_NAME because of a bug in gyp's
198 # Makefile generator (see bug 472589).
199 '<(icu_gen_dir)/<(RULE_INPUT_ROOT).nrm',
200 ],
201 'action': [
202 '<(icupkg_exe)',
203 '-tl',
204 '<(RULE_INPUT_PATH)',
205 '<(icu_gen_dir)/<(RULE_INPUT_NAME)',
206 ],
207 'process_outputs_as_sources': 1,
208 },
209 ],
210 'actions': [
211 {
212 'action_name': 'icu_cnvalias',
213 'inputs': [
214 '<(gencnval_exe)',
215 'source/data/mappings/convrtrs.txt',
216 ],
217 'outputs': [
218 '<(icu_gen_dir)/cnvalias.icu',
219 ],
220 'action': [
221 '<(gencnval_exe)',
222 '-d',
223 '<(icu_gen_dir)',
224 'source/data/mappings/convrtrs.txt',
225 ],
226 'process_outputs_as_sources': 1,
227 },
228 {
229 'action_name': 'icu_ucadata_icu',
230 'inputs': [
231 '<(icupkg_exe)',
232 'source/data/in/coll/ucadata-implicithan.icu',
233 ],
234 'outputs': [
235 '<(icu_gen_dir)/coll/ucadata.icu',
236 ],
237 'action': [
238 '<(icupkg_exe)',
239 '-tl',
240 'source/data/in/coll/ucadata-implicithan.icu',
241 '<(icu_gen_dir)/coll/ucadata.icu',
242 ],
243 'process_outputs_as_sources': 1, # Right place?
244 },
245 ],
246 },
247 {
248 'target_name': 'icu_cnv_ucm_files',
249 'type': 'none',
250 'dependencies': [
251 'icu_tools.gyp:makeconv#host',
252 ],
253 'toolsets': ['host', 'target'],
254 'sources': [
255 '<@(icu_data_ucm_sources)'
256 ],
257 'rules': [
258 {
259 'rule_name': 'makeconv',
260 'extension': 'ucm',
261 'inputs': [
262 '<(makeconv_exe)',
263 ],
264 'outputs': [
265 '<(icu_gen_dir)/<(RULE_INPUT_ROOT).cnv',
266 ],
267 'action': [
268 '<(makeconv_exe)',
269 '-c',
270 '-d',
271 '<(icu_gen_dir)',
272 '<(RULE_INPUT_PATH)',
273 ],
274 'process_outputs_as_sources': 1,
275 },
276 ],
277 },
278 # TODO: Merge all dicts into one action (since it can't be rule based)
279 {
280 'target_name': 'icu_dict_cjdict',
281 'type': 'none',
282 'dependencies': [
283 'icu_tools.gyp:gendict#host',
284 ],
285 'toolsets': ['host', 'target'],
286 'sources': [
287 'source/data/brkitr/cjdict.txt',
288 ],
289 'rules': [
290 {
291 'rule_name': 'gendict',
292 'extension': 'txt',
293 'inputs': [
294 '<(gendict_exe)',
295 ],
296 'outputs': [
297 '<(icu_gen_dir)/brkitr/<(RULE_INPUT_ROOT).dict',
298 ],
299 'action': [
300 '<(gendict_exe)',
301 '--uchars',
302 '-c',
303 '-i',
304 '<(icu_gen_dir)',
305 '<(RULE_INPUT_PATH)',
306 '<(icu_gen_dir)/brkitr/<(RULE_INPUT_ROOT).dict',
307 ],
308 'process_outputs_as_sources': 1,
309 },
310 ],
311 },
312 {
313 'target_name': 'icu_dict_burmesedict',
314 'type': 'none',
315 'dependencies': [
316 'icu_tools.gyp:gendict#host',
317 ],
318 'toolsets': ['host', 'target'],
319 'sources': [
320 'source/data/brkitr/burmesedict.txt',
321 ],
322 'rules': [
323 {
324 'rule_name': 'gendict',
325 'extension': 'txt',
326 'inputs': [
327 '<(gendict_exe)',
328 ],
329 'outputs': [
330 '<(icu_gen_dir)/brkitr/<(RULE_INPUT_ROOT).dict',
331 ],
332 'action': [
333 '<(gendict_exe)',
334 '--bytes',
335 '--transform',
336 'offset-0x1000', # Extract from rule/action somehow
337 '-c',
338 '-i',
339 '<(icu_gen_dir)',
340 '<(RULE_INPUT_PATH)',
341 '<(icu_gen_dir)/brkitr/<(RULE_INPUT_ROOT).dict',
342 ],
343 'process_outputs_as_sources': 1,
344 },
345 ],
346 },
347 {
348 'target_name': 'icu_dict_khmerdict',
349 'type': 'none',
350 'dependencies': [
351 'icu_tools.gyp:gendict#host',
352 ],
353 'toolsets': ['host', 'target'],
354 'sources': [
355 'source/data/brkitr/khmerdict.txt',
356 ],
357 'rules': [
358 {
359 'rule_name': 'gendict',
360 'extension': 'txt',
361 'inputs': [
362 '<(gendict_exe)',
363 ],
364 'outputs': [
365 '<(icu_gen_dir)/brkitr/<(RULE_INPUT_ROOT).dict',
366 ],
367 'action': [
368 '<(gendict_exe)',
369 '--bytes',
370 '--transform',
371 'offset-0x1780', # Extract from rule/action somehow
372 '-c',
373 '-i',
374 '<(icu_gen_dir)',
375 '<(RULE_INPUT_PATH)',
376 '<(icu_gen_dir)/brkitr/<(RULE_INPUT_ROOT).dict',
377 ],
378 'process_outputs_as_sources': 1,
379 },
380 ],
381 },
382 {
383 'target_name': 'icu_dict_thaidict',
384 'type': 'none',
385 'dependencies': [
386 'icu_tools.gyp:gendict#host',
387 ],
388 'toolsets': ['host', 'target'],
389 'sources': [
390 'source/data/brkitr/thaidict.txt',
391 ],
392 'rules': [
393 {
394 'rule_name': 'gendict',
395 'extension': 'txt',
396 'inputs': [
397 '<(gendict_exe)',
398 ],
399 'outputs': [
400 '<(icu_gen_dir)/brkitr/<(RULE_INPUT_ROOT).dict',
401 ],
402 'action': [
403 '<(gendict_exe)',
404 '--bytes',
405 '--transform',
406 'offset-0xe00', # TODO: Extract from rule/action somehow
407 '-c',
408 '-i',
409 '<(icu_gen_dir)',
410 '<(RULE_INPUT_PATH)',
411 '<(icu_gen_dir)/brkitr/<(RULE_INPUT_ROOT).dict',
412 ],
413 'process_outputs_as_sources': 1,
414 },
415 ],
416 },
417 {
418 'target_name': 'icu_dict_laodict',
419 'type': 'none',
420 'dependencies': [
421 'icu_tools.gyp:gendict#host',
422 ],
423 'toolsets': ['host', 'target'],
424 'sources': [
425 'source/data/brkitr/laodict.txt',
426 ],
427 'rules': [
428 {
429 'rule_name': 'gendict',
430 'extension': 'txt',
431 'inputs': [
432 '<(gendict_exe)',
433 ],
434 'outputs': [
435 '<(icu_gen_dir)/brkitr/<(RULE_INPUT_ROOT).dict',
436 ],
437 'action': [
438 '<(gendict_exe)',
439 '--bytes',
440 '--transform',
441 'offset-0x0e80', # TODO: Extract from rule/action someho w
442 '-c',
443 '-i',
444 '<(icu_gen_dir)',
445 '<(RULE_INPUT_PATH)',
446 '<(icu_gen_dir)/brkitr/<(RULE_INPUT_ROOT).dict',
447 ],
448 'process_outputs_as_sources': 1,
449 },
450 ],
451 },
452 {
453 'target_name': 'icu_filtered_for_size_files',
454 'type': 'none',
455 'toolsets': ['host', 'target'],
456 'actions': [
457 {
458 'action_name': 'icu_filter_for_size',
459 'inputs': [
460 'build_tools/filter_data_for_size.py',
461 'source/data/brkitr/word.txt',
462 'source/data/brkitr/root.txt',
463 'source/data/brkitr/ja.txt',
464 'source/data/locales/pool.res',
465 'source/data/curr/pool.res',
466 'source/data/lang/pool.res',
467 '<@(icu_data_brkitr_res_root_raw_sources)',
468 '<@(icu_data_curr_res_raw_sources)',
469 '<@(icu_data_curr_res_alias_raw_sources)',
470 '<@(icu_data_curr_res_supplemental_raw_sources)',
471 '<@(icu_data_locales_res_raw_sources)',
472 '<@(icu_data_locales_res_alias_raw_sources)',
473 '<@(icu_data_lang_res_raw_sources)',
474 '<@(icu_data_lang_res_alias_raw_sources)',
475 '<@(icu_data_zone_res_raw_sources)',
476 '<@(icu_data_zone_res_alias_raw_sources)',
477 ],
478 'outputs': [
479 '<(icu_gen_tmp_dir)/brkitr/word.txt',
480 '<(icu_gen_tmp_dir)/brkitr/root.txt',
481 '<(icu_gen_tmp_dir)/brkitr/ja.txt',
482 '<(icu_gen_tmp_dir)/locales/pool.res',
483 '<(icu_gen_tmp_dir)/curr/pool.res',
484 '<(icu_gen_tmp_dir)/lang/pool.res',
485 '<@(icu_data_brkitr_res_root_filtered_sources)',
486 '<@(icu_data_curr_res_filtered_sources)',
487 '<@(icu_data_curr_res_alias_filtered_sources)',
488 '<@(icu_data_curr_res_supplemental_filtered_sources)',
489 '<@(icu_data_locales_res_filtered_sources)',
490 '<@(icu_data_locales_res_alias_filtered_sources)',
491 '<@(icu_data_lang_res_filtered_sources)',
492 '<@(icu_data_lang_res_alias_filtered_sources)',
493 '<@(icu_data_zone_res_filtered_sources)',
494 '<@(icu_data_zone_res_alias_filtered_sources)',
495 # These are used as signal files for the
496 # res_index generation to start.
497 '<(icu_gen_tmp_dir)/locales/root.txt',
498 '<(icu_gen_tmp_dir)/curr/root.txt',
499 '<(icu_gen_tmp_dir)/lang/root.txt',
500 '<(icu_gen_tmp_dir)/zone/root.txt',
501 ],
502 'conditions': [
503 ['OS=="android"', {
504 'variables': {
505 'filter_mode': 'strip-for-size', # or clean-copy
506 },
507 }, {
508 'variables': {
509 'filter_mode': 'clean-copy', # or strip-for-size # Just testing FIXME!!!
510 },
511 }
512 ]
513 ],
514 'action': [
515 'python',
516 'build_tools/filter_data_for_size.py',
517 '--mode',
518 '<(filter_mode)',
519 '--in-word-txt',
520 'source/data/brkitr/word.txt',
521 '--out-word-txt',
522 '<(icu_gen_tmp_dir)/brkitr/word.txt',
523 '--in-brkitr-root-txt',
524 'source/data/brkitr/root.txt',
525 '--out-brkitr-root-txt',
526 '<(icu_gen_tmp_dir)/brkitr/root.txt',
527 '--in-brkitr-ja-txt',
528 'source/data/brkitr/ja.txt',
529 '--out-brkitr-ja-txt',
530 '<(icu_gen_tmp_dir)/brkitr/ja.txt',
531 '--currency-keep-list',
532 'android/currencies.list',
533 '--in-curr-dir',
534 'source/data/curr',
535 '--out-curr-dir',
536 '<(icu_gen_tmp_dir)/curr',
537 '--minimize-language-list',
538 '<(languages_to_minimize)',
539 '--in-locales-dir',
540 'source/data/locales',
541 '--out-locales-dir',
542 '<(icu_gen_tmp_dir)/locales',
543 '--in-lang-dir',
544 'source/data/lang',
545 '--out-lang-dir',
546 '<(icu_gen_tmp_dir)/lang',
547 '--in-zone-dir',
548 'source/data/zone',
549 '--out-zone-dir',
550 '<(icu_gen_tmp_dir)/zone',
551 '--remove-data-already-existing-in-android',
552 ],
553 'process_outputs_as_sources': 1, # Right place?
554 }
555 ],
556 },
557 {
558 'target_name': 'icu_brk_files',
559 'type': 'none',
560 'dependencies': [
561 'icu_tools.gyp:genbrk#host',
562 'icu_cnv_base_files',
563 'icu_filtered_for_size_files',
564 ],
565 'toolsets': ['host', 'target'],
566 'sources': [
567 '<@(icu_data_brkitr_brk_sources)'
568 ],
569 'rules': [
570 {
571 'rule_name': 'genbrk',
572 'extension': 'txt',
573 'inputs': [
574 '<(genbrk_exe)',
575 '<(icu_gen_dir)/cnvalias.icu',
576 ],
577 'outputs': [
578 '<(icu_gen_dir)/brkitr/<(RULE_INPUT_ROOT).brk',
579 ],
580 'action': [
581 '<(genbrk_exe)',
582 '-c',
583 '-i',
584 '<(icu_gen_dir)',
585 '-r',
586 '<(RULE_INPUT_PATH)',
587 '-o',
588 '<(icu_gen_dir)/brkitr/<(RULE_INPUT_ROOT).brk',
589 ],
590 'process_outputs_as_sources': 1,
591 },
592 ],
593 },
594 {
595 'target_name': 'icu_locales_res_files',
596 'type': 'none',
597 'dependencies': [
598 'icu_tools.gyp:genrb#host',
599 'icu_cnv_base_files',
600 'icu_filtered_for_size_files',
601 ],
602 'toolsets': ['host', 'target'],
603 'sources': [
604 '<@(icu_data_locales_res_root_sources)',
605 '<@(icu_data_locales_res_filtered_sources)',
606 '<@(icu_data_locales_res_alias_filtered_sources)',
607 ],
608 'rules': [
609 {
610 'rule_name': 'genrb',
611 'extension': 'txt',
612 'inputs': [
613 '<(genrb_exe)',
614 '<(icu_gen_tmp_dir)/locales/pool.res',
615 ],
616 'outputs': [
617 '<(icu_gen_dir)/<(RULE_INPUT_ROOT).res',
618 ],
619 'action': [
620 '<(genrb_exe)',
621 '--usePoolBundle',
622 '-k',
623 '-R',
624 '-i',
625 '<(icu_gen_dir)',
626 '-s',
627 '<(icu_gen_tmp_dir)/locales',
628 '-d<(icu_gen_dir)', # Writing as two arguments and the g en dir argument just disappears. Magically. Because lists can't have duplicates unless they start with '-'.
629 '<(RULE_INPUT_NAME)',
630 ],
631 'process_outputs_as_sources': 1,
632 },
633 ],
634 },
635 {
636 'target_name': 'icu_misc_res_files',
637 'type': 'none',
638 'dependencies': [
639 'icu_tools.gyp:genrb#host',
640 'icu_cnv_base_files',
641 ],
642 'toolsets': ['host', 'target'],
643 'sources': [
644 '<@(icu_data_misc_res_sources)',
645 ],
646 'rules': [
647 {
648 'rule_name': 'genrb',
649 'extension': 'txt',
650 'inputs': [
651 '<(genrb_exe)',
652 ],
653 'outputs': [
654 '<(icu_gen_dir)/<(RULE_INPUT_ROOT).res',
655 ],
656 'action': [
657 '<(genrb_exe)',
658 '-k',
659 '-R',
660 '-q',
661 '-i',
662 '<(icu_gen_dir)',
663 '-s',
664 'source/data/misc',
665 '-d<(icu_gen_dir)', # Writing as two arguments and the g en dir argument just disappears. Magically. Because lists can't have duplicates unless they start with '-'.
666 '<(RULE_INPUT_NAME)',
667 ],
668 'process_outputs_as_sources': 1,
669 },
670 ],
671 },
672 {
673 'target_name': 'icu_res_index_txt_files_locales_curr_lang_region_zon e_unit_coll_brkitr_rbnf_translit',
674 'type': 'none',
675 'toolsets': ['host', 'target'],
676 'actions': [
677 {
678 'action_name': 'icu_write_locales_res_index_txt',
679 'inputs': [
680 'build_tools/write_res_index.py',
681 # Note: Only using file names, not files.
682 ],
683 'outputs': [
684 '<(icu_gen_tmp_dir)/res_index.txt',
685 ],
686 'action': [
687 'python',
688 'build_tools/write_res_index.py',
689 '--cldr-version',
690 '1.9', # FIXME: Move somewhere
691 '--outfile',
692 '<(icu_gen_tmp_dir)/res_index.txt',
693 '<@(icu_data_locales_res_raw_sources)',
694 ],
695 'process_outputs_as_sources': 1, # Right place?
696 },
697 {
698 'action_name': 'icu_write_curr_res_index_txt',
699 'inputs': [
700 'build_tools/write_res_index.py',
701 # Note: Only using file names, not files.
702 ],
703 'outputs': [
704 '<(icu_gen_tmp_dir)/curr/res_index.txt',
705 ],
706 'action': [
707 'python',
708 'build_tools/write_res_index.py',
709 '--outfile',
710 '<(icu_gen_tmp_dir)/curr/res_index.txt',
711 '<@(icu_data_curr_res_raw_sources)',
712 ],
713 'process_outputs_as_sources': 1, # Right place?
714 },
715 {
716 'action_name': 'icu_write_lang_res_index_txt',
717 'inputs': [
718 'build_tools/write_res_index.py',
719 # Only using the name of files, not their contents.
720 ],
721 'outputs': [
722 '<(icu_gen_tmp_dir)/lang/res_index.txt',
723 ],
724 'action': [
725 'python',
726 'build_tools/write_res_index.py',
727 '--outfile',
728 '<(icu_gen_tmp_dir)/lang/res_index.txt',
729 '<@(icu_data_lang_res_raw_sources)',
730 ],
731 'process_outputs_as_sources': 1, # Right place?
732 },
733 {
734 'action_name': 'icu_write_region_res_index_txt',
735 'inputs': [
736 'build_tools/write_res_index.py',
737 # Only using the file names, not the file contents.
738 ],
739 'outputs': [
740 '<(icu_gen_tmp_dir)/region/res_index.txt',
741 ],
742 'action': [
743 'python',
744 'build_tools/write_res_index.py',
745 '--outfile',
746 '<(icu_gen_tmp_dir)/region/res_index.txt',
747 '<@(icu_data_region_res_sources)',
748 ],
749 'process_outputs_as_sources': 1, # Right place?
750 },
751 {
752 'action_name': 'icu_write_zone_res_index_txt',
753 'inputs': [
754 'build_tools/write_res_index.py',
755 # Only using the file names, not the file contents.
756 ],
757 'outputs': [
758 '<(icu_gen_tmp_dir)/zone/res_index.txt',
759 ],
760 'action': [
761 'python',
762 'build_tools/write_res_index.py',
763 '--outfile',
764 '<(icu_gen_tmp_dir)/zone/res_index.txt',
765 '<@(icu_data_zone_res_raw_sources)',
766 ],
767 'process_outputs_as_sources': 1, # Right place?
768 },
769 {
770 'action_name': 'icu_write_unit_res_index_txt',
771 'inputs': [
772 'build_tools/write_res_index.py',
773 # Only using the file names, not the file contents.
774 ],
775 'outputs': [
776 '<(icu_gen_tmp_dir)/unit/res_index.txt',
777 ],
778 'action': [
779 'python',
780 'build_tools/write_res_index.py',
781 '--outfile',
782 '<(icu_gen_tmp_dir)/unit/res_index.txt',
783 '<@(icu_data_unit_res_sources)',
784 ],
785 'process_outputs_as_sources': 1, # Right place?
786 },
787 {
788 'action_name': 'icu_write_coll_res_index_txt',
789 'inputs': [
790 'build_tools/write_res_index.py',
791 # Only using the file names, not the file contents.
792 ],
793 'outputs': [
794 '<(icu_gen_tmp_dir)/coll/res_index.txt',
795 ],
796 'action': [
797 'python',
798 'build_tools/write_res_index.py',
799 '--outfile',
800 '<(icu_gen_tmp_dir)/coll/res_index.txt',
801 '<@(icu_data_coll_res_sources)',
802 ],
803 'process_outputs_as_sources': 1, # Right place?
804 },
805 {
806 'action_name': 'icu_write_brkitr_res_index_txt',
807 'inputs': [
808 'build_tools/write_res_index.py',
809 # Only using the file names, not the file contents.
810 ],
811 'outputs': [
812 '<(icu_gen_tmp_dir)/brkitr/res_index.txt',
813 ],
814 'action': [
815 'python',
816 'build_tools/write_res_index.py',
817 '--outfile',
818 '<(icu_gen_tmp_dir)/brkitr/res_index.txt',
819 '<@(icu_data_brkitr_res_sources)',
820 '<@(icu_data_brkitr_res_filtered_sources)',
821 ],
822 'process_outputs_as_sources': 1, # Right place?
823 },
824 {
825 'action_name': 'icu_write_rbnf_res_index_txt',
826 'inputs': [
827 'build_tools/write_res_index.py',
828 # Only using the file names, not the file contents.
829 ],
830 'outputs': [
831 '<(icu_gen_tmp_dir)/rbnf/res_index.txt',
832 ],
833 'action': [
834 'python',
835 'build_tools/write_res_index.py',
836 '--outfile',
837 '<(icu_gen_tmp_dir)/rbnf/res_index.txt',
838 ],
839 'process_outputs_as_sources': 1, # Right place?
840 },
841 ],
842 },
843 {
844 'target_name': 'icu_pool_res_locales_curr_lang_region_zone_unit',
845 'type': 'none',
846 'dependencies': [
847 'icu_tools.gyp:icupkg#host',
848 ],
849 'toolsets': ['host', 'target'],
850 'sources': [
851 '<@(icu_data_locales_res_filtered_sources)',
852 ],
853 'actions': [
854 {
855 'action_name': 'icu_locales_pool_res',
856 'inputs': [
857 '<(icupkg_exe)',
858 'source/data/locales/pool.res',
859 ],
860 'outputs': [
861 '<(icu_gen_dir)/pool.res',
862 ],
863 'action': [
864 '<(icupkg_exe)',
865 '-tl',
866 'source/data/locales/pool.res',
867 '<(icu_gen_dir)/pool.res',
868 ],
869 'process_outputs_as_sources': 1, # Right place?
870 },
871 {
872 'action_name': 'icu_curr_pool_res',
873 'inputs': [
874 '<(icupkg_exe)',
875 'source/data/curr/pool.res',
876 ],
877 'outputs': [
878 '<(icu_gen_dir)/curr/pool.res',
879 ],
880 'action': [
881 '<(icupkg_exe)',
882 '-tl',
883 'source/data/curr/pool.res',
884 '<(icu_gen_dir)/curr/pool.res',
885 ],
886 'process_outputs_as_sources': 1, # Right place?
887 },
888 {
889 'action_name': 'icu_lang_pool_res',
890 'inputs': [
891 '<(icupkg_exe)',
892 'source/data/lang/pool.res',
893 ],
894 'outputs': [
895 '<(icu_gen_dir)/lang/pool.res',
896 ],
897 'action': [
898 '<(icupkg_exe)',
899 '-tl',
900 'source/data/lang/pool.res',
901 '<(icu_gen_dir)/lang/pool.res',
902 ],
903 'process_outputs_as_sources': 1, # Right place?
904 },
905 {
906 'action_name': 'icu_region_pool_res',
907 'inputs': [
908 '<(icupkg_exe)',
909 'source/data/region/pool.res',
910 ],
911 'outputs': [
912 '<(icu_gen_dir)/region/pool.res',
913 ],
914 'action': [
915 '<(icupkg_exe)',
916 '-tl',
917 'source/data/region/pool.res',
918 '<(icu_gen_dir)/region/pool.res',
919 ],
920 'process_outputs_as_sources': 1, # Right place?
921 },
922 {
923 'action_name': 'icu_zone_pool_res',
924 'inputs': [
925 '<(icupkg_exe)',
926 'source/data/zone/pool.res',
927 ],
928 'outputs': [
929 '<(icu_gen_dir)/zone/pool.res',
930 ],
931 'action': [
932 '<(icupkg_exe)',
933 '-tl',
934 'source/data/zone/pool.res',
935 '<(icu_gen_dir)/zone/pool.res',
936 ],
937 'process_outputs_as_sources': 1, # Right place?
938 },
939 {
940 'action_name': 'icu_unit_pool_res',
941 'inputs': [
942 '<(icupkg_exe)',
943 'source/data/unit/pool.res',
944 ],
945 'outputs': [
946 '<(icu_gen_dir)/unit/pool.res',
947 ],
948 'action': [
949 '<(icupkg_exe)',
950 '-tl',
951 'source/data/unit/pool.res',
952 '<(icu_gen_dir)/unit/pool.res',
953 ],
954 'process_outputs_as_sources': 1, # Right place?
955 },
956 ],
957 },
958 {
959 'target_name': 'icu_locales_res_index_res_file',
960 'type': 'none',
961 'dependencies': [
962 'icu_res_index_txt_files_locales_curr_lang_region_zone_unit_coll _brkitr_rbnf_translit',
963 'icu_tools.gyp:genrb#host',
964 ],
965 'toolsets': ['host', 'target'],
966 'sources': [
967 '<(icu_gen_tmp_dir)/res_index.txt',
968 ],
969 'rules': [
970 {
971 'rule_name': 'genrb',
972 'extension': 'txt',
973 'inputs': [
974 '<(genrb_exe)',
975 ],
976 'outputs': [
977 '<(icu_gen_dir)/<(RULE_INPUT_ROOT).res',
978 ],
979 'action': [
980 '<(genrb_exe)',
981 '-k',
982 '-R',
983 '-i',
984 '<(icu_gen_dir)',
985 '-d<(icu_gen_dir)', # Writing as two arguments and the g en dir argument just disappears. Magically. Because lists can't have duplicates unless they start with '-'.
986 '<(RULE_INPUT_PATH)',
987 ],
988 'process_outputs_as_sources': 1,
989 },
990 ],
991 },
992 # START CURRENCY
993 {
994 'target_name': 'icu_curr_res_files',
995 'type': 'none',
996 'dependencies': [
997 'icu_tools.gyp:genrb#host',
998 'icu_cnv_base_files',
999 'icu_filtered_for_size_files',
1000 ],
1001 'toolsets': ['host', 'target'],
1002 'sources': [
1003 '<@(icu_data_curr_res_root_sources)',
1004 '<@(icu_data_curr_res_supplemental_filtered_sources)',
1005 '<@(icu_data_curr_res_filtered_sources)',
1006 '<@(icu_data_curr_res_alias_filtered_sources)',
1007 ],
1008 'rules': [
1009 {
1010 'rule_name': 'genrb',
1011 'extension': 'txt',
1012 'inputs': [
1013 '<(genrb_exe)',
1014 '<(icu_gen_tmp_dir)/curr/pool.res',
1015 ],
1016 'outputs': [
1017 '<(icu_gen_dir)/curr/<(RULE_INPUT_ROOT).res',
1018 ],
1019 'action': [
1020 '<(genrb_exe)',
1021 '--usePoolBundle',
1022 '-k',
1023 '-R',
1024 '-i',
1025 '<(icu_gen_dir)',
1026 '-s',
1027 '<(icu_gen_tmp_dir)/curr',
1028 '-d',
1029 '<(icu_gen_dir)/curr',
1030 '<(RULE_INPUT_NAME)',
1031 ],
1032 'process_outputs_as_sources': 1,
1033 },
1034 ],
1035 },
1036 {
1037 'target_name': 'icu_curr_res_index_res_file',
1038 'type': 'none',
1039 'dependencies': [
1040 'icu_res_index_txt_files_locales_curr_lang_region_zone_unit_coll _brkitr_rbnf_translit',
1041 'icu_tools.gyp:genrb#host',
1042 ],
1043 'toolsets': ['host', 'target'],
1044 'sources': [
1045 '<(icu_gen_tmp_dir)/curr/res_index.txt',
1046 ],
1047 'rules': [
1048 {
1049 'rule_name': 'genrb',
1050 'extension': 'txt',
1051 'inputs': [
1052 '<(genrb_exe)',
1053 ],
1054 'outputs': [
1055 '<(icu_gen_dir)/curr/<(RULE_INPUT_ROOT).res',
1056 ],
1057 'action': [
1058 '<(genrb_exe)',
1059 '-k',
1060 '-R',
1061 '-i',
1062 '<(icu_gen_dir)',
1063 '-d',
1064 '<(icu_gen_dir)/curr',
1065 '<(RULE_INPUT_PATH)',
1066 ],
1067 'process_outputs_as_sources': 1,
1068 },
1069 ],
1070 },
1071 # END CURRENCY
1072 # START LANGUAGE
1073 {
1074 'target_name': 'icu_lang_res_files',
1075 'type': 'none',
1076 'dependencies': [
1077 'icu_tools.gyp:genrb#host',
1078 'icu_cnv_base_files',
1079 'icu_filtered_for_size_files',
1080 ],
1081 'toolsets': ['host', 'target'],
1082 'sources': [
1083 '<@(icu_data_lang_res_root_sources)',
1084 '<@(icu_data_lang_res_filtered_sources)',
1085 '<@(icu_data_lang_res_alias_filtered_sources)',
1086 ],
1087 'rules': [
1088 {
1089 'rule_name': 'genrb',
1090 'extension': 'txt',
1091 'inputs': [
1092 '<(genrb_exe)',
1093 '<(icu_gen_tmp_dir)/lang/pool.res',
1094 ],
1095 'outputs': [
1096 '<(icu_gen_dir)/lang/<(RULE_INPUT_ROOT).res',
1097 ],
1098 'action': [
1099 '<(genrb_exe)',
1100 '--usePoolBundle',
1101 '-k',
1102 '-R',
1103 '-i',
1104 '<(icu_gen_dir)',
1105 '-s',
1106 '<(icu_gen_tmp_dir)/lang',
1107 '-d',
1108 '<(icu_gen_dir)/lang',
1109 '<(RULE_INPUT_NAME)',
1110 ],
1111 'process_outputs_as_sources': 1,
1112 },
1113 ],
1114 },
1115 {
1116 'target_name': 'icu_lang_res_index_res_file',
1117 'type': 'none',
1118 'dependencies': [
1119 'icu_res_index_txt_files_locales_curr_lang_region_zone_unit_coll _brkitr_rbnf_translit',
1120 'icu_tools.gyp:genrb#host',
1121 ],
1122 'toolsets': ['host', 'target'],
1123 'sources': [
1124 '<(icu_gen_tmp_dir)/lang/res_index.txt',
1125 ],
1126 'rules': [
1127 {
1128 'rule_name': 'genrb',
1129 'extension': 'txt',
1130 'inputs': [
1131 '<(genrb_exe)',
1132 ],
1133 'outputs': [
1134 '<(icu_gen_dir)/lang/<(RULE_INPUT_ROOT).res',
1135 ],
1136 'action': [
1137 '<(genrb_exe)',
1138 '-k',
1139 '-R',
1140 '-i',
1141 '<(icu_gen_dir)',
1142 '-d',
1143 '<(icu_gen_dir)/lang',
1144 '<(RULE_INPUT_PATH)',
1145 ],
1146 'process_outputs_as_sources': 1,
1147 },
1148 ],
1149 },
1150 # END LANGUAGE
1151 # START REGION
1152 {
1153 'target_name': 'icu_region_res_files',
1154 'type': 'none',
1155 'dependencies': [
1156 'icu_tools.gyp:genrb#host',
1157 'icu_cnv_base_files',
1158 ],
1159 'toolsets': ['host', 'target'],
1160 'sources': [
1161 '<@(icu_data_region_res_root_sources)',
1162 '<@(icu_data_region_res_sources)',
1163 '<@(icu_data_region_res_alias_sources)',
1164 ],
1165 'rules': [
1166 {
1167 'rule_name': 'genrb',
1168 'extension': 'txt',
1169 'inputs': [
1170 '<(genrb_exe)',
1171 'source/data/region/pool.res',
1172 ],
1173 'outputs': [
1174 '<(icu_gen_dir)/region/<(RULE_INPUT_ROOT).res',
1175 ],
1176 'action': [
1177 '<(genrb_exe)',
1178 '--usePoolBundle',
1179 '-k',
1180 '-R',
1181 '-i',
1182 '<(icu_gen_dir)',
1183 '-s',
1184 'source/data/region',
1185 '-d',
1186 '<(icu_gen_dir)/region',
1187 '<(RULE_INPUT_NAME)',
1188 ],
1189 'process_outputs_as_sources': 1,
1190 },
1191 ],
1192 },
1193 {
1194 'target_name': 'icu_region_res_index_res_file',
1195 'type': 'none',
1196 'dependencies': [
1197 'icu_res_index_txt_files_locales_curr_lang_region_zone_unit_coll _brkitr_rbnf_translit',
1198 'icu_tools.gyp:genrb#host',
1199 ],
1200 'toolsets': ['host', 'target'],
1201 'sources': [
1202 '<(icu_gen_tmp_dir)/region/res_index.txt',
1203 ],
1204 'rules': [
1205 {
1206 'rule_name': 'genrb',
1207 'extension': 'txt',
1208 'inputs': [
1209 '<(genrb_exe)',
1210 ],
1211 'outputs': [
1212 '<(icu_gen_dir)/region/<(RULE_INPUT_ROOT).res',
1213 ],
1214 'action': [
1215 '<(genrb_exe)',
1216 '-k',
1217 '-R',
1218 '-i',
1219 '<(icu_gen_dir)',
1220 '-d',
1221 '<(icu_gen_dir)/region',
1222 '<(RULE_INPUT_PATH)',
1223 ],
1224 'process_outputs_as_sources': 1,
1225 },
1226 ],
1227 },
1228 # END REGION
1229 # START ZONE
1230 {
1231 'target_name': 'icu_zone_res_files',
1232 'type': 'none',
1233 'dependencies': [
1234 'icu_tools.gyp:genrb#host',
1235 'icu_cnv_base_files',
1236 'icu_filtered_for_size_files',
1237 ],
1238 'toolsets': ['host', 'target'],
1239 'sources': [
1240 '<@(icu_data_zone_res_root_sources)',
1241 '<@(icu_data_zone_res_filtered_sources)',
1242 '<@(icu_data_zone_res_alias_filtered_sources)',
1243 '<@(icu_data_zone_res_extra_sources)',
1244 ],
1245 'rules': [
1246 {
1247 'rule_name': 'genrb',
1248 'extension': 'txt',
1249 'inputs': [
1250 '<(genrb_exe)',
1251 'source/data/zone/pool.res',
1252 ],
1253 'outputs': [
1254 '<(icu_gen_dir)/zone/<(RULE_INPUT_ROOT).res',
1255 ],
1256 'action': [
1257 '<(genrb_exe)',
1258 '--usePoolBundle',
1259 '-k',
1260 '-R',
1261 '-i',
1262 '<(icu_gen_dir)',
1263 '-s',
1264 '<(icu_gen_tmp_dir)/zone',
1265 '-d',
1266 '<(icu_gen_dir)/zone',
1267 '<(RULE_INPUT_NAME)',
1268 ],
1269 'process_outputs_as_sources': 1,
1270 },
1271 ],
1272 },
1273 {
1274 'target_name': 'icu_zone_res_index_res_file',
1275 'type': 'none',
1276 'dependencies': [
1277 'icu_res_index_txt_files_locales_curr_lang_region_zone_unit_coll _brkitr_rbnf_translit',
1278 'icu_tools.gyp:genrb#host',
1279 ],
1280 'toolsets': ['host', 'target'],
1281 'sources': [
1282 '<(icu_gen_tmp_dir)/zone/res_index.txt',
1283 ],
1284 'rules': [
1285 {
1286 'rule_name': 'genrb',
1287 'extension': 'txt',
1288 'inputs': [
1289 '<(genrb_exe)',
1290 ],
1291 'outputs': [
1292 '<(icu_gen_dir)/zone/<(RULE_INPUT_ROOT).res',
1293 ],
1294 'action': [
1295 '<(genrb_exe)',
1296 '-k',
1297 '-R',
1298 '-i',
1299 '<(icu_gen_dir)',
1300 '-d',
1301 '<(icu_gen_dir)/zone',
1302 '<(RULE_INPUT_PATH)',
1303 ],
1304 'process_outputs_as_sources': 1,
1305 },
1306 ],
1307 },
1308 # END ZONE
1309 # START UNIT
1310 {
1311 'target_name': 'icu_unit_res_files',
1312 'type': 'none',
1313 'dependencies': [
1314 'icu_tools.gyp:genrb#host',
1315 'icu_cnv_base_files',
1316 ],
1317 'toolsets': ['host', 'target'],
1318 'sources': [
1319 '<@(icu_data_unit_res_root_sources)',
1320 '<@(icu_data_unit_res_sources)',
1321 '<@(icu_data_unit_res_alias_sources)',
1322 ],
1323 'rules': [
1324 {
1325 'rule_name': 'genrb',
1326 'extension': 'txt',
1327 'inputs': [
1328 '<(genrb_exe)',
1329 'source/data/unit/pool.res',
1330 ],
1331 'outputs': [
1332 '<(icu_gen_dir)/unit/<(RULE_INPUT_ROOT).res',
1333 ],
1334 'action': [
1335 '<(genrb_exe)',
1336 '--usePoolBundle',
1337 '-k',
1338 '-R',
1339 '-i',
1340 '<(icu_gen_dir)',
1341 '-s',
1342 'source/data/unit',
1343 '-d',
1344 '<(icu_gen_dir)/unit',
1345 '<(RULE_INPUT_NAME)',
1346 ],
1347 'process_outputs_as_sources': 1,
1348 },
1349 ],
1350 },
1351 {
1352 'target_name': 'icu_unit_res_index_res_file',
1353 'type': 'none',
1354 'dependencies': [
1355 'icu_res_index_txt_files_locales_curr_lang_region_zone_unit_coll _brkitr_rbnf_translit',
1356 'icu_tools.gyp:genrb#host',
1357 ],
1358 'toolsets': ['host', 'target'],
1359 'sources': [
1360 '<(icu_gen_tmp_dir)/unit/res_index.txt',
1361 ],
1362 'rules': [
1363 {
1364 'rule_name': 'genrb',
1365 'extension': 'txt',
1366 'inputs': [
1367 '<(genrb_exe)',
1368 ],
1369 'outputs': [
1370 '<(icu_gen_dir)/unit/<(RULE_INPUT_ROOT).res',
1371 ],
1372 'action': [
1373 '<(genrb_exe)',
1374 '-k',
1375 '-R',
1376 '-i',
1377 '<(icu_gen_dir)',
1378 '-d',
1379 '<(icu_gen_dir)/unit',
1380 '<(RULE_INPUT_PATH)',
1381 ],
1382 'process_outputs_as_sources': 1,
1383 },
1384 ],
1385 },
1386 # END UNIT
1387 # START COLL
1388 {
1389 'target_name': 'icu_coll_res_files',
1390 'type': 'none',
1391 'dependencies': [
1392 'icu_tools.gyp:genrb#host',
1393 'icu_cnv_base_files',
1394 'icu_misc_res_files', # Specifically keyTypeData for sr_Latn.txt
1395 ],
1396 'toolsets': ['host', 'target'],
1397 'sources': [
1398 '<@(icu_data_coll_res_root_sources)',
1399 '<@(icu_data_coll_res_sources)',
1400 '<@(icu_data_coll_res_alias_sources)',
1401 ],
1402 'rules': [
1403 {
1404 'rule_name': 'genrb',
1405 'extension': 'txt',
1406 'inputs': [
1407 '<(genrb_exe)',
1408 ],
1409 'outputs': [
1410 '<(icu_gen_dir)/coll/<(RULE_INPUT_ROOT).res',
1411 ],
1412 'action': [
1413 '<(genrb_exe)',
1414 '-k',
1415 '-R',
1416 '-i',
1417 '<(icu_gen_dir)',
1418 '-s',
1419 'source/data/coll',
1420 '-d',
1421 '<(icu_gen_dir)/coll',
1422 '<(RULE_INPUT_NAME)',
1423 ],
1424 'process_outputs_as_sources': 1,
1425 },
1426 ],
1427 },
1428 {
1429 'target_name': 'icu_coll_res_index_res_file',
1430 'type': 'none',
1431 'dependencies': [
1432 'icu_res_index_txt_files_locales_curr_lang_region_zone_unit_coll _brkitr_rbnf_translit',
1433 'icu_tools.gyp:genrb#host',
1434 ],
1435 'toolsets': ['host', 'target'],
1436 'sources': [
1437 '<(icu_gen_tmp_dir)/coll/res_index.txt',
1438 ],
1439 'rules': [
1440 {
1441 'rule_name': 'genrb',
1442 'extension': 'txt',
1443 'inputs': [
1444 '<(genrb_exe)',
1445 ],
1446 'outputs': [
1447 '<(icu_gen_dir)/coll/<(RULE_INPUT_ROOT).res',
1448 ],
1449 'action': [
1450 '<(genrb_exe)',
1451 '-k',
1452 '-R',
1453 '-i',
1454 '<(icu_gen_dir)',
1455 '-d',
1456 '<(icu_gen_dir)/coll',
1457 '<(RULE_INPUT_PATH)',
1458 ],
1459 'process_outputs_as_sources': 1,
1460 },
1461 ],
1462 },
1463 # END COLL
1464 # START BRKITR
1465 {
1466 'target_name': 'icu_brkitr_res_files',
1467 # icu_brkitr_res_filtered_files is the same except that -s (source
1468 # dir) is icu_gen_tmp_dir in that action.
1469 'type': 'none',
1470 'dependencies': [
1471 'icu_tools.gyp:genrb#host',
1472 'icu_dict_cjdict',
1473 'icu_dict_laodict',
1474 'icu_dict_thaidict',
1475 'icu_dict_khmerdict',
1476 'icu_brk_files',
1477 'icu_cnv_base_files',
1478 ],
1479 'toolsets': ['host', 'target'],
1480 'sources': [
1481 '<@(icu_data_brkitr_res_sources)',
1482 ],
1483 'rules': [
1484 {
1485 'rule_name': 'genrb',
1486 'extension': 'txt',
1487 'inputs': [
1488 '<(genrb_exe)',
1489 ],
1490 'outputs': [
1491 '<(icu_gen_dir)/brkitr/<(RULE_INPUT_ROOT).res',
1492 ],
1493 'action': [
1494 '<(genrb_exe)',
1495 '-k',
1496 '-R',
1497 '-i',
1498 '<(icu_gen_dir)',
1499 '-s',
1500 'source/data/brkitr',
1501 '-d',
1502 '<(icu_gen_dir)/brkitr',
1503 '<(RULE_INPUT_NAME)',
1504 ],
1505 'process_outputs_as_sources': 1,
1506 },
1507 ],
1508 },
1509 {
1510 'target_name': 'icu_brkitr_res_filtered_files',
1511 # Same as icu_brkitr_res_files except that -s (source dir) is
1512 # icu_gen_tmp_dir.
1513 'type': 'none',
1514 'dependencies': [
1515 'icu_tools.gyp:genrb#host',
1516 'icu_dict_cjdict',
1517 'icu_dict_laodict',
1518 'icu_dict_thaidict',
1519 'icu_dict_khmerdict',
1520 'icu_brk_files',
1521 'icu_cnv_base_files',
1522 'icu_filtered_for_size_files',
1523 ],
1524 'toolsets': ['host', 'target'],
1525 'sources': [
1526 '<@(icu_data_brkitr_res_root_filtered_sources)',
1527 '<@(icu_data_brkitr_res_filtered_sources)',
1528 ],
1529 'rules': [
1530 {
1531 'rule_name': 'genrb',
1532 'extension': 'txt',
1533 'inputs': [
1534 '<(genrb_exe)',
1535 ],
1536 'outputs': [
1537 '<(icu_gen_dir)/brkitr/<(RULE_INPUT_ROOT).res',
1538 ],
1539 'action': [
1540 '<(genrb_exe)',
1541 '-k',
1542 '-R',
1543 '-i',
1544 '<(icu_gen_dir)',
1545 '-s',
1546 '<(icu_gen_tmp_dir)/brkitr',
1547 '-d',
1548 '<(icu_gen_dir)/brkitr',
1549 '<(RULE_INPUT_NAME)',
1550 ],
1551 'process_outputs_as_sources': 1,
1552 },
1553 ],
1554 },
1555 {
1556 'target_name': 'icu_brkitr_res_index_res_file',
1557 'type': 'none',
1558 'dependencies': [
1559 'icu_res_index_txt_files_locales_curr_lang_region_zone_unit_coll _brkitr_rbnf_translit',
1560 'icu_tools.gyp:genrb#host',
1561 ],
1562 'toolsets': ['host', 'target'],
1563 'sources': [
1564 '<(icu_gen_tmp_dir)/brkitr/res_index.txt',
1565 ],
1566 'rules': [
1567 {
1568 'rule_name': 'genrb',
1569 'extension': 'txt',
1570 'inputs': [
1571 '<(genrb_exe)',
1572 ],
1573 'outputs': [
1574 '<(icu_gen_dir)/brkitr/<(RULE_INPUT_ROOT).res',
1575 ],
1576 'action': [
1577 '<(genrb_exe)',
1578 '-k',
1579 '-R',
1580 '-i',
1581 '<(icu_gen_dir)',
1582 '-d',
1583 '<(icu_gen_dir)/brkitr',
1584 '<(RULE_INPUT_PATH)',
1585 ],
1586 'process_outputs_as_sources': 1,
1587 },
1588 ],
1589 },
1590 # END BRKITR
1591 # START RBNF
1592 {
1593 'target_name': 'icu_rbnf_res_index_res_file',
1594 'type': 'none',
1595 'dependencies': [
1596 'icu_res_index_txt_files_locales_curr_lang_region_zone_unit_coll _brkitr_rbnf_translit',
1597 'icu_tools.gyp:genrb#host',
1598 ],
1599 'toolsets': ['host', 'target'],
1600 'sources': [
1601 '<(icu_gen_tmp_dir)/rbnf/res_index.txt',
1602 ],
1603 'rules': [
1604 {
1605 'rule_name': 'genrb',
1606 'extension': 'txt',
1607 'inputs': [
1608 '<(genrb_exe)',
1609 ],
1610 'outputs': [
1611 '<(icu_gen_dir)/rbnf/<(RULE_INPUT_ROOT).res',
1612 ],
1613 'action': [
1614 '<(genrb_exe)',
1615 '-k',
1616 '-R',
1617 '-i',
1618 '<(icu_gen_dir)',
1619 '-d',
1620 '<(icu_gen_dir)/rbnf',
1621 '<(RULE_INPUT_PATH)',
1622 ],
1623 'process_outputs_as_sources': 1,
1624 },
1625 ],
1626 },
1627 # END RBNF
1628 # START TRANSLIT
1629 {
1630 'target_name': 'icu_data_translit',
1631 'type': 'none',
1632 'dependencies': [
1633 'icu_tools.gyp:genrb#host',
1634 ],
1635 'toolsets': ['host', 'target'],
1636 'actions': [
1637 {
1638 'action_name': 'genrb',
1639 'inputs': [
1640 '<(genrb_exe)',
1641 'source/data/translit/css3transform.txt',
1642 ],
1643 'outputs': [
1644 '<(icu_gen_dir)/translit/root.res',
1645 ],
1646 'action': [
1647 '<(genrb_exe)',
1648 '-k',
1649 '-R',
1650 '-i',
1651 '<(icu_gen_dir)',
1652 '-s',
1653 'source/data/translit',
1654 '-d',
1655 '<(icu_gen_dir)/translit',
1656 'css3transform.txt',
1657 ],
1658 'process_outputs_as_sources': 1, # Right place?
1659 },
1660 ],
1661 },
1662 # END TRANSLIT
1663 # START CONFUSABLES
1664 {
1665 'target_name': 'icu_data_confusables',
1666 'type': 'none',
1667 'dependencies': [
1668 'icu_tools.gyp:gencfu#host',
1669 ],
1670 'toolsets': ['host', 'target'],
1671 'actions': [
1672 {
1673 'action_name': 'gencfu',
1674 'inputs': [
1675 '<(gencfu_exe)',
1676 '<(icu_gen_dir)/cnvalias.icu',
1677 'source/data/unidata/confusables.txt',
1678 'source/data/unidata/confusablesWholeScript.txt',
1679 ],
1680 'outputs': [
1681 '<(icu_gen_dir)/confusables.cfu',
1682 ],
1683 'action': [
1684 '<(gencfu_exe)',
1685 '-c',
1686 '-i',
1687 '<(icu_gen_dir)',
1688 '-r',
1689 'source/data/unidata/confusables.txt',
1690 '-w',
1691 'source/data/unidata/confusablesWholeScript.txt',
1692 '-o',
1693 '<(icu_gen_dir)/confusables.cfu',
1694 ],
1695 'process_outputs_as_sources': 1, # Right place?
1696 },
1697 ],
1698 },
1699 # END CONFUSABLES
1700 # START icudata.lst/icudtl.dat
1701 {
1702 'target_name': 'icu_data_package',
1703 'type': 'none',
1704 'dependencies': [
1705 'icu_tools.gyp:pkgdata#host',
1706 'icu_cnv_base_files',
1707 'icu_data_confusables',
1708 'icu_data_translit',
1709 'icu_cnv_ucm_files',
1710 'icu_dict_cjdict',
1711 'icu_dict_khmerdict',
1712 'icu_dict_burmesedict',
1713 'icu_dict_laodict',
1714 'icu_dict_thaidict',
1715 'icu_brk_files',
1716 'icu_locales_res_files',
1717 'icu_misc_res_files',
1718 'icu_pool_res_locales_curr_lang_region_zone_unit',
1719 'icu_locales_res_index_res_file',
1720 'icu_curr_res_files',
1721 'icu_curr_res_index_res_file',
1722 'icu_lang_res_files',
1723 'icu_lang_res_index_res_file',
1724 'icu_region_res_files',
1725 'icu_region_res_index_res_file',
1726 'icu_zone_res_files',
1727 'icu_zone_res_index_res_file',
1728 'icu_unit_res_files',
1729 'icu_unit_res_index_res_file',
1730 'icu_coll_res_files',
1731 'icu_coll_res_index_res_file',
1732 'icu_brkitr_res_files',
1733 'icu_brkitr_res_filtered_files',
1734 'icu_brkitr_res_index_res_file',
1735 'icu_rbnf_res_index_res_file',
1736 ],
1737 'toolsets': ['host', 'target'],
1738 'variables': {
1739 'icu_resource_files_file': '<|(icu_data_resource_list.tmp <@(icu _data_generated_contents))'
1740 },
1741 'actions': [
1742 {
1743 'action_name': 'write_icudata_lst',
1744 'inputs': [
1745 'build_tools/write_icudata_lst.py',
1746 '<(icu_resource_files_file)',
1747 ],
1748 'outputs': [
1749 '<(icu_gen_tmp_dir)/icudata.lst',
1750 ],
1751 'action': [
1752 'python',
1753 'build_tools/write_icudata_lst.py',
1754 '--inroot',
1755 '<(icu_gen_dir)',
1756 '--PRODUCT_DIR',
1757 '<(PRODUCT_DIR)',
1758 '--infile',
1759 '<(icu_resource_files_file)',
1760 '--outfile',
1761 '<(icu_gen_tmp_dir)/icudata.lst',
1762 ],
1763 },
1764 {
1765 'action_name': 'write_icupkg_inc',
1766 'inputs': [
1767 'build_tools/write_icupkg_inc.py',
1768 ],
1769 'outputs': [
1770 '<(icu_gen_tmp_dir)/icupkg.inc',
1771 ],
1772 'action': [
1773 'python',
1774 'build_tools/write_icupkg_inc.py',
1775 '--outfile',
1776 '<(icu_gen_tmp_dir)/icupkg.inc',
1777 "--ver",
1778 "<(ICU_VER)",
1779 "--icu-dir",
1780 ".", # Check: Is this a usable path once the data is use d?
1781 ],
1782 },
1783 {
1784 'action_name': 'pkgdata',
1785 'conditions': [
1786 ['icu_use_data_file_flag==1',
1787 # This is the common/recommended way:
1788 # External .dat file.
1789 {
1790 'inputs': [
1791 'build_tools/run_without_cygwin.py',
1792 '<(pkgdata_exe)',
1793 '<(icu_gen_tmp_dir)/icudata.lst',
1794 '<@(icu_data_generated_contents)',
1795 ],
1796 'outputs': [
1797 '<(icu_gen_tmp_dir)/icudt<(ICU_VER)l.dat',
1798 ],
1799 'variables': {
1800 'pkgdata_args': [
1801 '-m', # Mode
1802 'common',
1803 ]
1804 },
1805 } ],
1806 ['icu_use_data_file_flag==0 and OS=="win"',
1807 {
1808 'inputs': [
1809 'build_tools/run_without_cygwin.py',
1810 '<(pkgdata_exe)',
1811 '<(icu_gen_tmp_dir)/icudata.lst',
1812 '<@(icu_data_generated_contents)',
1813 ],
1814 'outputs': [
1815 # Windows pkgdata puts the dll in the
1816 # Source directory.
1817 '<(icu_gen_dir)/icudt<(ICU_VER).dll',
1818 ],
1819 'variables': {
1820 'pkgdata_args': [
1821 '-e', # Entry point
1822 'icudt<(ICU_VER)',
1823 '-m', # Mode
1824 'dll',
1825 '-L', # Lib name
1826 'icudata',
1827 ]
1828 },
1829 # Do we also need:
1830 # editbin /NXCOMPAT /DYNAMICBASE "$(U_ICUDATA_NAME) .dll"
1831 # ? They add randomness to the dll load and makes
1832 # the data non-executable (I think?).
1833 } ],
1834 ['icu_use_data_file_flag==0 and OS!="win"',
1835 {
1836 'inputs': [
1837 'build_tools/run_without_cygwin.py',
1838 '<(pkgdata_exe)',
1839 '<(icu_gen_tmp_dir)/icudata.lst',
1840 '<(icu_gen_tmp_dir)/icupkg.inc',
1841 '<@(icu_data_generated_contents)',
1842 ],
1843 'outputs': [
1844 '<(icu_gen_tmp_dir)/icudt<(ICU_VER)l.S',
1845 ],
1846 'variables': {
1847 'pkgdata_args': [
1848 '-O',
1849 '<(icu_gen_tmp_dir)/icupkg.inc',
1850 '-e', # Entry point
1851 'icudt<(ICU_VER)',
1852 '-m', # Mode
1853 'dll',
1854 '-L', # Lib name
1855 'icudata',
1856 ]
1857 },
1858 }]
1859 ],
1860 # v8 standalone inserts a cygwin environment in the path and
1861 # on Windows pkgdata expects to find the VS linker (link.exe )
1862 # in the path. So we strip cygwin from the path before
1863 # invoking pkgdata.
1864 'action': [
1865 'python',
1866 'build_tools/run_without_cygwin.py',
1867 '<(pkgdata_exe)',
1868 '-q', # Quiet
1869 '-c', # Use default copyright.
1870 '-s<(icu_gen_dir)', # Source
1871 '-d<(icu_gen_tmp_dir)', # Destination
1872 '-T<(icu_gen_tmp_dir)', # Temp dir
1873 '-r', # Revision
1874 '<(ICU_VER).1',
1875 '-p', # Data name
1876 'icudt<(ICU_VER)l',
1877 '<@(pkgdata_args)',
1878 '<(icu_gen_tmp_dir)/icudata.lst',
1879 ],
1880 },
1881 ],
1882 },
1883 # END pkgdata
1884 {
1885 'target_name': 'icu_data',
1886 'type': 'none',
1887 'dependencies': [
1888 'icu_data_package',
1889 ],
1890 'toolsets': ['host', 'target'],
1891 'conditions': [
1892 ['icu_use_data_file_flag==1', {
1893 'actions': [
1894 {
1895 # TODO: Get it generated at the right
1896 # place with the right name?
1897 'action_name': 'copy_rename_icudtl_dat',
1898 'inputs': [
1899 '<(icu_gen_tmp_dir)/icudt<(ICU_VER)l.dat',
1900 ],
1901 'outputs': [
1902 '<(PRODUCT_DIR)/icudtl.dat',
1903 ],
1904 'action': [
1905 'python',
1906 'build_tools/copy_rename_file.py',
1907 '<(icu_gen_tmp_dir)/icudt<(ICU_VER)l.dat',
1908 '<(PRODUCT_DIR)/icudtl.dat',
1909 ]
1910 }
1911 ]
1912 }],
1913 ['icu_use_data_file_flag==0 and OS=="win"', {
1914 'actions': [
1915 {
1916 # TODO: Get it generated at the right
1917 # place with the right name?
1918 'action_name': 'copy_rename_icudtl_dll',
1919 'inputs': [
1920 # Windows pkgdata puts the dll in the
1921 # Source directory.
1922 '<(icu_gen_dir)/icudt<(ICU_VER).dll',
1923 ],
1924 'outputs': [
1925 '<(PRODUCT_DIR)/icudtl.dll',
1926 ],
1927 'action': [
1928 'python',
1929 'build_tools/copy_rename_file.py',
1930 '<(icu_gen_dir)/icudt<(ICU_VER).dll',
1931 '<(PRODUCT_DIR)/icudtl.dll',
1932 ]
1933 }
1934 ]
1935 }],
1936 ],
1937 },
1938 ], # targets
1939 }
OLDNEW
« gn_data_build_system/BUILD.gn ('K') | « icu.gyp ('k') | icu_data.gypi » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698