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",
 | |
|     ],
 | |
| )
 |