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 553 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
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 | 572 # TODO(GYP): Gyp has considerations here for QNX and for the host toolchain |
573 # that have not been ported over. | 573 # that have not been ported over. |
574 data_bundle = "common/icudtl.dat" | |
575 if (is_android) { | 574 if (is_android) { |
576 data_bundle = "android/icudtl.dat" | 575 data_dir = "android" |
577 } else if (current_cpu == "mips" || current_cpu == "mips64") { | |
578 data_bundle = "common/icudtb.dat" | |
579 } else { | 576 } else { |
580 data_bundle = "common/icudtl.dat" | 577 data_dir = "common" |
581 } | 578 } |
| 579 if (current_cpu == "mips" || current_cpu == "mips64") { |
| 580 data_bundle_prefix = "icudtb" |
| 581 } else { |
| 582 data_bundle_prefix = "icudtl" |
| 583 } |
| 584 data_bundle = "${data_bundle_prefix}.dat" |
582 | 585 |
583 # TODO(GYP) support use_system_icu. | 586 # TODO(GYP) support use_system_icu. |
584 if (icu_use_data_file) { | 587 if (icu_use_data_file) { |
585 if (is_ios) { | 588 if (is_ios) { |
586 bundle_data("icudata") { | 589 bundle_data("icudata") { |
587 sources = [ "$data_bundle" ] | 590 sources = [ "$data_dir/$data_bundle" ] |
588 outputs = [ "{{bundle_resources_dir}}/{{source_file_part}}" ] | 591 outputs = [ "{{bundle_resources_dir}}/{{source_file_part}}" ] |
589 } | 592 } |
590 } else { | 593 } else { |
591 copy("icudata") { | 594 copy("icudata") { |
592 sources = [ "$data_bundle" ] | 595 sources = [ "$data_dir/$data_bundle" ] |
593 outputs = [ "$root_out_dir/{{source_file_part}}" ] | 596 outputs = [ "$root_out_dir/$data_bundle" ] |
| 597 data = [ "$root_out_dir/$data_bundle" ] |
594 } | 598 } |
595 } | 599 } |
596 } else { | 600 } else { |
597 if (is_win) { | 601 if (is_win) { |
598 # On Windows the target DLL is pre-built so just use a copy rule. | 602 # On Windows the target DLL is pre-built so just use a copy rule. |
| 603 # data_bundle and data_dir have to be used to avoid 'unused variable' |
| 604 # error. |
| 605 data_bundle = "icudt.dll" |
| 606 data_dir = "windows" |
599 copy("icudata") { | 607 copy("icudata") { |
600 sources = [ | 608 sources = [ "$data_dir/$data_bundle" ] |
601 "windows/icudt.dll", | 609 outputs = [ "$root_out_dir/$data_bundle" ] |
602 ] | 610 data = outputs |
603 outputs = [ | |
604 "$root_out_dir/icudt.dll", | |
605 ] | |
606 } | 611 } |
607 } else { | 612 } else { |
608 if (current_cpu == "mips" || current_cpu == "mips64") { | 613 data_assembly = "$target_gen_dir/${data_bundle_prefix}_dat.S" |
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 action("make_data_assembly") { |
614 script = "scripts/make_data_assembly.py" | 615 script = "scripts/make_data_assembly.py" |
615 inputs = [ "$data_bundle" ] | 616 inputs = [ "$data_dir/$data_bundle" ] |
616 outputs = [ "$data_assembly" ] | 617 outputs = [ "$data_assembly" ] |
617 args = [ | 618 args = [ |
618 rebase_path(data_bundle, root_build_dir), | 619 rebase_path(inputs[0], root_build_dir), |
619 rebase_path(data_assembly, root_build_dir), | 620 rebase_path(data_assembly, root_build_dir), |
620 ] | 621 ] |
621 if (is_mac) { | 622 # TODO(GYP): Gyp has considerations here for QNX and for the host |
| 623 # toolchain that have not been ported over. |
| 624 if (is_mac || is_ios) { |
622 args += [ "--mac" ] | 625 args += [ "--mac" ] |
623 } | 626 } |
624 } | 627 } |
625 | 628 |
626 source_set("icudata") { | 629 source_set("icudata") { |
627 sources = [ "$data_assembly" ] | 630 sources = [ "$data_assembly" ] |
628 defines = [ "U_HIDE_DATA_SYMBOL" ] | 631 defines = [ "U_HIDE_DATA_SYMBOL" ] |
629 deps = [ ":make_data_assembly", ] | 632 deps = [ ":make_data_assembly", ] |
630 } | 633 } |
631 } | 634 } |
632 } | 635 } |
OLD | NEW |