mirror of
https://github.com/unicode-org/icu.git
synced 2025-04-15 17:56:54 +00:00
52 lines
2.4 KiB
Text
52 lines
2.4 KiB
Text
# © 2021 and later: Unicode, Inc. and others.
|
|
# License & terms of use: http://www.unicode.org/copyright.html
|
|
|
|
# This Bazel build file defines a target representing the binary executable
|
|
# `genuca`, which is used for generating ICU root collation data files.
|
|
|
|
load("@rules_cc//cc:defs.bzl", "cc_binary", "cc_library")
|
|
|
|
package(
|
|
default_visibility = ["//visibility:public"],
|
|
)
|
|
|
|
cc_binary(
|
|
name = "genuca",
|
|
srcs = glob([
|
|
"*.cpp",
|
|
"*.h", # cannot have hdrs section in cc_binary
|
|
]),
|
|
deps = [
|
|
"//icu4c/source/common:headers",
|
|
"//icu4c/source/common:platform",
|
|
"//icu4c/source/i18n:collation_builder",
|
|
"//icu4c/source/i18n:headers",
|
|
"//icu4c/source/tools/toolutil:collationinfo",
|
|
"//icu4c/source/tools/toolutil:toolutil",
|
|
"//icu4c/source/tools/toolutil:unewdata",
|
|
"//icu4c/source/tools/toolutil:uoptions",
|
|
"//icu4c/source/tools/toolutil:uparse",
|
|
"//icu4c/source/tools/toolutil:writesrc",
|
|
],
|
|
# Markus 2021-06-16:
|
|
# The pthread library is not linked in automatically.
|
|
# See https://docs.bazel.build/versions/main/cpp-use-cases.html
|
|
# When pthread is absent, then we get runtime errors instead of compile/link errors.
|
|
# See https://stackoverflow.com/questions/51584960/stdcall-once-throws-stdsystem-error-unknown-error-1
|
|
#
|
|
# My first genuca build crashed with
|
|
# terminate called after throwing an instance of 'std::system_error'
|
|
# what(): Unknown error -1
|
|
#
|
|
# Program received signal SIGABRT, Aborted.
|
|
# ...
|
|
# #4 0x00007ffff7e809d1 in std::terminate() () from /lib/x86_64-linux-gnu/libstdc++.so.6
|
|
# #5 0x00007ffff7e80c65 in __cxa_throw () from /lib/x86_64-linux-gnu/libstdc++.so.6
|
|
# #6 0x00007ffff7e78458 in std::__throw_system_error(int) () from /lib/x86_64-linux-gnu/libstdc++.so.6
|
|
# #7 0x0000555555601c75 in std::call_once<void (&)()> (__once=..., __f=@0x55555560156c: {void (void)} 0x55555560156c <icu_70::umtx_init()>)
|
|
# at /usr/include/c++/10/mutex:743
|
|
# #8 0x00005555556017ca in icu_70::umtx_initImplPreInit (uio=...) at icu4c/source/common/umutex.cpp:146
|
|
# #9 0x0000555555592236 in icu_70::umtx_initOnce (uio=..., fp=0x5555555e0716 <icu_70::initNFCSingleton(UErrorCode&)>,
|
|
# errCode=@0x7fffffffd738: U_ZERO_ERROR) at icu4c/source/common/umutex.h:143
|
|
linkopts = ["-pthread"],
|
|
)
|