# © 2021 and later: Unicode, Inc. and others.
# License & terms of use: http://www.unicode.org/copyright.html

# This file defines Bazel targets for a subset of ICU4C "common" library header and source files.
# The configuration of dependencies among targets is strongly assisted by the
# file in depstest that maintains such information, at
# icu4c/source/test/depstest/dependencies.txt .

load("@rules_cc//cc:defs.bzl", "cc_binary", "cc_library")

package(
    default_visibility = ["//visibility:public"],
)

# When compiling code in the `common` dir, the constant
# `U_COMMON_IMPLEMENTATION` needs to be defined. See 
# https://unicode-org.github.io/icu/userguide/howtouseicu#c-with-your-own-build-system .

# If linker errors occur, then this may be a sign that the dependencies were 
# not specified correctly. Use dependencies.txt in depstest for assistance. See
# https://stackoverflow.com/q/66111709/2077918 .

cc_library(
    name = "headers",
    hdrs = glob([
        "unicode/*.h", # public
        "*.h",         # internal
        ],
        # Instead of using these checked-in files, our Bazel build process
        # regenerates them and then uses the new versions.
        # Same list of .h files as in icu4c/source/data/unidata/clean.sh.
        exclude = ["norm2_nfc_data.h", "propname_data.h", "*_props_data.h"],
    ),
    # We need to add includes in order to preserve existing source files'
    # include directives that use traditional paths, not paths relative to
    # Bazel workspace:
    # https://stackoverflow.com/a/65635893/2077918
    includes = ["."],
    local_defines = [
        "U_COMMON_IMPLEMENTATION",
    ],
)

cc_library(
    name = "platform",
    srcs = [
        "cmemory.cpp", 
        "uobject.cpp",
        "cstring.cpp",
        "cwchar.cpp",
        "uinvchar.cpp",
        "charstr.cpp",
        "unistr.cpp",
        "appendable.cpp",
        "stringpiece.cpp",
        "ustrtrns.cpp",
        "ustring.cpp",  
        "ustrfmt.cpp",  
        "utf_impl.cpp",
        "putil.cpp",
        "ucln_cmn.cpp",  
        "udataswp.cpp",  
        "umath.cpp",
        "umutex.cpp",
        "sharedobject.cpp",
        "utrace.cpp",
    ],
    deps = [
        ":headers",
        # omit other deps b/c they are sys symbols
    ],
    local_defines = [
        "U_COMMON_IMPLEMENTATION",
    ],
    linkopts = ["-ldl"],
)

cc_library(
    name = "utrie",
    srcs = ["utrie.cpp"],
    deps = [":platform"],
    local_defines = [
        "U_COMMON_IMPLEMENTATION",
    ],
)

cc_library(
    name = "utrie2",
    srcs = ["utrie2.cpp"],
    deps = [":platform"],
    local_defines = [
        "U_COMMON_IMPLEMENTATION",
    ],
)

cc_library(
    name = "utrie2_builder",
    srcs = ["utrie2_builder.cpp"],
    deps = [
        ":utrie",
        ":utrie2",
        ":platform",
    ],
    local_defines = [
        "U_COMMON_IMPLEMENTATION",
    ],
)

cc_library(
    name = "ucptrie",
    srcs = ["ucptrie.cpp"],
    deps = [":platform"],
    local_defines = [
        "U_COMMON_IMPLEMENTATION",
    ],
)

cc_library(
    name = "umutablecptrie",
    srcs = ["umutablecptrie.cpp"],
    deps = [":ucptrie"],
    local_defines = [
        "U_COMMON_IMPLEMENTATION",
    ],
)

cc_library(
    name = "bytestrie",
    srcs = ["bytestrie.cpp"],
    deps = [":platform"],
    local_defines = [
        "U_COMMON_IMPLEMENTATION",
    ],
)

cc_library(
    name = "bytestriebuilder",
    srcs = ["bytestriebuilder.cpp"],
    deps = [
        ":bytestrie",
        ":stringtriebuilder",
        ":sort",
    ],
    local_defines = [
        "U_COMMON_IMPLEMENTATION",
    ],
)

