mirror of https://github.com/nodejs/node.git
131 lines
3.8 KiB
Python
131 lines
3.8 KiB
Python
# © 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 the ICU4C "i18n" 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_I18n_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
|
|
]),
|
|
# 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_I18N_IMPLEMENTATION",
|
|
],
|
|
)
|
|
|
|
cc_library(
|
|
name = "collation",
|
|
srcs = [
|
|
"bocsu.cpp",
|
|
"coleitr.cpp",
|
|
"coll.cpp",
|
|
"collation.cpp",
|
|
"collationcompare.cpp",
|
|
"collationdata.cpp",
|
|
"collationdatareader.cpp",
|
|
"collationdatawriter.cpp",
|
|
"collationfastlatin.cpp",
|
|
# collationfcd.cpp is generated by genuca;
|
|
# probably hard to build genuca without depending on the old version.
|
|
"collationfcd.cpp",
|
|
"collationiterator.cpp",
|
|
"collationkeys.cpp",
|
|
"collationroot.cpp",
|
|
"collationrootelements.cpp",
|
|
"collationsets.cpp",
|
|
"collationsettings.cpp",
|
|
"collationtailoring.cpp",
|
|
"rulebasedcollator.cpp",
|
|
"sortkey.cpp",
|
|
"ucol.cpp",
|
|
"ucol_res.cpp",
|
|
"ucol_sit.cpp",
|
|
"ucoleitr.cpp",
|
|
"uitercollationiterator.cpp",
|
|
"utf16collationiterator.cpp",
|
|
"utf8collationiterator.cpp",
|
|
],
|
|
includes = ["."],
|
|
deps = [
|
|
":headers",
|
|
":uclean_i18n",
|
|
"//icu4c/source/common:bytestream",
|
|
"//icu4c/source/common:normalizer2",
|
|
"//icu4c/source/common:platform",
|
|
"//icu4c/source/common:propname",
|
|
"//icu4c/source/common:resourcebundle",
|
|
"//icu4c/source/common:service_registration",
|
|
"//icu4c/source/common:ucharstrieiterator",
|
|
"//icu4c/source/common:uiter",
|
|
"//icu4c/source/common:ulist",
|
|
"//icu4c/source/common:unifiedcache",
|
|
"//icu4c/source/common:uset",
|
|
"//icu4c/source/common:usetiter",
|
|
"//icu4c/source/common:utrie2",
|
|
"//icu4c/source/common:uvector32",
|
|
"//icu4c/source/common:uvector64",
|
|
],
|
|
local_defines = [
|
|
"U_I18N_IMPLEMENTATION",
|
|
],
|
|
)
|
|
|
|
cc_library(
|
|
name = "collation_builder",
|
|
srcs = [
|
|
"collationbuilder.cpp",
|
|
"collationdatabuilder.cpp",
|
|
"collationfastlatinbuilder.cpp",
|
|
"collationruleparser.cpp",
|
|
"collationweights.cpp",
|
|
],
|
|
includes = ["."],
|
|
deps = [
|
|
":collation",
|
|
"//icu4c/source/common:canonical_iterator",
|
|
"//icu4c/source/common:ucharstriebuilder",
|
|
"//icu4c/source/common:uset_props"
|
|
],
|
|
local_defines = [
|
|
"U_I18N_IMPLEMENTATION",
|
|
],
|
|
)
|
|
|
|
cc_library(
|
|
name = "uclean_i18n",
|
|
srcs = [
|
|
"ucln_in.cpp",
|
|
],
|
|
hdrs = ["ucln_in.h"],
|
|
includes = ["."],
|
|
deps = [
|
|
"//icu4c/source/common:platform",
|
|
],
|
|
local_defines = [
|
|
"U_I18N_IMPLEMENTATION",
|
|
],
|
|
)
|