]> git.saurik.com Git - apple/icu.git/blame - icuSources/tools/pkgdata/pkgdata.1.in
ICU-66108.tar.gz
[apple/icu.git] / icuSources / tools / pkgdata / pkgdata.1.in
CommitLineData
b75a7d8f
A
1.\" Hey, Emacs! This is -*-nroff-*- you know...
2.\"
3.\" pkgdata.1: manual page for the pkgdata utility
4.\"
f3c0d7a5
A
5.\" Copyright (C) 2016 and later: Unicode, Inc. and others.
6.\" License & terms of use: http://www.unicode.org/copyright.html
729e4ab9 7.\" Copyright (C) 2000-2009 IBM, Inc. and others.
b75a7d8f
A
8.\"
9.\" Manual page by Yves Arrouye <yves@realnames.com>.
729e4ab9 10.\" Modified by Michael Ow <mow@us.ibm.com>.
b75a7d8f 11.\"
729e4ab9 12.TH PKGDATA 1 "6 February 2009" "ICU MANPAGE" "ICU @VERSION@ Manual"
b75a7d8f
A
13.SH NAME
14.B pkgdata
15\- package data for use by ICU
16.SH SYNOPSIS
17.B pkgdata
18[
19.BR "\-h\fP, \fB\-?\fP, \fB\-\-help"
20]
21[
22.BI "\-v\fP, \fB\-\-verbose"
23]
24[
25.BR "\-c\fP, \fB\-\-copyright"
26|
27.BI "\-C\fP, \fB\-\-comment" " comment"
28]
29[
30.BI "\-m\fP, \fB\-\-mode" " mode"
31]
32.BI "\-p\fP, \fB\-\-name" " name"
33.BI "\-O\fP, \fB\-\-bldopt" " options"
34[
35.BI "\-e\fP, \fB\-\-entrypoint" " name"
36]
37[
38.BI "\-r\fP, \fB\-\-revision" " version"
39]
40[
b75a7d8f
A
41.BI "\-F\fP, \fB\-\-rebuild"
42]
43[
b75a7d8f
A
44.BI "\-I\fP, \fB\-\-install"
45]
46[
b75a7d8f
A
47.BI "\-s\fP, \fB\-\-sourcedir" " source"
48]
49[
50.BI "\-d\fP, \fB\-\-destdir" " destination"
51]
52[
53.BI "\-T\fP, \fB\-\-tempdir" " directory"
54]
55[
56.IR file " .\|.\|."
57]
58.SH DESCRIPTION
59.B pkgdata
60takes a set of data files and packages them for use by ICU or
61applications that use ICU. The typical reason to package files using
62.B pkgdata
63is to make their distribution easier and their loading by ICU faster
64and less consuming of limited system resources such as file
65descriptors.
66Packaged data also allow applications to be distributed with fewer
67resource files, or even with none at all if they link against the
68packaged data directly.
69.PP
70.B pkgdata
71supports a few different methods of packaging data that serve
72different purposes.
73.PP
74The default packaging
75.I mode
76is
77.BR common ,
78or
79.BR archive .
80In this mode, the different data files are bundled together as an
81architecture-dependent file that can later be memory mapped for use by
82ICU. Data packaged using this mode will be looked up under the ICU
83data directory. Such packaging is easy to use for applications resource
84bundles, for example, as long as the application can install the
85packaged file in the ICU data directory.
86.PP
87Another packaging mode is the
88.BR dll ,
89or
90.BR library ,
91mode, where the data files are compiled into a shared library. ICU
92used to be able to dynamically load these shared libraries, but as of
93ICU 2.0, such support has been removed. This mode is still useful for
94two main purposes: to build ICU itself, as the ICU data is packaged as
95a shared library by default; and to build resource bundles that are
96linked to the application that uses them. Such resource bundles can
97then be placed anywhere where the system's dynamic linker will be
98looking for shared libraries, instead of being forced to live inside
99the ICU data directory.
100.PP
101The
102.BR static
103packaging mode is similar to the shared library one except that it
104produces a static library.
105.\" Note that many platforms are not able to
106.\" dynamically load symbols from static object files, so for this reason
107.\" .BR udata_setAppData()
108.\" must be called
109.\" to install this data. As a convenience, pkgdata will build a C source file
110.\" and a header file. Given a data package named
111.\" .IR name, in the output
112.\" directory will be created
113.\" .IR name .c
114.\" and
115.\" .IR name .h with the single
116.\" function
117.\" .BR "udata_install_\fcIname\fB(UErrorCode *err)" ,
118.\" where
119.\" .I cname
120.\" is
121.\" .I name
122.\" turned into a valid C identifier.
123.\" The application need to call this function once. The error code returned
124.\" is that of
125.\" .BR udata_setAppData() .
126.\" .PP
127.\" Data pakackaged in a library, whether shared or static,
128.\" Subsequently, the application can access this data by passing
129.\" .I name for the
130.\" .I path
131.\" rgument to functions such as
132.\" .BR Bures_open() .
133.PP
134Finally,
135.B pkgdata
136supports a
137.B files
138mode which simply copies the data files instead of packaging
139them as a single file or library. This mode is mainly intended to
140provide support for building ICU before it is packaged as separate
141small packages for distribution with operating systems such as Debian
142GNU/Linux for example. Please refer to the packaging documentation in
143the ICU source distribution for further information on the use of this
144mode.
145.PP
146.B pkgdata
729e4ab9
A
147builds, packages, installs, or cleans the appropriate data based on the options given
148without the need to call GNU
149.BR make
150anymore.
b75a7d8f
A
151.SH OPTIONS
152.TP
153.BR "\-h\fP, \fB\-?\fP, \fB\-\-help"
154Print help about usage and exit.
155.TP
156.BR "\-v\fP, \fB\-\-verbose"
157Display extra informative messages during execution.
158.TP
159.BR "\-c\fP, \fB\-\-copyright"
160Include a copyright notice in the binary data.
161.TP
162.BI "\-C\fP, \fB\-\-comment" " comment"
163Includes the specified
164.I comment
165in the resulting data instead of the ICU copyright notice.
166.TP
167.BI "\-m\fP, \fB\-\-mode" " mode"
168Set the packaging
169.I mode
170to be used by
171.BR pkgdata .
172The different modes and their meaning are explained in the
173.B DESCRIPTION
174section above. The valid mode names are
175.BR common
176(or
177.BR archive ),
178.BR dll
179(or
180.BR library ),
181and
182.BR files .
183.TP
184.BI "\-O\fP, \fB\-\-bldopt" " options"
185Specify options for the builder. The builder is used internally by
186.B pkgdata
187to generate the correct packaged file. Such options include, but are
188not limited to, setting variables used by
189.BR make (1)
190during the build of the packaged file. Note: If
191.BR icu-config
192is available, then this option is not needed.
193.TP
194.BI "\-p\fP, \fB\-\-name" " name"
195Set the packaged file name to
196.IR name .
197This name is also used as the default entry point name after having
198been turned into a valid C identifier.
199.TP
200.BI "\-e\fP, \fB\-\-entrypoint" " name"
201Set the data entry point (used for linking against the data in a
202shared library form) to
203.IR name .
204The default entry point name is the name set by the
205.BI "\-n\fP, \fB\-\-name"
206option.
207.TP
208.BI "\-r\fP, \fB\-\-revision" " version"
209Enable versioning of the shared library produced in
210.BR dll ,
211or
212.BR library ,
213mode. The version number has the format
214.I major\fP.\fIminor\fP.\fIpatchlevel
215and all parts except for
216.I major
217are optional. If only
218.I major
219is supplied then the version is
220assumed to be
221.IR major .0
222for versioning purposes.
223.TP
b75a7d8f
A
224.BI "\-F\fP, \fB\-\-rebuild"
225Force the rebuilding of all data and their repackaging.
226.TP
b75a7d8f
A
227.BI "\-I\fP, \fB\-\-install"
228Install the packaged file (or all the files in the
229.B files
230mode). If the variable
231.B DESTDIR
232is set it will be used for installation.
233.TP
b75a7d8f
A
234.BI "\-s\fP, \fB\-\-sourcedir" " source"
235Set the source directory to
236.IR source .
237The default source directory is the current directory.
238.TP
239.BI "\-d\fP, \fB\-\-destdir" " destination"
240Set the destination directory to
241.IR destination .
242The default destination directory is the current directory.
243.TP
244.BI "\-T\fP, \fB\-\-tempdir" " directory"
245Set the directory used to generate temporary files to
246.IR directory .
247The default temporary directory is the same as the destination
248directory
249as set by the
250.BI "\-d\fP, \fB\-\-destdir"
251option.
252.SH AUTHORS
253Steven Loomis
254.br
255Yves Arrouye
256.SH VERSION
257@VERSION@
258.SH COPYRIGHT
729e4ab9 259Copyright (C) 2000-2009 IBM, Inc. and others.
b75a7d8f 260