1PKGDATA(1) ICU 3.6 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 ] [ -M arg ]
12 [ -F, --rebuild ] [ -k, --clean ] [ -I, --install ] [ -n, --nooutput ]
13 [ -N, --numaric ] [ -s, --sourcedir source ] [ -d, --destdir destina‐
14 tion ] [ -T, --tempdir directory ] [ file ... ]
15
17 pkgdata takes a set of data files and packages them for use by ICU or
18 applications that use ICU. The typical reason to package files using
19 pkgdata is to make their distribution easier and their loading by ICU
20 faster and less consuming of limited system resources such as file
21 descriptors. Packaged data also allow applications to be distributed
22 with fewer resource files, or even with none at all if they link
23 against the packaged data directly.
24
25 pkgdata supports a few different methods of packaging data that serve
26 different purposes.
27
28 The default packaging mode is common, or archive. In this mode, the
29 different data files are bundled together as an architecture-dependent
30 file that can later be memory mapped for use by ICU. Data packaged
31 using this mode will be looked up under the ICU data directory. Such
32 packaging is easy to use for applications resource bundles, for exam‐
33 ple, as long as the application can install the packaged file in the
34 ICU data directory.
35
36 Another packaging mode is the dll, or library, mode, where the data
37 files are compiled into a shared library. ICU used to be able to dynam‐
38 ically load these shared libraries, but as of ICU 2.0, such support has
39 been removed. This mode is still useful for two main purposes: to build
40 ICU itself, as the ICU data is packaged as a shared library by default;
41 and to build resource bundles that are linked to the application that
42 uses them. Such resource bundles can then be placed anywhere where the
43 system's dynamic linker will be looking for shared libraries, instead
44 of being forced to live inside the ICU data directory.
45
46 The static packaging mode is similar to the shared library one except
47 that it produces a static library.
48
49 Finally, pkgdata supports a files mode which simply copies the data
50 files instead of packaging them as a single file or library. This mode
51 is mainly intended to provide support for building ICU before it is
52 packaged as separate small packages for distribution with operating
53 systems such as Debian GNU/Linux for example. Please refer to the pack‐
54 aging documentation in the ICU source distribution for further informa‐
55 tion on the use of this mode.
56
57 pkgdata relies on GNU make(1) to do the packaging, and generates a
58 makefile with rules to build, package, install, or clean the appropri‐
59 ate data.
60
62 -h, -?, --help
63 Print help about usage and exit.
64
65 -v, --verbose
66 Display extra informative messages during execution.
67
68 -c, --copyright
69 Include a copyright notice in the binary data.
70
71 -C, --comment comment
72 Includes the specified comment in the resulting data instead of
73 the ICU copyright notice.
74
75 -m, --mode mode
76 Set the packaging mode to be used by pkgdata. The different
77 modes and their meaning are explained in the DESCRIPTION section
78 above. The valid mode names are common (or archive), dll (or
79 library), and files.
80
81 -O, --bldopt options
82 Specify options for the builder. The builder is used internally
83 by pkgdata to generate the correct packaged file. Such options
84 include, but are not limited to, setting variables used by
85 make(1) during the build of the packaged file. Note: If icu-con‐
86 fig is available, then this option is not needed.
87
88 -p, --name name
89 Set the packaged file name to name. This name is also used as
90 the default entry point name after having been turned into a
91 valid C identifier.
92
93 -e, --entrypoint name
94 Set the data entry point (used for linking against the data in a
95 shared library form) to name. The default entry point name is
96 the name set by the -n, --name option.
97
98 -r, --revision version
99 Enable versioning of the shared library produced in dll, or
100 library, mode. The version number has the format
101 major.minor.patchlevel and all parts except for major are
102 optional. If only major is supplied then the version is assumed
103 to be major.0 for versioning purposes.
104
105 -M arg Pass arg to make(1).
106
107 -F, --rebuild
108 Force the rebuilding of all data and their repackaging.
109
110 -k, --clean
111 Clean temporary files and other build residues.
112
113 -I, --install
114 Install the packaged file (or all the files in the files mode).
115 If the variable DESTDIR is set it will be used for installation.
116
117 -n, --nooutput
118 Do not produce any output but simply a list of affected files.
119
120 -N, --numeric
121 Instead of using temporary filenames similar to the input sym‐
122 bols, use numeric filenames such as t0002.c, etc. May be needed
123 for systems which don't allow many similar long filenames, or
124 for systems that tend to run out of argument space. Note, using
125 this option implies "-F, --rebuild" - all packaging will be
126 rebuilt every time pkgdata is run.
127
128 -s, --sourcedir source
129 Set the source directory to source. The default source direc‐
130 tory is the current directory.
131
132 -d, --destdir destination
133 Set the destination directory to destination. The default des‐
134 tination directory is the current directory.
135
136 -T, --tempdir directory
137 Set the directory used to generate temporary files to directory.
138 The default temporary directory is the same as the destination
139 directory as set by the -d, --destdir option.
140
142 Steven Loomis
143 Yves Arrouye
144
146 3.6
147
149 Copyright (C) 2000-2003 IBM, Inc. and others.
150
151
152
153
154ICU MANPAGE 16 April 2002 PKGDATA(1)