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