cc_library(
    name = "stringtriebuilder",
    srcs = ["stringtriebuilder.cpp"],
    deps = [
        ":uhash",
    ],
    local_defines = [
        "U_COMMON_IMPLEMENTATION",
    ],
)

cc_library(
    name = "uhash",
    hdrs = [
        "uhash.h",
    ],
    srcs = [
        "uhash.cpp",
    ],
    deps = [
        ":headers",
    ],
    local_defines = [
        "U_COMMON_IMPLEMENTATION",
    ],
)

cc_library(
    name = "errorcode",
    hdrs = [
    ],
    srcs = [
        "errorcode.cpp",
    ],
    includes = ["."],
    deps = [
        ":platform",
        ":utypes",
    ],
    local_defines = [
        "U_COMMON_IMPLEMENTATION",
    ],
)

cc_library(
    name = "utypes",
    srcs = [
        "utypes.cpp",
    ],
    includes = ["."],
    deps = [
        ":headers",
    ],
    local_defines = [
        "U_COMMON_IMPLEMENTATION",
    ],
)

cc_library(
    name = "uniset",
    srcs = [
        "uniset.cpp",
        "unifilt.cpp",
        "unisetspan.cpp",
        "bmpset.cpp",
        "util.cpp",
        "unifunct.cpp",
        "usetiter.cpp",
    ],
    includes = ["."],
    deps = [
        ":patternprops",
        ":uvector",
        ":headers",
    ],
    local_defines = [
        "U_COMMON_IMPLEMENTATION",
    ],
)

cc_library(
    name = "patternprops",
    srcs = [
        "patternprops.cpp",
    ],
    includes = ["."],
    deps = [
        ":headers",
    ],
    local_defines = [
        "U_COMMON_IMPLEMENTATION",
    ],
)

cc_library(
    name = "propsvec",
    srcs = [
        "propsvec.cpp",
    ],
    includes = ["."],
    deps = [
        ":sort",
        ":utrie2_builder",
        ":headers",
    ],
    local_defines = [
        "U_COMMON_IMPLEMENTATION",
    ],
)

cc_library(
    name = "propname",
    srcs = [
        "propname.cpp",
        "propname_data.h",
    ],
    includes = ["."],
    deps = [
        ":bytestrie",
        ":headers",
    ],
    local_defines = [
        "U_COMMON_IMPLEMENTATION",
    ],
)

# Note: The cc_library target names "uvector32" and "uvector64" match the
# dependencies.txt group names, but the filenames are "uvectr32.*"/"uvectr64.*".
cc_library(
    name = "uvector32",
    srcs = [
        "uvectr32.cpp",
    ],
    includes = ["."],
    deps = [
        ":headers",
        ":platform",
    ],
    local_defines = [
        "U_COMMON_IMPLEMENTATION",
    ],
)

cc_library(
    name = "uvector64",
    srcs = [
        "uvectr64.cpp",
    ],
    includes = ["."],
    deps = [
        ":headers",
        ":platform",
    ],
    local_defines = [
        "U_COMMON_IMPLEMENTATION",
    ],
)

cc_library(
    name = "sort",
    srcs = [
        "uarrsort.cpp",
    ],
    includes = ["."],
    deps = [
        ":headers",
    ],
    local_defines = [
        "U_COMMON_IMPLEMENTATION",
    ],
)

cc_library(
    name = "uvector",
    srcs = [
        "uvector.cpp",
    ],
    includes = ["."],
    deps = [
        ":platform",
        ":sort",
    ],
    local_defines = [
        "U_COMMON_IMPLEMENTATION",
    ],
)

cc_library(
    name = "breakiterator",
    srcs = [
        "brkiter.cpp",
        "brkeng.cpp",
        "dictbe.cpp",
        "dictionarydata.cpp",
        "filteredbrk.cpp",
        "lstmbe.cpp",
        "rbbi.cpp",
        "rbbi_cache.cpp",
        "rbbidata.cpp",
        "rbbinode.cpp",
        "rbbirb.cpp",
        "rbbiscan.cpp",
        "rbbisetb.cpp",
        "rbbistbl.cpp",
        "rbbitblb.cpp",
        "ubrk.cpp",
    ],
    includes = ["."],
    deps = [
        ":bytestrie",
        ":headers",
        ":normlzr",
        ":resourcebundle",
        ":schriter",
        ":service_registration",
        ":ucharstrie",
        ":ucharstriebuilder",
        ":uhash",
        ":uniset_core",
        ":uniset_props",
        ":ustack",
        ":utext",
        ":utrie2_builder",
        ":uvector32",
    ],
    local_defines = [
        "U_COMMON_IMPLEMENTATION",
    ],
)

