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