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

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