cc_library(
    name = "bytesinkutil",
    srcs = [
        "bytesinkutil.cpp",
    ],
    includes = ["."],
    deps = [
        ":headers",
        ":bytestream",
        ":edits",
    ],
    local_defines = [
        "U_COMMON_IMPLEMENTATION",
    ],
)

cc_library(
    name = "bytestream",
    srcs = [
        "bytestream.cpp",
    ],
    includes = ["."],
    deps = [
        ":headers",
        ":platform",
    ],
    local_defines = [
        "U_COMMON_IMPLEMENTATION",
    ],
)

cc_library(
    name = "canonical_iterator",
    srcs = [
        "caniter.cpp",
    ],
    deps = [
        ":normalizer2",
        ":usetiter",
    ],
    local_defines = [
        "U_COMMON_IMPLEMENTATION",
    ],
)

cc_library(
    name = "characterproperties",
    srcs = [
        "characterproperties.cpp",
    ],
    includes = ["."],
    deps = [
        ":headers",
        ":emojiprops",
        ":ucptrie",
        ":umutablecptrie",
        ":uniset_core",
        ":uprops",
    ],
    local_defines = [
        "U_COMMON_IMPLEMENTATION",
    ],
)

cc_library(
    name = "chariter",
    srcs = [
        "chariter.cpp",
    ],
    includes = ["."],
    deps = [
        ":headers",
        ":platform",
    ],
    local_defines = [
        "U_COMMON_IMPLEMENTATION",
    ],
)

cc_library(
    name = "edits",
    srcs = [
        "edits.cpp",
    ],
    includes = ["."],
    deps = [
        ":headers",
        ":icu_utility",
        ":platform",
    ],
    local_defines = [
        "U_COMMON_IMPLEMENTATION",
    ],
)

cc_library(
    name = "filterednormalizer2",
    srcs = [
        "filterednormalizer2.cpp",
    ],
    includes = ["."],
    deps = [
        ":headers",
        ":normalizer2",
    ],
    local_defines = [
        "U_COMMON_IMPLEMENTATION",
    ],
)

cc_library(
    name = "hashtable",
    srcs = [
        "uhash_us.cpp",
    ],
    includes = ["."],
    deps = [
        ":headers",
        ":uhash",
    ],
    local_defines = [
        "U_COMMON_IMPLEMENTATION",
    ],
)

cc_library(
    name = "icu_utility",
    srcs = [
        "util.cpp",
    ],
    includes = ["."],
    deps = [
        ":headers",
        ":patternprops",
        ":platform",
    ],
    local_defines = [
        "U_COMMON_IMPLEMENTATION",
    ],
)

cc_library(
    name = "loadednormalizer2",
    srcs = [
        "loadednormalizer2impl.cpp",
    ],
    includes = ["."],
    deps = [
        ":headers",
        ":normalizer2",
    ],
    local_defines = [
        "U_COMMON_IMPLEMENTATION",
    ],
)

cc_library(
    name = "locale_display_names",
    srcs = [
        "locdispnames.cpp",
    ],
    includes = ["."],
    deps = [
        ":headers",
        ":locresdata",
    ],
    local_defines = [
        "U_COMMON_IMPLEMENTATION",
    ],
)

cc_library(
    name = "locresdata",
    srcs = [
        "locresdata.cpp",
    ],
    includes = ["."],
    deps = [
        ":headers",
        ":resourcebundle",
    ],
    local_defines = [
        "U_COMMON_IMPLEMENTATION",
    ],
)

cc_library(
    name = "normlzr",
    srcs = [
        "normlzr.cpp",
    ],
    includes = ["."],
    deps = [
        ":filterednormalizer2",
        ":headers",
        ":schriter",
        ":uniset_props",
    ],
    local_defines = [
        "U_COMMON_IMPLEMENTATION",
    ],
)

