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