1package( 2 default_visibility = ["//visibility:public"], 3) 4 5licenses(["notice"]) # Apache 2.0 6 7exports_files([ 8 "icu4c/LICENSE", 9 "icu4j/main/shared/licenses/LICENSE", 10]) 11 12cc_library( 13 name = "headers", 14 hdrs = glob(["icu4c/source/common/unicode/*.h"]), 15 includes = [ 16 "icu4c/source/common", 17 ], 18 deps = [ 19 ], 20) 21 22cc_library( 23 name = "common", 24 hdrs = glob(["icu4c/source/common/unicode/*.h"]), 25 includes = [ 26 "icu4c/source/common", 27 ], 28 deps = [ 29 ":icuuc", 30 ], 31) 32 33cc_library( 34 name = "icuuc", 35 srcs = glob( 36 [ 37 "icu4c/source/common/*.c", 38 "icu4c/source/common/*.cpp", 39 "icu4c/source/stubdata/*.cpp", 40 ], 41 ), 42 hdrs = glob([ 43 "icu4c/source/common/*.h", 44 ]), 45 copts = [ 46 "-DU_COMMON_IMPLEMENTATION", 47 "-DU_HAVE_STD_ATOMICS", # TODO(gunan): Remove when TF is on ICU 64+. 48 ] + select({ 49 ":android": [ 50 "-fdata-sections", 51 "-DU_HAVE_NL_LANGINFO_CODESET=0", 52 "-Wno-deprecated-declarations", 53 ], 54 ":apple": [ 55 "-Wno-shorten-64-to-32", 56 "-Wno-unused-variable", 57 ], 58 ":windows": [ 59 "/utf-8", 60 "/DLOCALE_ALLOW_NEUTRAL_NAMES=0", 61 ], 62 "//conditions:default": [], 63 }), 64 tags = ["requires-rtti"], 65 visibility = [ 66 "//visibility:private", 67 ], 68 deps = [ 69 ":headers", 70 ], 71) 72 73config_setting( 74 name = "android", 75 values = {"crosstool_top": "//external:android/crosstool"}, 76) 77 78config_setting( 79 name = "apple", 80 values = {"cpu": "darwin"}, 81) 82 83config_setting( 84 name = "windows", 85 values = {"cpu": "x64_windows"}, 86) 87