OLD | NEW |
1 # Copyright 2014 The Chromium Authors. All rights reserved. | 1 # Copyright 2014 The Chromium Authors. All rights reserved. |
2 # Use of this source code is governed by a BSD-style license that can be | 2 # Use of this source code is governed by a BSD-style license that can be |
3 # found in the LICENSE file. | 3 # found in the LICENSE file. |
4 | 4 |
5 import("//third_party/icu/config.gni") | 5 import("//third_party/icu/config.gni") |
6 | 6 |
7 if (is_android) { | 7 if (is_android) { |
8 import("//build/config/android/rules.gni") | 8 import("//build/config/android/rules.gni") |
9 } | 9 } |
10 | 10 |
(...skipping 551 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
562 if (is_android && enable_java_templates) { | 562 if (is_android && enable_java_templates) { |
563 android_assets("icu_assets") { | 563 android_assets("icu_assets") { |
564 if (icu_use_data_file) { | 564 if (icu_use_data_file) { |
565 sources = [ "$root_out_dir/icudtl.dat" ] | 565 sources = [ "$root_out_dir/icudtl.dat" ] |
566 deps = [ ":icudata" ] | 566 deps = [ ":icudata" ] |
567 disable_compression = true | 567 disable_compression = true |
568 } | 568 } |
569 } | 569 } |
570 } | 570 } |
571 | 571 |
| 572 # TODO(GYP): Gyp has considerations here for QNX and for the host toolchain |
| 573 # that have not been ported over. |
| 574 data_bundle = "common/icudtl.dat" |
| 575 if (is_android) { |
| 576 data_bundle = "android/icudtl.dat" |
| 577 } else if (current_cpu == "mips" || current_cpu == "mips64") { |
| 578 data_bundle = "common/icudtb.dat" |
| 579 } else { |
| 580 data_bundle = "common/icudtl.dat" |
| 581 } |
| 582 |
572 # TODO(GYP) support use_system_icu. | 583 # TODO(GYP) support use_system_icu. |
573 if (icu_use_data_file) { | 584 if (icu_use_data_file) { |
574 if (is_ios) { | 585 if (is_ios) { |
575 bundle_data("icudata") { | 586 bundle_data("icudata") { |
576 sources = [ "common/icudtl.dat" ] | 587 sources = [ "$data_bundle" ] |
577 outputs = [ "{{bundle_resources_dir}}/{{source_file_part}}" ] | 588 outputs = [ "{{bundle_resources_dir}}/{{source_file_part}}" ] |
578 } | 589 } |
579 } else { | 590 } else { |
580 copy("icudata") { | 591 copy("icudata") { |
581 if (is_android) { | 592 sources = [ "$data_bundle" ] |
582 sources = [ | 593 outputs = [ "$root_out_dir/{{source_file_part}}" ] |
583 "android/icudtl.dat", | |
584 ] | |
585 } else { | |
586 sources = [ | |
587 "common/icudtl.dat", | |
588 ] | |
589 } | |
590 | |
591 outputs = [ | |
592 "$root_out_dir/icudtl.dat", | |
593 ] | |
594 | |
595 data = [ | |
596 "$root_out_dir/icudtl.dat", | |
597 ] | |
598 } | 594 } |
599 } | 595 } |
600 } else { | 596 } else { |
601 if (is_win) { | 597 if (is_win) { |
602 # On Windows the target DLL is pre-built so just use a copy rule. | 598 # On Windows the target DLL is pre-built so just use a copy rule. |
603 copy("icudata") { | 599 copy("icudata") { |
604 sources = [ | 600 sources = [ |
605 "windows/icudt.dll", | 601 "windows/icudt.dll", |
606 ] | 602 ] |
607 outputs = [ | 603 outputs = [ |
608 "$root_out_dir/icudt.dll", | 604 "$root_out_dir/icudt.dll", |
609 ] | 605 ] |
610 | |
611 data = [ | |
612 "$root_out_dir/icudtl.dll", | |
613 ] | |
614 } | 606 } |
615 } else { | 607 } else { |
| 608 if (current_cpu == "mips" || current_cpu == "mips64") { |
| 609 data_assembly = "$target_gen_dir/icudtb_dat.S" |
| 610 } else { |
| 611 data_assembly = "$target_gen_dir/icudtl_dat.S" |
| 612 } |
| 613 action("make_data_assembly") { |
| 614 script = "scripts/make_data_assembly.py" |
| 615 inputs = [ "$data_bundle" ] |
| 616 outputs = [ "$data_assembly" ] |
| 617 args = [ |
| 618 rebase_path(data_bundle, root_build_dir), |
| 619 rebase_path(data_assembly, root_build_dir), |
| 620 ] |
| 621 if (is_mac) { |
| 622 args += [ "--mac" ] |
| 623 } |
| 624 } |
| 625 |
616 source_set("icudata") { | 626 source_set("icudata") { |
617 # These are hand-generated, but will do for now. | 627 sources = [ "$data_assembly" ] |
618 # | |
619 # TODO(GYP): Gyp has considerations here for QNX and for the host toolchai
n | |
620 # that have not been ported over. | |
621 if (is_linux) { | |
622 sources = [ | |
623 "linux/icudtl_dat.S", | |
624 ] | |
625 } else if (is_mac) { | |
626 sources = [ | |
627 "mac/icudtl_dat.S", | |
628 ] | |
629 } else if (is_android) { | |
630 sources = [ | |
631 "android/icudtl_dat.S", | |
632 ] | |
633 } else { | |
634 assert(false, "No icu data for this platform") | |
635 } | |
636 defines = [ "U_HIDE_DATA_SYMBOL" ] | 628 defines = [ "U_HIDE_DATA_SYMBOL" ] |
| 629 deps = [ ":make_data_assembly", ] |
637 } | 630 } |
638 } | 631 } |
639 } | 632 } |
OLD | NEW |