162 lines
		
	
	
		
			6.2 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
			
		
		
	
	
			162 lines
		
	
	
		
			6.2 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
Copyright (C) 2016 and later: Unicode, Inc. and others.
 | 
						|
License & terms of use: http://www.unicode.org/copyright.html
 | 
						|
Copyright (C) 2000-2003, International Business Machines
 | 
						|
Corporation and others.  All Rights Reserved.
 | 
						|
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 portable ICU data are. This is
 | 
						|
	        defined as $(datadir)/icu/$(VERSION).
 | 
						|
  ICULIBDIR	The directory where platform-specific ICU data
 | 
						|
		are. This is defined as $(libdir)/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). Note that the use of --disable-rpath assumes that the
 | 
						|
packaging is made for a standard location, or that the package
 | 
						|
installation/deinstallation will correctly manage the configuration
 | 
						|
of the system's dynamic loader. This is the right way of doing things.
 | 
						|
 | 
						|
The configure script invocation 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. Ideally, the ICU build will be modified to allow for distributing a
 | 
						|
libicudata.so with all the converters and locales, but indexes and aliases
 | 
						|
as separate files. But for now, this is the easiest way to get started.
 | 
						|
 | 
						|
+ The ICU libraries package
 | 
						|
 | 
						|
The ICU libraries package is typically named `libicuXX' where XX is
 | 
						|
the major number of ICU's libraries. This number 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.
 | 
						|
 | 
						|
This package contains:
 | 
						|
 | 
						|
- 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). These are $(libdir)/libicu*.so.* and
 | 
						|
$(libdir)/libustdio.so.* at the time of this writing.
 | 
						|
 | 
						|
+ The ICU package
 | 
						|
 | 
						|
The ICU package is simply named `icu'.  It provides data used by the ICU
 | 
						|
libraries package and commands to create and manipulate that data.
 | 
						|
 | 
						|
This package contains:
 | 
						|
 | 
						|
- The Unicode data files (uprops.dat and unames.dat as of this writing).
 | 
						|
- The time zones data files (tz.dat).
 | 
						|
- All the binary data files for converters (.cnv files).
 | 
						|
- All the ICU commands.
 | 
						|
- The manual pages for ICU commands and file formats.
 | 
						|
 | 
						|
+ The ICU locales package
 | 
						|
 | 
						|
The ICU locales package is named `icu-locales'. It provides data used by
 | 
						|
internationalization support in ICU.
 | 
						|
 | 
						|
This package contains:
 | 
						|
 | 
						|
- All the data for locales in ICU (.dat files).
 | 
						|
- All the break data for specific locales (.brk files).
 | 
						|
 | 
						|
+ The ICU development package
 | 
						|
 | 
						|
The ICU development package is named `libicu-dev'. It provides all
 | 
						|
the files necessary to write applications that use ICU, along with
 | 
						|
examples and some documentation.
 | 
						|
 | 
						|
This package contains:
 | 
						|
 | 
						|
- The /usr/include/unicode directory which contains all the ICU
 | 
						|
headers.
 | 
						|
- The .so symbolic links used by the linker to link against the
 | 
						|
latest version of the libraries.
 | 
						|
- A sample Makefile fragment that can be included by applications
 | 
						|
using ICU, to facilitate their building, along with a platform-specific
 | 
						|
configuration file included by this fragment.
 | 
						|
- The sample applications from the ICU source tree, in an appropriate
 | 
						|
location for the system that the package is installed on (for example,
 | 
						|
on Debian, in /usr/share/doc/libicu-dev/examples).
 | 
						|
 | 
						|
This package depends on the ICU libraries package with the exact same
 | 
						|
version, since it provides .so symbolic links to the latest libraries.
 | 
						|
 | 
						|
+ The ICU docs package
 | 
						|
 | 
						|
The ICU docs package is named `libicu-doc'. It contains the files
 | 
						|
generated by doxygen when the `make doc' command is executed, in a
 | 
						|
location appropriate for the system that the package is installed on.
 | 
						|
 | 
						|
+ The ICU data package
 | 
						|
 | 
						|
The ICU data package is named `icu-data'. It contains source files for
 | 
						|
the data found in the ICU package. These files are installed in
 | 
						|
$(ICUDATADIR).
 | 
						|
 | 
						|
+ The ICU international data package
 | 
						|
 | 
						|
The ICU data package is named `icu-i18ndata'. It contains source files for
 | 
						|
the dat founf in the ICU locales package. These files are installed in
 | 
						|
$(ICUDATADIR).
 | 
						|
 | 
						|
----
 | 
						|
Yves Arrouye <yves@realnames.com>
 |