# Copyright 2021 the V8 project authors. All rights reserved. # Use of this source code is governed by a BSD-style license that can be # found in the LICENSE file. filegroup( name = "icudata", srcs = ["common/icudtl.dat"], ) cc_library( name = "icuuc", srcs = glob([ "source/common/**/*.h", "source/common/**/*.cpp", ]), copts = select({ "@platforms//os:windows": [ "/wd4005", # Macro redefinition. "/wd4068", # Unknown pragmas. "/wd4267", # Conversion from size_t on 64-bits. "/utf-8", # ICU source files are in UTF-8. ], "//conditions:default": [ "-Wno-unused-function", "-Wno-parentheses", "-Wno-unused-function", "-Wno-unused-variable", "-Wno-deprecated-declarations", ], }), data = [":icudata"], defines = [ "U_COMMON_IMPLEMENTATION", "U_ICUDATAENTRY_IN_COMMON", "HAVE_DLOPEN=0", "UCONFIG_ONLY_HTML_CONVERSION=1", "U_CHARSET_IS_UTF8=1", "U_USING_ICU_NAMESPACE=0", "U_ENABLE_DYLOAD=0", "USE_CHROMIUM_ICU=1", "U_ENABLE_TRACING=1", "U_ENABLE_RESOURCE_TRACING=0", "UNISTR_FROM_STRING_EXPLICIT=", "UNISTR_FROM_CHAR_EXPLICIT=", ] + select({ "@platforms//os:windows": [ "U_STATIC_IMPLEMENTATION", "UNICODE", "_UNICODE", ], "//conditions:default": [], }), includes = [ "source/common", "source/i18n", ], tags = ["requires-rtti"], alwayslink = 1, ) cc_library( name = "icui18n", srcs = glob([ "source/i18n/**/*.h", "source/i18n/**/*.cpp", ]), copts = select({ "@platforms//os:windows": [ "/wd4005", # Macro redefinition. "/wd4068", # Unknown pragmas. "/wd4267", # Conversion from size_t on 64-bits. "/utf-8", # ICU source files are in UTF-8. ], "//conditions:default": [], }), defines = [ "U_I18N_IMPLEMENTATION", ] + select({ "@platforms//os:windows": [ "U_STATIC_IMPLEMENTATION", "UNICODE", "_UNICODE", ], "//conditions:default": [], }), deps = [":icuuc"], alwayslink = 1, ) cc_library( name = "icu", srcs = [ "source/stubdata/stubdata.cpp", ], hdrs = glob([ "source/common/unicode/*.h", "source/i18n/unicode/*.h", ]), copts = select({ "@platforms//os:windows": [ "/wd4005", # Macro redefinition. "/wd4068", # Unknown pragmas. "/wd4267", # Conversion from size_t on 64-bits. "/utf-8", # ICU source files are in UTF-8. ], "//conditions:default": [], }), defines = [ "U_I18N_IMPLEMENTATION", ] + select({ "@platforms//os:windows": [ "U_STATIC_IMPLEMENTATION", "UNICODE", "_UNICODE", ], "//conditions:default": [], }), include_prefix = "third_party/icu", visibility = ["//visibility:public"], deps = [ ":icui18n", ":icuuc", ], alwayslink = 1, )