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