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