cc_library(
    name = "parsepos",
    srcs = [
        "parsepos.cpp",
    ],
    includes = ["."],
    deps = [
        ":headers",
        ":platform",
    ],
    local_defines = [
        "U_COMMON_IMPLEMENTATION",
    ],
)

cc_library(
    name = "resourcebundle",
    srcs = [
        "localebuilder.cpp",
        "locavailable.cpp",
        "locbased.cpp",
        "locid.cpp",
        "loclikely.cpp",
        "locmap.cpp",
        "resbund.cpp",
        "resource.cpp",
        "uloc.cpp",
        "uloc_tag.cpp",
        "uloc_keytype.cpp",
        "uresbund.cpp",
        "uresdata.cpp",
        "wintz.cpp",
    ],
    includes = ["."],
    deps = [
        ":bytesinkutil",
        ":errorcode",
        ":headers",
        ":propname",
        ":sort",
        ":stringenumeration",
        ":ucol_swp",
        ":udata",
        ":uhash",
        ":uscript_props",
        ":uvector",
    ],
    local_defines = [
        "U_COMMON_IMPLEMENTATION",
    ],
)

cc_library(
    name = "schriter",
    srcs = [
        "schriter.cpp",
        "uchriter.cpp",
    ],
    includes = ["."],
    deps = [
        ":chariter",
        ":headers",
    ],
    local_defines = [
        "U_COMMON_IMPLEMENTATION",
    ],
)

cc_library(
    name = "service_registration",
    srcs = [
        "locutil.cpp",
        "serv.cpp",
        "servlk.cpp",
        "servlkf.cpp",
        "servls.cpp",
        "servnotf.cpp",
        "servrbf.cpp",
        "servslkf.cpp",
    ],
    includes = ["."],
    deps = [
        ":hashtable",
        ":headers",
        ":locale_display_names",
        ":resourcebundle",
        ":uvector",
    ],
    local_defines = [
        "U_COMMON_IMPLEMENTATION",
    ],
)

cc_library(
    name = "stringenumeration",
    srcs = [
        "uenum.cpp",
        "ustrenum.cpp",
    ],
    includes = ["."],
    deps = [
        ":headers",
        ":platform",
    ],
    local_defines = [
        "U_COMMON_IMPLEMENTATION",
    ],
)

cc_library(
    name = "ubidi_props",
    srcs = [
        "ubidi_props.cpp",
        "ubidi_props_data.h",
    ],
    includes = ["."],
    deps = [
        ":headers",
        ":utrie2",
    ],
    local_defines = [
        "U_COMMON_IMPLEMENTATION",
    ],
)

cc_library(
    name = "ucase",
    srcs = [
        "ucase.cpp",
        "ucase_props_data.h",
    ],
    includes = ["."],
    deps = [
        ":headers",
        ":utrie2",
    ],
    local_defines = [
        "U_COMMON_IMPLEMENTATION",
    ],
)

cc_library(
    name = "uchar",
    srcs = [
        "uchar.cpp",
        "uchar_props_data.h",
    ],
    includes = ["."],
    deps = [
        ":headers",
        ":utrie2",
    ],
    local_defines = [
        "U_COMMON_IMPLEMENTATION",
    ],
)

cc_library(
    name = "emojiprops",
    srcs = [
        "emojiprops.cpp",
        "emojiprops.h",
    ],
    includes = ["."],
    deps = [
        ":headers",
        ":ucharstrie",
        ":ucharstrieiterator",
        ":ucptrie",
        ":udata",
    ],
    local_defines = [
        "U_COMMON_IMPLEMENTATION",
    ],
)

cc_library(
    name = "ucharstrie",
    srcs = [
        "ucharstrie.cpp",
    ],
    includes = ["."],
    deps = [
        ":headers",
        ":platform",
    ],
    local_defines = [
        "U_COMMON_IMPLEMENTATION",
    ],
)

cc_library(
    name = "ucharstriebuilder",
    srcs = [
        "ucharstriebuilder.cpp",
    ],
    includes = ["."],
    deps = [
        ":headers",
        ":sort",
        ":stringtriebuilder",
        ":ucharstrie",
    ],
    local_defines = [
        "U_COMMON_IMPLEMENTATION",
    ],
)

