1b853904cd
Add precision to the output of UnitsRouter#route PR: https://github.com/icu-units/icu/pull/10 Commit: 030bda3ec86a02b190a83798a7c9be530a335067 Use `Impl` libraries for all internal libraries PR: https://github.com/icu-units/icu/pull/15 Commit: cc786cfb3bee3c72e78a928da8b9a6fd58f31b04 Sort the units in ComplexUnitConverter PR: https://github.com/icu-units/icu/pull/6 Commit: f65b181c4447bb4eb9eef5dc20ea1b296d053ffa
1175 lines
27 KiB
Plaintext
1175 lines
27 KiB
Plaintext
# -*- icu-dependencies -*-
|
|
# Copyright (C) 2016 and later: Unicode, Inc. and others.
|
|
# License & terms of use: http://www.unicode.org/copyright.html
|
|
# Copyright (C) 2011-2016, International Business Machines
|
|
# Corporation and others. All Rights Reserved.
|
|
#
|
|
# file name: dependencies.txt
|
|
#
|
|
# created on: 2011may26
|
|
# created by: Markus W. Scherer
|
|
#
|
|
# See http://site.icu-project.org/processes/release/tasks/healthy-code#TOC-Check-library-dependencies
|
|
|
|
# Standard library symbols used by ICU --------------------------------------- #
|
|
|
|
system_symbols:
|
|
deps
|
|
# C
|
|
PIC system_misc system_debug malloc_functions ubsan
|
|
c_strings c_string_formatting
|
|
int_functions floating_point trigonometry
|
|
stdlib_qsort
|
|
system_locale
|
|
stdio_input stdio_output file_io readlink_function dir_io mmap_functions dlfcn
|
|
# C++
|
|
cplusplus iostream
|
|
std_mutex
|
|
|
|
group: PIC
|
|
# Position-Independent Code (-fPIC) requires a Global Offset Table.
|
|
_GLOBAL_OFFSET_TABLE_
|
|
|
|
group: system_misc
|
|
abort
|
|
|
|
group: system_debug
|
|
__assert_fail __stack_chk_fail
|
|
|
|
group: malloc_functions
|
|
free malloc realloc
|
|
|
|
group: std_mutex
|
|
std::condition_variable::notify_one()
|
|
std::condition_variable::wait(std::unique_lock<std::mutex>&)
|
|
std::condition_variable::notify_all()
|
|
std::condition_variable::condition_variable()
|
|
std::condition_variable::~condition_variable()
|
|
std::condition_variable_any::condition_variable_any()
|
|
std::condition_variable_any::~condition_variable_any()
|
|
|
|
group: ubsan
|
|
# UBSan=UndefinedBehaviorSanitizer, clang -fsanitize=bounds
|
|
__ubsan_handle_out_of_bounds
|
|
|
|
group: c_strings
|
|
isspace isdigit
|
|
__ctype_b_loc # for <ctype.h>
|
|
# We must not use tolower and toupper because they are system-locale-sensitive (Turkish i).
|
|
strlen strchr strrchr strstr strcmp strncmp strcpy strncpy strcat strncat
|
|
memchr memcmp memcpy memmove memset
|
|
# Additional symbols in an optimized build.
|
|
__strcpy_chk __strncpy_chk __strcat_chk __strncat_chk
|
|
__rawmemchr __memcpy_chk __memmove_chk __memset_chk
|
|
|
|
group: c_string_formatting
|
|
atoi atol strtod strtod_l strtol strtoul
|
|
sprintf snprintf
|
|
# Additional symbols in an optimized build.
|
|
__sprintf_chk
|
|
|
|
group: int_functions
|
|
div
|
|
|
|
group: floating_point
|
|
abs fabs floor ceil modf fmod log pow round sqrt trunc
|
|
|
|
group: trigonometry
|
|
acos asin atan atan2 cos sin tan
|
|
# Additional symbols in an optimized build.
|
|
sincos
|
|
|
|
group: stdlib_qsort
|
|
qsort
|
|
|
|
group: system_locale
|
|
getenv
|
|
nl_langinfo setlocale newlocale freelocale
|
|
gettimeofday localtime_r tzname tzset __timezone
|
|
|
|
group: stdio_input
|
|
fopen fclose fgets fread fseek ftell rewind feof fileno
|
|
# Additional symbols in an optimized build.
|
|
__fgets_chk __fread_chk fread_unlocked
|
|
|
|
group: stdio_output
|
|
fflush fwrite
|
|
stdout
|
|
|
|
group: file_io
|
|
open close stat
|
|
# Additional symbols in an optimized build.
|
|
__xstat
|
|
|
|
group: readlink_function
|
|
readlink # putil.cpp uprv_tzname() calls this in a hack to get the time zone name
|
|
|
|
group: dir_io
|
|
opendir closedir readdir # for a hack to get the time zone name
|
|
|
|
group: mmap_functions # for memory-mapped data loading
|
|
mmap munmap
|
|
|
|
group: dlfcn
|
|
dlopen dlclose dlsym # called by putil.o only for icuplug.o
|
|
|
|
group: cplusplus
|
|
__dynamic_cast
|
|
# The compiler generates references to the global operator delete
|
|
# even when no code actually uses it.
|
|
# ICU must not _use_ the global operator delete.
|
|
"operator delete(void*)"
|
|
# ICU also must not use the global operator new.
|
|
# "operator new[](unsigned long)"
|
|
|
|
# _Unwind_Resume is related to exceptions:
|
|
# "A call to this routine is inserted as the end of a landing pad that performs cleanup,
|
|
# but does not resume normal execution. It causes unwinding to proceed further."
|
|
# (Linux Standard Base Specification 1.3)
|
|
# Even though ICU does not actually use (nor handle) exceptions.
|
|
_Unwind_Resume
|
|
# std::terminate() looks similar to _Unwind_Resume:
|
|
# "Calls the current terminate handler."
|
|
std::terminate()
|
|
|
|
group: iostream
|
|
"std::basic_ios<char, std::char_traits<char> >::clear(std::_Ios_Iostate)"
|
|
"std::basic_ios<char, std::char_traits<char> >::eof() const"
|
|
"std::basic_ios<char, std::char_traits<char> >::fail() const"
|
|
"std::basic_ostream<char, std::char_traits<char> >& std::operator<< <std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*)"
|
|
std::ios_base::Init::Init()
|
|
std::ios_base::Init::~Init()
|
|
std::istream::get()
|
|
std::istream::putback(char)
|
|
# Additional symbols in an optimized build.
|
|
"std::basic_ostream<char, std::char_traits<char> >& std::__ostream_insert<char, std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*, long)"
|
|
|
|
# ICU common library --------------------------------------------------------- #
|
|
|
|
library: stubdata
|
|
stubdata.o # Exports icudt48_dat.
|
|
|
|
library: common
|
|
# All files in the common library are listed in its dependencies.
|
|
deps
|
|
# Libraries and groups that the common library depends on.
|
|
pluralmap
|
|
date_interval
|
|
breakiterator
|
|
uts46 filterednormalizer2 normalizer2 loadednormalizer2 canonical_iterator
|
|
normlzr unormcmp unorm
|
|
idna2003 stringprep
|
|
stringenumeration
|
|
unistr_props unistr_case unistr_case_locale unistr_titlecase_brkiter unistr_cnv
|
|
cstr
|
|
uniset_core uniset_props uniset_closure usetiter uset uset_props
|
|
static_unicode_sets
|
|
uiter edits
|
|
ucasemap ucasemap_titlecase_brkiter script_runs
|
|
uprops ubidi_props ucase uscript uscript_props characterproperties
|
|
ubidi ushape ubiditransform
|
|
resourcebundle service_registration resbund_cnv ures_cnv icudataver ucat
|
|
currency
|
|
locale_display_names2
|
|
conversion converter_selector ucnv_set ucnvdisp
|
|
messagepattern simpleformatter
|
|
icu_utility icu_utility_with_props
|
|
ustr_wcs
|
|
unifiedcache
|
|
ucharstriebuilder ucharstrieiterator
|
|
bytestriebuilder bytestrieiterator
|
|
hashtable uhash uvector uvector32 uvector64 ulist
|
|
propsvec utrie2 utrie2_builder ucptrie umutablecptrie utrie_swap
|
|
sort
|
|
uinit utypes errorcode
|
|
icuplug
|
|
platform
|
|
localebuilder localematcher
|
|
|
|
group: pluralmap
|
|
# TODO: Move to i18n library, ticket #11926.
|
|
pluralmap.o
|
|
deps
|
|
platform
|
|
|
|
group: date_interval # class DateInterval
|
|
dtintrv.o
|
|
deps
|
|
platform
|
|
|
|
group: breakiterator
|
|
# We could try to split off a breakiterator_builder group,
|
|
# but we still need uniset_props for code like in the ThaiBreakEngine constructor
|
|
# which does
|
|
# fThaiWordSet.applyPattern(UNICODE_STRING_SIMPLE("[[:Thai:]&[:LineBreak=SA:]]"), status)
|
|
brkiter.o brkeng.o ubrk.o
|
|
rbbi.o rbbinode.o rbbiscan.o rbbisetb.o rbbistbl.o rbbitblb.o
|
|
rbbidata.o rbbirb.o rbbi_cache.o
|
|
dictionarydata.o dictbe.o
|
|
# BreakIterator::makeInstance() factory implementation makes for circular dependency
|
|
# between BreakIterator base and FilteredBreakIteratorBuilder.
|
|
filteredbrk.o
|
|
deps
|
|
resourcebundle service_registration
|
|
schriter utext uniset_core uniset_props
|
|
uhash ustack utrie2_builder
|
|
ucharstrie bytestrie
|
|
ucharstriebuilder # for filteredbrk.o
|
|
normlzr # for dictbe.o, should switch to Normalizer2
|
|
uvector32 # for dictbe.o
|
|
|
|
group: unormcmp # unorm_compare()
|
|
unormcmp.o
|
|
deps
|
|
filterednormalizer2
|
|
uniset_props # for uniset_getUnicode32Instance()
|
|
ucase
|
|
|
|
group: unorm # old normalization C API
|
|
unorm.o
|
|
deps
|
|
filterednormalizer2
|
|
uniset_props # for uniset_getUnicode32Instance()
|
|
uiter
|
|
|
|
group: normlzr # old Normalizer C++ class
|
|
normlzr.o
|
|
deps
|
|
filterednormalizer2
|
|
uniset_props # for uniset_getUnicode32Instance()
|
|
schriter
|
|
|
|
group: uts46
|
|
uts46.o
|
|
deps
|
|
normalizer2 loadednormalizer2 punycode
|
|
uchar # for u_charType() (via U_GET_GC_MASK(c))
|
|
ubidi_props # for u_charDirection() & ubidi_getJoiningType()
|
|
bytestream
|
|
|
|
group: filterednormalizer2
|
|
filterednormalizer2.o
|
|
deps
|
|
normalizer2
|
|
|
|
group: idna2003
|
|
uidna.o
|
|
deps
|
|
stringprep punycode
|
|
|
|
group: stringprep
|
|
usprep.o
|
|
deps
|
|
unorm # could change to use filterednormalizer2 directly for Unicode 3.2 normalization
|
|
normalizer2
|
|
ubidi_props utrie
|
|
|
|
group: canonical_iterator
|
|
caniter.o
|
|
deps
|
|
normalizer2 usetiter
|
|
|
|
group: loadednormalizer2
|
|
loadednormalizer2impl.o
|
|
deps
|
|
normalizer2
|
|
|
|
group: normalizer2
|
|
normalizer2.o
|
|
normalizer2impl.o
|
|
deps
|
|
uniset_core
|
|
bytestream bytesinkutil # for UTF-8 output
|
|
umutablecptrie # for building CanonIterData & FCD
|
|
utrie_swap # TODO(ICU-20170): move unorm2_swap() to a separate file
|
|
uvector # for building CanonIterData
|
|
uhash # for the instance cache
|
|
udata
|
|
|
|
group: punycode
|
|
punycode.o
|
|
deps
|
|
platform
|
|
|
|
group: static_unicode_sets
|
|
static_unicode_sets.o
|
|
deps
|
|
resourcebundle uniset_props
|
|
|
|
group: uset_props
|
|
uset_props.o
|
|
deps
|
|
uniset_closure uniset_props uniset_core
|
|
|
|
group: uset
|
|
uset.o
|
|
deps
|
|
uniset_core
|
|
|
|
group: uniset_closure
|
|
uniset_closure.o
|
|
deps
|
|
uniset_core unistr_case_locale unistr_titlecase_brkiter
|
|
|
|
group: uniset_props
|
|
uniset_props.o ruleiter.o
|
|
deps
|
|
uniset_core uprops unistr_case characterproperties
|
|
parsepos
|
|
resourcebundle
|
|
propname unames
|
|
|
|
group: parsepos
|
|
parsepos.o
|
|
deps
|
|
platform
|
|
|
|
group: usetiter # UnicodeSetIterator
|
|
usetiter.o
|
|
deps
|
|
uniset_core
|
|
|
|
group: uniset_core
|
|
unifilt.o unifunct.o
|
|
uniset.o bmpset.o unisetspan.o
|
|
deps
|
|
patternprops
|
|
icu_utility
|
|
uvector
|
|
|
|
group: icu_utility_with_props
|
|
util_props.o
|
|
deps
|
|
icu_utility uchar ucase
|
|
|
|
group: icu_utility
|
|
util.o
|
|
deps
|
|
patternprops platform
|
|
|
|
group: utext
|
|
utext.o
|
|
deps
|
|
ucase
|
|
|
|
group: stringenumeration
|
|
ustrenum.o uenum.o
|
|
deps
|
|
platform
|
|
|
|
group: schriter
|
|
schriter.o
|
|
# The UCharCharacterIterator implements virtual void getText(UnicodeString& result)
|
|
# so it depends on UnicodeString, therefore it makes little sense to split
|
|
# schriter and uchriter into separate groups.
|
|
uchriter.o
|
|
deps
|
|
chariter
|
|
|
|
group: chariter
|
|
chariter.o
|
|
deps
|
|
platform
|
|
|
|
group: uiter
|
|
uiter.o
|
|
deps
|
|
platform
|
|
|
|
group: unistr_cnv
|
|
unistr_cnv.o
|
|
deps
|
|
conversion
|
|
|
|
group: cstr
|
|
cstr.o
|
|
deps
|
|
unistr_cnv
|
|
|
|
group: uscript
|
|
uscript.o # uscript_getCode() accepts a locale ID and loads its script code data
|
|
deps
|
|
propname resourcebundle
|
|
|
|
group: uscript_props # script metadata properties
|
|
uscript_props.o
|
|
deps
|
|
platform
|
|
|
|
group: uprops
|
|
uprops.o
|
|
deps
|
|
normalizer2 loadednormalizer2
|
|
uchar
|
|
ubidi_props
|
|
unistr_case ustring_case # only for case folding
|
|
ucase
|
|
|
|
group: characterproperties
|
|
characterproperties.o
|
|
deps
|
|
uprops
|
|
uniset_core
|
|
|
|
group: propname
|
|
propname.o
|
|
deps
|
|
bytestrie
|
|
|
|
group: unames
|
|
unames.o
|
|
deps
|
|
uchar udata
|
|
|
|
group: script_runs
|
|
usc_impl.o
|
|
deps
|
|
uchar
|
|
|
|
group: uchar
|
|
uchar.o
|
|
deps
|
|
utrie2
|
|
|
|
group: messagepattern # for MessageFormat and tools
|
|
messagepattern.o
|
|
deps
|
|
patternprops platform
|
|
|
|
group: simpleformatter
|
|
simpleformatter.o
|
|
deps
|
|
platform
|
|
|
|
group: patternprops
|
|
patternprops.o
|
|
deps
|
|
PIC ubsan
|
|
|
|
group: ushape
|
|
ushape.o
|
|
deps
|
|
ubidi_props
|
|
|
|
group: ubidi
|
|
ubidi.o ubidiln.o ubidiwrt.o
|
|
deps
|
|
ubidi_props
|
|
uchar # for doWriteReverse() which uses IS_COMBINING(u_charType(c))
|
|
|
|
group: ubiditransform
|
|
ubiditransform.o
|
|
deps
|
|
ubidi ushape
|
|
|
|
group: ubidi_props
|
|
ubidi_props.o
|
|
deps
|
|
utrie2
|
|
|
|
group: unistr_props
|
|
unistr_props.o
|
|
deps
|
|
uchar platform
|
|
|
|
group: unistr_case_locale
|
|
unistr_case_locale.o
|
|
deps
|
|
unistr_case ustring_case_locale
|
|
|
|
group: unistr_case
|
|
unistr_case.o
|
|
deps
|
|
ustring_case
|
|
|
|
group: unistr_titlecase_brkiter
|
|
unistr_titlecase_brkiter.o
|
|
deps
|
|
ustr_titlecase_brkiter
|
|
|
|
group: ustr_titlecase_brkiter
|
|
ustr_titlecase_brkiter.o
|
|
deps
|
|
breakiterator
|
|
ustring_case_locale ucase
|
|
|
|
group: edits
|
|
edits.o
|
|
deps
|
|
# Edits::Iterator::toString() calls ICU_Utility::appendNumber()
|
|
icu_utility
|
|
platform
|
|
|
|
group: ucasemap_titlecase_brkiter
|
|
ucasemap_titlecase_brkiter.o
|
|
deps
|
|
ucasemap breakiterator utext
|
|
ustr_titlecase_brkiter # ustrcase_getTitleBreakIterator()
|
|
|
|
group: ucasemap
|
|
ucasemap.o
|
|
deps
|
|
ustring_case ustring_case_locale
|
|
bytestream bytesinkutil # for UTF-8 output
|
|
resourcebundle # uloc_getName() etc.
|
|
|
|
group: ustring_case_locale
|
|
ustrcase_locale.o
|
|
deps
|
|
ustring_case
|
|
resourcebundle # for uloc_getDefault()
|
|
|
|
group: ustring_case
|
|
ustrcase.o
|
|
deps
|
|
ucase uchar edits
|
|
|
|
group: ucase
|
|
ucase.o
|
|
deps
|
|
utrie2
|
|
|
|
group: uinit
|
|
uinit.o
|
|
deps
|
|
ucnv_io icuplug
|
|
|
|
group: converter_selector
|
|
ucnvsel.o
|
|
deps
|
|
conversion propsvec utrie2_builder utrie_swap uset ucnv_set
|
|
|
|
group: ucnvdisp # ucnv_getDisplayName()
|
|
ucnvdisp.o
|
|
deps
|
|
conversion resourcebundle
|
|
|
|
group: ucnv_set # ucnv_getUnicodeSet
|
|
ucnv_set.o
|
|
deps
|
|
uset
|
|
|
|
group: conversion
|
|
ustr_cnv.o
|
|
ucnv.o ucnv_cnv.o ucnv_bld.o ucnv_cb.o ucnv_err.o
|
|
ucnv_ct.o
|
|
ucnvmbcs.o ucnv_ext.o
|
|
ucnvhz.o ucnvisci.o ucnv_lmb.o ucnv2022.o
|
|
ucnvlat1.o ucnv_u7.o ucnv_u8.o ucnv_u16.o ucnv_u32.o
|
|
ucnvbocu.o ucnvscsu.o
|
|
deps
|
|
ucnv_io
|
|
|
|
group: ucnv_io
|
|
ucnv_io.o
|
|
deps
|
|
sort stringenumeration udata
|
|
|
|
group: service_registration
|
|
serv.o servnotf.o servlkf.o servlk.o servls.o servrbf.o servslkf.o
|
|
locutil.o
|
|
deps
|
|
locale_display_names resourcebundle
|
|
hashtable uvector
|
|
|
|
group: ucat # message-catalog-like API
|
|
ucat.o
|
|
deps
|
|
resourcebundle
|
|
|
|
group: locale_display_names
|
|
locdispnames.o # Locale.getDisplayName()
|
|
deps
|
|
locresdata
|
|
|
|
group: locale_display_names2
|
|
locdspnm.o # class LocaleDisplayNames
|
|
deps
|
|
resourcebundle currency simpleformatter unistr_titlecase_brkiter uchar
|
|
|
|
group: currency
|
|
ucurr.o
|
|
deps
|
|
resourcebundle ulist ustring_case_locale
|
|
stdlib_qsort # for ucurr.o (which does not use ICU's uarrsort.o)
|
|
static_unicode_sets usetiter
|
|
|
|
group: icudataver # u_getDataVersion()
|
|
icudataver.o
|
|
deps
|
|
resourcebundle
|
|
|
|
group: locresdata
|
|
# This was intended to collect locale functions that load resource bundle data.
|
|
# See the resourcebundle group about what else loads data.
|
|
locresdata.o
|
|
deps
|
|
resourcebundle
|
|
|
|
group: resbund_cnv # paths are Unicode strings
|
|
resbund_cnv.o
|
|
deps
|
|
conversion resourcebundle ures_cnv
|
|
|
|
group: ures_cnv # ures_openU, path is a Unicode string
|
|
ures_cnv.o
|
|
deps
|
|
conversion resourcebundle
|
|
|
|
group: resourcebundle
|
|
resource.o resbund.o uresbund.o uresdata.o
|
|
locavailable.o
|
|
# uloc_tag.c and uloc_keytype.cpp convert between
|
|
# old ICU/LDML/CLDR locale IDs and newer BCP 47 IDs.
|
|
# They use data from resource bundles for some of the mappings.
|
|
# We might want to generate .h files for that data, to #include rather than load,
|
|
# to minimize dependencies from this code.
|
|
# Then we could separate this higher-level locale ID code from the resource bundle code.
|
|
uloc.o uloc_tag.o uloc_keytype.o
|
|
# Even basic locid.cpp via Locale constructors and Locale::getDefault()
|
|
# depend on canonicalization and data loading.
|
|
# We can probably only disentangle basic locale ID handling from resource bundle code
|
|
# by hardcoding all of the locale ID data.
|
|
locid.o locmap.o wintz.o
|
|
# Do we need class LocaleBased? https://unicode-org.atlassian.net/browse/ICU-8608
|
|
locbased.o
|
|
loclikely.o
|
|
deps
|
|
udata ucol_swp
|
|
sort stringenumeration uhash uvector
|
|
uscript_props propname
|
|
bytesinkutil
|
|
errorcode
|
|
|
|
group: localebuilder
|
|
localebuilder.o
|
|
deps
|
|
resourcebundle
|
|
|
|
group: localematcher
|
|
localematcher.o
|
|
deps
|
|
localebuilder localeprioritylist loclikelysubtags locdistance lsr
|
|
|
|
group: localeprioritylist
|
|
localeprioritylist.o
|
|
deps
|
|
resourcebundle
|
|
|
|
group: locdistance
|
|
locdistance.o
|
|
deps
|
|
loclikelysubtags
|
|
|
|
group: loclikelysubtags
|
|
loclikelysubtags.o
|
|
deps
|
|
lsr resourcebundle
|
|
|
|
group: lsr
|
|
lsr.o
|
|
deps
|
|
platform
|
|
|
|
group: udata
|
|
udata.o ucmndata.o udatamem.o restrace.o
|
|
umapfile.o
|
|
deps
|
|
uhash platform stubdata
|
|
file_io mmap_functions
|
|
icu_utility
|
|
|
|
group: unifiedcache
|
|
unifiedcache.o
|
|
deps
|
|
uhash
|
|
platform
|
|
|
|
group: ucharstriebuilder
|
|
ucharstriebuilder.o
|
|
deps
|
|
ucharstrie stringtriebuilder sort
|
|
|
|
group: ucharstrieiterator
|
|
ucharstrieiterator.o
|
|
deps
|
|
ucharstrie uvector32
|
|
|
|
group: ucharstrie
|
|
ucharstrie.o
|
|
deps
|
|
platform
|
|
|
|
group: bytestriebuilder
|
|
bytestriebuilder.o
|
|
deps
|
|
bytestrie stringtriebuilder sort
|
|
|
|
group: bytestrieiterator
|
|
bytestrieiterator.o
|
|
deps
|
|
bytestrie uvector32
|
|
|
|
group: bytestrie
|
|
bytestrie.o
|
|
deps
|
|
platform
|
|
|
|
group: stringtriebuilder
|
|
stringtriebuilder.o
|
|
deps
|
|
uhash
|
|
|
|
group: propsvec
|
|
propsvec.o
|
|
deps
|
|
sort utrie2_builder
|
|
|
|
group: utrie_swap
|
|
utrie_swap.o
|
|
deps
|
|
udata
|
|
|
|
group: umutablecptrie
|
|
umutablecptrie.o
|
|
deps
|
|
ucptrie
|
|
|
|
group: ucptrie
|
|
ucptrie.o
|
|
deps
|
|
platform
|
|
|
|
group: utrie2_builder
|
|
utrie2_builder.o
|
|
deps
|
|
platform
|
|
utrie2
|
|
utrie # for utrie2_fromUTrie()
|
|
|
|
group: utrie2 # Try to switch users to ucptrie.
|
|
utrie2.o
|
|
deps
|
|
platform
|
|
|
|
group: utrie # Callers should use ucptrie instead.
|
|
utrie.o
|
|
deps
|
|
platform
|
|
|
|
group: hashtable # Maps UnicodeString to value.
|
|
uhash_us.o
|
|
deps
|
|
uhash
|
|
|
|
group: uhash
|
|
uhash.o
|
|
deps
|
|
platform
|
|
|
|
group: ustack
|
|
ustack.o
|
|
deps
|
|
uvector
|
|
|
|
group: uvector
|
|
uvector.o
|
|
deps
|
|
platform
|
|
sort # for UVector::sort()
|
|
|
|
group: uvector32
|
|
uvectr32.o
|
|
deps
|
|
platform
|
|
|
|
group: uvector64
|
|
uvectr64.o
|
|
deps
|
|
platform
|
|
|
|
group: ulist
|
|
ulist.o
|
|
deps
|
|
platform
|
|
|
|
group: sort
|
|
uarrsort.o
|
|
deps
|
|
platform
|
|
|
|
group: ustr_wcs
|
|
ustr_wcs.o
|
|
deps
|
|
platform
|
|
|
|
group: bytesinkutil
|
|
bytesinkutil.o
|
|
deps
|
|
bytestream edits
|
|
|
|
group: bytestream
|
|
bytestream.o
|
|
deps
|
|
platform
|
|
|
|
group: icuplug
|
|
icuplug.o
|
|
deps
|
|
platform
|
|
|
|
group: ucol_swp
|
|
ucol_swp.o
|
|
deps
|
|
utrie_swap
|
|
|
|
group: errorcode # ErrorCode base class
|
|
errorcode.o
|
|
deps
|
|
utypes
|
|
platform
|
|
|
|
group: utypes # u_errorName()
|
|
utypes.o
|
|
deps
|
|
ubsan
|
|
|
|
group: platform
|
|
# Files in the "platform" group.
|
|
cmemory.o uobject.o
|
|
cstring.o cwchar.o uinvchar.o
|
|
charstr.o
|
|
unistr.o # for CharString::appendInvariantChars(const UnicodeString &s, UErrorCode &errorCode)
|
|
appendable.o stringpiece.o ustrtrns.o # for unistr.o
|
|
ustring.o # Other platform files really just need u_strlen
|
|
ustrfmt.o # uprv_itou
|
|
utf_impl.o
|
|
putil.o
|
|
ucln_cmn.o # for putil.o which calls ucln_common_registerCleanup
|
|
udataswp.o # for uinvchar.o; TODO: move uinvchar.o swapper functions to udataswp.o?
|
|
umath.o
|
|
umutex.o sharedobject.o
|
|
utrace.o
|
|
deps
|
|
# The "platform" group has no ICU dependencies.
|
|
PIC system_misc system_debug malloc_functions ubsan
|
|
c_strings c_string_formatting
|
|
floating_point system_locale
|
|
stdio_input readlink_function dir_io
|
|
dlfcn # Move related code into icuplug.c?
|
|
cplusplus
|
|
std_mutex
|
|
|
|
# ICU i18n library ----------------------------------------------------------- #
|
|
|
|
library: i18n
|
|
deps
|
|
region localedata genderinfo charset_detector spoof_detection
|
|
alphabetic_index collation collation_builder string_search
|
|
dayperiodrules
|
|
listformatter
|
|
formatting formattable_cnv regex regex_cnv translit
|
|
double_conversion number_representation number_output numberformatter number_skeletons numberparser
|
|
units_extra unitsformatter
|
|
universal_time_scale
|
|
uclean_i18n
|
|
|
|
group: region
|
|
region.o uregion.o
|
|
deps
|
|
icu_utility
|
|
resourcebundle
|
|
uvector uclean_i18n
|
|
|
|
group: localedata
|
|
ulocdata.o
|
|
deps
|
|
uniset_props resourcebundle
|
|
uset_props # TODO: change to using C++ UnicodeSet, remove this dependency
|
|
|
|
group: genderinfo
|
|
gender.o
|
|
deps
|
|
resourcebundle
|
|
uclean_i18n
|
|
|
|
group: charset_detector
|
|
csdetect.o csmatch.o csr2022.o csrecog.o csrmbcs.o csrsbcs.o csrucode.o csrutf8.o inputext.o ucsdet.o
|
|
deps
|
|
conversion
|
|
uclean_i18n
|
|
|
|
group: spoof_detection
|
|
uspoof.o uspoof_build.o uspoof_conf.o uspoof_impl.o scriptset.o
|
|
deps
|
|
uniset_props regex unorm uscript
|
|
|
|
group: alphabetic_index
|
|
alphaindex.o
|
|
deps
|
|
collation localedata
|
|
uclean_i18n
|
|
|
|
group: collation
|
|
# The collation "runtime" code should not depend on the collation_builder code.
|
|
# For example, loading from resource bundles does not fall back to
|
|
# building from rules.
|
|
collation.o collationcompare.o collationdata.o
|
|
collationdatareader.o collationdatawriter.o
|
|
collationfastlatin.o collationfcd.o collationiterator.o collationkeys.o
|
|
collationroot.o collationrootelements.o collationsets.o
|
|
collationsettings.o collationtailoring.o rulebasedcollator.o
|
|
uitercollationiterator.o utf16collationiterator.o utf8collationiterator.o
|
|
bocsu.o coleitr.o coll.o sortkey.o ucol.o
|
|
ucol_res.o ucol_sit.o ucoleitr.o
|
|
deps
|
|
bytestream normalizer2 resourcebundle service_registration unifiedcache
|
|
ucharstrieiterator uiter ulist uset usetiter uvector32 uvector64 utrie2
|
|
uclean_i18n propname
|
|
|
|
group: collation_builder
|
|
collationbuilder.o collationdatabuilder.o collationfastlatinbuilder.o
|
|
collationruleparser.o collationweights.o
|
|
deps
|
|
canonical_iterator collation ucharstriebuilder uset_props
|
|
|
|
group: string_search
|
|
search.o stsearch.o usearch.o
|
|
deps
|
|
breakiterator collation
|
|
|
|
group: dayperiodrules
|
|
dayperiodrules.o
|
|
deps
|
|
resourcebundle uclean_i18n
|
|
|
|
group: listformatter
|
|
listformatter.o ulistformatter.o
|
|
deps
|
|
uchar resourcebundle simpleformatter format uclean_i18n formatted_value_sbimpl
|
|
|
|
group: double_conversion
|
|
double-conversion-bignum.o double-conversion-double-to-string.o
|
|
double-conversion-bignum-dtoa.o double-conversion-cached-powers.o
|
|
double-conversion-string-to-double.o double-conversion-fast-dtoa.o
|
|
double-conversion-strtod.o
|
|
deps
|
|
platform
|
|
|
|
group: number_representation
|
|
number_decimalquantity.o string_segment.o number_utils.o
|
|
# TODO(ICU-21058) Move formatted_string_builder to its own unit.
|
|
formatted_string_builder.o
|
|
deps
|
|
decnumber double_conversion
|
|
# for trimming whitespace around fields
|
|
static_unicode_sets
|
|
# for data loading; that could be split off
|
|
resourcebundle
|
|
int_functions
|
|
ucase uniset_core
|
|
formatted_value
|
|
|
|
group: number_output
|
|
# PluralRules and FormattedNumber
|
|
number_output.o
|
|
standardplural.o plurrule.o
|
|
deps
|
|
# FormattedNumber internals:
|
|
number_representation format formatted_value_sbimpl
|
|
# PluralRules internals:
|
|
unifiedcache
|
|
# Unit Formatting
|
|
units
|
|
|
|
group: numberformatter
|
|
# ICU 60+ NumberFormatter API
|
|
number_affixutils.o
|
|
number_compact.o number_currencysymbols.o
|
|
number_decimfmtprops.o
|
|
number_fluent.o number_formatimpl.o
|
|
number_grouping.o number_integerwidth.o number_longnames.o
|
|
number_mapper.o number_modifiers.o number_multiplier.o
|
|
number_notation.o number_padding.o
|
|
number_patternmodifier.o number_patternstring.o number_rounding.o
|
|
number_scientific.o number_usageprefs.o
|
|
currpinf.o dcfmtsym.o numsys.o
|
|
numrange_fluent.o numrange_impl.o
|
|
deps
|
|
decnumber double_conversion formattable units unitsformatter
|
|
number_representation number_output
|
|
uclean_i18n common
|
|
|
|
group: number_skeletons
|
|
# Number skeleton support; separated from numberformatter
|
|
number_skeletons.o number_capi.o number_asformat.o numrange_capi.o
|
|
deps
|
|
numberformatter
|
|
units_extra
|
|
|
|
group: numberparser
|
|
numparse_affixes.o numparse_compositions.o numparse_currency.o
|
|
numparse_decimal.o numparse_impl.o numparse_parsednumber.o
|
|
numparse_scientific.o numparse_symbols.o
|
|
numparse_validators.o
|
|
deps
|
|
numberformatter
|
|
|
|
group: formatting
|
|
# TODO: Try to subdivide this ball of wax.
|
|
# currencyformat
|
|
curramt.o currfmt.o
|
|
# pluralrules C API
|
|
upluralrules.o
|
|
# decimalformat
|
|
unumsys.o
|
|
decimfmt.o compactdecimalformat.o
|
|
numfmt.o unum.o
|
|
winnmfmt.o
|
|
# scientificnumberformatter - would depend on dcfmtsym, so would be circular.
|
|
scientificnumberformatter.o
|
|
# rbnf
|
|
nfrs.o nfrule.o nfsubs.o rbnf.o
|
|
# measureformat
|
|
measfmt.o quantityformatter.o
|
|
# dateformat
|
|
astro.o buddhcal.o calendar.o cecal.o chnsecal.o coptccal.o dangical.o ethpccal.o
|
|
gregocal.o gregoimp.o hebrwcal.o indiancal.o islamcal.o japancal.o persncal.o taiwncal.o
|
|
erarules.o # mostly for Japanese eras
|
|
ucal.o
|
|
basictz.o olsontz.o rbtz.o simpletz.o timezone.o tzrule.o tztrans.o
|
|
vtzone.o vzone.o wintzimpl.o zonemeta.o zrule.o ztrans.o
|
|
tzfmt.o tzgnames.o tznames.o tznames_impl.o
|
|
datefmt.o dtfmtsym.o dtitvfmt.o dtitvinf.o dtptngen.o dtrule.o reldtfmt.o reldatefmt.o
|
|
smpdtfmt.o smpdtfst.o udateintervalformat.o udatpg.o windtfmt.o
|
|
udat.o
|
|
tmunit.o tmutamt.o tmutfmt.o
|
|
# messageformat
|
|
choicfmt.o msgfmt.o plurfmt.o selfmt.o umsg.o
|
|
deps
|
|
decnumber formattable format units numberformatter number_skeletons numberparser
|
|
formatted_value_sbimpl
|
|
listformatter
|
|
dayperiodrules
|
|
collation collation_builder # for rbnf
|
|
common
|
|
floating_point # sqrt() for astro.o
|
|
trigonometry # for astro.o
|
|
sharedbreakiterator # for reldatefmt.o
|
|
uclean_i18n
|
|
region
|
|
formatted_value_iterimpl # NOTE (2020-08-27): Not currently used.
|
|
|
|
group: sharedbreakiterator
|
|
sharedbreakiterator.o
|
|
deps
|
|
breakiterator
|
|
|
|
group: units_extra
|
|
measunit_extra.o
|
|
deps
|
|
units bytestriebuilder bytestrie resourcebundle uclean_i18n
|
|
|
|
group: units
|
|
measunit.o currunit.o
|
|
deps
|
|
stringenumeration errorcode
|
|
|
|
group: unitsformatter
|
|
unitsdata.o unitconverter.o complexunitsconverter.o unitsrouter.o
|
|
deps
|
|
resourcebundle units_extra double_conversion number_representation formattable sort
|
|
|
|
group: decnumber
|
|
decContext.o decNumber.o
|
|
deps
|
|
double_conversion uclean_i18n
|
|
|
|
group: formattable
|
|
fmtable.o
|
|
measure.o
|
|
deps
|
|
decnumber number_representation
|
|
|
|
group: formattable_cnv
|
|
fmtable_cnv.o
|
|
deps
|
|
formattable unistr_cnv conversion
|
|
|
|
group: formatted_value
|
|
formattedvalue.o
|
|
deps
|
|
platform
|
|
|
|
group: formatted_value_iterimpl
|
|
formattedval_iterimpl.o
|
|
deps
|
|
formatted_value format uvector32
|
|
|
|
group: formatted_value_sbimpl
|
|
formattedval_sbimpl.o
|
|
deps
|
|
number_representation
|
|
|
|
group: format
|
|
format.o fphdlimp.o fpositer.o ufieldpositer.o
|
|
deps
|
|
resourcebundle parsepos uvector32
|
|
|
|
group: regex_cnv
|
|
uregexc.o
|
|
deps
|
|
regex unistr_cnv
|
|
|
|
group: regex
|
|
regexcmp.o regexst.o regextxt.o regeximp.o rematch.o repattrn.o uregex.o
|
|
deps
|
|
uniset_closure utext uvector32 uvector64 ustack
|
|
breakiterator
|
|
uinit # TODO: Really needed?
|
|
uclean_i18n
|
|
|
|
group: translit
|
|
anytrans.o brktrans.o casetrn.o cpdtrans.o name2uni.o uni2name.o nortrans.o remtrans.o titletrn.o tolowtrn.o toupptrn.o
|
|
esctrn.o unesctrn.o nultrans.o
|
|
funcrepl.o quant.o rbt.o rbt_data.o rbt_pars.o rbt_rule.o rbt_set.o strmatch.o strrepl.o translit.o transreg.o tridpars.o utrans.o
|
|
deps
|
|
common
|
|
formatting # for Transliterator::getDisplayName()
|
|
uclean_i18n
|
|
|
|
group: universal_time_scale
|
|
utmscale.o
|
|
deps
|
|
ubsan
|
|
|
|
group: uclean_i18n
|
|
ucln_in.o
|
|
deps
|
|
platform
|
|
|
|
# ICU io library ------------------------------------------------------------- #
|
|
|
|
library: io
|
|
deps
|
|
ustdio ustream uclean_io
|
|
|
|
group: ustdio
|
|
locbund.o sprintf.o sscanf.o ufile.o ufmt_cmn.o uprintf.o uprntf_p.o uscanf.o uscanf_p.o ustdio.o
|
|
deps
|
|
formatting conversion translit
|
|
uclean_io
|
|
stdio_output
|
|
|
|
group: ustream
|
|
ustream.o
|
|
deps
|
|
unistr_cnv
|
|
uchar # for u_isWhitespace()
|
|
iostream
|
|
|
|
group: uclean_io
|
|
ucln_io.o
|
|
deps
|
|
platform
|