1# © 2021 and later: Unicode, Inc. and others. 2# License & terms of use: http://www.unicode.org/copyright.html 3 4# This file defines Bazel targets for a subset of ICU4C "common" library header and source files. 5# The configuration of dependencies among targets is strongly assisted by the 6# file in depstest that maintains such information, at 7# icu4c/source/test/depstest/dependencies.txt . 8 9load("@rules_cc//cc:defs.bzl", "cc_binary", "cc_library") 10 11package( 12 default_visibility = ["//visibility:public"], 13) 14 15# When compiling code in the `common` dir, the constant 16# `U_COMMON_IMPLEMENTATION` needs to be defined. See 17# https://unicode-org.github.io/icu/userguide/howtouseicu#c-with-your-own-build-system . 18 19# If linker errors occur, then this may be a sign that the dependencies were 20# not specified correctly. Use dependencies.txt in depstest for assistance. See 21# https://stackoverflow.com/q/66111709/2077918 . 22 23cc_library( 24 name = "headers", 25 hdrs = glob([ 26 "unicode/*.h", # public 27 "*.h", # internal 28 ], 29 # Instead of using these checked-in files, our Bazel build process 30 # regenerates them and then uses the new versions. 31 # Same list of .h files as in icu4c/source/data/unidata/clean.sh. 32 exclude = ["norm2_nfc_data.h", "propname_data.h", "*_props_data.h"], 33 ), 34 # We need to add includes in order to preserve existing source files' 35 # include directives that use traditional paths, not paths relative to 36 # Bazel workspace: 37 # https://stackoverflow.com/a/65635893/2077918 38 includes = ["."], 39 local_defines = [ 40 "U_COMMON_IMPLEMENTATION", 41 ], 42) 43 44cc_library( 45 name = "platform", 46 srcs = [ 47 "cmemory.cpp", 48 "uobject.cpp", 49 "cstring.cpp", 50 "cwchar.cpp", 51 "uinvchar.cpp", 52 "charstr.cpp", 53 "unistr.cpp", 54 "appendable.cpp", 55 "stringpiece.cpp", 56 "ustrtrns.cpp", 57 "ustring.cpp", 58 "ustrfmt.cpp", 59 "utf_impl.cpp", 60 "putil.cpp", 61 "ucln_cmn.cpp", 62 "udataswp.cpp", 63 "umath.cpp", 64 "umutex.cpp", 65 "sharedobject.cpp", 66 "utrace.cpp", 67 ], 68 deps = [ 69 ":headers", 70 # omit other deps b/c they are sys symbols 71 ], 72 local_defines = [ 73 "U_COMMON_IMPLEMENTATION", 74 ], 75 linkopts = ["-ldl"], 76) 77 78cc_library( 79 name = "utrie", 80 srcs = ["utrie.cpp"], 81 deps = [":platform"], 82 local_defines = [ 83 "U_COMMON_IMPLEMENTATION", 84 ], 85) 86 87cc_library( 88 name = "utrie2", 89 srcs = ["utrie2.cpp"], 90 deps = [":platform"], 91 local_defines = [ 92 "U_COMMON_IMPLEMENTATION", 93 ], 94) 95 96cc_library( 97 name = "utrie2_builder", 98 srcs = ["utrie2_builder.cpp"], 99 deps = [ 100 ":utrie", 101 ":utrie2", 102 ":platform", 103 ], 104 local_defines = [ 105 "U_COMMON_IMPLEMENTATION", 106 ], 107) 108 109cc_library( 110 name = "ucptrie", 111 srcs = ["ucptrie.cpp"], 112 deps = [":platform"], 113 local_defines = [ 114 "U_COMMON_IMPLEMENTATION", 115 ], 116) 117 118cc_library( 119 name = "umutablecptrie", 120 srcs = ["umutablecptrie.cpp"], 121 deps = [":ucptrie"], 122 local_defines = [ 123 "U_COMMON_IMPLEMENTATION", 124 ], 125) 126 127cc_library( 128 name = "bytestrie", 129 srcs = ["bytestrie.cpp"], 130 deps = [":platform"], 131 local_defines = [ 132 "U_COMMON_IMPLEMENTATION", 133 ], 134) 135 136cc_library( 137 name = "bytestriebuilder", 138 srcs = ["bytestriebuilder.cpp"], 139 deps = [ 140 ":bytestrie", 141 ":stringtriebuilder", 142 ":sort", 143 ], 144 local_defines = [ 145 "U_COMMON_IMPLEMENTATION", 146 ], 147) 148 149cc_library( 150 name = "stringtriebuilder", 151 srcs = ["stringtriebuilder.cpp"], 152 deps = [ 153 ":uhash", 154 ], 155 local_defines = [ 156 "U_COMMON_IMPLEMENTATION", 157 ], 158) 159 160cc_library( 161 name = "uhash", 162 hdrs = [ 163 "uhash.h", 164 ], 165 srcs = [ 166 "uhash.cpp", 167 ], 168 deps = [ 169 ":headers", 170 ], 171 local_defines = [ 172 "U_COMMON_IMPLEMENTATION", 173 ], 174) 175 176cc_library( 177 name = "errorcode", 178 hdrs = [ 179 ], 180 srcs = [ 181 "errorcode.cpp", 182 ], 183 includes = ["."], 184 deps = [ 185 ":platform", 186 ":utypes", 187 ], 188 local_defines = [ 189 "U_COMMON_IMPLEMENTATION", 190 ], 191) 192 193cc_library( 194 name = "utypes", 195 srcs = [ 196 "utypes.cpp", 197 ], 198 includes = ["."], 199 deps = [ 200 ":headers", 201 ], 202 local_defines = [ 203 "U_COMMON_IMPLEMENTATION", 204 ], 205) 206 207cc_library( 208 name = "uniset", 209 srcs = [ 210 "uniset.cpp", 211 "unifilt.cpp", 212 "unisetspan.cpp", 213 "bmpset.cpp", 214 "util.cpp", 215 "unifunct.cpp", 216 "usetiter.cpp", 217 ], 218 includes = ["."], 219 deps = [ 220 ":patternprops", 221 ":uvector", 222 ":headers", 223 ], 224 local_defines = [ 225 "U_COMMON_IMPLEMENTATION", 226 ], 227) 228 229cc_library( 230 name = "patternprops", 231 srcs = [ 232 "patternprops.cpp", 233 ], 234 includes = ["."], 235 deps = [ 236 ":headers", 237 ], 238 local_defines = [ 239 "U_COMMON_IMPLEMENTATION", 240 ], 241) 242 243cc_library( 244 name = "propsvec", 245 srcs = [ 246 "propsvec.cpp", 247 ], 248 includes = ["."], 249 deps = [ 250 ":sort", 251 ":utrie2_builder", 252 ":headers", 253 ], 254 local_defines = [ 255 "U_COMMON_IMPLEMENTATION", 256 ], 257) 258 259cc_library( 260 name = "propname", 261 srcs = [ 262 "propname.cpp", 263 "propname_data.h", 264 ], 265 includes = ["."], 266 deps = [ 267 ":bytestrie", 268 ":headers", 269 ], 270 local_defines = [ 271 "U_COMMON_IMPLEMENTATION", 272 ], 273) 274 275# Note: The cc_library target names "uvector32" and "uvector64" match the 276# dependencies.txt group names, but the filenames are "uvectr32.*"/"uvectr64.*". 277cc_library( 278 name = "uvector32", 279 srcs = [ 280 "uvectr32.cpp", 281 ], 282 includes = ["."], 283 deps = [ 284 ":headers", 285 ":platform", 286 ], 287 local_defines = [ 288 "U_COMMON_IMPLEMENTATION", 289 ], 290) 291 292cc_library( 293 name = "uvector64", 294 srcs = [ 295 "uvectr64.cpp", 296 ], 297 includes = ["."], 298 deps = [ 299 ":headers", 300 ":platform", 301 ], 302 local_defines = [ 303 "U_COMMON_IMPLEMENTATION", 304 ], 305) 306 307cc_library( 308 name = "sort", 309 srcs = [ 310 "uarrsort.cpp", 311 ], 312 includes = ["."], 313 deps = [ 314 ":headers", 315 ], 316 local_defines = [ 317 "U_COMMON_IMPLEMENTATION", 318 ], 319) 320 321cc_library( 322 name = "uvector", 323 srcs = [ 324 "uvector.cpp", 325 ], 326 includes = ["."], 327 deps = [ 328 ":platform", 329 ":sort", 330 ], 331 local_defines = [ 332 "U_COMMON_IMPLEMENTATION", 333 ], 334) 335 336cc_library( 337 name = "breakiterator", 338 srcs = [ 339 "brkiter.cpp", 340 "brkeng.cpp", 341 "dictbe.cpp", 342 "dictionarydata.cpp", 343 "filteredbrk.cpp", 344 "lstmbe.cpp", 345 "mlbe.cpp", 346 "rbbi.cpp", 347 "rbbi_cache.cpp", 348 "rbbidata.cpp", 349 "rbbinode.cpp", 350 "rbbirb.cpp", 351 "rbbiscan.cpp", 352 "rbbisetb.cpp", 353 "rbbistbl.cpp", 354 "rbbitblb.cpp", 355 "ubrk.cpp", 356 ], 357 includes = ["."], 358 deps = [ 359 ":bytestrie", 360 ":headers", 361 ":normlzr", 362 ":resourcebundle", 363 ":schriter", 364 ":service_registration", 365 ":ucharstrie", 366 ":ucharstriebuilder", 367 ":uhash", 368 ":uniset_core", 369 ":uniset_props", 370 ":ustack", 371 ":utext", 372 ":utrie2_builder", 373 ":uvector32", 374 ], 375 local_defines = [ 376 "U_COMMON_IMPLEMENTATION", 377 ], 378) 379 380cc_library( 381 name = "bytesinkutil", 382 srcs = [ 383 "bytesinkutil.cpp", 384 ], 385 includes = ["."], 386 deps = [ 387 ":headers", 388 ":bytestream", 389 ":edits", 390 ], 391 local_defines = [ 392 "U_COMMON_IMPLEMENTATION", 393 ], 394) 395 396cc_library( 397 name = "bytestream", 398 srcs = [ 399 "bytestream.cpp", 400 ], 401 includes = ["."], 402 deps = [ 403 ":headers", 404 ":platform", 405 ], 406 local_defines = [ 407 "U_COMMON_IMPLEMENTATION", 408 ], 409) 410 411cc_library( 412 name = "canonical_iterator", 413 srcs = [ 414 "caniter.cpp", 415 ], 416 deps = [ 417 ":normalizer2", 418 ":usetiter", 419 ], 420 local_defines = [ 421 "U_COMMON_IMPLEMENTATION", 422 ], 423) 424 425cc_library( 426 name = "characterproperties", 427 srcs = [ 428 "characterproperties.cpp", 429 ], 430 includes = ["."], 431 deps = [ 432 ":headers", 433 ":emojiprops", 434 ":ucptrie", 435 ":umutablecptrie", 436 ":uniset_core", 437 ":uprops", 438 ], 439 local_defines = [ 440 "U_COMMON_IMPLEMENTATION", 441 ], 442) 443 444cc_library( 445 name = "chariter", 446 srcs = [ 447 "chariter.cpp", 448 ], 449 includes = ["."], 450 deps = [ 451 ":headers", 452 ":platform", 453 ], 454 local_defines = [ 455 "U_COMMON_IMPLEMENTATION", 456 ], 457) 458 459cc_library( 460 name = "edits", 461 srcs = [ 462 "edits.cpp", 463 ], 464 includes = ["."], 465 deps = [ 466 ":headers", 467 ":icu_utility", 468 ":platform", 469 ], 470 local_defines = [ 471 "U_COMMON_IMPLEMENTATION", 472 ], 473) 474 475cc_library( 476 name = "filterednormalizer2", 477 srcs = [ 478 "filterednormalizer2.cpp", 479 ], 480 includes = ["."], 481 deps = [ 482 ":headers", 483 ":normalizer2", 484 ], 485 local_defines = [ 486 "U_COMMON_IMPLEMENTATION", 487 ], 488) 489 490cc_library( 491 name = "hashtable", 492 srcs = [ 493 "uhash_us.cpp", 494 ], 495 includes = ["."], 496 deps = [ 497 ":headers", 498 ":uhash", 499 ], 500 local_defines = [ 501 "U_COMMON_IMPLEMENTATION", 502 ], 503) 504 505cc_library( 506 name = "icu_utility", 507 srcs = [ 508 "util.cpp", 509 ], 510 includes = ["."], 511 deps = [ 512 ":headers", 513 ":patternprops", 514 ":platform", 515 ], 516 local_defines = [ 517 "U_COMMON_IMPLEMENTATION", 518 ], 519) 520 521cc_library( 522 name = "loadednormalizer2", 523 srcs = [ 524 "loadednormalizer2impl.cpp", 525 ], 526 includes = ["."], 527 deps = [ 528 ":headers", 529 ":normalizer2", 530 ], 531 local_defines = [ 532 "U_COMMON_IMPLEMENTATION", 533 ], 534) 535 536cc_library( 537 name = "locale_display_names", 538 srcs = [ 539 "locdispnames.cpp", 540 ], 541 includes = ["."], 542 deps = [ 543 ":headers", 544 ":locresdata", 545 ], 546 local_defines = [ 547 "U_COMMON_IMPLEMENTATION", 548 ], 549) 550 551cc_library( 552 name = "locresdata", 553 srcs = [ 554 "locresdata.cpp", 555 ], 556 includes = ["."], 557 deps = [ 558 ":headers", 559 ":resourcebundle", 560 ], 561 local_defines = [ 562 "U_COMMON_IMPLEMENTATION", 563 ], 564) 565 566cc_library( 567 name = "normlzr", 568 srcs = [ 569 "normlzr.cpp", 570 ], 571 includes = ["."], 572 deps = [ 573 ":filterednormalizer2", 574 ":headers", 575 ":schriter", 576 ":uniset_props", 577 ], 578 local_defines = [ 579 "U_COMMON_IMPLEMENTATION", 580 ], 581) 582 583cc_library( 584 name = "parsepos", 585 srcs = [ 586 "parsepos.cpp", 587 ], 588 includes = ["."], 589 deps = [ 590 ":headers", 591 ":platform", 592 ], 593 local_defines = [ 594 "U_COMMON_IMPLEMENTATION", 595 ], 596) 597 598cc_library( 599 name = "resourcebundle", 600 srcs = [ 601 "localebuilder.cpp", 602 "locavailable.cpp", 603 "locbased.cpp", 604 "locid.cpp", 605 "loclikely.cpp", 606 "loclikelysubtags.cpp", 607 "locmap.cpp", 608 "lsr.cpp", 609 "resbund.cpp", 610 "resource.cpp", 611 "uloc.cpp", 612 "uloc_tag.cpp", 613 "uloc_keytype.cpp", 614 "ulocale.cpp", 615 "ulocbuilder.cpp", 616 "uresbund.cpp", 617 "uresdata.cpp", 618 "wintz.cpp", 619 ], 620 includes = ["."], 621 deps = [ 622 ":bytesinkutil", 623 ":errorcode", 624 ":headers", 625 ":propname", 626 ":sort", 627 ":stringenumeration", 628 ":ucol_swp", 629 ":udata", 630 ":uhash", 631 ":uscript_props", 632 ":uvector", 633 ], 634 local_defines = [ 635 "U_COMMON_IMPLEMENTATION", 636 ], 637) 638 639cc_library( 640 name = "schriter", 641 srcs = [ 642 "schriter.cpp", 643 "uchriter.cpp", 644 ], 645 includes = ["."], 646 deps = [ 647 ":chariter", 648 ":headers", 649 ], 650 local_defines = [ 651 "U_COMMON_IMPLEMENTATION", 652 ], 653) 654 655cc_library( 656 name = "service_registration", 657 srcs = [ 658 "locutil.cpp", 659 "serv.cpp", 660 "servlk.cpp", 661 "servlkf.cpp", 662 "servls.cpp", 663 "servnotf.cpp", 664 "servrbf.cpp", 665 "servslkf.cpp", 666 ], 667 includes = ["."], 668 deps = [ 669 ":hashtable", 670 ":headers", 671 ":locale_display_names", 672 ":resourcebundle", 673 ":uvector", 674 ], 675 local_defines = [ 676 "U_COMMON_IMPLEMENTATION", 677 ], 678) 679 680cc_library( 681 name = "stringenumeration", 682 srcs = [ 683 "uenum.cpp", 684 "ustrenum.cpp", 685 ], 686 includes = ["."], 687 deps = [ 688 ":headers", 689 ":platform", 690 ], 691 local_defines = [ 692 "U_COMMON_IMPLEMENTATION", 693 ], 694) 695 696cc_library( 697 name = "ubidi_props", 698 srcs = [ 699 "ubidi_props.cpp", 700 "ubidi_props_data.h", 701 ], 702 includes = ["."], 703 deps = [ 704 ":headers", 705 ":utrie2", 706 ], 707 local_defines = [ 708 "U_COMMON_IMPLEMENTATION", 709 ], 710) 711 712cc_library( 713 name = "ucase", 714 srcs = [ 715 "ucase.cpp", 716 "ucase_props_data.h", 717 ], 718 includes = ["."], 719 deps = [ 720 ":headers", 721 ":utrie2", 722 ], 723 local_defines = [ 724 "U_COMMON_IMPLEMENTATION", 725 ], 726) 727 728cc_library( 729 name = "uchar", 730 srcs = [ 731 "uchar.cpp", 732 "uchar_props_data.h", 733 ], 734 includes = ["."], 735 deps = [ 736 ":headers", 737 ":utrie2", 738 ], 739 local_defines = [ 740 "U_COMMON_IMPLEMENTATION", 741 ], 742) 743 744cc_library( 745 name = "emojiprops", 746 srcs = [ 747 "emojiprops.cpp", 748 "emojiprops.h", 749 ], 750 includes = ["."], 751 deps = [ 752 ":headers", 753 ":ucharstrie", 754 ":ucharstrieiterator", 755 ":ucptrie", 756 ":udata", 757 ], 758 local_defines = [ 759 "U_COMMON_IMPLEMENTATION", 760 ], 761) 762 763cc_library( 764 name = "ucharstrie", 765 srcs = [ 766 "ucharstrie.cpp", 767 ], 768 includes = ["."], 769 deps = [ 770 ":headers", 771 ":platform", 772 ], 773 local_defines = [ 774 "U_COMMON_IMPLEMENTATION", 775 ], 776) 777 778cc_library( 779 name = "ucharstriebuilder", 780 srcs = [ 781 "ucharstriebuilder.cpp", 782 ], 783 includes = ["."], 784 deps = [ 785 ":headers", 786 ":sort", 787 ":stringtriebuilder", 788 ":ucharstrie", 789 ], 790 local_defines = [ 791 "U_COMMON_IMPLEMENTATION", 792 ], 793) 794 795cc_library( 796 name = "ucharstrieiterator", 797 srcs = [ 798 "ucharstrieiterator.cpp", 799 ], 800 includes = ["."], 801 deps = [ 802 ":headers", 803 ":ucharstrie", 804 ":uvector32", 805 ], 806 local_defines = [ 807 "U_COMMON_IMPLEMENTATION", 808 ], 809) 810 811cc_library( 812 name = "ucol_swp", 813 srcs = [ 814 "ucol_swp.cpp", 815 ], 816 includes = ["."], 817 deps = [ 818 ":headers", 819 ":utrie_swap", 820 ], 821 local_defines = [ 822 "U_COMMON_IMPLEMENTATION", 823 ], 824) 825 826cc_library( 827 name = "udata", 828 srcs = [ 829 "restrace.cpp", 830 "ucmndata.cpp", 831 "udata.cpp", 832 "udatamem.cpp", 833 "umapfile.cpp", 834 ], 835 includes = ["."], 836 deps = [ 837 ":headers", 838 ":icu_utility", 839 ":platform", 840 ":uhash", 841 "//icu4c/source/stubdata", 842 ], 843 local_defines = [ 844 "U_COMMON_IMPLEMENTATION", 845 ], 846) 847 848cc_library( 849 name = "uiter", 850 srcs = [ 851 "uiter.cpp", 852 ], 853 includes = ["."], 854 deps = [ 855 ":headers", 856 ":platform", 857 ], 858 local_defines = [ 859 "U_COMMON_IMPLEMENTATION", 860 ], 861) 862 863cc_library( 864 name = "ulist", 865 srcs = [ 866 "ulist.cpp", 867 ], 868 includes = ["."], 869 deps = [ 870 ":headers", 871 ":platform", 872 ], 873 local_defines = [ 874 "U_COMMON_IMPLEMENTATION", 875 ], 876) 877 878cc_library( 879 name = "unames", 880 srcs = [ 881 "unames.cpp", 882 ], 883 includes = ["."], 884 deps = [ 885 ":headers", 886 ":uchar", 887 ":udata", 888 ], 889 local_defines = [ 890 "U_COMMON_IMPLEMENTATION", 891 ], 892) 893 894cc_library( 895 name = "unifiedcache", 896 srcs = [ 897 "unifiedcache.cpp", 898 ], 899 includes = ["."], 900 deps = [ 901 ":headers", 902 ":platform", 903 ":uhash", 904 ], 905 local_defines = [ 906 "U_COMMON_IMPLEMENTATION", 907 ], 908) 909 910cc_library( 911 name = "uniset_core", 912 srcs = [ 913 "bmpset.cpp", 914 "unifilt.cpp", 915 "unifunct.cpp", 916 "uniset.cpp", 917 "unisetspan.cpp", 918 ], 919 includes = ["."], 920 deps = [ 921 ":headers", 922 ":icu_utility", 923 ":patternprops", 924 ":uvector", 925 ], 926 local_defines = [ 927 "U_COMMON_IMPLEMENTATION", 928 ], 929) 930 931cc_library( 932 name = "uniset_closure", 933 srcs = [ 934 "uniset_closure.cpp", 935 ], 936 includes = ["."], 937 deps = [ 938 ":headers", 939 ":uniset_core", 940 ":unistr_case_locale", 941 ":unistr_titlecase_brkiter", 942 ], 943 local_defines = [ 944 "U_COMMON_IMPLEMENTATION", 945 ], 946) 947 948cc_library( 949 name = "uniset_props", 950 srcs = [ 951 "uniset_props.cpp", 952 "ruleiter.cpp", 953 ], 954 includes = ["."], 955 deps = [ 956 ":characterproperties", 957 ":headers", 958 ":parsepos", 959 ":propname", 960 ":resourcebundle", 961 ":unames", 962 ":uniset_core", 963 ":unistr_case", 964 ":uprops", 965 ], 966 local_defines = [ 967 "U_COMMON_IMPLEMENTATION", 968 ], 969) 970 971cc_library( 972 name = "unistr_case", 973 srcs = [ 974 "unistr_case.cpp", 975 ], 976 includes = ["."], 977 deps = [ 978 ":headers", 979 ":ustring_case", 980 ], 981 local_defines = [ 982 "U_COMMON_IMPLEMENTATION", 983 ], 984) 985 986cc_library( 987 name = "unistr_case_locale", 988 srcs = [ 989 "unistr_case_locale.cpp", 990 ], 991 includes = ["."], 992 deps = [ 993 ":headers", 994 ":unistr_case", 995 ":ustring_case_locale", 996 ], 997 local_defines = [ 998 "U_COMMON_IMPLEMENTATION", 999 ], 1000) 1001 1002cc_library( 1003 name = "unistr_titlecase_brkiter", 1004 srcs = [ 1005 "unistr_titlecase_brkiter.cpp", 1006 ], 1007 includes = ["."], 1008 deps = [ 1009 ":headers", 1010 ":ustr_titlecase_brkiter", 1011 ], 1012 local_defines = [ 1013 "U_COMMON_IMPLEMENTATION", 1014 ], 1015) 1016 1017cc_library( 1018 name = "uprops", 1019 srcs = [ 1020 "uprops.cpp", 1021 ], 1022 includes = ["."], 1023 deps = [ 1024 ":headers", 1025 ":emojiprops", 1026 ":loadednormalizer2", 1027 ":normalizer2", 1028 ":ubidi_props", 1029 ":ucase", 1030 ":uchar", 1031 ":unistr_case", 1032 ":ustring_case", 1033 ], 1034 local_defines = [ 1035 "U_COMMON_IMPLEMENTATION", 1036 ], 1037) 1038 1039cc_library( 1040 name = "uscript_props", 1041 srcs = [ 1042 "uscript_props.cpp", 1043 ], 1044 includes = ["."], 1045 deps = [ 1046 ":headers", 1047 ":platform", 1048 ], 1049 local_defines = [ 1050 "U_COMMON_IMPLEMENTATION", 1051 ], 1052) 1053 1054cc_library( 1055 name = "uset", 1056 srcs = [ 1057 "uset.cpp", 1058 ], 1059 includes = ["."], 1060 deps = [ 1061 ":headers", 1062 ":platform", 1063 ":uniset_core", 1064 ], 1065 local_defines = [ 1066 "U_COMMON_IMPLEMENTATION", 1067 ], 1068) 1069 1070cc_library( 1071 name = "uset_props", 1072 srcs = [ 1073 "uset_props.cpp", 1074 ], 1075 includes = ["."], 1076 deps = [ 1077 ":headers", 1078 ":uniset_closure", 1079 ":uniset_core", 1080 ":uniset_props", 1081 ], 1082 local_defines = [ 1083 "U_COMMON_IMPLEMENTATION", 1084 ], 1085) 1086 1087cc_library( 1088 name = "usetiter", 1089 srcs = [ 1090 "usetiter.cpp", 1091 ], 1092 includes = ["."], 1093 deps = [ 1094 ":headers", 1095 ":platform", 1096 ":uniset_core", 1097 ], 1098 local_defines = [ 1099 "U_COMMON_IMPLEMENTATION", 1100 ], 1101) 1102 1103cc_library( 1104 name = "ustack", 1105 srcs = [ 1106 "ustack.cpp", 1107 ], 1108 includes = ["."], 1109 deps = [ 1110 ":headers", 1111 ":uvector", 1112 ], 1113 local_defines = [ 1114 "U_COMMON_IMPLEMENTATION", 1115 ], 1116) 1117 1118cc_library( 1119 name = "ustr_titlecase_brkiter", 1120 srcs = [ 1121 "ustr_titlecase_brkiter.cpp", 1122 ], 1123 includes = ["."], 1124 deps = [ 1125 ":breakiterator", 1126 ":headers", 1127 ":ucase", 1128 ":ustring_case_locale", 1129 ], 1130 local_defines = [ 1131 "U_COMMON_IMPLEMENTATION", 1132 ], 1133) 1134 1135cc_library( 1136 name = "ustring_case", 1137 srcs = [ 1138 "ustrcase.cpp", 1139 ], 1140 includes = ["."], 1141 deps = [ 1142 ":headers", 1143 ":ucase", 1144 ":uchar", 1145 ":edits", 1146 ], 1147 local_defines = [ 1148 "U_COMMON_IMPLEMENTATION", 1149 ], 1150) 1151 1152cc_library( 1153 name = "ustring_case_locale", 1154 srcs = [ 1155 "ustrcase_locale.cpp", 1156 ], 1157 includes = ["."], 1158 deps = [ 1159 ":headers", 1160 ":resourcebundle", 1161 ":ustring_case", 1162 ], 1163 local_defines = [ 1164 "U_COMMON_IMPLEMENTATION", 1165 ], 1166) 1167 1168cc_library( 1169 name = "utext", 1170 srcs = [ 1171 "utext.cpp", 1172 ], 1173 includes = ["."], 1174 deps = [ 1175 ":headers", 1176 ":ucase", 1177 ], 1178 local_defines = [ 1179 "U_COMMON_IMPLEMENTATION", 1180 ], 1181) 1182 1183cc_library( 1184 name = "utrie_swap", 1185 srcs = [ 1186 "utrie_swap.cpp", 1187 ], 1188 includes = ["."], 1189 deps = [ 1190 ":headers", 1191 ":udata", 1192 ], 1193 local_defines = [ 1194 "U_COMMON_IMPLEMENTATION", 1195 ], 1196) 1197 1198# This target depends on a header file that contains NFC/NFD normalization data. 1199# This header file is generated by a script (generate.sh) that invokes the gennorm2 binary. 1200# See the Unicode update change log (changes.txt). 1201cc_library( 1202 name = "normalizer2", 1203 srcs = [ 1204 "norm2_nfc_data.h", # generated by gennorm2 1205 "normalizer2.cpp", 1206 "normalizer2impl.cpp", 1207 ], 1208 includes = ["."], 1209 hdrs = [ 1210 "normalizer2impl.h", 1211 ], 1212 deps = [ 1213 ":headers", 1214 ], 1215 local_defines = [ 1216 "U_COMMON_IMPLEMENTATION", 1217 ], 1218) 1219