-# Copyright (C) 2011-2014, International Business Machines
+# -*- icu-dependencies -*-
+# Copyright (C) 2011-2015, International Business Machines
# Corporation and others. All Rights Reserved.
#
# file name: dependencies.txt
group: pthread
pthread_mutex_init pthread_mutex_destroy pthread_mutex_lock pthread_mutex_unlock
- pthread_cond_wait pthread_cond_broadcast
+ pthread_cond_wait pthread_cond_broadcast pthread_cond_signal
group: system_locale
getenv
# Libraries and groups that the common library depends on.
date_interval
breakiterator
- uts46 filterednormalizer2 normalizer2 canonical_iterator
+ uts46 filterednormalizer2 normalizer2 loadednormalizer2 canonical_iterator
normlzr unormcmp unorm
idna2003 stringprep
stringenumeration
- unistr_core unistr_props unistr_case unistr_case_locale unistr_titlecase_brkiter unistr_cnv
+ unistr_props unistr_case unistr_case_locale unistr_titlecase_brkiter unistr_cnv
uniset_core uniset_props uniset_closure usetiter uset uset_props
uiter
ucasemap ucasemap_titlecase_brkiter script_runs
messagepattern simplepatternformatter
icu_utility icu_utility_with_props
ustr_wcs
- lrucache
+ unifiedcache
ucharstriebuilder ucharstrieiterator
bytestriebuilder bytestrieiterator
hashtable uhash uvector uvector32 uvector64 ulist
uhash ustack utrie
ucharstrie bytestrie
normlzr # for dictbe.o, should switch to Normalizer2
+ uvector32 # for dictbe.o
group: unormcmp # unorm_compare()
unormcmp.o
group: uts46
uts46.o
deps
- normalizer2 punycode
+ normalizer2 loadednormalizer2 punycode
uchar # for u_charType() (via U_GET_GC_MASK(c))
ubidi_props # for u_charDirection() & ubidi_getJoiningType()
- unistr_core
- stringpiece bytestream
+ bytestream
group: filterednormalizer2
filterednormalizer2.o
deps
normalizer2 usetiter
+group: loadednormalizer2
+ loadednormalizer2impl.o
+ deps
+ normalizer2
+
group: normalizer2
normalizer2.o
normalizer2impl.o
deps
uniset_core
- unistr_core
utrie2_builder # for building CanonIterData & FCD
uvector # for building CanonIterData
uhash # for the instance cache
uniset.o bmpset.o unisetspan.o
deps
patternprops
- unistr_core icu_utility
+ icu_utility
uvector
group: icu_utility_with_props
group: icu_utility
util.o
deps
- unistr_core patternprops
+ patternprops platform
group: utext
utext.o
deps
- unistr_core ucase
+ ucase
group: stringenumeration
ustrenum.o uenum.o
deps
- unistr_core
+ platform
group: schriter
schriter.o
# schriter and uchriter into separate groups.
uchriter.o
deps
- chariter unistr_core
+ chariter
group: chariter
chariter.o
group: unistr_cnv
unistr_cnv.o
deps
- conversion unistr_core
-
-group: unistr_core
- unistr.o
- deps
- ustrtrns appendable
+ conversion
group: uscript
uscript.o # uscript_getCode() accepts a locale ID and loads its script code data
deps
- propname resourcebundle
+ propname loclikely
group: uscript_props # script metadata properties
uscript_props.o
deps
- unistr_core platform
+ platform
group: uprops
uprops.o
deps
- normalizer2
+ normalizer2 loadednormalizer2
uchar
ubidi_props
unistr_case ustring_case # only for case folding
group: messagepattern # for MessageFormat and tools
messagepattern.o
deps
- patternprops unistr_core
+ patternprops platform
group: simplepatternformatter
simplepatternformatter.o
deps
- unistr_core
+ platform
group: patternprops
patternprops.o
group: unistr_props
unistr_props.o
deps
- unistr_core uchar
+ uchar platform
group: unistr_case_locale
unistr_case_locale.o
group: unistr_case
unistr_case.o
deps
- unistr_core
ustring_case
group: unistr_titlecase_brkiter
group: ucase
ucase.o
deps
- unistr_core utrie2
+ utrie2
group: uinit
uinit.o
hashtable uvector
group: listformatter
- listformatter.o
+ listformatter.o ulistformatter.o
deps
resourcebundle simplepatternformatter
group: loclikely
loclikely.o
deps
- resourcebundle
+ resourcebundle uscript_props propname
group: locresdata
# This was intended to collect locale functions that load resource bundle data.
group: resourcebundle
resbund.o uresbund.o uresdata.o
locavailable.o
- # uloc_tag.c converts between old ICU/LDML/CLDR locale IDs and newer BCP 47 IDs.
- # It uses data from resource bundles for some of the mappings.
- # We might want to generate .c files for that data, to #include rather than load,
+ # 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.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
locbased.o
deps
udata ucol_swp
- sort stringenumeration uhash
+ sort stringenumeration uhash uvector
group: udata
udata.o ucmndata.o udatamem.o
umapfile.o
deps
- uhash charstr stringpiece platform stubdata
+ uhash platform stubdata
file_io mmap_functions
-group: lrucache
- lrucache.o
+group: unifiedcache
+ unifiedcache.o
deps
uhash
platform
ucharstriebuilder.o
deps
ucharstrie stringtriebuilder sort
- unistr_core
group: ucharstrieiterator
ucharstrieiterator.o
deps
- ucharstrie unistr_core uvector32
+ ucharstrie uvector32
group: ucharstrie
ucharstrie.o
bytestriebuilder.o
deps
bytestrie stringtriebuilder sort
- charstr stringpiece
group: bytestrieiterator
bytestrieiterator.o
deps
- bytestrie charstr uvector32
+ bytestrie uvector32
group: bytestrie
bytestrie.o
group: hashtable # Maps UnicodeString to value.
uhash_us.o
deps
- unistr_core
uhash
group: uhash
group: ustr_wcs
ustr_wcs.o
- deps
- ustrtrns # on platforms where wchar_t is UTF-32
- # platform -- on other platforms
-
-group: ustrtrns
- ustrtrns.o
deps
platform
-group: charstr
- charstr.o
- deps
- unistr_core # for CharString::appendInvariantChars(const UnicodeString &s, UErrorCode &errorCode)
- platform
-
-group: stringpiece
- stringpiece.o
- deps
- PIC c_strings
-
group: bytestream
bytestream.o
deps
platform
-group: appendable
- appendable.o
- deps
- platform
-
group: icuplug
icuplug.o
deps
# 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
bocsu.o coleitr.o coll.o sortkey.o ucol.o
ucol_res.o ucol_sit.o ucoleitr.o
deps
- bytestream normalizer2 resourcebundle service_registration
+ bytestream normalizer2 resourcebundle service_registration unifiedcache
ucharstrieiterator uiter ulist uset usetiter uvector32 uvector64
- uclean_i18n
+ uclean_i18n propname
group: collation_builder
- # The CollationBaseDataBuilder is only called from genuca, and maybe from tests.
- # It is in the i18n library so that it gets maintained and refactored together with
- # related code.
- collationbasedatabuilder.o
collationbuilder.o collationdatabuilder.o collationfastlatinbuilder.o
collationruleparser.o collationweights.o
deps
# decimalformat
dcfmtsym.o decfmtst.o decimfmt.o decimalformatpattern.o compactdecimalformat.o
numfmt.o numsys.o unumsys.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
floating_point # sqrt() for astro.o
trigonometry # for astro.o
stdlib_qsort # for ucurr.o (which does not use ICU's uarrsort.o)
+ sharedbreakiterator # for reldatefmt.o
uclean_i18n
+group: sharedbreakiterator
+ sharedbreakiterator.o
+ deps
+ breakiterator
+
group: digitlist
digitlst.o decContext.o decNumber.o
deps
- charstr stringpiece unistr_core
+ platform
group: formattable
fmtable.o
measure.o
deps
- unistr_core digitlist stringpiece charstr
+ digitlist
group: formattable_cnv
fmtable_cnv.o
formattable unistr_cnv conversion
group: format
- format.o fphdlimp.o fpositer.o
+ format.o fphdlimp.o fpositer.o ufieldpositer.o
deps
- resourcebundle parsepos unistr_core uvector32
+ resourcebundle parsepos uvector32
group: pluralrules
plurrule.o upluralrules.o
deps
digitlist # plurals depend on decimals
- patternprops resourcebundle uvector uvector32 lrucache
+ patternprops resourcebundle uvector uvector32 unifiedcache
unistr_case_locale
uclean_i18n
deps
uniset_closure utext uvector32 uvector64 ustack
breakiterator
- unistr_core
uinit # TODO: Really needed?
uclean_i18n
formatting # for Transliterator::getDisplayName()
uclean_i18n
+# This is off by default, UCONFIG_NO_FILTERED_BREAK_ITERATION=0
+# so, you will see warnings:
+#Info: group filteredbreakiterator does not need to depend on breakiterator
+#Info: group filteredbreakiterator does not need to depend on ucharstriebuilder
group: filteredbreakiterator
filteredbrk.o
deps
breakiterator ucharstriebuilder
+ # depends on global new/delete and STL. Not recording these here.
+ # http://bugs.icu-project.org/trac/ticket/10990
group: universal_time_scale
utmscale.o