tor-browser

The Tor Browser
git clone https://git.dasho.dev/tor-browser.git
Log | Files | Refs | README | LICENSE

BUILD.bazel (21815B)


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