]> git.saurik.com Git - apple/icu.git/blame - icuSources/test/depstest/dependencies.txt
ICU-57131.0.1.tar.gz
[apple/icu.git] / icuSources / test / depstest / dependencies.txt
CommitLineData
b331163b 1# -*- icu-dependencies -*-
2ca993e8 2# Copyright (C) 2011-2016, International Business Machines
4388f060
A
3# Corporation and others. All Rights Reserved.
4#
5# file name: dependencies.txt
6#
7# created on: 2011may26
8# created by: Markus W. Scherer
57a6839d
A
9#
10# See http://site.icu-project.org/processes/release/tasks/healthy-code#TOC-Check-library-dependencies
4388f060
A
11
12# Standard library symbols used by ICU --------------------------------------- #
13
14system_symbols:
15 deps
16 # C
17 PIC system_debug malloc_functions c_strings c_string_formatting
18 floating_point trigonometry
19 stdlib_qsort
20 pthread system_locale
21 stdio_input stdio_output file_io readlink_function dir_io mmap_functions dlfcn
22 # C++
23 cplusplus iostream
24
25group: PIC
26 # Position-Independent Code (-fPIC) requires a Global Offset Table.
27 _GLOBAL_OFFSET_TABLE_
28
29group: system_debug
30 __assert_fail __stack_chk_fail
31
32group: malloc_functions
33 free malloc realloc
34
35group: c_strings
51004dcb 36 isspace isdigit
4388f060
A
37 __ctype_b_loc # for <ctype.h>
38 # We must not use tolower and toupper because they are system-locale-sensitive (Turkish i).
39 strlen strchr strrchr strstr strcmp strncmp strcpy strncpy strcat strncat
40 memcmp memcpy memmove memset
41 # Additional symbols in an optimized build.
42 __strcpy_chk __strncpy_chk __strcat_chk __strncat_chk
51004dcb 43 __rawmemchr __memcpy_chk __memmove_chk __memset_chk
4388f060
A
44
45group: c_string_formatting
46 atoi atol strtod strtol strtoul
47 sprintf
48 # Additional symbols in an optimized build.
49 __sprintf_chk
50
51group: floating_point
51004dcb 52 abs fabs floor ceil modf fmod log pow sqrt
4388f060
A
53
54group: trigonometry
55 acos asin atan atan2 cos sin tan
56 # Additional symbols in an optimized build.
57 sincos
58
59group: stdlib_qsort
60 qsort
61
62group: pthread
63 pthread_mutex_init pthread_mutex_destroy pthread_mutex_lock pthread_mutex_unlock
b331163b 64 pthread_cond_wait pthread_cond_broadcast pthread_cond_signal
4388f060
A
65
66group: system_locale
67 getenv
68 nl_langinfo setlocale
69 gettimeofday localtime_r tzname tzset __timezone
70
71group: stdio_input
72 fopen fclose fgets fread fseek ftell rewind feof fileno
73 # Additional symbols in an optimized build.
74 __fgets_chk __fread_chk
75
76group: stdio_output
77 fflush fwrite
78 stdout
79
80group: file_io
81 open close stat
82 # Additional symbols in an optimized build.
83 __xstat
84
85group: readlink_function
86 readlink # putil.cpp uprv_tzname() calls this in a hack to get the time zone name
87
88group: dir_io
89 opendir closedir readdir # for a hack to get the time zone name
90
91group: mmap_functions # for memory-mapped data loading
92 mmap munmap
93
94group: dlfcn
95 dlopen dlclose dlsym # called by putil.o only for icuplug.o
96
97group: cplusplus
98 __dynamic_cast
99 # The compiler generates references to the global operator delete
100 # even when no code actually uses it.
101 # ICU must not _use_ the global operator delete.
102 "operator delete(void*)"
103 # ICU also must not use the global operator new.
104 # "operator new[](unsigned long)"
51004dcb 105
4388f060
A
106 # _Unwind_Resume is related to exceptions:
107 # "A call to this routine is inserted as the end of a landing pad that performs cleanup,
108 # but does not resume normal execution. It causes unwinding to proceed further."
109 # (Linux Standard Base Specification 1.3)
110 # Even though ICU does not actually use (nor handle) exceptions.
111 _Unwind_Resume
51004dcb
A
112 # std::terminate() looks similar to _Unwind_Resume:
113 # "Calls the current terminate handler."
114 std::terminate()
4388f060
A
115
116group: iostream
117 "std::basic_ios<char, std::char_traits<char> >::clear(std::_Ios_Iostate)"
118 "std::basic_ios<char, std::char_traits<char> >::eof() const"
119 "std::basic_ios<char, std::char_traits<char> >::fail() const"
120 "std::basic_ostream<char, std::char_traits<char> >& std::operator<< <std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*)"
121 std::istream::get()
122 std::istream::putback(char)
123 # Additional symbols in an optimized build.
124 "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)"
125
126# ICU common library --------------------------------------------------------- #
127
128library: stubdata
129 stubdata.o # Exports icudt48_dat.
130
131library: common
132 # All files in the common library are listed in its dependencies.
133 deps
134 # Libraries and groups that the common library depends on.
2ca993e8 135 pluralmap
4388f060
A
136 date_interval
137 breakiterator
b331163b 138 uts46 filterednormalizer2 normalizer2 loadednormalizer2 canonical_iterator
57a6839d 139 normlzr unormcmp unorm
4388f060
A
140 idna2003 stringprep
141 stringenumeration
b331163b 142 unistr_props unistr_case unistr_case_locale unistr_titlecase_brkiter unistr_cnv
2ca993e8 143 cstr
4388f060
A
144 uniset_core uniset_props uniset_closure usetiter uset uset_props
145 uiter
146 ucasemap ucasemap_titlecase_brkiter script_runs
51004dcb 147 uprops ubidi_props ucase uscript uscript_props
4388f060 148 ubidi ushape
51004dcb 149 listformatter
4388f060
A
150 resourcebundle service_registration resbund_cnv ures_cnv icudataver ucat
151 loclikely
2ca993e8
A
152 currency
153 locale_display_names2
4388f060 154 conversion converter_selector ucnv_set ucnvdisp
2ca993e8 155 messagepattern simpleformatter
4388f060
A
156 icu_utility icu_utility_with_props
157 ustr_wcs
b331163b 158 unifiedcache
4388f060
A
159 ucharstriebuilder ucharstrieiterator
160 bytestriebuilder bytestrieiterator
161 hashtable uhash uvector uvector32 uvector64 ulist
162 propsvec utrie2 utrie2_builder
163 sort
164 uinit utypes errorcode
165 icuplug
166 platform
167
2ca993e8
A
168group: pluralmap
169 # TODO: Move to i18n library, ticket #11926.
170 pluralmap.o
171 deps
172 platform
173
4388f060
A
174group: date_interval # class DateInterval
175 dtintrv.o
176 deps
177 platform
178
179group: breakiterator
180 # We could try to split off a breakiterator_builder group,
181 # but we still need uniset_props for code like in the ThaiBreakEngine constructor
182 # which does
183 # fThaiWordSet.applyPattern(UNICODE_STRING_SIMPLE("[[:Thai:]&[:LineBreak=SA:]]"), status)
184 brkiter.o brkeng.o ubrk.o
185 rbbi.o rbbinode.o rbbiscan.o rbbisetb.o rbbistbl.o rbbitblb.o
186 rbbidata.o rbbirb.o
51004dcb 187 dictionarydata.o dictbe.o
2ca993e8
A
188 # BreakIterator::makeInstance() factory implementation makes for circular dependency
189 # between BreakIterator base and FilteredBreakIteratorBuilder.
190 filteredbrk.o
4388f060
A
191 deps
192 resourcebundle service_registration
193 schriter utext uniset_core uniset_props
194 uhash ustack utrie
51004dcb 195 ucharstrie bytestrie
2ca993e8 196 ucharstriebuilder # for filteredbrk.o
51004dcb 197 normlzr # for dictbe.o, should switch to Normalizer2
b331163b 198 uvector32 # for dictbe.o
4388f060
A
199
200group: unormcmp # unorm_compare()
201 unormcmp.o
202 deps
203 filterednormalizer2
204 uniset_props # for uniset_getUnicode32Instance()
205 ucase
206
4388f060
A
207group: unorm # old normalization C API
208 unorm.o
209 deps
210 filterednormalizer2
211 uniset_props # for uniset_getUnicode32Instance()
212 uiter
213
214group: normlzr # old Normalizer C++ class
215 normlzr.o
216 deps
217 filterednormalizer2
218 uniset_props # for uniset_getUnicode32Instance()
219 schriter
220
221group: uts46
222 uts46.o
223 deps
b331163b 224 normalizer2 loadednormalizer2 punycode
4388f060
A
225 uchar # for u_charType() (via U_GET_GC_MASK(c))
226 ubidi_props # for u_charDirection() & ubidi_getJoiningType()
b331163b 227 bytestream
4388f060
A
228
229group: filterednormalizer2
230 filterednormalizer2.o
231 deps
232 normalizer2
233
234group: idna2003
235 uidna.o
236 deps
237 stringprep punycode
238
239group: stringprep
240 usprep.o
241 deps
242 unorm # could change to use filterednormalizer2 directly for Unicode 3.2 normalization
243 normalizer2
244 ubidi_props
245
246group: canonical_iterator
247 caniter.o
248 deps
249 normalizer2 usetiter
250
b331163b
A
251group: loadednormalizer2
252 loadednormalizer2impl.o
253 deps
254 normalizer2
255
4388f060
A
256group: normalizer2
257 normalizer2.o
258 normalizer2impl.o
259 deps
260 uniset_core
4388f060
A
261 utrie2_builder # for building CanonIterData & FCD
262 uvector # for building CanonIterData
263 uhash # for the instance cache
264 udata
265
266group: punycode
267 punycode.o
268 deps
269 platform
270
271group: uset_props
272 uset_props.o
273 deps
274 uniset_closure uniset_props uniset_core
275
276group: uset
277 uset.o
278 deps
279 uniset_core
280
281group: uniset_closure
282 uniset_closure.o
283 deps
284 uniset_core unistr_case_locale unistr_titlecase_brkiter
285
286group: uniset_props
287 uniset_props.o ruleiter.o
288 deps
289 uniset_core uprops unistr_case
290 parsepos
291 resourcebundle
292 propname unames
293
294group: parsepos
295 parsepos.o
296 deps
297 platform
298
299group: usetiter # UnicodeSetIterator
300 usetiter.o
301 deps
302 uniset_core
303
304group: uniset_core
305 unifilt.o unifunct.o
306 uniset.o bmpset.o unisetspan.o
307 deps
308 patternprops
b331163b 309 icu_utility
4388f060
A
310 uvector
311
312group: icu_utility_with_props
313 util_props.o
314 deps
315 icu_utility uchar ucase
316
317group: icu_utility
318 util.o
319 deps
b331163b 320 patternprops platform
4388f060
A
321
322group: utext
323 utext.o
324 deps
b331163b 325 ucase
4388f060
A
326
327group: stringenumeration
328 ustrenum.o uenum.o
329 deps
b331163b 330 platform
4388f060
A
331
332group: schriter
333 schriter.o
334 # The UCharCharacterIterator implements virtual void getText(UnicodeString& result)
335 # so it depends on UnicodeString, therefore it makes little sense to split
336 # schriter and uchriter into separate groups.
337 uchriter.o
338 deps
b331163b 339 chariter
4388f060
A
340
341group: chariter
342 chariter.o
343 deps
344 platform
345
346group: uiter
347 uiter.o
348 deps
349 platform
350
351group: unistr_cnv
352 unistr_cnv.o
353 deps
b331163b 354 conversion
4388f060 355
2ca993e8
A
356group: cstr
357 cstr.o
358 deps
359 unistr_cnv
360
4388f060
A
361group: uscript
362 uscript.o # uscript_getCode() accepts a locale ID and loads its script code data
363 deps
b331163b 364 propname loclikely
4388f060 365
51004dcb
A
366group: uscript_props # script metadata properties
367 uscript_props.o
368 deps
b331163b 369 platform
51004dcb 370
4388f060
A
371group: uprops
372 uprops.o
373 deps
b331163b 374 normalizer2 loadednormalizer2
4388f060
A
375 uchar
376 ubidi_props
377 unistr_case ustring_case # only for case folding
378 ucase
379
380group: propname
381 propname.o
382 deps
383 bytestrie
384
385group: unames
386 unames.o
387 deps
388 uchar udata
389
390group: script_runs
391 usc_impl.o
392 deps
393 uchar
394
395group: uchar
396 uchar.o
397 deps
398 utrie2
399
400group: messagepattern # for MessageFormat and tools
401 messagepattern.o
402 deps
b331163b 403 patternprops platform
4388f060 404
2ca993e8
A
405group: simpleformatter
406 simpleformatter.o
57a6839d 407 deps
b331163b 408 platform
57a6839d 409
4388f060
A
410group: patternprops
411 patternprops.o
412 deps
413 PIC
414
415group: ushape
416 ushape.o
417 deps
418 ubidi_props
419
420group: ubidi
421 ubidi.o ubidiln.o ubidiwrt.o
422 deps
423 ubidi_props
424 uchar # for doWriteReverse() which uses IS_COMBINING(u_charType(c))
425
426group: ubidi_props
427 ubidi_props.o
428 deps
429 utrie2
430
431group: unistr_props
432 unistr_props.o
433 deps
b331163b 434 uchar platform
4388f060
A
435
436group: unistr_case_locale
437 unistr_case_locale.o
438 deps
439 unistr_case ustring_case_locale
440
441group: unistr_case
442 unistr_case.o
443 deps
4388f060
A
444 ustring_case
445
446group: unistr_titlecase_brkiter
447 unistr_titlecase_brkiter.o
448 deps
449 ustr_titlecase_brkiter
450
451group: ustr_titlecase_brkiter
452 ustr_titlecase_brkiter.o
453 deps
454 breakiterator
455 ustring_case_locale ucase
456
457group: ucasemap_titlecase_brkiter
458 ucasemap_titlecase_brkiter.o
459 deps
460 ucasemap breakiterator utext
461
462group: ucasemap
463 ucasemap.o
464 deps
465 ustring_case
466 resourcebundle # uloc_getName() etc.
467
468group: ustring_case_locale
469 ustrcase_locale.o
470 deps
471 ustring_case
472 resourcebundle # for uloc_getDefault()
473
474group: ustring_case
475 ustrcase.o
476 deps
477 ucase
478
479group: ucase
480 ucase.o
481 deps
b331163b 482 utrie2
4388f060
A
483
484group: uinit
485 uinit.o
486 deps
487 ucnv_io icuplug
488
489group: converter_selector
490 ucnvsel.o
491 deps
492 conversion propsvec utrie2_builder uset ucnv_set
493
494group: ucnvdisp # ucnv_getDisplayName()
495 ucnvdisp.o
496 deps
497 conversion resourcebundle
498
499group: ucnv_set # ucnv_getUnicodeSet
500 ucnv_set.o
501 deps
502 uset
503
504group: conversion
505 ustr_cnv.o
506 ucnv.o ucnv_cnv.o ucnv_bld.o ucnv_cb.o ucnv_err.o
507 ucnv_ct.o
508 ucnvmbcs.o ucnv_ext.o
509 ucnvhz.o ucnvisci.o ucnv_lmb.o ucnv2022.o
510 ucnvlat1.o ucnv_u7.o ucnv_u8.o ucnv_u16.o ucnv_u32.o
511 ucnvbocu.o ucnvscsu.o
512 deps
513 ucnv_io
514
515group: ucnv_io
516 ucnv_io.o
517 deps
518 sort stringenumeration udata
519
520group: service_registration
521 serv.o servnotf.o servlkf.o servlk.o servls.o servrbf.o servslkf.o
522 locutil.o
523 deps
524 locale_display_names resourcebundle
525 hashtable uvector
526
51004dcb 527group: listformatter
b331163b 528 listformatter.o ulistformatter.o
51004dcb 529 deps
2ca993e8 530 resourcebundle simpleformatter
51004dcb 531
4388f060
A
532group: ucat # message-catalog-like API
533 ucat.o
534 deps
535 resourcebundle
536
537group: locale_display_names
2ca993e8 538 locdispnames.o # Locale.getDisplayName()
4388f060
A
539 deps
540 locresdata
541
2ca993e8
A
542group: locale_display_names2
543 locdspnm.o # class LocaleDisplayNames
544 deps
545 resourcebundle currency simpleformatter unistr_titlecase_brkiter uchar
546
547group: currency
548 ucurr.o
549 deps
550 loclikely resourcebundle ulist ustring_case_locale
551 stdlib_qsort # for ucurr.o (which does not use ICU's uarrsort.o)
552
4388f060
A
553group: icudataver # u_getDataVersion()
554 icudataver.o
555 deps
556 resourcebundle
557
558group: loclikely
559 loclikely.o
560 deps
b331163b 561 resourcebundle uscript_props propname
4388f060
A
562
563group: locresdata
564 # This was intended to collect locale functions that load resource bundle data.
565 # See the resourcebundle group about what else loads data.
566 locresdata.o
567 deps
568 resourcebundle
569
570group: resbund_cnv # paths are Unicode strings
571 resbund_cnv.o
572 deps
573 conversion resourcebundle ures_cnv
574
575group: ures_cnv # ures_openU, path is a Unicode string
576 ures_cnv.o
577 deps
578 conversion resourcebundle
579
580group: resourcebundle
2ca993e8 581 resource.o resbund.o uresbund.o uresdata.o
4388f060 582 locavailable.o
b331163b
A
583 # uloc_tag.c and uloc_keytype.cpp convert between
584 # old ICU/LDML/CLDR locale IDs and newer BCP 47 IDs.
585 # They use data from resource bundles for some of the mappings.
586 # We might want to generate .h files for that data, to #include rather than load,
4388f060
A
587 # to minimize dependencies from this code.
588 # Then we could separate this higher-level locale ID code from the resource bundle code.
b331163b 589 uloc.o uloc_tag.o uloc_keytype.o
4388f060
A
590 # Even basic locid.cpp via Locale constructors and Locale::getDefault()
591 # depend on canonicalization and data loading.
592 # We can probably only disentangle basic locale ID handling from resource bundle code
593 # by hardcoding all of the locale ID data.
594 locid.o locmap.o wintz.o
595 # Do we need class LocaleBased? http://bugs.icu-project.org/trac/ticket/8608
596 locbased.o
597 deps
598 udata ucol_swp
b331163b 599 sort stringenumeration uhash uvector
4388f060
A
600
601group: udata
602 udata.o ucmndata.o udatamem.o
603 umapfile.o
604 deps
b331163b 605 uhash platform stubdata
4388f060
A
606 file_io mmap_functions
607
b331163b
A
608group: unifiedcache
609 unifiedcache.o
57a6839d
A
610 deps
611 uhash
612 platform
613
4388f060
A
614group: ucharstriebuilder
615 ucharstriebuilder.o
616 deps
617 ucharstrie stringtriebuilder sort
4388f060
A
618
619group: ucharstrieiterator
620 ucharstrieiterator.o
621 deps
b331163b 622 ucharstrie uvector32
4388f060
A
623
624group: ucharstrie
625 ucharstrie.o
626 deps
627 platform
628
629group: bytestriebuilder
630 bytestriebuilder.o
631 deps
632 bytestrie stringtriebuilder sort
4388f060
A
633
634group: bytestrieiterator
635 bytestrieiterator.o
636 deps
b331163b 637 bytestrie uvector32
4388f060
A
638
639group: bytestrie
640 bytestrie.o
641 deps
642 platform
643
644group: stringtriebuilder
645 stringtriebuilder.o
646 deps
647 uhash
648
649group: propsvec
650 propsvec.o
651 deps
652 sort utrie2_builder
653
654group: utrie2_builder
655 utrie2_builder.o
656 deps
657 platform
658 utrie2
659 utrie # for utrie2_fromUTrie()
660 ucol_swp # for utrie_swap()
661
662group: utrie2
663 utrie2.o
664 deps
665 platform
666
667group: utrie # Callers should use utrie2 instead.
668 utrie.o
669 deps
670 platform
671
672group: hashtable # Maps UnicodeString to value.
673 uhash_us.o
674 deps
4388f060
A
675 uhash
676
677group: uhash
678 uhash.o
679 deps
680 platform
681
682group: ustack
683 ustack.o
684 deps
685 uvector
686
687group: uvector
688 uvector.o
689 deps
690 platform
691 sort # for UVector::sort()
692
693group: uvector32
694 uvectr32.o
695 deps
696 platform
697
698group: uvector64
699 uvectr64.o
700 deps
701 platform
702
703group: ulist
704 ulist.o
705 deps
706 platform
707
708group: sort
709 uarrsort.o
710 deps
711 platform
712
713group: ustr_wcs
714 ustr_wcs.o
4388f060
A
715 deps
716 platform
717
4388f060
A
718group: bytestream
719 bytestream.o
720 deps
721 platform
722
4388f060
A
723group: icuplug
724 icuplug.o
725 deps
726 platform
727
728group: ucol_swp
729 ucol_swp.o
730 deps
57a6839d 731 utrie2 # Format version 4 uses UTrie2.
4388f060
A
732
733group: errorcode # ErrorCode base class
734 errorcode.o
735 deps
736 utypes
737 platform
738
739group: utypes # u_errorName()
740 utypes.o
741
742group: platform
743 # Files in the "platform" group.
744 cmemory.o uobject.o
745 cstring.o cwchar.o uinvchar.o
b331163b
A
746 charstr.o
747 unistr.o # for CharString::appendInvariantChars(const UnicodeString &s, UErrorCode &errorCode)
748 appendable.o stringpiece.o ustrtrns.o # for unistr.o
4388f060
A
749 ustring.o # Other platform files really just need u_strlen
750 ustrfmt.o # uprv_itou
751 utf_impl.o
752 putil.o
753 ucln_cmn.o # for putil.o which calls ucln_common_registerCleanup
754 udataswp.o # for uinvchar.o; TODO: move uinvchar.o swapper functions to udataswp.o?
755 umath.o
57a6839d 756 umutex.o sharedobject.o
4388f060
A
757 utrace.o
758 deps
759 # The "platform" group has no ICU dependencies.
760 PIC system_debug malloc_functions c_strings c_string_formatting
761 floating_point pthread system_locale
762 stdio_input readlink_function dir_io
763 dlfcn # Move related code into icuplug.c?
764 cplusplus
765
766# ICU i18n library ----------------------------------------------------------- #
767
768library: i18n
769 deps
51004dcb 770 region localedata genderinfo charset_detector spoof_detection
57a6839d 771 alphabetic_index collation collation_builder string_search
2ca993e8 772 dayperiodrules
57a6839d 773 formatting formattable_cnv regex regex_cnv translit
4388f060
A
774 universal_time_scale
775 uclean_i18n
776
51004dcb 777group: region
57a6839d 778 region.o uregion.o
51004dcb
A
779 deps
780 formatting # Temporary, TODO: Ticket #9982 class Region should use low-level ASCII-integer functions, and probably be moved to the common library.
781 resourcebundle
782 uvector uclean_i18n
783
4388f060
A
784group: localedata
785 ulocdata.o
786 deps
787 uniset_props resourcebundle
788 uset_props # TODO: change to using C++ UnicodeSet, remove this dependency
57a6839d 789 loclikely
4388f060 790
51004dcb
A
791group: genderinfo
792 gender.o
793 deps
794 resourcebundle
795 uclean_i18n
796
4388f060
A
797group: charset_detector
798 csdetect.o csmatch.o csr2022.o csrecog.o csrmbcs.o csrsbcs.o csrucode.o csrutf8.o inputext.o ucsdet.o
799 deps
800 conversion
801 uclean_i18n
802
803group: spoof_detection
804 uspoof.o uspoof_build.o uspoof_conf.o uspoof_impl.o uspoof_wsconf.o
51004dcb 805 identifier_info.o scriptset.o
4388f060
A
806 deps
807 uniset_props regex unorm uscript
808
809group: alphabetic_index
810 alphaindex.o
811 deps
812 collation localedata
813 uclean_i18n
814
815group: collation
57a6839d
A
816 # The collation "runtime" code should not depend on the collation_builder code.
817 # For example, loading from resource bundles does not fall back to
818 # building from rules.
819 collation.o collationcompare.o collationdata.o
820 collationdatareader.o collationdatawriter.o
821 collationfastlatin.o collationfcd.o collationiterator.o collationkeys.o
822 collationroot.o collationrootelements.o collationsets.o
823 collationsettings.o collationtailoring.o rulebasedcollator.o
824 uitercollationiterator.o utf16collationiterator.o utf8collationiterator.o
825 bocsu.o coleitr.o coll.o sortkey.o ucol.o
826 ucol_res.o ucol_sit.o ucoleitr.o
827 deps
b331163b 828 bytestream normalizer2 resourcebundle service_registration unifiedcache
57a6839d 829 ucharstrieiterator uiter ulist uset usetiter uvector32 uvector64
b331163b 830 uclean_i18n propname
57a6839d
A
831
832group: collation_builder
57a6839d
A
833 collationbuilder.o collationdatabuilder.o collationfastlatinbuilder.o
834 collationruleparser.o collationweights.o
835 deps
836 canonical_iterator collation ucharstriebuilder uset_props
837
838group: string_search
51004dcb 839 search.o stsearch.o usearch.o
4388f060 840 deps
57a6839d 841 breakiterator collation
4388f060 842
2ca993e8
A
843group: dayperiodrules
844 dayperiodrules.o
845 deps
846 resourcebundle uclean_i18n
847
4388f060
A
848group: formatting
849 # TODO: Try to subdivide this ball of wax.
4388f060
A
850 # currencyformat
851 curramt.o currfmt.o currpinf.o currunit.o
852 # decimalformat
2ca993e8
A
853 dcfmtsym.o numsys.o unumsys.o
854 affixpatternparser.o decimfmtimpl.o digitaffix.o digitaffixesandpadding.o
855 digitformatter.o digitgrouping.o digitinterval.o
856 pluralaffix.o precision.o smallintformatter.o valueformatter.o
857 decfmtst.o decimfmt.o decimalformatpattern.o compactdecimalformat.o
858 numfmt.o unum.o
859 winnmfmt.o
b331163b
A
860 # scientificnumberformatter - would depend on dcfmtsym, so would be circular.
861 scientificnumberformatter.o
4388f060
A
862 # rbnf
863 nfrs.o nfrule.o nfsubs.o rbnf.o
864 # measureformat
57a6839d 865 measfmt.o measunit.o quantityformatter.o
4388f060 866 # dateformat
51004dcb 867 astro.o buddhcal.o calendar.o cecal.o chnsecal.o coptccal.o dangical.o ethpccal.o
4388f060
A
868 gregocal.o gregoimp.o hebrwcal.o indiancal.o islamcal.o japancal.o persncal.o taiwncal.o
869 ucal.o
870 basictz.o olsontz.o rbtz.o simpletz.o timezone.o tzrule.o tztrans.o
871 vtzone.o vzone.o wintzimpl.o zonemeta.o zrule.o ztrans.o
872 tzfmt.o tzgnames.o tznames.o tznames_impl.o
57a6839d 873 datefmt.o dtfmtsym.o dtitvfmt.o dtitvinf.o dtptngen.o dtrule.o reldtfmt.o reldatefmt.o
4388f060
A
874 smpdtfmt.o smpdtfst.o udateintervalformat.o udatpg.o windtfmt.o
875 udat.o
876 tmunit.o tmutamt.o tmutfmt.o
877 # messageformat
878 choicfmt.o msgfmt.o plurfmt.o selfmt.o umsg.o
879 deps
880 digitlist formattable format
2ca993e8 881 dayperiodrules pluralrules
57a6839d 882 collation collation_builder # for rbnf
4388f060
A
883 common
884 floating_point # sqrt() for astro.o
885 trigonometry # for astro.o
b331163b 886 sharedbreakiterator # for reldatefmt.o
4388f060
A
887 uclean_i18n
888
b331163b
A
889group: sharedbreakiterator
890 sharedbreakiterator.o
891 deps
892 breakiterator
893
4388f060 894group: digitlist
2ca993e8 895 digitlst.o decContext.o decNumber.o visibledigits.o
4388f060 896 deps
b331163b 897 platform
4388f060
A
898
899group: formattable
900 fmtable.o
901 measure.o
902 deps
b331163b 903 digitlist
4388f060
A
904
905group: formattable_cnv
906 fmtable_cnv.o
907 deps
908 formattable unistr_cnv conversion
909
910group: format
b331163b 911 format.o fphdlimp.o fpositer.o ufieldpositer.o
4388f060 912 deps
b331163b 913 resourcebundle parsepos uvector32
4388f060
A
914
915group: pluralrules
2ca993e8 916 standardplural.o plurrule.o upluralrules.o
4388f060 917 deps
57a6839d 918 digitlist # plurals depend on decimals
b331163b 919 patternprops resourcebundle uvector uvector32 unifiedcache
4388f060 920 unistr_case_locale
57a6839d 921 uclean_i18n
4388f060
A
922
923group: regex_cnv
924 uregexc.o
925 deps
926 regex unistr_cnv
927
928group: regex
929 regexcmp.o regexst.o regextxt.o regeximp.o rematch.o repattrn.o uregex.o
930 deps
931 uniset_closure utext uvector32 uvector64 ustack
932 breakiterator
4388f060
A
933 uinit # TODO: Really needed?
934 uclean_i18n
935
936group: translit
937 anytrans.o brktrans.o casetrn.o cpdtrans.o name2uni.o uni2name.o nortrans.o remtrans.o titletrn.o tolowtrn.o toupptrn.o
938 esctrn.o unesctrn.o nultrans.o
939 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
940 deps
941 common
942 formatting # for Transliterator::getDisplayName()
943 uclean_i18n
944
945group: universal_time_scale
946 utmscale.o
947
948group: uclean_i18n
949 ucln_in.o
950 deps
951 platform
952
953# ICU io library ------------------------------------------------------------- #
954
955library: io
956 deps
957 ustdio ustream uclean_io
958
959group: ustdio
960 locbund.o sprintf.o sscanf.o ufile.o ufmt_cmn.o uprintf.o uprntf_p.o uscanf.o uscanf_p.o ustdio.o
961 deps
962 formatting conversion translit
963 uclean_io
964 stdio_output
965
966group: ustream
967 ustream.o
968 deps
969 unistr_cnv
970 uchar # for u_isWhitespace()
971 iostream
972
973group: uclean_io
974 ucln_io.o
975 deps
976 platform