load("@rules_cc//cc:cc_library.bzl", "cc_library") package(default_visibility = ["//visibility:public"]) _COMMON_SRCS = [ "src/boost/locale/encoding/codepage.cpp", "src/boost/locale/encoding/iconv_converter.hpp", "src/boost/locale/encoding/uconv_converter.hpp", "src/boost/locale/encoding/wconv_converter.hpp", "src/boost/locale/shared/date_time.cpp", "src/boost/locale/shared/format.cpp", "src/boost/locale/shared/formatting.cpp", "src/boost/locale/shared/generator.cpp", "src/boost/locale/shared/iconv_codecvt.cpp", "src/boost/locale/shared/iconv_codecvt.hpp", "src/boost/locale/shared/ids.cpp", "src/boost/locale/shared/ios_prop.hpp", "src/boost/locale/shared/localization_backend.cpp", "src/boost/locale/shared/message.cpp", "src/boost/locale/shared/mo_hash.hpp", "src/boost/locale/shared/mo_lambda.cpp", "src/boost/locale/shared/mo_lambda.hpp", "src/boost/locale/util/codecvt_converter.cpp", "src/boost/locale/util/default_locale.cpp", "src/boost/locale/util/encoding.cpp", "src/boost/locale/util/encoding.hpp", "src/boost/locale/util/foreach_char.hpp", "src/boost/locale/util/gregorian.cpp", "src/boost/locale/util/gregorian.hpp", "src/boost/locale/util/iconv.hpp", "src/boost/locale/util/info.cpp", "src/boost/locale/util/locale_data.cpp", "src/boost/locale/util/make_std_unique.hpp", "src/boost/locale/util/numeric.hpp", "src/boost/locale/util/timezone.hpp", ] _STD_SRCS = [ "src/boost/locale/std/all_generator.hpp", "src/boost/locale/std/codecvt.cpp", "src/boost/locale/std/collate.cpp", "src/boost/locale/std/converter.cpp", "src/boost/locale/std/numeric.cpp", "src/boost/locale/std/std_backend.cpp", "src/boost/locale/std/std_backend.hpp", ] _POSIX_SRCS = [ "src/boost/locale/posix/all_generator.hpp", "src/boost/locale/posix/codecvt.cpp", "src/boost/locale/posix/collate.cpp", "src/boost/locale/posix/converter.cpp", "src/boost/locale/posix/numeric.cpp", "src/boost/locale/posix/posix_backend.cpp", "src/boost/locale/posix/posix_backend.hpp", ] _WINDOWS_SRCS = [ "src/boost/locale/util/win_codepages.hpp", "src/boost/locale/win32/all_generator.hpp", "src/boost/locale/win32/api.hpp", "src/boost/locale/win32/collate.cpp", "src/boost/locale/win32/converter.cpp", "src/boost/locale/win32/lcid.cpp", "src/boost/locale/win32/lcid.hpp", "src/boost/locale/win32/numeric.cpp", "src/boost/locale/win32/win_backend.cpp", "src/boost/locale/win32/win_backend.hpp", ] cc_library( name = "boost.locale", srcs = _COMMON_SRCS + _STD_SRCS + select({ "@platforms//os:windows": _WINDOWS_SRCS, "//conditions:default": _POSIX_SRCS, }), hdrs = glob([ "include/**/*.hpp", ]), defines = [ "BOOST_LOCALE_NO_LIB", ], includes = ["include", "src"], local_defines = [ "BOOST_LOCALE_SOURCE", "_CRT_SECURE_NO_WARNINGS", "_SCL_SECURE_NO_WARNINGS", ] + select({ "@platforms//os:windows": [ "BOOST_LOCALE_NO_POSIX_BACKEND=1", ], "//conditions:default": [ "BOOST_LOCALE_NO_WINAPI_BACKEND=1", ], }), deps = [ "@boost.assert", "@boost.config", "@boost.core", "@boost.iterator", "@boost.predef", "@boost.utility", "@boost.thread", ], )