1PKGDATA(1) ICU 73.2 Manual PKGDATA(1)
2
3
4
6 pkgdata - package data for use by ICU
7
9 pkgdata [ -h, -?, --help ] [ -v, --verbose ] [ -c, --copyright | -C,
10 --comment comment ] [ -m, --mode mode ] -p, --name name -O, --bldopt
11 options [ -e, --entrypoint name ] [ -r, --revision version ] [ -F,
12 --rebuild ] [ -I, --install ] [ -s, --sourcedir source ] [ -d, --dest‐
13 dir destination ] [ -T, --tempdir directory ] [ file ... ]
14
16 pkgdata takes a set of data files and packages them for use by ICU or
17 applications that use ICU. The typical reason to package files using
18 pkgdata is to make their distribution easier and their loading by ICU
19 faster and less consuming of limited system resources such as file de‐
20 scriptors. Packaged data also allow applications to be distributed
21 with fewer resource files, or even with none at all if they link
22 against the packaged data directly.
23
24 pkgdata supports a few different methods of packaging data that serve
25 different purposes.
26
27 The default packaging mode is common, or archive. In this mode, the
28 different data files are bundled together as an architecture-dependent
29 file that can later be memory mapped for use by ICU. Data packaged us‐
30 ing this mode will be looked up under the ICU data directory. Such
31 packaging is easy to use for applications resource bundles, for exam‐
32 ple, as long as the application can install the packaged file in the
33 ICU data directory.
34
35 Another packaging mode is the dll, or library, mode, where the data
36 files are compiled into a shared library. ICU used to be able to dynam‐
37 ically load these shared libraries, but as of ICU 2.0, such support has
38 been removed. This mode is still useful for two main purposes: to build
39 ICU itself, as the ICU data is packaged as a shared library by default;
40 and to build resource bundles that are linked to the application that
41 uses them. Such resource bundles can then be placed anywhere where the
42 system's dynamic linker will be looking for shared libraries, instead
43 of being forced to live inside the ICU data directory.
44
45 The static packaging mode is similar to the shared library one except
46 that it produces a static library.
47
48 Finally, pkgdata supports a files mode which simply copies the data
49 files instead of packaging them as a single file or library. This mode
50 is mainly intended to provide support for building ICU before it is
51 packaged as separate small packages for distribution with operating
52 systems such as Debian GNU/Linux for example. Please refer to the pack‐
53 aging documentation in the ICU source distribution for further informa‐
54 tion on the use of this mode.
55
56 pkgdata builds, packages, installs, or cleans the appropriate data
57 based on the options given without the need to call GNU make anymore.
58
60 -h, -?, --help
61 Print help about usage and exit.
62
63 -v, --verbose
64 Display extra informative messages during execution.
65
66 -c, --copyright
67 Include a copyright notice in the binary data.
68
69 -C, --comment comment
70 Includes the specified comment in the resulting data instead of
71 the ICU copyright notice.
72
73 -m, --mode mode
74 Set the packaging mode to be used by pkgdata. The different
75 modes and their meaning are explained in the DESCRIPTION section
76 above. The valid mode names are common (or archive), dll (or li‐
77 brary), and files.
78
79 -O, --bldopt options
80 Specify options for the builder. The builder is used internally
81 by pkgdata to generate the correct packaged file. Such options
82 include, but are not limited to, setting variables used by
83 make(1) during the build of the packaged file. Note: If icu-con‐
84 fig is available, then this option is not needed.
85
86 -p, --name name
87 Set the packaged file name to name. This name is also used as
88 the default entry point name after having been turned into a
89 valid C identifier.
90
91 -e, --entrypoint name
92 Set the data entry point (used for linking against the data in a
93 shared library form) to name. The default entry point name is
94 the name set by the -n, --name option.
95
96 -r, --revision version
97 Enable versioning of the shared library produced in dll, or li‐
98 brary, mode. The version number has the format major.mi‐
99 nor.patchlevel and all parts except for major are optional. If
100 only major is supplied then the version is assumed to be major.0
101 for versioning purposes.
102
103 -F, --rebuild
104 Force the rebuilding of all data and their repackaging.
105
106 -I, --install
107 Install the packaged file (or all the files in the files mode).
108 If the variable DESTDIR is set it will be used for installation.
109
110 -s, --sourcedir source
111 Set the source directory to source. The default source direc‐
112 tory is the current directory.
113
114 -d, --destdir destination
115 Set the destination directory to destination. The default des‐
116 tination directory is the current directory.
117
118 -T, --tempdir directory
119 Set the directory used to generate temporary files to directory.
120 The default temporary directory is the same as the destination
121 directory as set by the -d, --destdir option.
122
124 Steven Loomis
125 Yves Arrouye
126
128 73.2
129
131 Copyright (C) 2000-2009 IBM, Inc. and others.
132
133
134
135
136ICU MANPAGE 6 February 2009 PKGDATA(1)