cc_library(
    name = "ucharstrieiterator",
    srcs = [
        "ucharstrieiterator.cpp",
    ],
    includes = ["."],
    deps = [
        ":headers",
        ":ucharstrie",
        ":uvector32",
    ],
    local_defines = [
        "U_COMMON_IMPLEMENTATION",
    ],
)

cc_library(
    name = "ucol_swp",
    srcs = [
        "ucol_swp.cpp",
    ],
    includes = ["."],
    deps = [
        ":headers",
        ":utrie_swap",
    ],
    local_defines = [
        "U_COMMON_IMPLEMENTATION",
    ],
)

cc_library(
    name = "udata",
    srcs = [
        "restrace.cpp",
        "ucmndata.cpp",
        "udata.cpp",
        "udatamem.cpp",
        "umapfile.cpp",
    ],
    includes = ["."],
    deps = [
        ":headers",
        ":icu_utility",
        ":platform",
        ":uhash",
        "//icu4c/source/stubdata",
    ],
    local_defines = [
        "U_COMMON_IMPLEMENTATION",
    ],
)

cc_library(
    name = "uiter",
    srcs = [
        "uiter.cpp",
    ],
    includes = ["."],
    deps = [
        ":headers",
        ":platform",
    ],
    local_defines = [
        "U_COMMON_IMPLEMENTATION",
    ],
)

cc_library(
    name = "ulist",
    srcs = [
        "ulist.cpp",
    ],
    includes = ["."],
    deps = [
        ":headers",
        ":platform",
    ],
    local_defines = [
        "U_COMMON_IMPLEMENTATION",
    ],
)

cc_library(
    name = "unames",
    srcs = [
        "unames.cpp",
    ],
    includes = ["."],
    deps = [
        ":headers",
        ":uchar",
        ":udata",
    ],
    local_defines = [
        "U_COMMON_IMPLEMENTATION",
    ],
)

cc_library(
    name = "unifiedcache",
    srcs = [
        "unifiedcache.cpp",
    ],
    includes = ["."],
    deps = [
        ":headers",
        ":platform",
        ":uhash",
    ],
    local_defines = [
        "U_COMMON_IMPLEMENTATION",
    ],
)

cc_library(
    name = "uniset_core",
    srcs = [
        "bmpset.cpp",
        "unifilt.cpp",
        "unifunct.cpp",
        "uniset.cpp",
        "unisetspan.cpp",
    ],
    includes = ["."],
    deps = [
        ":headers",
        ":icu_utility",
        ":patternprops",
        ":uvector",
    ],
    local_defines = [
        "U_COMMON_IMPLEMENTATION",
    ],
)

cc_library(
    name = "uniset_closure",
    srcs = [
        "uniset_closure.cpp",
    ],
    includes = ["."],
    deps = [
        ":headers",
        ":uniset_core",
        ":unistr_case_locale",
        ":unistr_titlecase_brkiter",
    ],
    local_defines = [
        "U_COMMON_IMPLEMENTATION",
    ],
)

cc_library(
    name = "uniset_props",
    srcs = [
        "uniset_props.cpp",
        "ruleiter.cpp",
    ],
    includes = ["."],
    deps = [
        ":characterproperties",
        ":headers",
        ":parsepos",
        ":propname",
        ":resourcebundle",
        ":unames",
        ":uniset_core",
        ":unistr_case",
        ":uprops",
    ],
    local_defines = [
        "U_COMMON_IMPLEMENTATION",
    ],
)

cc_library(
    name = "unistr_case",
    srcs = [
        "unistr_case.cpp",
    ],
    includes = ["."],
    deps = [
        ":headers",
        ":ustring_case",
    ],
    local_defines = [
        "U_COMMON_IMPLEMENTATION",
    ],
)

cc_library(
    name = "unistr_case_locale",
    srcs = [
        "unistr_case_locale.cpp",
    ],
    includes = ["."],
    deps = [
        ":headers",
        ":unistr_case",
        ":ustring_case_locale",
    ],
    local_defines = [
        "U_COMMON_IMPLEMENTATION",
    ],
)

cc_library(
    name = "unistr_titlecase_brkiter",
    srcs = [
        "unistr_titlecase_brkiter.cpp",
    ],
    includes = ["."],
    deps = [
        ":headers",
        ":ustr_titlecase_brkiter",
    ],
    local_defines = [
        "U_COMMON_IMPLEMENTATION",
    ],
)

