]>
Commit | Line | Data |
---|---|---|
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 | ||
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 | |
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 | 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 | ||
154 | group: date_interval # class DateInterval | |
155 | dtintrv.o | |
156 | deps | |
157 | platform | |
158 | ||
159 | group: 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 | ||
174 | group: unormcmp # unorm_compare() | |
175 | unormcmp.o | |
176 | deps | |
177 | filterednormalizer2 | |
178 | uniset_props # for uniset_getUnicode32Instance() | |
179 | ucase | |
180 | ||
181 | group: unorm_it # UNormIterator | |
182 | unorm_it.o | |
183 | deps | |
184 | unorm uiter | |
185 | ||
186 | group: unorm # old normalization C API | |
187 | unorm.o | |
188 | deps | |
189 | filterednormalizer2 | |
190 | uniset_props # for uniset_getUnicode32Instance() | |
191 | uiter | |
192 | ||
193 | group: normlzr # old Normalizer C++ class | |
194 | normlzr.o | |
195 | deps | |
196 | filterednormalizer2 | |
197 | uniset_props # for uniset_getUnicode32Instance() | |
198 | schriter | |
199 | ||
200 | group: 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 | ||
209 | group: filterednormalizer2 | |
210 | filterednormalizer2.o | |
211 | deps | |
212 | normalizer2 | |
213 | ||
214 | group: idna2003 | |
215 | uidna.o | |
216 | deps | |
217 | stringprep punycode | |
218 | ||
219 | group: 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 | ||
226 | group: canonical_iterator | |
227 | caniter.o | |
228 | deps | |
229 | normalizer2 usetiter | |
230 | ||
231 | group: 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 | ||
242 | group: punycode | |
243 | punycode.o | |
244 | deps | |
245 | platform | |
246 | ||
247 | group: uset_props | |
248 | uset_props.o | |
249 | deps | |
250 | uniset_closure uniset_props uniset_core | |
251 | ||
252 | group: uset | |
253 | uset.o | |
254 | deps | |
255 | uniset_core | |
256 | ||
257 | group: uniset_closure | |
258 | uniset_closure.o | |
259 | deps | |
260 | uniset_core unistr_case_locale unistr_titlecase_brkiter | |
261 | ||
262 | group: uniset_props | |
263 | uniset_props.o ruleiter.o | |
264 | deps | |
265 | uniset_core uprops unistr_case | |
266 | parsepos | |
267 | resourcebundle | |
268 | propname unames | |
269 | ||
270 | group: parsepos | |
271 | parsepos.o | |
272 | deps | |
273 | platform | |
274 | ||
275 | group: usetiter # UnicodeSetIterator | |
276 | usetiter.o | |
277 | deps | |
278 | uniset_core | |
279 | ||
280 | group: 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 | ||
288 | group: icu_utility_with_props | |
289 | util_props.o | |
290 | deps | |
291 | icu_utility uchar ucase | |
292 | ||
293 | group: icu_utility | |
294 | util.o | |
295 | deps | |
296 | unistr_core patternprops | |
297 | ||
298 | group: utext | |
299 | utext.o | |
300 | deps | |
301 | unistr_core ucase | |
302 | ||
303 | group: stringenumeration | |
304 | ustrenum.o uenum.o | |
305 | deps | |
306 | unistr_core | |
307 | ||
308 | group: 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 | ||
317 | group: chariter | |
318 | chariter.o | |
319 | deps | |
320 | platform | |
321 | ||
322 | group: uiter | |
323 | uiter.o | |
324 | deps | |
325 | platform | |
326 | ||
327 | group: unistr_cnv | |
328 | unistr_cnv.o | |
329 | deps | |
330 | conversion unistr_core | |
331 | ||
332 | group: unistr_core | |
333 | unistr.o | |
334 | deps | |
335 | ustrtrns appendable | |
336 | ||
337 | group: uscript | |
338 | uscript.o # uscript_getCode() accepts a locale ID and loads its script code data | |
339 | deps | |
340 | propname resourcebundle | |
341 | ||
342 | group: 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 | ||
351 | group: propname | |
352 | propname.o | |
353 | deps | |
354 | bytestrie | |
355 | ||
356 | group: unames | |
357 | unames.o | |
358 | deps | |
359 | uchar udata | |
360 | ||
361 | group: script_runs | |
362 | usc_impl.o | |
363 | deps | |
364 | uchar | |
365 | ||
366 | group: uchar | |
367 | uchar.o | |
368 | deps | |
369 | utrie2 | |
370 | ||
371 | group: messagepattern # for MessageFormat and tools | |
372 | messagepattern.o | |
373 | deps | |
374 | patternprops unistr_core | |
375 | ||
376 | group: patternprops | |
377 | patternprops.o | |
378 | deps | |
379 | PIC | |
380 | ||
381 | group: ushape | |
382 | ushape.o | |
383 | deps | |
384 | ubidi_props | |
385 | ||
386 | group: 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 | ||
392 | group: ubidi_props | |
393 | ubidi_props.o | |
394 | deps | |
395 | utrie2 | |
396 | ||
397 | group: unistr_props | |
398 | unistr_props.o | |
399 | deps | |
400 | unistr_core uchar | |
401 | ||
402 | group: unistr_case_locale | |
403 | unistr_case_locale.o | |
404 | deps | |
405 | unistr_case ustring_case_locale | |
406 | ||
407 | group: unistr_case | |
408 | unistr_case.o | |
409 | deps | |
410 | unistr_core | |
411 | ustring_case | |
412 | ||
413 | group: unistr_titlecase_brkiter | |
414 | unistr_titlecase_brkiter.o | |
415 | deps | |
416 | ustr_titlecase_brkiter | |
417 | ||
418 | group: ustr_titlecase_brkiter | |
419 | ustr_titlecase_brkiter.o | |
420 | deps | |
421 | breakiterator | |
422 | ustring_case_locale ucase | |
423 | ||
424 | group: ucasemap_titlecase_brkiter | |
425 | ucasemap_titlecase_brkiter.o | |
426 | deps | |
427 | ucasemap breakiterator utext | |
428 | ||
429 | group: ucasemap | |
430 | ucasemap.o | |
431 | deps | |
432 | ustring_case | |
433 | resourcebundle # uloc_getName() etc. | |
434 | ||
435 | group: ustring_case_locale | |
436 | ustrcase_locale.o | |
437 | deps | |
438 | ustring_case | |
439 | resourcebundle # for uloc_getDefault() | |
440 | ||
441 | group: ustring_case | |
442 | ustrcase.o | |
443 | deps | |
444 | ucase | |
445 | ||
446 | group: ucase | |
447 | ucase.o | |
448 | deps | |
449 | unistr_core utrie2 | |
450 | ||
451 | group: uinit | |
452 | uinit.o | |
453 | deps | |
454 | ucnv_io icuplug | |
455 | ||
456 | group: converter_selector | |
457 | ucnvsel.o | |
458 | deps | |
459 | conversion propsvec utrie2_builder uset ucnv_set | |
460 | ||
461 | group: ucnvdisp # ucnv_getDisplayName() | |
462 | ucnvdisp.o | |
463 | deps | |
464 | conversion resourcebundle | |
465 | ||
466 | group: ucnv_set # ucnv_getUnicodeSet | |
467 | ucnv_set.o | |
468 | deps | |
469 | uset | |
470 | ||
471 | group: 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 | ||
482 | group: ucnv_io | |
483 | ucnv_io.o | |
484 | deps | |
485 | sort stringenumeration udata | |
486 | ||
487 | group: 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 | ||
494 | group: ucat # message-catalog-like API | |
495 | ucat.o | |
496 | deps | |
497 | resourcebundle | |
498 | ||
499 | group: locale_display_names | |
500 | locdispnames.o | |
501 | deps | |
502 | locresdata | |
503 | ||
504 | group: icudataver # u_getDataVersion() | |
505 | icudataver.o | |
506 | deps | |
507 | resourcebundle | |
508 | ||
509 | group: loclikely | |
510 | loclikely.o | |
511 | deps | |
512 | resourcebundle | |
513 | ||
514 | group: 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 | ||
521 | group: resbund_cnv # paths are Unicode strings | |
522 | resbund_cnv.o | |
523 | deps | |
524 | conversion resourcebundle ures_cnv | |
525 | ||
526 | group: ures_cnv # ures_openU, path is a Unicode string | |
527 | ures_cnv.o | |
528 | deps | |
529 | conversion resourcebundle | |
530 | ||
531 | group: 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 | ||
551 | group: 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 | ||
558 | group: ucharstriebuilder | |
559 | ucharstriebuilder.o | |
560 | deps | |
561 | ucharstrie stringtriebuilder sort | |
562 | unistr_core | |
563 | ||
564 | group: ucharstrieiterator | |
565 | ucharstrieiterator.o | |
566 | deps | |
567 | ucharstrie unistr_core uvector32 | |
568 | ||
569 | group: ucharstrie | |
570 | ucharstrie.o | |
571 | deps | |
572 | platform | |
573 | ||
574 | group: bytestriebuilder | |
575 | bytestriebuilder.o | |
576 | deps | |
577 | bytestrie stringtriebuilder sort | |
578 | charstr stringpiece | |
579 | ||
580 | group: bytestrieiterator | |
581 | bytestrieiterator.o | |
582 | deps | |
583 | bytestrie charstr uvector32 | |
584 | ||
585 | group: bytestrie | |
586 | bytestrie.o | |
587 | deps | |
588 | platform | |
589 | ||
590 | group: stringtriebuilder | |
591 | stringtriebuilder.o | |
592 | deps | |
593 | uhash | |
594 | ||
595 | group: propsvec | |
596 | propsvec.o | |
597 | deps | |
598 | sort utrie2_builder | |
599 | ||
600 | group: utrie2_builder | |
601 | utrie2_builder.o | |
602 | deps | |
603 | platform | |
604 | utrie2 | |
605 | utrie # for utrie2_fromUTrie() | |
606 | ucol_swp # for utrie_swap() | |
607 | ||
608 | group: utrie2 | |
609 | utrie2.o | |
610 | deps | |
611 | platform | |
612 | ||
613 | group: utrie # Callers should use utrie2 instead. | |
614 | utrie.o | |
615 | deps | |
616 | platform | |
617 | ||
618 | group: hashtable # Maps UnicodeString to value. | |
619 | uhash_us.o | |
620 | deps | |
621 | unistr_core | |
622 | uhash | |
623 | ||
624 | group: uhash | |
625 | uhash.o | |
626 | deps | |
627 | platform | |
628 | ||
629 | group: ustack | |
630 | ustack.o | |
631 | deps | |
632 | uvector | |
633 | ||
634 | group: uvector | |
635 | uvector.o | |
636 | deps | |
637 | platform | |
638 | sort # for UVector::sort() | |
639 | ||
640 | group: uvector32 | |
641 | uvectr32.o | |
642 | deps | |
643 | platform | |
644 | ||
645 | group: uvector64 | |
646 | uvectr64.o | |
647 | deps | |
648 | platform | |
649 | ||
650 | group: ulist | |
651 | ulist.o | |
652 | deps | |
653 | platform | |
654 | ||
655 | group: sort | |
656 | uarrsort.o | |
657 | deps | |
658 | platform | |
659 | ||
660 | group: ustr_wcs | |
661 | ustr_wcs.o | |
662 | deps | |
663 | ustrtrns # on platforms where wchar_t is UTF-32 | |
664 | # platform -- on other platforms | |
665 | ||
666 | group: ustrtrns | |
667 | ustrtrns.o | |
668 | deps | |
669 | platform | |
670 | ||
671 | group: charstr | |
672 | charstr.o | |
673 | deps | |
674 | unistr_core # for CharString::appendInvariantChars(const UnicodeString &s, UErrorCode &errorCode) | |
675 | platform | |
676 | ||
677 | group: stringpiece | |
678 | stringpiece.o | |
679 | deps | |
680 | PIC c_strings | |
681 | ||
682 | group: bytestream | |
683 | bytestream.o | |
684 | deps | |
685 | platform | |
686 | ||
687 | group: appendable | |
688 | appendable.o | |
689 | deps | |
690 | platform | |
691 | ||
692 | group: icuplug | |
693 | icuplug.o | |
694 | deps | |
695 | platform | |
696 | ||
697 | group: ucol_swp | |
698 | ucol_swp.o | |
699 | deps | |
700 | platform | |
701 | ||
702 | group: errorcode # ErrorCode base class | |
703 | errorcode.o | |
704 | deps | |
705 | utypes | |
706 | platform | |
707 | ||
708 | group: utypes # u_errorName() | |
709 | utypes.o | |
710 | ||
711 | group: 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 | ||
734 | library: 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 | ||
741 | group: localedata | |
742 | ulocdata.o | |
743 | deps | |
744 | uniset_props resourcebundle | |
745 | uset_props # TODO: change to using C++ UnicodeSet, remove this dependency | |
746 | ||
747 | group: 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 | ||
753 | group: 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 | ||
758 | group: alphabetic_index | |
759 | alphaindex.o | |
760 | deps | |
761 | collation localedata | |
762 | uclean_i18n | |
763 | ||
764 | group: 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 | ||
772 | group: 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 | ||
810 | group: digitlist | |
811 | digitlst.o decContext.o decNumber.o | |
812 | deps | |
813 | charstr stringpiece unistr_core | |
814 | ||
815 | group: formattable | |
816 | fmtable.o | |
817 | measure.o | |
818 | deps | |
819 | unistr_core digitlist stringpiece charstr | |
820 | ||
821 | group: formattable_cnv | |
822 | fmtable_cnv.o | |
823 | deps | |
824 | formattable unistr_cnv conversion | |
825 | ||
826 | group: format | |
827 | format.o fphdlimp.o fpositer.o | |
828 | deps | |
829 | resourcebundle parsepos unistr_core uvector32 | |
830 | ||
831 | group: pluralrules | |
832 | plurrule.o upluralrules.o | |
833 | deps | |
834 | patternprops resourcebundle uvector | |
835 | unistr_case_locale | |
836 | ||
837 | group: regex_cnv | |
838 | uregexc.o | |
839 | deps | |
840 | regex unistr_cnv | |
841 | ||
842 | group: 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 | ||
851 | group: 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 | ||
860 | group: universal_time_scale | |
861 | utmscale.o | |
862 | ||
863 | group: uclean_i18n | |
864 | ucln_in.o | |
865 | deps | |
866 | platform | |
867 | ||
868 | # ICU io library ------------------------------------------------------------- # | |
869 | ||
870 | library: io | |
871 | deps | |
872 | ustdio ustream uclean_io | |
873 | ||
874 | group: 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 | ||
881 | group: ustream | |
882 | ustream.o | |
883 | deps | |
884 | unistr_cnv | |
885 | uchar # for u_isWhitespace() | |
886 | iostream | |
887 | ||
888 | group: uclean_io | |
889 | ucln_io.o | |
890 | deps | |
891 | platform |