source: general/genlib/icu.xml@ ab4fdfc

12.1 ken/TL2024 lazarus plabs/newcss rahul/power-profiles-daemon trunk xry111/llvm18
Last change on this file since ab4fdfc was ab4fdfc, checked in by Pierre Labastie <pierre.labastie@…>, 5 months ago

Change all xml decl to encoding=utf-8

  • Property mode set to 100644
File size: 15.8 KB
RevLine 
[ab4fdfc]1<?xml version="1.0" encoding="UTF-8"?>
[627a4af]2<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
3 "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
4 <!ENTITY % general-entities SYSTEM "../../general.ent">
5 %general-entities;
6
[32bd481]7 <!ENTITY icu-download-http
[c6b192c]8 "https://github.com/unicode-org/icu/releases/download/release-&icu-major;-&icu-minor;/icu4c-&icu-major;_&icu-minor;-src.tgz">
[627a4af]9 <!ENTITY icu-download-ftp " ">
[9744d5a]10 <!ENTITY icu-md5sum "71e60b22697c4f35820a1897417dbab4">
[aab2a487]11 <!ENTITY icu-size "25 MB">
[9744d5a]12 <!ENTITY icu-buildsize "339 MB (add 42 MB for tests)">
13 <!ENTITY icu-time "0.5 SBU (Using parallelism=4; add 1.6 SBU for tests)">
[627a4af]14]>
15
16<sect1 id="icu" xreflabel="ICU-&icu-version;">
17 <?dbhtml filename="icu.html"?>
18
19
20 <title>ICU-&icu-version;</title>
21
22 <indexterm zone="icu">
23 <primary sortas="a-ICU">ICU</primary>
24 </indexterm>
25
26 <sect2 role="package">
27 <title>Introduction to ICU</title>
28
[bda3fb1]29 <para>
30 The <application>International Components for Unicode</application> (ICU)
31 package is a mature, widely used set of C/C++ libraries providing Unicode
32 and Globalization support for software applications.
33 <application>ICU</application> is widely portable and gives applications
34 the same results on all platforms.
35 </para>
[627a4af]36
[959d0d2]37 <warning>
38 <para>
[6c378f6]39 Upgrading this package to a new major version (for example, from
40 72.1 to &icu-version;) will require rebuilding of many other
41 packages. If some packages that use the libraries built by
42 icu4c-&icu-major; are rebuilt, they will use the new libraries while
43 current packages will use the previous libraries. If the Linux
44 application loader
45 (<filename class='libraryfile'>/usr/lib/ld-linux-x86-64.so.2</filename>)
46 determines that both the old and new libraries are needed, and a
47 symbol (name of data or function) exists in both versions of the
48 library, all references to the symbol will be resolved to the
49 version appearing earlier in the breadth-first sequence of the
50 dependency graph. This may result in the application failing if
51 the definition of the data or the behavior of the function referred
52 by the symbol differs in two versions. To avoid the issue, users
53 will need to rebuild every package linked to an ICU library as soon
54 as possible once ICU is updated to a new major version.
[959d0d2]55 </para>
56
57 <para>
[e440af5]58 To determine what external libraries are needed (directly or indirectly)
[959d0d2]59 by an application or a library, run:
60 </para>
61
62<screen><userinput>ldd &lt;application or library&gt; </userinput></screen>
63
64 <para>
[e440af5]65 or to see only the directly needed libraries:
[959d0d2]66 </para>
67
68<screen><userinput>readelf -d &lt;application or library&gt; | grep NEEDED</userinput></screen>
69
70 </warning>
71
[a9779b9]72 &lfs120_checked;
[bd32b6fd]73
[627a4af]74 <bridgehead renderas="sect3">Package Information</bridgehead>
75 <itemizedlist spacing="compact">
76 <listitem>
[bda3fb1]77 <para>
78 Download (HTTP): <ulink url="&icu-download-http;"/>
79 </para>
[627a4af]80 </listitem>
81 <listitem>
[bda3fb1]82 <para>
83 Download (FTP): <ulink url="&icu-download-ftp;"/>
84 </para>
[627a4af]85 </listitem>
86 <listitem>
[bda3fb1]87 <para>
88 Download MD5 sum: &icu-md5sum;
89 </para>
[627a4af]90 </listitem>
91 <listitem>
[bda3fb1]92 <para>
93 Download size: &icu-size;
94 </para>
[627a4af]95 </listitem>
96 <listitem>
[bda3fb1]97 <para>
98 Estimated disk space required: &icu-buildsize;
99 </para>
[627a4af]100 </listitem>
101 <listitem>
[bda3fb1]102 <para>
103 Estimated build time: &icu-time;
104 </para>
[627a4af]105 </listitem>
106 </itemizedlist>
[38290b4]107<!--
[17f72f6]108 <bridgehead renderas="sect3">Additional Downloads</bridgehead>
109 <itemizedlist spacing="compact">
110 <listitem>
111 <para>
112 Required patch:
113 <ulink url="&patch-root;/icu4c-&icu-version;-fix_enumeration-1.patch"/>
114 </para>
115 </listitem>
116 </itemizedlist>
[38290b4]117-->
[d20238fb]118 <bridgehead renderas="sect3">ICU Dependencies</bridgehead>
119
120 <bridgehead renderas="sect4">Optional</bridgehead>
121 <para role="optional">
[d89ea78]122 <xref linkend="llvm"/> (with Clang), and
123 <xref linkend="doxygen"/> (for documentation)
[d20238fb]124 </para>
125
[627a4af]126 </sect2>
127
128 <sect2 role="installation">
129 <title>Installation of ICU</title>
[22e8a2af]130
[4afbfbd]131 <note>
132 <para>
133 This package expands to the directory
134 <filename class='directory'>icu</filename>.
135 </para>
136 </note>
137
[22e8a2af]138 <note>
139 <para>
140 If <command>clang++</command> is available, it will be used in the
141 mistaken belief that <command>g++</command> might not support C++11,
142 even though <command>configure</command> has tested for that. If
143 using <command>g++</command> there will be an unnecessary warning at
144 the end of <command>configure</command>. Building with
145 <command>g++</command> also takes longer than the estimated SBU shown.
146 </para>
147 </note>
[38290b4]148<!--
[17f72f6]149 <para>
150 First, fix a regression in version 58.1:
151 </para>
152
153<screen><userinput>patch -p1 -i ../icu4c-&icu-version;-fix_enumeration-1.patch</userinput></screen>
[38290b4]154-->
[bda3fb1]155 <para>
156 Install <application>ICU</application> by running the following commands:
157 </para>
[627a4af]158
[86f56c1]159<!-- Review comments at:
160https://chromium.googlesource.com/chromium/src/+/e58fa0ba66272c5f28828b15d06c7e42a9882b3b
161To see if the following prebuild command is appropriate for BLFS:
162sed '/fdef U_CHARSET_I/i#define U_CHARSET_IS_UTF8 1' -i common/unicode/platform.h
163-->
[c71d0ce]164<screen><userinput>cd source &amp;&amp;
[55781c2]165
[c71d0ce]166./configure --prefix=/usr &amp;&amp;
[627a4af]167make</userinput></screen>
168
[bda3fb1]169 <para>
170 To test the results, issue: <command>make check</command>.
171 </para>
[627a4af]172
[bda3fb1]173 <para>
174 Now, as the <systemitem class="username">root</systemitem> user:
175 </para>
[627a4af]176
177<screen role="root"><userinput>make install</userinput></screen>
178 </sect2>
179
180 <sect2 role="content">
181 <title>Contents</title>
182
183 <segmentedlist>
184 <segtitle>Installed Programs</segtitle>
185 <segtitle>Installed Libraries</segtitle>
186 <segtitle>Installed Directories</segtitle>
187
188 <seglistitem>
[bda3fb1]189 <seg>
[55781c2]190 derb, escapesrc, genbrk, genccode, gencfu, gencmn, gencnval,
191 gendict, gennorm2,
[3bc05c57]192 genrb, gensprep, icu-config, icuexportdata, icuinfo, icupkg,
193 makeconv, pkgdata, and uconv
[bda3fb1]194 </seg>
195 <seg>
[55781c2]196 libicudata.so, libicui18n.so, libicuio.so,
[aaa73cfd]197 libicutest.so, libicutu.so, and libicuuc.so
[bda3fb1]198 </seg>
199 <seg>
[355495ce]200 /usr/include/unicode,
[aaa73cfd]201 /usr/lib/icu, and
[355495ce]202 /usr/share/icu
[bda3fb1]203 </seg>
[627a4af]204 </seglistitem>
205 </segmentedlist>
206
207 <variablelist>
208 <bridgehead renderas="sect3">Short Descriptions</bridgehead>
209 <?dbfo list-presentation="list"?>
210 <?dbhtml list-presentation="table"?>
211
212 <varlistentry id="derb">
213 <term><command>derb</command></term>
214 <listitem>
[bda3fb1]215 <para>
[4c24eb0a]216 disassembles a resource bundle
[bda3fb1]217 </para>
[627a4af]218 <indexterm zone="icu derb">
219 <primary sortas="b-derb">derb</primary>
220 </indexterm>
221 </listitem>
222 </varlistentry>
223
[55781c2]224 <varlistentry id="escapesrc">
225 <term><command>escapesrc</command></term>
226 <listitem>
227 <para>
228 converts <quote>\u</quote> escaped characters into unicode
[4c24eb0a]229 characters
[55781c2]230 </para>
231 <indexterm zone="icu escapesrc">
232 <primary sortas="b-escapesrc">escapesrc</primary>
233 </indexterm>
234 </listitem>
235 </varlistentry>
236
[627a4af]237 <varlistentry id="genbrk">
238 <term><command>genbrk</command></term>
239 <listitem>
[bda3fb1]240 <para>
241 compiles ICU break iteration rules source files into binary data
[4c24eb0a]242 files
[bda3fb1]243 </para>
[627a4af]244 <indexterm zone="icu genbrk">
245 <primary sortas="b-genbrk">genbrk</primary>
246 </indexterm>
247 </listitem>
248 </varlistentry>
249
[4abd884]250 <varlistentry id="genccode">
251 <term><command>genccode</command></term>
252 <listitem>
253 <para>
254 generates C or platform specific assembly code from an ICU data
[4c24eb0a]255 file
[4abd884]256 </para>
257 <indexterm zone="icu genccode">
258 <primary sortas="b-genccode">genccode</primary>
259 </indexterm>
260 </listitem>
261 </varlistentry>
262
[bda3fb1]263 <varlistentry id="gencfu">
[627a4af]264 <term><command>gencfu</command></term>
265 <listitem>
[bda3fb1]266 <para>
267 reads in Unicode confusable character definitions and writes out the
[4c24eb0a]268 binary data
[bda3fb1]269 </para>
[627a4af]270 <indexterm zone="icu gencfu">
271 <primary sortas="b-gencfu">gencfu</primary>
272 </indexterm>
273 </listitem>
[bda3fb1]274 </varlistentry>
[627a4af]275
[4abd884]276 <varlistentry id="gencmn">
277 <term><command>gencmn</command></term>
278 <listitem>
279 <para>
[4c24eb0a]280 generates an ICU memory-mappable data file
[4abd884]281 </para>
282 <indexterm zone="icu gencmn">
283 <primary sortas="b-gencmn">gencmn</primary>
284 </indexterm>
285 </listitem>
286 </varlistentry>
287
[627a4af]288 <varlistentry id="gencnval">
289 <term><command>gencnval</command></term>
290 <listitem>
[bda3fb1]291 <para>
[4c24eb0a]292 compiles the converter's aliases file
[bda3fb1]293 </para>
[627a4af]294 <indexterm zone="icu gencnval">
295 <primary sortas="b-gencnval">gencnval</primary>
296 </indexterm>
297 </listitem>
298 </varlistentry>
299
[4abd884]300 <varlistentry id="gendict">
301 <term><command>gendict</command></term>
[627a4af]302 <listitem>
[bda3fb1]303 <para>
[4c24eb0a]304 compiles word lists into ICU string trie dictionaries
[bda3fb1]305 </para>
[4abd884]306 <indexterm zone="icu gendict">
307 <primary sortas="b-gendict">gendict</primary>
[627a4af]308 </indexterm>
309 </listitem>
310 </varlistentry>
311
[7e2908c]312 <varlistentry id="gennorm2">
313 <term><command>gennorm2</command></term>
314 <listitem>
315 <para>
[4c24eb0a]316 builds binary data files with Unicode normalization data
[7e2908c]317 </para>
318 <indexterm zone="icu gennorm2">
319 <primary sortas="b-gennorm2">gennorm2</primary>
320 </indexterm>
321 </listitem>
322 </varlistentry>
323
[627a4af]324 <varlistentry id="genrb">
325 <term><command>genrb</command></term>
326 <listitem>
[bda3fb1]327 <para>
[4c24eb0a]328 compiles a resource bundle
[bda3fb1]329 </para>
[627a4af]330 <indexterm zone="icu genrb">
331 <primary sortas="b-genrb">genrb</primary>
332 </indexterm>
333 </listitem>
334 </varlistentry>
335
[4abd884]336 <varlistentry id="gensprep">
337 <term><command>gensprep</command></term>
338 <listitem>
339 <para>
[4c24eb0a]340 compiles StringPrep data from filtered RFC 3454 files
[4abd884]341 </para>
342 <indexterm zone="icu gensprep">
343 <primary sortas="b-gensprep">gensprep</primary>
344 </indexterm>
345 </listitem>
346 </varlistentry>
347
[627a4af]348 <varlistentry id="icu-config">
349 <term><command>icu-config</command></term>
350 <listitem>
[bda3fb1]351 <para>
[4c24eb0a]352 outputs ICU build options
[bda3fb1]353 </para>
[627a4af]354 <indexterm zone="icu icu-config">
355 <primary sortas="b-icu-config">icu-config</primary>
356 </indexterm>
357 </listitem>
358 </varlistentry>
359
[bda3fb1]360 <varlistentry id="icuinfo">
361 <term><command>icuinfo</command></term>
362 <listitem>
363 <para>
[4c24eb0a]364 outputs configuration information about the current ICU
[bda3fb1]365 </para>
366 <indexterm zone="icu icuinfo">
367 <primary sortas="b-icuinfo">icuinfo</primary>
368 </indexterm>
369 </listitem>
370 </varlistentry>
371
[4abd884]372 <varlistentry id="icupkg">
373 <term><command>icupkg</command></term>
374 <listitem>
375 <para>
[4c24eb0a]376 extracts or modifies an ICU .dat archive
[4abd884]377 </para>
378 <indexterm zone="icu icupkg">
379 <primary sortas="b-icupkg">icupkg</primary>
380 </indexterm>
381 </listitem>
382 </varlistentry>
383
[627a4af]384 <varlistentry id="makeconv">
385 <term><command>makeconv</command></term>
386 <listitem>
[bda3fb1]387 <para>
[4c24eb0a]388 compiles a converter table
[bda3fb1]389 </para>
[627a4af]390 <indexterm zone="icu makeconv">
391 <primary sortas="b-makeconv">makeconv</primary>
392 </indexterm>
393 </listitem>
394 </varlistentry>
395
396 <varlistentry id="pkgdata">
397 <term><command>pkgdata</command></term>
398 <listitem>
[bda3fb1]399 <para>
[4c24eb0a]400 packages data for use by ICU
[bda3fb1]401 </para>
[627a4af]402 <indexterm zone="icu pkgdata">
403 <primary sortas="b-pkgdata">pkgdata</primary>
404 </indexterm>
405 </listitem>
406 </varlistentry>
407
408 <varlistentry id="uconv">
409 <term><command>uconv</command></term>
410 <listitem>
[bda3fb1]411 <para>
[4c24eb0a]412 converts data from one encoding to another
[bda3fb1]413 </para>
[627a4af]414 <indexterm zone="icu uconv">
415 <primary sortas="b-uconv">uconv</primary>
416 </indexterm>
417 </listitem>
418 </varlistentry>
419
420 <varlistentry id="libicudata">
[4abd884]421 <term><filename class="libraryfile">libicudata.so</filename></term>
[627a4af]422 <listitem>
[bda3fb1]423 <para>
[4c24eb0a]424 is the data library
[bda3fb1]425 </para>
[627a4af]426 <indexterm zone="icu libicudata">
[099ebaf]427 <primary sortas="c-libicudata">libicudata.so</primary>
[627a4af]428 </indexterm>
429 </listitem>
430 </varlistentry>
431
432 <varlistentry id="libicui18n">
[4abd884]433 <term><filename class="libraryfile">libicui18n.so</filename></term>
[627a4af]434 <listitem>
[bda3fb1]435 <para>
[4c24eb0a]436 is the internationalization (i18n) library
[bda3fb1]437 </para>
[627a4af]438 <indexterm zone="icu libicui18n">
[099ebaf]439 <primary sortas="c-libicui18n">libicui18n.so</primary>
[627a4af]440 </indexterm>
441 </listitem>
442 </varlistentry>
443
444 <varlistentry id="libicuio">
[4abd884]445 <term><filename class="libraryfile">libicuio.so</filename></term>
[627a4af]446 <listitem>
[bda3fb1]447 <para>
[4c24eb0a]448 is the ICU I/O (unicode stdio) library
[bda3fb1]449 </para>
[627a4af]450 <indexterm zone="icu libicuio">
[099ebaf]451 <primary sortas="c-libicuio">libicuio.so</primary>
[627a4af]452 </indexterm>
453 </listitem>
454 </varlistentry>
455
[22e8a2af]456<!-- <varlistentry id="libicule">
[4abd884]457 <term><filename class="libraryfile">libicule.so</filename></term>
[627a4af]458 <listitem>
[bda3fb1]459 <para>
460 is the layout engine.
461 </para>
[627a4af]462 <indexterm zone="icu libicule">
[099ebaf]463 <primary sortas="c-libicule">libicule.so</primary>
[627a4af]464 </indexterm>
465 </listitem>
466 </varlistentry>
467
468 <varlistentry id="libiculx">
[4abd884]469 <term><filename class="libraryfile">libiculx.so</filename></term>
[627a4af]470 <listitem>
[bda3fb1]471 <para>
472 is the layout extensions engine.
473 </para>
[627a4af]474 <indexterm zone="icu libiculx">
[099ebaf]475 <primary sortas="c-libiculx">libiculx.so</primary>
[627a4af]476 </indexterm>
477 </listitem>
[22e8a2af]478 </varlistentry>-->
[627a4af]479
[bda3fb1]480 <varlistentry id="libicutest">
[4abd884]481 <term><filename class="libraryfile">libicutest.so</filename></term>
[bda3fb1]482 <listitem>
483 <para>
[4c24eb0a]484 is the test library
[bda3fb1]485 </para>
486 <indexterm zone="icu libicutest">
487 <primary sortas="c-libicutest">libicutest.so</primary>
488 </indexterm>
489 </listitem>
490 </varlistentry>
491
[627a4af]492 <varlistentry id="libicutu">
[4abd884]493 <term><filename class="libraryfile">libicutu.so</filename></term>
[627a4af]494 <listitem>
[bda3fb1]495 <para>
[4c24eb0a]496 is the tool utility library
[bda3fb1]497 </para>
[627a4af]498 <indexterm zone="icu libicutu">
[099ebaf]499 <primary sortas="c-libicutu">libicutu.so</primary>
[627a4af]500 </indexterm>
501 </listitem>
502 </varlistentry>
503
504 <varlistentry id="libicuuc">
[4abd884]505 <term><filename class="libraryfile">libicuuc.so</filename></term>
[627a4af]506 <listitem>
[bda3fb1]507 <para>
[4c24eb0a]508 is the common library
[bda3fb1]509 </para>
[627a4af]510 <indexterm zone="icu libicuuc">
[099ebaf]511 <primary sortas="c-libicuuc">libicuuc.so</primary>
[627a4af]512 </indexterm>
513 </listitem>
514 </varlistentry>
[355495ce]515
[627a4af]516 </variablelist>
[355495ce]517
[627a4af]518 </sect2>
[355495ce]519
[627a4af]520</sect1>
Note: See TracBrowser for help on using the repository browser.