cc_library(
    name = "uprops",
    srcs = [
        "uprops.cpp",
    ],
    includes = ["."],
    deps = [
        ":headers",
        ":emojiprops",
        ":loadednormalizer2",
        ":normalizer2",
        ":ubidi_props",
        ":ucase",
        ":uchar",
        ":unistr_case",
        ":ustring_case",
    ],
    local_defines = [
        "U_COMMON_IMPLEMENTATION",
    ],
)

cc_library(
    name = "uscript_props",
    srcs = [
        "uscript_props.cpp",
    ],
    includes = ["."],
    deps = [
        ":headers",
        ":platform",
    ],
    local_defines = [
        "U_COMMON_IMPLEMENTATION",
    ],
)

cc_library(
    name = "uset",
    srcs = [
        "uset.cpp",
    ],
    includes = ["."],
    deps = [
        ":headers",
        ":platform",
        ":uniset_core",
    ],
    local_defines = [
        "U_COMMON_IMPLEMENTATION",
    ],
)

cc_library(
    name = "uset_props",
    srcs = [
        "uset_props.cpp",
    ],
    includes = ["."],
    deps = [
        ":headers",
        ":uniset_closure",
        ":uniset_core",
        ":uniset_props",
    ],
    local_defines = [
        "U_COMMON_IMPLEMENTATION",
    ],
)

cc_library(
    name = "usetiter",
    srcs = [
        "usetiter.cpp",
    ],
    includes = ["."],
    deps = [
        ":headers",
        ":platform",
        ":uniset_core",
    ],
    local_defines = [
        "U_COMMON_IMPLEMENTATION",
    ],
)

cc_library(
    name = "ustack",
    srcs = [
        "ustack.cpp",
    ],
    includes = ["."],
    deps = [
        ":headers",
        ":uvector",
    ],
    local_defines = [
        "U_COMMON_IMPLEMENTATION",
    ],
)

cc_library(
    name = "ustr_titlecase_brkiter",
    srcs = [
        "ustr_titlecase_brkiter.cpp",
    ],
    includes = ["."],
    deps = [
        ":breakiterator",
        ":headers",
        ":ucase",
        ":ustring_case_locale",
    ],
    local_defines = [
        "U_COMMON_IMPLEMENTATION",
    ],
)

cc_library(
    name = "ustring_case",
    srcs = [
        "ustrcase.cpp",
    ],
    includes = ["."],
    deps = [
        ":headers",
        ":ucase",
        ":uchar",
        ":edits",
    ],
    local_defines = [
        "U_COMMON_IMPLEMENTATION",
    ],
)

cc_library(
    name = "ustring_case_locale",
    srcs = [
        "ustrcase_locale.cpp",
    ],
    includes = ["."],
    deps = [
        ":headers",
        ":resourcebundle",
        ":ustring_case",
    ],
    local_defines = [
        "U_COMMON_IMPLEMENTATION",
    ],
)

cc_library(
    name = "utext",
    srcs = [
        "utext.cpp",
    ],
    includes = ["."],
    deps = [
        ":headers",
        ":ucase",
    ],
    local_defines = [
        "U_COMMON_IMPLEMENTATION",
    ],
)

cc_library(
    name = "utrie_swap",
    srcs = [
        "utrie_swap.cpp",
    ],
    includes = ["."],
    deps = [
        ":headers",
        ":udata",
    ],
    local_defines = [
        "U_COMMON_IMPLEMENTATION",
    ],
)

# This target depends on a header file that contains NFC/NFD normalization data.
# This header file is generated by a script (generate.sh) that invokes the gennorm2 binary.
# See the Unicode update change log (changes.txt).
cc_library(
    name = "normalizer2",
    srcs = [
        "norm2_nfc_data.h",  # generated by gennorm2
        "normalizer2.cpp",
        "normalizer2impl.cpp",
    ],
    includes = ["."],
    hdrs = [
        "normalizer2impl.h",
    ],
    deps = [
        ":headers",
    ],
    local_defines = [
        "U_COMMON_IMPLEMENTATION",  
    ],
)
