eeae91c40b
packaging, how many packages are shipped, what do they each contain, etc. The idea is to aim for every package behaving predictably on different systems when possible X-SVN-Rev: 2752
89 lines
3.1 KiB
Plaintext
89 lines
3.1 KiB
Plaintext
ICU is packaged into a number of small, interdependent packages. This
|
|
file describes what these packages are, what their name should be
|
|
like, and what their contents are. It is useful as a reference and a
|
|
guide when packaging ICU on a new system.
|
|
|
|
+ List of ICU packages.
|
|
|
|
ICU is distributed as the following packages:
|
|
|
|
- ICU libraries. This package contains the runtime libraries needed by
|
|
applications that use ICU. All the other packages require this package
|
|
to be installed.
|
|
- ICU. This package contains the converters data, the timezones data,
|
|
and all the ICU tools.
|
|
- ICU locales. This package adds locales and break data.
|
|
- ICU development. This package contains the files necessary to build
|
|
applications that use ICU, i.e. header files, links to shared
|
|
libraries used by the linker, static libraries, etc... It also
|
|
contains sample applications and documentation.
|
|
- ICU docs. This package contains further documentation for ICU,
|
|
including a complete API reference.
|
|
- ICU data. This package contains the source for the compiled data
|
|
contained by the ICU package.
|
|
- ICU international data. This package contains the source for the
|
|
compiled data contained by the ICU locales package.
|
|
|
|
In this file, we will refer to Autoconf variables as in $(bindir). In
|
|
addition to these, we will use the following variables to denote
|
|
ICU-specific directories or information:
|
|
|
|
VERSION ICU's dotted version number, e.g. 1.6.0.1 as of this
|
|
writing.
|
|
|
|
ICUDATADIR The directory where ICU data are. This is defined as
|
|
$(datadir)/icu/$(VERSION).
|
|
ICUSYSCONFDIR The directory where ICU configuration files are. This
|
|
is defined as $(sysconfdir)/icu.
|
|
|
|
When referring to libraries, .so will be used to denote the extension
|
|
of a shared library, and .a to denote the extension of a static
|
|
library. These extensions will actually be different on some platforms.
|
|
|
|
+ Configuration and compilation of ICU
|
|
|
|
ICU should be configured with the following options:
|
|
|
|
--with-data-packaging=files
|
|
--disable-rpath
|
|
--enable-shared
|
|
--enable-static
|
|
--without-samples
|
|
|
|
in addition to platform-specific settings (like a specific mandir or
|
|
sysconfdir).
|
|
|
|
The configure script invokation should also be done with
|
|
|
|
CFLAGS="-O2"
|
|
|
|
set, as in:
|
|
|
|
$ CFLAGS="-O2" ./configure ...
|
|
|
|
The files packaging mode is chosen because it offers the maximum
|
|
flexibility. Packages can be split easily, and system administrators
|
|
can add converters, aliases, and other resources with little
|
|
effort.
|
|
|
|
+ The ICU libraries package
|
|
|
|
The ICU libraries package is typically named `libicuXX' where XX is
|
|
the major number of ICU's libraries. This numer is ICU's version
|
|
number multiplied by 10 and rounded down to the nearest integer (it is
|
|
also the value of the LIB_VERSION_MAJOR configure substitution
|
|
variable). For example, for ICU 1.6.0.1, it is 16, so the package name
|
|
is `libicu16'. The major version is part of the package name to allow
|
|
for the simultaneous installation of different ICU releases.
|
|
|
|
- All the shared libraries, and their major number symbolic link, but
|
|
not the .so symbolic link that is only used at link time (this one is
|
|
part of the development package).
|
|
|
|
+ The ICU package
|
|
|
|
+ More to be written...
|
|
|
|
----
|
|
Yves Arrouye <yves@realnames.com>
|