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