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